@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.
- package/README.md +891 -213
- 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-6NXF6ATP.mjs +2 -0
- package/dist/chunk-6NXF6ATP.mjs.map +1 -0
- package/dist/chunk-ACEKLG37.mjs +2 -0
- package/dist/chunk-ACEKLG37.mjs.map +1 -0
- package/dist/chunk-DMYT7RZ4.mjs +2 -0
- package/dist/chunk-DMYT7RZ4.mjs.map +1 -0
- package/dist/chunk-KHEJZ3U4.mjs +2 -0
- package/dist/chunk-KHEJZ3U4.mjs.map +1 -0
- package/dist/chunk-QXBMXCML.mjs +2 -0
- package/dist/chunk-QXBMXCML.mjs.map +1 -0
- package/dist/chunk-SGCVGEDR.mjs +2 -0
- package/dist/chunk-SGCVGEDR.mjs.map +1 -0
- package/dist/chunk-UUHAXGMO.mjs +2 -0
- package/dist/chunk-UUHAXGMO.mjs.map +1 -0
- package/dist/chunk-VPOFRDYL.mjs +2 -0
- package/dist/chunk-VPOFRDYL.mjs.map +1 -0
- package/dist/chunk-YY6ZBUVJ.mjs +2 -0
- package/dist/chunk-YY6ZBUVJ.mjs.map +1 -0
- package/dist/chunk-ZQAAB3P4.mjs +2 -0
- package/dist/chunk-ZQAAB3P4.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 +560 -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 +85 -19
- 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,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"}
|