@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.
- package/README.md +897 -210
- package/dist/ComponentLayout-BxCenSAm.d.mts +73 -0
- package/dist/advanced/dashboard.d.ts +7 -0
- package/dist/advanced/dashboard.d.ts.map +1 -0
- package/dist/advanced/motion.d.ts +2 -0
- package/dist/advanced/motion.d.ts.map +1 -0
- package/dist/advanced-dashboard.d.mts +4 -0
- package/dist/advanced-dashboard.js +2 -0
- package/dist/advanced-dashboard.js.map +1 -0
- package/dist/advanced-dashboard.mjs +2 -0
- package/dist/advanced-dashboard.mjs.map +1 -0
- package/dist/advanced-motion.d.mts +93 -0
- package/dist/advanced-motion.js +2 -0
- package/dist/advanced-motion.js.map +1 -0
- package/dist/advanced-motion.mjs +2 -0
- package/dist/advanced-motion.mjs.map +1 -0
- package/dist/advanced.d.mts +734 -0
- package/dist/advanced.d.ts +17 -0
- package/dist/advanced.d.ts.map +1 -0
- package/dist/advanced.js +2 -0
- package/dist/advanced.js.map +1 -0
- package/dist/advanced.mjs +2 -0
- package/dist/advanced.mjs.map +1 -0
- package/dist/chunk-627HOIRV.mjs +2 -0
- package/dist/chunk-627HOIRV.mjs.map +1 -0
- package/dist/chunk-ACEKLG37.mjs +2 -0
- package/dist/chunk-ACEKLG37.mjs.map +1 -0
- package/dist/chunk-E5PN4LUS.mjs +2 -0
- package/dist/chunk-E5PN4LUS.mjs.map +1 -0
- package/dist/chunk-KHEJZ3U4.mjs +2 -0
- package/dist/chunk-KHEJZ3U4.mjs.map +1 -0
- package/dist/chunk-MXGXBG63.mjs +2 -0
- package/dist/chunk-MXGXBG63.mjs.map +1 -0
- package/dist/chunk-R5KCFRYV.mjs +2 -0
- package/dist/chunk-R5KCFRYV.mjs.map +1 -0
- package/dist/chunk-UGSYQDR4.mjs +2 -0
- package/dist/chunk-UGSYQDR4.mjs.map +1 -0
- package/dist/chunk-UUHAXGMO.mjs +2 -0
- package/dist/chunk-UUHAXGMO.mjs.map +1 -0
- package/dist/chunk-VU264VFN.mjs +2 -0
- package/dist/chunk-VU264VFN.mjs.map +1 -0
- package/dist/chunk-ZFS4B5QT.mjs +2 -0
- package/dist/chunk-ZFS4B5QT.mjs.map +1 -0
- package/dist/components/Accordion.d.ts +109 -1
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Action.d.ts +68 -0
- package/dist/components/Action.d.ts.map +1 -0
- package/dist/components/ActionToolbar.d.ts +65 -0
- package/dist/components/ActionToolbar.d.ts.map +1 -0
- package/dist/components/Alert.d.ts +49 -0
- package/dist/components/Alert.d.ts.map +1 -1
- package/dist/components/Autocomplete.d.ts +88 -0
- package/dist/components/Autocomplete.d.ts.map +1 -0
- package/dist/components/Avatar.d.ts +71 -1
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Badge.d.ts +32 -2
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Bookmark.d.ts +49 -0
- package/dist/components/Bookmark.d.ts.map +1 -0
- package/dist/components/BottomSheet.d.ts +91 -1
- package/dist/components/BottomSheet.d.ts.map +1 -1
- package/dist/components/Breadcrumb.d.ts +73 -14
- package/dist/components/Breadcrumb.d.ts.map +1 -1
- package/dist/components/Button.d.ts +82 -7
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Card.d.ts +122 -5
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/ChatMessage.d.ts +67 -1
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/Checkbox.d.ts +48 -2
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Command.d.ts +82 -1
- package/dist/components/Command.d.ts.map +1 -1
- package/dist/components/ComponentLayout.d.ts +72 -0
- package/dist/components/ComponentLayout.d.ts.map +1 -0
- package/dist/components/ConfirmModal.d.ts +66 -1
- package/dist/components/ConfirmModal.d.ts.map +1 -1
- package/dist/components/Container.d.ts +39 -0
- package/dist/components/Container.d.ts.map +1 -1
- package/dist/components/ContextMenu.d.ts +51 -1
- package/dist/components/ContextMenu.d.ts.map +1 -1
- package/dist/components/DatePicker.d.ts +62 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/Divider.d.ts +13 -3
- package/dist/components/Divider.d.ts.map +1 -1
- package/dist/components/Drawer.d.ts +103 -1
- package/dist/components/Drawer.d.ts.map +1 -1
- package/dist/components/Dropdown.d.ts +51 -1
- package/dist/components/Dropdown.d.ts.map +1 -1
- package/dist/components/EmotionAnalysis.d.ts +59 -1
- package/dist/components/EmotionAnalysis.d.ts.map +1 -1
- package/dist/components/EmotionButton.d.ts +35 -1
- package/dist/components/EmotionButton.d.ts.map +1 -1
- package/dist/components/EmotionMeter.d.ts +38 -2
- package/dist/components/EmotionMeter.d.ts.map +1 -1
- package/dist/components/EmotionSelector.d.ts +51 -1
- package/dist/components/EmotionSelector.d.ts.map +1 -1
- package/dist/components/FeatureCard.d.ts +61 -0
- package/dist/components/FeatureCard.d.ts.map +1 -0
- package/dist/components/Form.d.ts +114 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Grid.d.ts +42 -1
- package/dist/components/Grid.d.ts.map +1 -1
- package/dist/components/HeroSection.d.ts +77 -0
- package/dist/components/HeroSection.d.ts.map +1 -0
- package/dist/components/Icon/Icon.d.ts +159 -0
- package/dist/components/Icon/Icon.d.ts.map +1 -0
- package/dist/components/Icon/IconProvider.d.ts +94 -0
- package/dist/components/Icon/IconProvider.d.ts.map +1 -0
- package/dist/components/Icon/icon-store.d.ts +21 -0
- package/dist/components/Icon/icon-store.d.ts.map +1 -0
- package/dist/components/Icon/index.d.ts +10 -0
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/InfoCard.d.ts +48 -0
- package/dist/components/InfoCard.d.ts.map +1 -0
- package/dist/components/Input.d.ts +40 -8
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Label.d.ts +50 -0
- package/dist/components/Label.d.ts.map +1 -0
- package/dist/components/LanguageToggle.d.ts +41 -1
- package/dist/components/LanguageToggle.d.ts.map +1 -1
- package/dist/components/Link.d.ts +52 -0
- package/dist/components/Link.d.ts.map +1 -0
- package/dist/components/LoadingSpinner.d.ts +44 -5
- package/dist/components/LoadingSpinner.d.ts.map +1 -1
- package/dist/components/Menu.d.ts +92 -1
- package/dist/components/Menu.d.ts.map +1 -1
- package/dist/components/Modal.d.ts +67 -5
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Navigation.d.ts +72 -0
- package/dist/components/Navigation.d.ts.map +1 -0
- package/dist/components/PageNavigation.d.ts +48 -0
- package/dist/components/PageNavigation.d.ts.map +1 -0
- package/dist/components/PageTransition.d.ts +44 -1
- package/dist/components/PageTransition.d.ts.map +1 -1
- package/dist/components/Pagination.d.ts +52 -1
- package/dist/components/Pagination.d.ts.map +1 -1
- package/dist/components/Panel.d.ts +99 -0
- package/dist/components/Panel.d.ts.map +1 -0
- package/dist/components/Popover.d.ts +46 -1
- package/dist/components/Popover.d.ts.map +1 -1
- package/dist/components/Progress.d.ts +52 -3
- package/dist/components/Progress.d.ts.map +1 -1
- package/dist/components/Radio.d.ts +44 -2
- package/dist/components/Radio.d.ts.map +1 -1
- package/dist/components/ScrollArea.d.ts +53 -1
- package/dist/components/ScrollArea.d.ts.map +1 -1
- package/dist/components/ScrollIndicator.d.ts +43 -1
- package/dist/components/ScrollIndicator.d.ts.map +1 -1
- package/dist/components/ScrollProgress.d.ts +37 -0
- package/dist/components/ScrollProgress.d.ts.map +1 -1
- package/dist/components/ScrollToTop.d.ts +48 -11
- package/dist/components/ScrollToTop.d.ts.map +1 -1
- package/dist/components/SectionHeader.d.ts +42 -0
- package/dist/components/SectionHeader.d.ts.map +1 -0
- package/dist/components/Select.d.ts +59 -2
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Skeleton.d.ts +44 -1
- package/dist/components/Skeleton.d.ts.map +1 -1
- package/dist/components/Slider.d.ts +75 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Stack.d.ts +42 -1
- package/dist/components/Stack.d.ts.map +1 -1
- package/dist/components/StatsPanel.d.ts +72 -0
- package/dist/components/StatsPanel.d.ts.map +1 -0
- package/dist/components/Switch.d.ts +48 -2
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/Table.d.ts +206 -0
- package/dist/components/Table.d.ts.map +1 -0
- package/dist/components/Tabs.d.ts +123 -10
- package/dist/components/Tabs.d.ts.map +1 -1
- package/dist/components/Textarea.d.ts +48 -2
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/ThemeProvider.d.ts +67 -2
- package/dist/components/ThemeProvider.d.ts.map +1 -1
- package/dist/components/ThemeToggle.d.ts +44 -0
- package/dist/components/ThemeToggle.d.ts.map +1 -1
- package/dist/components/Toast.d.ts +75 -1
- package/dist/components/Toast.d.ts.map +1 -1
- package/dist/components/Toggle.d.ts +62 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Tooltip.d.ts +48 -1
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/Upload.d.ts +87 -0
- package/dist/components/Upload.d.ts.map +1 -0
- package/dist/components/advanced/AdvancedPageTransition.d.ts +25 -0
- package/dist/components/advanced/AdvancedPageTransition.d.ts.map +1 -0
- package/dist/components/advanced/index.d.ts +4 -0
- package/dist/components/advanced/index.d.ts.map +1 -0
- package/dist/components/advanced/usePageTransition.d.ts +33 -0
- package/dist/components/advanced/usePageTransition.d.ts.map +1 -0
- package/dist/components/advanced/usePageTransitionManager.d.ts +44 -0
- package/dist/components/advanced/usePageTransitionManager.d.ts.map +1 -0
- package/dist/components/dashboard/ActivityFeed.d.ts +87 -0
- package/dist/components/dashboard/ActivityFeed.d.ts.map +1 -0
- package/dist/components/dashboard/BarChart.d.ts +82 -0
- package/dist/components/dashboard/BarChart.d.ts.map +1 -0
- package/dist/components/dashboard/DashboardGrid.d.ts +44 -0
- package/dist/components/dashboard/DashboardGrid.d.ts.map +1 -0
- package/dist/components/dashboard/DashboardSidebar.d.ts +105 -0
- package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -0
- package/dist/components/dashboard/DashboardToolbar.d.ts +120 -0
- package/dist/components/dashboard/DashboardToolbar.d.ts.map +1 -0
- package/dist/components/dashboard/EmptyState.d.ts +61 -0
- package/dist/components/dashboard/EmptyState.d.ts.map +1 -0
- package/dist/components/dashboard/MembershipBadge.d.ts +45 -0
- package/dist/components/dashboard/MembershipBadge.d.ts.map +1 -0
- package/dist/components/dashboard/MerchantList.d.ts +98 -0
- package/dist/components/dashboard/MerchantList.d.ts.map +1 -0
- package/dist/components/dashboard/MetricCard.d.ts +75 -0
- package/dist/components/dashboard/MetricCard.d.ts.map +1 -0
- package/dist/components/dashboard/MiniBarChart.d.ts +60 -0
- package/dist/components/dashboard/MiniBarChart.d.ts.map +1 -0
- package/dist/components/dashboard/NotificationCard.d.ts +89 -0
- package/dist/components/dashboard/NotificationCard.d.ts.map +1 -0
- package/dist/components/dashboard/ProfileCard.d.ts +82 -0
- package/dist/components/dashboard/ProfileCard.d.ts.map +1 -0
- package/dist/components/dashboard/ProgressCard.d.ts +71 -0
- package/dist/components/dashboard/ProgressCard.d.ts.map +1 -0
- package/dist/components/dashboard/QuickActionCard.d.ts +63 -0
- package/dist/components/dashboard/QuickActionCard.d.ts.map +1 -0
- package/dist/components/dashboard/RoutingBreakdownCard.d.ts +88 -0
- package/dist/components/dashboard/RoutingBreakdownCard.d.ts.map +1 -0
- package/dist/components/dashboard/SettlementTimeline.d.ts +90 -0
- package/dist/components/dashboard/SettlementTimeline.d.ts.map +1 -0
- package/dist/components/dashboard/StatCard.d.ts +70 -0
- package/dist/components/dashboard/StatCard.d.ts.map +1 -0
- package/dist/components/dashboard/SummaryCard.d.ts +73 -0
- package/dist/components/dashboard/SummaryCard.d.ts.map +1 -0
- package/dist/components/dashboard/TransactionDetailDrawer.d.ts +183 -0
- package/dist/components/dashboard/TransactionDetailDrawer.d.ts.map +1 -0
- package/dist/components/dashboard/TransactionsTable.d.ts +137 -0
- package/dist/components/dashboard/TransactionsTable.d.ts.map +1 -0
- package/dist/components/dashboard/TrendChart.d.ts +75 -0
- package/dist/components/dashboard/TrendChart.d.ts.map +1 -0
- package/dist/components/dashboard/index.d.ts +41 -0
- package/dist/components/dashboard/index.d.ts.map +1 -0
- package/dist/components/scrollbar/scrollbar.d.ts +12 -0
- package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
- package/dist/dashboard-QMssHf5j.d.mts +1801 -0
- package/dist/feedback.d.mts +103 -0
- package/dist/feedback.d.ts +21 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +2 -0
- package/dist/feedback.js.map +1 -0
- package/dist/feedback.mjs +2 -0
- package/dist/feedback.mjs.map +1 -0
- package/dist/form.d.mts +803 -0
- package/dist/form.d.ts +42 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +2 -0
- package/dist/form.js.map +1 -0
- package/dist/form.mjs +2 -0
- package/dist/form.mjs.map +1 -0
- package/dist/hooks/useScrollToggle.d.ts +12 -0
- package/dist/hooks/useScrollToggle.d.ts.map +1 -0
- package/dist/icons-DoSGIez_.d.mts +135 -0
- package/dist/index.d.mts +3770 -0
- package/dist/index.d.ts +76 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -49
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +37 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/icon-aliases.d.ts +24 -0
- package/dist/lib/icon-aliases.d.ts.map +1 -0
- package/dist/lib/icon-names.d.ts +47 -0
- package/dist/lib/icon-names.d.ts.map +1 -0
- package/dist/lib/icon-providers.d.ts +559 -0
- package/dist/lib/icon-providers.d.ts.map +1 -0
- package/dist/lib/icons.d.ts +113 -24
- package/dist/lib/icons.d.ts.map +1 -1
- package/dist/lib/phosphor-icons.d.ts +6 -0
- package/dist/lib/phosphor-icons.d.ts.map +1 -0
- package/dist/lib/styles/colors.d.ts +131 -0
- package/dist/lib/styles/colors.d.ts.map +1 -0
- package/dist/lib/styles/index.d.ts +8 -0
- package/dist/lib/styles/index.d.ts.map +1 -0
- package/dist/lib/styles/utils.d.ts +87 -0
- package/dist/lib/styles/utils.d.ts.map +1 -0
- package/dist/lib/styles/variants.d.ts +79 -0
- package/dist/lib/styles/variants.d.ts.map +1 -0
- package/dist/lib/types/common.d.ts +80 -0
- package/dist/lib/types/common.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +6 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +73 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/navigation.d.mts +105 -0
- package/dist/navigation.d.ts +22 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +2 -0
- package/dist/navigation.js.map +1 -0
- package/dist/navigation.mjs +2 -0
- package/dist/navigation.mjs.map +1 -0
- package/package.json +92 -25
- package/src/styles/toast.css +23 -0
- package/dist/components/Accordion.js +0 -84
- package/dist/components/Alert.js +0 -61
- package/dist/components/Avatar.js +0 -18
- package/dist/components/Badge.js +0 -15
- package/dist/components/BottomSheet.js +0 -96
- package/dist/components/Breadcrumb.js +0 -47
- package/dist/components/Button.js +0 -23
- package/dist/components/Card.js +0 -18
- package/dist/components/ChatMessage.js +0 -59
- package/dist/components/Checkbox.js +0 -30
- package/dist/components/Command.js +0 -119
- package/dist/components/ConfirmModal.js +0 -53
- package/dist/components/Container.js +0 -23
- package/dist/components/ContextMenu.js +0 -110
- package/dist/components/Divider.js +0 -39
- package/dist/components/Drawer.js +0 -79
- package/dist/components/Dropdown.js +0 -174
- package/dist/components/EmotionAnalysis.js +0 -40
- package/dist/components/EmotionButton.js +0 -16
- package/dist/components/EmotionMeter.js +0 -21
- package/dist/components/EmotionSelector.js +0 -46
- package/dist/components/Grid.js +0 -44
- package/dist/components/Icon.d.ts +0 -26
- package/dist/components/Icon.d.ts.map +0 -1
- package/dist/components/Icon.js +0 -48
- package/dist/components/Input.js +0 -25
- package/dist/components/LanguageToggle.js +0 -61
- package/dist/components/LoadingSpinner.js +0 -37
- package/dist/components/Menu.js +0 -122
- package/dist/components/Modal.js +0 -62
- package/dist/components/PageTransition.js +0 -39
- package/dist/components/Pagination.js +0 -87
- package/dist/components/Popover.js +0 -159
- package/dist/components/Progress.js +0 -51
- package/dist/components/Radio.js +0 -29
- package/dist/components/ScrollArea.js +0 -42
- package/dist/components/ScrollIndicator.js +0 -60
- package/dist/components/ScrollProgress.js +0 -39
- package/dist/components/ScrollToTop.js +0 -46
- package/dist/components/Select.js +0 -29
- package/dist/components/Skeleton.js +0 -71
- package/dist/components/Stack.js +0 -34
- package/dist/components/Switch.js +0 -29
- package/dist/components/Tabs.js +0 -117
- package/dist/components/Textarea.js +0 -31
- package/dist/components/ThemeProvider.js +0 -76
- package/dist/components/ThemeToggle.js +0 -49
- package/dist/components/Toast.js +0 -138
- package/dist/components/Tooltip.js +0 -102
- package/dist/lib/icons.js +0 -321
- package/dist/lib/utils.js +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoutingBreakdownCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/RoutingBreakdownCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACvF;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA8HpE,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IconName } from "../../lib/icons";
|
|
3
|
+
export type SettlementTimelineStatus = "pending" | "processing" | "completed" | "failed";
|
|
4
|
+
/**
|
|
5
|
+
* 정산 타임라인 아이템 인터페이스 / SettlementTimelineItem interface
|
|
6
|
+
* @typedef {Object} SettlementTimelineItem
|
|
7
|
+
* @property {string} id - 아이템 고유 ID / Item unique ID
|
|
8
|
+
* @property {string} title - 제목 / Title
|
|
9
|
+
* @property {string} [description] - 설명 / Description
|
|
10
|
+
* @property {SettlementTimelineStatus} status - 상태 / Status
|
|
11
|
+
* @property {number} [amount] - 금액 / Amount
|
|
12
|
+
* @property {string} [currency] - 통화 / Currency
|
|
13
|
+
* @property {string | Date} [date] - 날짜 / Date
|
|
14
|
+
* @property {string} [meta] - 메타 정보 / Meta information
|
|
15
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
16
|
+
*/
|
|
17
|
+
export interface SettlementTimelineItem {
|
|
18
|
+
id: string;
|
|
19
|
+
title: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
status: SettlementTimelineStatus;
|
|
22
|
+
amount?: number;
|
|
23
|
+
currency?: string;
|
|
24
|
+
date?: string | Date;
|
|
25
|
+
meta?: string;
|
|
26
|
+
icon?: IconName;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* SettlementTimeline 컴포넌트의 props / SettlementTimeline component props
|
|
30
|
+
* @typedef {Object} SettlementTimelineProps
|
|
31
|
+
* @property {SettlementTimelineItem[]} items - 타임라인 아이템 배열 / Timeline items array
|
|
32
|
+
* @property {string} [highlightedId] - 강조할 아이템 ID / Highlighted item ID
|
|
33
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
34
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
|
|
35
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
36
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
37
|
+
*/
|
|
38
|
+
export interface SettlementTimelineProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
39
|
+
items: SettlementTimelineItem[];
|
|
40
|
+
highlightedId?: string;
|
|
41
|
+
locale?: string;
|
|
42
|
+
defaultCurrency?: string;
|
|
43
|
+
emptyState?: React.ReactNode;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* SettlementTimeline 컴포넌트
|
|
47
|
+
*
|
|
48
|
+
* 정산 처리 단계를 타임라인 형태로 표시하는 컴포넌트입니다.
|
|
49
|
+
* 각 단계의 상태, 금액, 날짜를 시각적으로 표시합니다.
|
|
50
|
+
*
|
|
51
|
+
* Timeline component that displays settlement processing stages.
|
|
52
|
+
* Visually shows status, amount, and date for each stage.
|
|
53
|
+
*
|
|
54
|
+
* @component
|
|
55
|
+
* @example
|
|
56
|
+
* // 기본 사용 / Basic usage
|
|
57
|
+
* <SettlementTimeline
|
|
58
|
+
* items={[
|
|
59
|
+
* {
|
|
60
|
+
* id: "1",
|
|
61
|
+
* title: "정산 요청",
|
|
62
|
+
* status: "completed",
|
|
63
|
+
* amount: 1000000,
|
|
64
|
+
* currency: "KRW",
|
|
65
|
+
* date: new Date("2024-01-01")
|
|
66
|
+
* },
|
|
67
|
+
* {
|
|
68
|
+
* id: "2",
|
|
69
|
+
* title: "처리 중",
|
|
70
|
+
* status: "processing",
|
|
71
|
+
* amount: 1000000,
|
|
72
|
+
* currency: "KRW"
|
|
73
|
+
* }
|
|
74
|
+
* ]}
|
|
75
|
+
* />
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* // 강조 기능 / Highlight feature
|
|
79
|
+
* <SettlementTimeline
|
|
80
|
+
* items={timelineItems}
|
|
81
|
+
* highlightedId="2"
|
|
82
|
+
* locale="en-US"
|
|
83
|
+
* defaultCurrency="USD"
|
|
84
|
+
* />
|
|
85
|
+
*
|
|
86
|
+
* @param {SettlementTimelineProps} props - SettlementTimeline 컴포넌트의 props / SettlementTimeline component props
|
|
87
|
+
* @returns {JSX.Element} SettlementTimeline 컴포넌트 / SettlementTimeline component
|
|
88
|
+
*/
|
|
89
|
+
export declare const SettlementTimeline: React.FC<SettlementTimelineProps>;
|
|
90
|
+
//# sourceMappingURL=SettlementTimeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettlementTimeline.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/SettlementTimeline.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEzF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACnF,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8GhE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IconName } from "../../lib/icons";
|
|
3
|
+
import type { Color } from "../../lib/types/common";
|
|
4
|
+
/**
|
|
5
|
+
* StatCard 컴포넌트의 props / StatCard component props
|
|
6
|
+
* @typedef {Object} StatCardProps
|
|
7
|
+
* @property {string} title - 카드 제목 / Card title
|
|
8
|
+
* @property {string | number | null | undefined} value - 통계 값 / Statistic 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 {"default" | "gradient" | "outline" | "elevated"} [variant="default"] - 카드 스타일 변형 / Card style variant
|
|
16
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color] - 카드 색상 / Card color
|
|
17
|
+
* @property {boolean} [loading] - 로딩 상태 / Loading state
|
|
18
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
19
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
20
|
+
*/
|
|
21
|
+
export interface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
22
|
+
title: string;
|
|
23
|
+
value: string | number | null | undefined;
|
|
24
|
+
description?: string;
|
|
25
|
+
icon?: IconName | React.ReactNode;
|
|
26
|
+
trend?: {
|
|
27
|
+
value: number;
|
|
28
|
+
label: string;
|
|
29
|
+
positive?: boolean;
|
|
30
|
+
};
|
|
31
|
+
variant?: "default" | "gradient" | "outline" | "elevated";
|
|
32
|
+
color?: Color;
|
|
33
|
+
loading?: boolean;
|
|
34
|
+
emptyState?: React.ReactNode;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* StatCard 컴포넌트 / StatCard component
|
|
38
|
+
*
|
|
39
|
+
* 통계 정보를 표시하는 카드 컴포넌트입니다.
|
|
40
|
+
* 제목, 값, 설명, 아이콘, 추세 정보를 포함할 수 있습니다.
|
|
41
|
+
*
|
|
42
|
+
* Card component that displays statistic information.
|
|
43
|
+
* Can include title, value, description, icon, and trend information.
|
|
44
|
+
*
|
|
45
|
+
* @component
|
|
46
|
+
* @example
|
|
47
|
+
* // 기본 사용 / Basic usage
|
|
48
|
+
* <StatCard
|
|
49
|
+
* title="총 사용자"
|
|
50
|
+
* value="1,234"
|
|
51
|
+
* description="지난 달 대비"
|
|
52
|
+
* icon="users"
|
|
53
|
+
* />
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // 추세 정보 포함 / With trend information
|
|
57
|
+
* <StatCard
|
|
58
|
+
* title="매출"
|
|
59
|
+
* value="₩1,000,000"
|
|
60
|
+
* trend={{ value: 12.5, label: "전월 대비", positive: true }}
|
|
61
|
+
* color="green"
|
|
62
|
+
* variant="gradient"
|
|
63
|
+
* />
|
|
64
|
+
*
|
|
65
|
+
* @param {StatCardProps} props - StatCard 컴포넌트의 props / StatCard component props
|
|
66
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
67
|
+
* @returns {JSX.Element} StatCard 컴포넌트 / StatCard component
|
|
68
|
+
*/
|
|
69
|
+
export declare const StatCard: React.ForwardRefExoticComponent<StatCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
70
|
+
//# sourceMappingURL=StatCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/StatCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,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,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,sFA4IpB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IconName } from "../../lib/icons";
|
|
3
|
+
import type { Color } from "../../lib/types/common";
|
|
4
|
+
/**
|
|
5
|
+
* SummaryCard 컴포넌트의 props
|
|
6
|
+
* @typedef {Object} SummaryCardProps
|
|
7
|
+
* @property {string} title - 카드 제목
|
|
8
|
+
* @property {string | number} value - 요약 값
|
|
9
|
+
* @property {string} [subtitle] - 부제목
|
|
10
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘
|
|
11
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color] - 카드 색상
|
|
12
|
+
* @property {"default" | "gradient" | "outline"} [variant="default"] - 카드 스타일 변형
|
|
13
|
+
* @property {string} [href] - 링크 URL
|
|
14
|
+
* @property {() => void} [onClick] - 클릭 핸들러
|
|
15
|
+
* @property {boolean} [loading] - 로딩 상태
|
|
16
|
+
* @property {string | React.ReactNode} [badge] - 배지
|
|
17
|
+
* @property {React.ReactNode} [footer] - 푸터 콘텐츠
|
|
18
|
+
* @property {boolean} [showAction] - 액션 버튼 표시 여부
|
|
19
|
+
* @property {string} [actionLabel] - 액션 버튼 라벨
|
|
20
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
21
|
+
*/
|
|
22
|
+
export interface SummaryCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
23
|
+
title: string;
|
|
24
|
+
value: string | number;
|
|
25
|
+
subtitle?: string;
|
|
26
|
+
icon?: IconName | React.ReactNode;
|
|
27
|
+
color?: Color;
|
|
28
|
+
variant?: "default" | "gradient" | "outline";
|
|
29
|
+
href?: string;
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
loading?: boolean;
|
|
32
|
+
badge?: string | React.ReactNode;
|
|
33
|
+
footer?: React.ReactNode;
|
|
34
|
+
showAction?: boolean;
|
|
35
|
+
actionLabel?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* SummaryCard 컴포넌트 / SummaryCard component
|
|
39
|
+
*
|
|
40
|
+
* 요약 정보를 표시하는 카드 컴포넌트입니다.
|
|
41
|
+
* 제목, 값, 부제목, 아이콘을 포함하며, 클릭 가능한 링크나 액션 버튼을 지원합니다.
|
|
42
|
+
*
|
|
43
|
+
* Card component that displays summary information.
|
|
44
|
+
* Includes title, value, subtitle, icon, and supports clickable links or action buttons.
|
|
45
|
+
*
|
|
46
|
+
* @component
|
|
47
|
+
* @example
|
|
48
|
+
* // 기본 사용 / Basic usage
|
|
49
|
+
* <SummaryCard
|
|
50
|
+
* title="총 매출"
|
|
51
|
+
* value="₩10,000,000"
|
|
52
|
+
* subtitle="이번 달"
|
|
53
|
+
* icon="dollarSign"
|
|
54
|
+
* />
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* // 클릭 가능한 카드 / Clickable card
|
|
58
|
+
* <SummaryCard
|
|
59
|
+
* title="주문"
|
|
60
|
+
* value="1,234"
|
|
61
|
+
* href="/orders"
|
|
62
|
+
* showAction
|
|
63
|
+
* actionLabel="자세히 보기"
|
|
64
|
+
* color="blue"
|
|
65
|
+
* variant="gradient"
|
|
66
|
+
* />
|
|
67
|
+
*
|
|
68
|
+
* @param {SummaryCardProps} props - SummaryCard 컴포넌트의 props / SummaryCard component props
|
|
69
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
70
|
+
* @returns {JSX.Element} SummaryCard 컴포넌트 / SummaryCard component
|
|
71
|
+
*/
|
|
72
|
+
export declare const SummaryCard: React.ForwardRefExoticComponent<SummaryCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
73
|
+
//# sourceMappingURL=SummaryCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/SummaryCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,WAAW,yFAyLvB,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IconName } from "../../lib/icons";
|
|
3
|
+
import type { TransactionStatus } from "./TransactionsTable";
|
|
4
|
+
/**
|
|
5
|
+
* 거래 상세 정보 인터페이스 / TransactionDetail interface
|
|
6
|
+
* @typedef {Object} TransactionDetail
|
|
7
|
+
* @property {string} id - 거래 ID / Transaction ID
|
|
8
|
+
* @property {TransactionStatus} status - 거래 상태 / Transaction status
|
|
9
|
+
* @property {number} amount - 거래 금액 / Transaction amount
|
|
10
|
+
* @property {string} [currency] - 통화 / Currency
|
|
11
|
+
* @property {string} [merchant] - 가맹점 / Merchant
|
|
12
|
+
* @property {string} [method] - 결제수단 / Payment method
|
|
13
|
+
* @property {string | Date} [createdAt] - 생성일시 / Created date
|
|
14
|
+
* @property {string | Date} [approvedAt] - 승인일시 / Approved date
|
|
15
|
+
* @property {string} [customer] - 고객 정보 / Customer information
|
|
16
|
+
* @property {string} [reference] - 참조 번호 / Reference number
|
|
17
|
+
*/
|
|
18
|
+
export interface TransactionDetail {
|
|
19
|
+
id: string;
|
|
20
|
+
status: TransactionStatus;
|
|
21
|
+
amount: number;
|
|
22
|
+
currency?: string;
|
|
23
|
+
merchant?: string;
|
|
24
|
+
method?: string;
|
|
25
|
+
createdAt?: string | Date;
|
|
26
|
+
approvedAt?: string | Date;
|
|
27
|
+
customer?: string;
|
|
28
|
+
reference?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 거래 메타데이터 아이템 인터페이스 / TransactionMetadataItem interface
|
|
32
|
+
* @typedef {Object} TransactionMetadataItem
|
|
33
|
+
* @property {string} label - 라벨 / Label
|
|
34
|
+
* @property {React.ReactNode} value - 값 / Value
|
|
35
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
36
|
+
*/
|
|
37
|
+
export interface TransactionMetadataItem {
|
|
38
|
+
label: string;
|
|
39
|
+
value: React.ReactNode;
|
|
40
|
+
icon?: IconName;
|
|
41
|
+
}
|
|
42
|
+
export type SettlementStatus = "pending" | "processing" | "completed" | "failed";
|
|
43
|
+
/**
|
|
44
|
+
* 정산 정보 인터페이스 / SettlementInfo interface
|
|
45
|
+
* @typedef {Object} SettlementInfo
|
|
46
|
+
* @property {SettlementStatus} [status] - 정산 상태 / Settlement status
|
|
47
|
+
* @property {number} [amount] - 정산 금액 / Settlement amount
|
|
48
|
+
* @property {string} [currency] - 통화 / Currency
|
|
49
|
+
* @property {string | Date} [scheduledDate] - 예정일 / Scheduled date
|
|
50
|
+
* @property {string} [expectedPayout] - 예상 지급액 / Expected payout
|
|
51
|
+
* @property {string} [bankAccount] - 계좌 정보 / Bank account information
|
|
52
|
+
* @property {string} [reference] - 참조 번호 / Reference number
|
|
53
|
+
* @property {string} [note] - 메모 / Note
|
|
54
|
+
*/
|
|
55
|
+
export interface SettlementInfo {
|
|
56
|
+
status?: SettlementStatus;
|
|
57
|
+
amount?: number;
|
|
58
|
+
currency?: string;
|
|
59
|
+
scheduledDate?: string | Date;
|
|
60
|
+
expectedPayout?: string;
|
|
61
|
+
bankAccount?: string;
|
|
62
|
+
reference?: string;
|
|
63
|
+
note?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 수수료 내역 인터페이스 / FeeBreakdown interface
|
|
67
|
+
* @typedef {Object} FeeBreakdown
|
|
68
|
+
* @property {string} label - 수수료 라벨 / Fee label
|
|
69
|
+
* @property {number} amount - 수수료 금액 / Fee amount
|
|
70
|
+
* @property {string} [currency] - 통화 / Currency
|
|
71
|
+
* @property {string} [description] - 설명 / Description
|
|
72
|
+
*/
|
|
73
|
+
export interface FeeBreakdown {
|
|
74
|
+
label: string;
|
|
75
|
+
amount: number;
|
|
76
|
+
currency?: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 거래 이벤트 인터페이스 / TransactionEvent interface
|
|
81
|
+
* @typedef {Object} TransactionEvent
|
|
82
|
+
* @property {string} id - 이벤트 ID / Event ID
|
|
83
|
+
* @property {string} title - 이벤트 제목 / Event title
|
|
84
|
+
* @property {string} [description] - 설명 / Description
|
|
85
|
+
* @property {string | Date} timestamp - 타임스탬프 / Timestamp
|
|
86
|
+
* @property {"success" | "warning" | "error" | "info"} [status] - 이벤트 상태 / Event status
|
|
87
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
88
|
+
* @property {string} [actor] - 실행자 / Actor
|
|
89
|
+
*/
|
|
90
|
+
export interface TransactionEvent {
|
|
91
|
+
id: string;
|
|
92
|
+
title: string;
|
|
93
|
+
description?: string;
|
|
94
|
+
timestamp: string | Date;
|
|
95
|
+
status?: "success" | "warning" | "error" | "info";
|
|
96
|
+
icon?: IconName;
|
|
97
|
+
actor?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* TransactionDetailDrawer 컴포넌트의 props / TransactionDetailDrawer component props
|
|
101
|
+
* @typedef {Object} TransactionDetailDrawerProps
|
|
102
|
+
* @property {boolean} open - 드로어 열림 상태 / Drawer open state
|
|
103
|
+
* @property {() => void} onClose - 닫기 핸들러 / Close handler
|
|
104
|
+
* @property {TransactionDetail} [transaction] - 거래 상세 정보 / Transaction detail information
|
|
105
|
+
* @property {TransactionMetadataItem[]} [metadata=[]] - 메타데이터 배열 / Metadata array
|
|
106
|
+
* @property {SettlementInfo} [settlement] - 정산 정보 / Settlement information
|
|
107
|
+
* @property {FeeBreakdown[]} [fees=[]] - 수수료 내역 배열 / Fee breakdown array
|
|
108
|
+
* @property {TransactionEvent[]} [events=[]] - 이벤트 로그 배열 / Event log array
|
|
109
|
+
* @property {React.ReactNode} [actions] - 액션 컴포넌트 / Actions component
|
|
110
|
+
* @property {React.ReactNode} [summary] - 요약 컴포넌트 / Summary component
|
|
111
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
112
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
113
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
|
|
114
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
115
|
+
* @property {string} [className] - 추가 클래스명 / Additional class name
|
|
116
|
+
*/
|
|
117
|
+
export interface TransactionDetailDrawerProps {
|
|
118
|
+
open: boolean;
|
|
119
|
+
onClose: () => void;
|
|
120
|
+
transaction?: TransactionDetail;
|
|
121
|
+
metadata?: TransactionMetadataItem[];
|
|
122
|
+
settlement?: SettlementInfo;
|
|
123
|
+
fees?: FeeBreakdown[];
|
|
124
|
+
events?: TransactionEvent[];
|
|
125
|
+
actions?: React.ReactNode;
|
|
126
|
+
summary?: React.ReactNode;
|
|
127
|
+
loading?: boolean;
|
|
128
|
+
locale?: string;
|
|
129
|
+
defaultCurrency?: string;
|
|
130
|
+
emptyState?: React.ReactNode;
|
|
131
|
+
className?: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* TransactionDetailDrawer 컴포넌트
|
|
135
|
+
*
|
|
136
|
+
* 거래 상세 정보를 표시하는 드로어 컴포넌트입니다.
|
|
137
|
+
* 거래 정보, 정산 정보, 수수료 내역, 이벤트 로그 등을 포함합니다.
|
|
138
|
+
*
|
|
139
|
+
* Drawer component that displays detailed transaction information.
|
|
140
|
+
* Includes transaction details, settlement info, fee breakdown, and event logs.
|
|
141
|
+
*
|
|
142
|
+
* @component
|
|
143
|
+
* @example
|
|
144
|
+
* // 기본 사용 / Basic usage
|
|
145
|
+
* <TransactionDetailDrawer
|
|
146
|
+
* open={isOpen}
|
|
147
|
+
* onClose={() => setIsOpen(false)}
|
|
148
|
+
* transaction={{
|
|
149
|
+
* id: "tx_123",
|
|
150
|
+
* status: "approved",
|
|
151
|
+
* amount: 100000,
|
|
152
|
+
* currency: "KRW",
|
|
153
|
+
* merchant: "가맹점 A"
|
|
154
|
+
* }}
|
|
155
|
+
* metadata={[
|
|
156
|
+
* { label: "거래 ID", value: "tx_123", icon: "creditCard" },
|
|
157
|
+
* { label: "고객", value: "홍길동", icon: "user" }
|
|
158
|
+
* ]}
|
|
159
|
+
* />
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* // 정산 정보 포함 / With settlement info
|
|
163
|
+
* <TransactionDetailDrawer
|
|
164
|
+
* open={isOpen}
|
|
165
|
+
* onClose={handleClose}
|
|
166
|
+
* transaction={transaction}
|
|
167
|
+
* settlement={{
|
|
168
|
+
* status: "processing",
|
|
169
|
+
* amount: 95000,
|
|
170
|
+
* currency: "KRW",
|
|
171
|
+
* scheduledDate: new Date("2024-01-15")
|
|
172
|
+
* }}
|
|
173
|
+
* fees={[
|
|
174
|
+
* { label: "수수료", amount: 5000, currency: "KRW" }
|
|
175
|
+
* ]}
|
|
176
|
+
* events={eventLogs}
|
|
177
|
+
* />
|
|
178
|
+
*
|
|
179
|
+
* @param {TransactionDetailDrawerProps} props - TransactionDetailDrawer 컴포넌트의 props / TransactionDetailDrawer component props
|
|
180
|
+
* @returns {JSX.Element} TransactionDetailDrawer 컴포넌트 / TransactionDetailDrawer component
|
|
181
|
+
*/
|
|
182
|
+
export declare const TransactionDetailDrawer: React.FC<TransactionDetailDrawerProps>;
|
|
183
|
+
//# sourceMappingURL=TransactionDetailDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionDetailDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/TransactionDetailDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAW7D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,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,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAgP1E,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type TransactionStatus = "approved" | "pending" | "failed" | "refunded" | "cancelled" | "review";
|
|
3
|
+
export type TransactionColumnKey = "id" | "merchant" | "amount" | "status" | "method" | "date" | "fee" | "customer";
|
|
4
|
+
/**
|
|
5
|
+
* 거래 테이블 행 인터페이스
|
|
6
|
+
* @typedef {Object} TransactionRow
|
|
7
|
+
* @property {string} id - 거래 ID
|
|
8
|
+
* @property {string} merchant - 가맹점
|
|
9
|
+
* @property {number} amount - 거래 금액
|
|
10
|
+
* @property {string} [currency] - 통화
|
|
11
|
+
* @property {TransactionStatus} status - 거래 상태
|
|
12
|
+
* @property {string} [method] - 결제수단
|
|
13
|
+
* @property {string | Date} date - 거래 일시
|
|
14
|
+
* @property {string} [customer] - 고객 정보
|
|
15
|
+
* @property {number} [fee] - 수수료
|
|
16
|
+
* @property {string} [reference] - 참조 번호
|
|
17
|
+
*/
|
|
18
|
+
export interface TransactionRow {
|
|
19
|
+
id: string;
|
|
20
|
+
merchant: string;
|
|
21
|
+
amount: number;
|
|
22
|
+
currency?: string;
|
|
23
|
+
status: TransactionStatus;
|
|
24
|
+
method?: string;
|
|
25
|
+
date: string | Date;
|
|
26
|
+
customer?: string;
|
|
27
|
+
fee?: number;
|
|
28
|
+
reference?: string;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 거래 테이블 컬럼 설정 인터페이스
|
|
33
|
+
* @typedef {Object} TransactionColumnConfig
|
|
34
|
+
* @property {TransactionColumnKey} key - 컬럼 키
|
|
35
|
+
* @property {string} [label] - 컬럼 라벨
|
|
36
|
+
* @property {"left" | "center" | "right"} [align] - 정렬
|
|
37
|
+
* @property {string} [width] - 컬럼 너비
|
|
38
|
+
* @property {(row: TransactionRow) => React.ReactNode} [render] - 커스텀 렌더러
|
|
39
|
+
*/
|
|
40
|
+
export interface TransactionColumnConfig {
|
|
41
|
+
key: TransactionColumnKey;
|
|
42
|
+
label?: string;
|
|
43
|
+
align?: "left" | "center" | "right";
|
|
44
|
+
width?: string;
|
|
45
|
+
render?: (row: TransactionRow) => React.ReactNode;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* TransactionsTable 컴포넌트의 props
|
|
49
|
+
* @typedef {Object} TransactionsTableProps
|
|
50
|
+
* @property {TransactionRow[]} rows - 거래 행 배열
|
|
51
|
+
* @property {TransactionColumnConfig[]} [columns] - 컬럼 설정 배열
|
|
52
|
+
* @property {boolean} [isLoading=false] - 로딩 상태
|
|
53
|
+
* @property {number} [loadingRows] - 로딩 행 수
|
|
54
|
+
* @property {React.ReactNode} [caption] - 테이블 캡션
|
|
55
|
+
* @property {React.ReactNode} [filters] - 필터 컴포넌트
|
|
56
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트
|
|
57
|
+
* @property {(row: TransactionRow) => void} [onRowClick] - 행 클릭 핸들러
|
|
58
|
+
* @property {(row: TransactionRow) => boolean} [highlightRow] - 행 강조 조건
|
|
59
|
+
* @property {Partial<Record<TransactionStatus, string>>} [statusLabels] - 상태 라벨 커스터마이징
|
|
60
|
+
* @property {(status: TransactionStatus, row: TransactionRow) => React.ReactNode} [statusRenderer] - 상태 커스텀 렌더러
|
|
61
|
+
* @property {(row: TransactionRow) => React.ReactNode} [amountFormatter] - 금액 커스텀 포맷터
|
|
62
|
+
* @property {(row: TransactionRow) => React.ReactNode} [methodFormatter] - 결제수단 커스텀 포맷터
|
|
63
|
+
* @property {(row: TransactionRow) => React.ReactNode} [dateFormatter] - 날짜 커스텀 포맷터
|
|
64
|
+
* @property {string} [locale="ko-KR"] - 로케일
|
|
65
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화
|
|
66
|
+
* @property {string} [className] - 추가 클래스명
|
|
67
|
+
* @property {React.ReactNode} [footer] - 푸터 컴포넌트
|
|
68
|
+
* @property {(row: TransactionRow) => string} [rowActionLabel] - 행 액션 라벨 생성 함수
|
|
69
|
+
* @property {string} [rowActionHint] - 행 액션 힌트 텍스트
|
|
70
|
+
*/
|
|
71
|
+
export interface TransactionsTableProps {
|
|
72
|
+
rows: TransactionRow[];
|
|
73
|
+
columns?: TransactionColumnConfig[];
|
|
74
|
+
isLoading?: boolean;
|
|
75
|
+
loadingRows?: number;
|
|
76
|
+
caption?: React.ReactNode;
|
|
77
|
+
filters?: React.ReactNode;
|
|
78
|
+
emptyState?: React.ReactNode;
|
|
79
|
+
onRowClick?: (row: TransactionRow) => void;
|
|
80
|
+
highlightRow?: (row: TransactionRow) => boolean;
|
|
81
|
+
statusLabels?: Partial<Record<TransactionStatus, string>>;
|
|
82
|
+
statusRenderer?: (status: TransactionStatus, row: TransactionRow) => React.ReactNode;
|
|
83
|
+
amountFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
84
|
+
methodFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
85
|
+
dateFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
86
|
+
locale?: string;
|
|
87
|
+
defaultCurrency?: string;
|
|
88
|
+
className?: string;
|
|
89
|
+
footer?: React.ReactNode;
|
|
90
|
+
rowActionLabel?: (row: TransactionRow) => string;
|
|
91
|
+
rowActionHint?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* TransactionsTable 컴포넌트
|
|
95
|
+
*
|
|
96
|
+
* 거래 목록을 테이블 형태로 표시하는 컴포넌트입니다.
|
|
97
|
+
* 정렬, 필터링, 커스텀 렌더링 등을 지원합니다.
|
|
98
|
+
*
|
|
99
|
+
* Table component that displays transaction list.
|
|
100
|
+
* Supports sorting, filtering, and custom rendering.
|
|
101
|
+
*
|
|
102
|
+
* @component
|
|
103
|
+
* @example
|
|
104
|
+
* // 기본 사용 / Basic usage
|
|
105
|
+
* <TransactionsTable
|
|
106
|
+
* rows={[
|
|
107
|
+
* {
|
|
108
|
+
* id: "tx_123",
|
|
109
|
+
* merchant: "가맹점 A",
|
|
110
|
+
* amount: 100000,
|
|
111
|
+
* status: "approved",
|
|
112
|
+
* method: "카드",
|
|
113
|
+
* date: new Date()
|
|
114
|
+
* }
|
|
115
|
+
* ]}
|
|
116
|
+
* onRowClick={(row) => console.log(row)}
|
|
117
|
+
* />
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* // 커스텀 컬럼과 포맷터 / Custom columns and formatters
|
|
121
|
+
* <TransactionsTable
|
|
122
|
+
* rows={transactions}
|
|
123
|
+
* columns={[
|
|
124
|
+
* { key: "id", label: "ID" },
|
|
125
|
+
* { key: "amount", label: "금액", align: "right" },
|
|
126
|
+
* { key: "status", label: "상태" }
|
|
127
|
+
* ]}
|
|
128
|
+
* amountFormatter={(row) => `₩${row.amount.toLocaleString()}`}
|
|
129
|
+
* statusRenderer={(status) => <CustomBadge status={status} />}
|
|
130
|
+
* isLoading={loading}
|
|
131
|
+
* />
|
|
132
|
+
*
|
|
133
|
+
* @param {TransactionsTableProps} props - TransactionsTable 컴포넌트의 props / TransactionsTable component props
|
|
134
|
+
* @returns {JSX.Element} TransactionsTable 컴포넌트 / TransactionsTable component
|
|
135
|
+
*/
|
|
136
|
+
export declare const TransactionsTable: React.FC<TransactionsTableProps>;
|
|
137
|
+
//# sourceMappingURL=TransactionsTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionsTable.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/TransactionsTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,SAAS,GACT,QAAQ,GACR,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,UAAU,CAAC;AAEf;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IACrF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6O9D,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type TrendSeriesPalette = "approval" | "settlement" | "custom";
|
|
3
|
+
/**
|
|
4
|
+
* 트렌드 시리즈 인터페이스
|
|
5
|
+
* @typedef {Object} TrendSeries
|
|
6
|
+
* @property {string} label - 시리즈 라벨
|
|
7
|
+
* @property {number[]} data - 데이터 배열
|
|
8
|
+
* @property {string} [color] - 커스텀 색상
|
|
9
|
+
* @property {boolean} [area] - 영역 채우기 여부
|
|
10
|
+
*/
|
|
11
|
+
export interface TrendSeries {
|
|
12
|
+
label: string;
|
|
13
|
+
data: number[];
|
|
14
|
+
color?: string;
|
|
15
|
+
area?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* TrendChart 컴포넌트의 props / TrendChart component props
|
|
19
|
+
* @typedef {Object} TrendChartProps
|
|
20
|
+
* @property {TrendSeries[]} series - 시리즈 배열 / Series array
|
|
21
|
+
* @property {string[]} categories - 카테고리 배열 / Categories array
|
|
22
|
+
* @property {TrendSeriesPalette} [palette="approval"] - 색상 팔레트 / Color palette
|
|
23
|
+
* @property {number} [height=200] - 차트 높이 (px) / Chart height (px)
|
|
24
|
+
* @property {boolean} [showLegend=true] - 범례 표시 여부 / Show legend
|
|
25
|
+
* @property {boolean} [showDots=true] - 점 표시 여부 / Show dots
|
|
26
|
+
* @property {boolean} [showTooltip=false] - 툴팁 표시 여부 / Show tooltip
|
|
27
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
28
|
+
*/
|
|
29
|
+
export interface TrendChartProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
30
|
+
series: TrendSeries[];
|
|
31
|
+
categories: string[];
|
|
32
|
+
palette?: TrendSeriesPalette;
|
|
33
|
+
height?: number;
|
|
34
|
+
showLegend?: boolean;
|
|
35
|
+
showDots?: boolean;
|
|
36
|
+
showTooltip?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* TrendChart 컴포넌트
|
|
40
|
+
*
|
|
41
|
+
* 트렌드 데이터를 선 그래프로 표시하는 컴포넌트입니다.
|
|
42
|
+
* 여러 시리즈를 동시에 표시할 수 있으며, 영역 채우기 옵션을 제공합니다.
|
|
43
|
+
*
|
|
44
|
+
* Line chart component that displays trend data.
|
|
45
|
+
* Can display multiple series simultaneously with area fill option.
|
|
46
|
+
*
|
|
47
|
+
* @component
|
|
48
|
+
* @example
|
|
49
|
+
* // 기본 사용 / Basic usage
|
|
50
|
+
* <TrendChart
|
|
51
|
+
* series={[
|
|
52
|
+
* { label: "승인", data: [10, 20, 15, 30, 25] },
|
|
53
|
+
* { label: "거부", data: [5, 10, 8, 15, 12] }
|
|
54
|
+
* ]}
|
|
55
|
+
* categories={["월", "화", "수", "목", "금"]}
|
|
56
|
+
* palette="approval"
|
|
57
|
+
* />
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* // 영역 채우기와 커스텀 색상 / Area fill and custom color
|
|
61
|
+
* <TrendChart
|
|
62
|
+
* series={[
|
|
63
|
+
* { label: "정산", data: [100, 200, 150], area: true, color: "#6366f1" }
|
|
64
|
+
* ]}
|
|
65
|
+
* categories={["1월", "2월", "3월"]}
|
|
66
|
+
* palette="settlement"
|
|
67
|
+
* showDots={true}
|
|
68
|
+
* showTooltip={true}
|
|
69
|
+
* />
|
|
70
|
+
*
|
|
71
|
+
* @param {TrendChartProps} props - TrendChart 컴포넌트의 props / TrendChart component props
|
|
72
|
+
* @returns {JSX.Element} TrendChart 컴포넌트 / TrendChart component
|
|
73
|
+
*/
|
|
74
|
+
export declare const TrendChart: React.FC<TrendChartProps>;
|
|
75
|
+
//# sourceMappingURL=TrendChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrendChart.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/TrendChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6IhD,CAAC"}
|