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