@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
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Toast 메시지 타입 / Toast message type
|
|
4
|
+
* @typedef {Object} Toast
|
|
5
|
+
* @property {string} id - Toast 고유 ID / Toast unique ID
|
|
6
|
+
* @property {"success" | "error" | "warning" | "info"} type - Toast 타입 / Toast type
|
|
7
|
+
* @property {string} [title] - Toast 제목 / Toast title
|
|
8
|
+
* @property {string} message - Toast 메시지 / Toast message
|
|
9
|
+
* @property {number} [duration] - 표시 시간(ms), 0이면 자동 제거 안 함 / Display duration (ms), 0 means no auto-remove
|
|
10
|
+
* @property {Object} [action] - 액션 버튼 / Action button
|
|
11
|
+
* @property {string} action.label - 액션 버튼 레이블 / Action button label
|
|
12
|
+
* @property {() => void} action.onClick - 액션 버튼 클릭 핸들러 / Action button click handler
|
|
13
|
+
*/
|
|
2
14
|
export interface Toast {
|
|
3
15
|
id: string;
|
|
4
16
|
type: "success" | "error" | "warning" | "info";
|
|
@@ -16,12 +28,74 @@ interface ToastContextType {
|
|
|
16
28
|
removeToast: (id: string) => void;
|
|
17
29
|
clearToasts: () => void;
|
|
18
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* useToast Hook
|
|
33
|
+
*
|
|
34
|
+
* Toast를 추가, 제거, 초기화하는 훅입니다.
|
|
35
|
+
* ToastProvider 내부에서만 사용 가능합니다.
|
|
36
|
+
*
|
|
37
|
+
* Hook for adding, removing, and clearing toasts.
|
|
38
|
+
* Can only be used within ToastProvider.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const { addToast, removeToast, clearToasts } = useToast()
|
|
42
|
+
*
|
|
43
|
+
* addToast({
|
|
44
|
+
* type: "success",
|
|
45
|
+
* message: "저장되었습니다",
|
|
46
|
+
* duration: 3000
|
|
47
|
+
* })
|
|
48
|
+
*
|
|
49
|
+
* @returns {ToastContextType} Toast 컨텍스트 값 / Toast context value
|
|
50
|
+
* @throws {Error} ToastProvider 외부에서 사용 시 에러 발생 / Error when used outside ToastProvider
|
|
51
|
+
*/
|
|
19
52
|
export declare function useToast(): ToastContextType;
|
|
53
|
+
/**
|
|
54
|
+
* ToastProvider 컴포넌트의 props / ToastProvider component props
|
|
55
|
+
* @typedef {Object} ToastProviderProps
|
|
56
|
+
* @property {React.ReactNode} children - 자식 컴포넌트 / Child components
|
|
57
|
+
* @property {number} [maxToasts=5] - 최대 Toast 개수 / Maximum number of toasts
|
|
58
|
+
* @property {"top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center"} [position="top-right"] - Toast 표시 위치 / Toast display position
|
|
59
|
+
*/
|
|
20
60
|
interface ToastProviderProps {
|
|
21
61
|
children: React.ReactNode;
|
|
22
62
|
maxToasts?: number;
|
|
23
63
|
position?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center";
|
|
24
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* ToastProvider 컴포넌트 / ToastProvider component
|
|
67
|
+
*
|
|
68
|
+
* Toast 시스템의 컨텍스트를 제공하는 Provider 컴포넌트입니다.
|
|
69
|
+
* 앱의 루트 레벨에서 사용하여 전역 Toast 기능을 활성화합니다.
|
|
70
|
+
*
|
|
71
|
+
* Provider component that provides context for the Toast system.
|
|
72
|
+
* Use at the root level of your app to enable global Toast functionality.
|
|
73
|
+
*
|
|
74
|
+
* @component
|
|
75
|
+
* @example
|
|
76
|
+
* // App.tsx
|
|
77
|
+
* <ToastProvider position="top-center" maxToasts={3}>
|
|
78
|
+
* <App />
|
|
79
|
+
* </ToastProvider>
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* // 컴포넌트에서 사용 / Usage in component
|
|
83
|
+
* const { addToast } = useToast()
|
|
84
|
+
*
|
|
85
|
+
* const handleSave = () => {
|
|
86
|
+
* addToast({
|
|
87
|
+
* type: "success",
|
|
88
|
+
* message: "저장되었습니다",
|
|
89
|
+
* title: "성공"
|
|
90
|
+
* })
|
|
91
|
+
* }
|
|
92
|
+
*
|
|
93
|
+
* @param {ToastProviderProps} props - ToastProvider 컴포넌트의 props / ToastProvider component props
|
|
94
|
+
* @returns {JSX.Element} ToastProvider 컴포넌트 / ToastProvider component
|
|
95
|
+
*
|
|
96
|
+
* @todo 접근성 개선: ToastItem에 role="alert" 또는 role="status" 추가 필요 / Accessibility: Add role="alert" or role="status" to ToastItem
|
|
97
|
+
* @todo 접근성 개선: aria-live="polite" 또는 aria-live="assertive" 추가 필요 / Accessibility: Add aria-live="polite" or aria-live="assertive"
|
|
98
|
+
*/
|
|
25
99
|
export declare function ToastProvider({ children, maxToasts, position }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
26
100
|
export declare const showToast: (toast: Omit<Toast, "id">) => void;
|
|
27
101
|
export declare const showSuccessToast: (message: string, title?: string, duration?: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAM3C;AAED;;;;;;GAMG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAA;CACtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAa,EACb,QAAsB,EACvB,EAAE,kBAAkB,2CAkCpB;AAwKD,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAGjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAEhF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAE/E,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Toggle 컴포넌트의 props / Toggle component props
|
|
4
|
+
* @typedef {Object} ToggleProps
|
|
5
|
+
* @property {"default" | "outline" | "filled" | "ghost" | "glass"} [variant="default"] - Toggle 스타일 변형 / Toggle style variant
|
|
6
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - Toggle 크기 / Toggle size
|
|
7
|
+
* @property {boolean} [pressed] - 제어 모드에서 눌림 상태 / Pressed state in controlled mode
|
|
8
|
+
* @property {(pressed: boolean) => void} [onPressedChange] - 상태 변경 콜백 / State change callback
|
|
9
|
+
* @property {string} [label] - Toggle 라벨 텍스트 / Toggle label text
|
|
10
|
+
* @property {string} [description] - Toggle 설명 텍스트 / Toggle description text
|
|
11
|
+
* @property {React.ReactNode} [icon] - 아이콘 / Icon
|
|
12
|
+
* @property {"left" | "right"} [iconPosition="left"] - 아이콘 위치 / Icon position
|
|
13
|
+
* @extends {Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>}
|
|
14
|
+
*/
|
|
15
|
+
export interface ToggleProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> {
|
|
16
|
+
variant?: "default" | "outline" | "filled" | "ghost" | "glass";
|
|
17
|
+
size?: "sm" | "md" | "lg";
|
|
18
|
+
pressed?: boolean;
|
|
19
|
+
onPressedChange?: (pressed: boolean) => void;
|
|
20
|
+
label?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
iconPosition?: "left" | "right";
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Toggle 컴포넌트 / Toggle component
|
|
27
|
+
*
|
|
28
|
+
* 눌림 상태를 가지는 토글 버튼 컴포넌트입니다.
|
|
29
|
+
* Switch와 달리 버튼 형태로 표시되며, 여러 개를 그룹으로 사용할 수 있습니다.
|
|
30
|
+
*
|
|
31
|
+
* Toggle button component with pressed state.
|
|
32
|
+
* Unlike Switch, displayed as a button and can be used in groups.
|
|
33
|
+
*
|
|
34
|
+
* @component
|
|
35
|
+
* @example
|
|
36
|
+
* // 기본 사용 / Basic usage
|
|
37
|
+
* <Toggle label="알림" />
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // 제어 모드 / Controlled mode
|
|
41
|
+
* const [pressed, setPressed] = useState(false)
|
|
42
|
+
* <Toggle
|
|
43
|
+
* pressed={pressed}
|
|
44
|
+
* onPressedChange={setPressed}
|
|
45
|
+
* label="다크 모드"
|
|
46
|
+
* icon={<Icon name="moon" />}
|
|
47
|
+
* />
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // 아이콘만 / Icon only
|
|
51
|
+
* <Toggle
|
|
52
|
+
* icon={<Icon name="heart" />}
|
|
53
|
+
* variant="ghost"
|
|
54
|
+
* />
|
|
55
|
+
*
|
|
56
|
+
* @param {ToggleProps} props - Toggle 컴포넌트의 props / Toggle component props
|
|
57
|
+
* @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
|
|
58
|
+
* @returns {JSX.Element} Toggle 컴포넌트 / Toggle component
|
|
59
|
+
*/
|
|
60
|
+
declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
|
|
61
|
+
export { Toggle };
|
|
62
|
+
//# sourceMappingURL=Toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../src/components/Toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC9F,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IAC9D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,MAAM,uFAqFX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Tooltip 컴포넌트의 props / Tooltip component props
|
|
4
|
+
* @typedef {Object} TooltipProps
|
|
5
|
+
* @property {string} content - Tooltip 내용 / Tooltip content
|
|
6
|
+
* @property {React.ReactNode} children - Tooltip이 연결될 요소 / Element to attach tooltip to
|
|
7
|
+
* @property {"top" | "bottom" | "left" | "right"} [position="top"] - Tooltip 표시 위치 / Tooltip display position
|
|
8
|
+
* @property {"default" | "light" | "dark"} [variant="default"] - Tooltip 스타일 변형 / Tooltip style variant
|
|
9
|
+
* @property {number} [delay=300] - Tooltip 표시 지연 시간(ms) / Tooltip display delay (ms)
|
|
10
|
+
* @property {boolean} [disabled=false] - Tooltip 비활성화 여부 / Disable tooltip
|
|
11
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
12
|
+
*/
|
|
2
13
|
export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
14
|
content: string;
|
|
4
15
|
children: React.ReactNode;
|
|
@@ -7,6 +18,42 @@ export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
7
18
|
delay?: number;
|
|
8
19
|
disabled?: boolean;
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Tooltip 컴포넌트 / Tooltip component
|
|
23
|
+
*
|
|
24
|
+
* 호버 시 추가 정보를 표시하는 툴팁 컴포넌트입니다.
|
|
25
|
+
* 마우스 호버 시 지연 시간 후 표시됩니다.
|
|
26
|
+
*
|
|
27
|
+
* Tooltip component that displays additional information on hover.
|
|
28
|
+
* Appears after a delay when the mouse hovers over the element.
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @example
|
|
32
|
+
* // 기본 사용 / Basic usage
|
|
33
|
+
* <Tooltip content="이것은 도움말입니다">
|
|
34
|
+
* <Button>호버하세요</Button>
|
|
35
|
+
* </Tooltip>
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // 다양한 위치 / Different positions
|
|
39
|
+
* <Tooltip content="위치 변경" position="bottom">
|
|
40
|
+
* <Icon name="info" />
|
|
41
|
+
* </Tooltip>
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // 커스텀 스타일 / Custom styles
|
|
45
|
+
* <Tooltip content="라이트 스타일" variant="light" delay={500}>
|
|
46
|
+
* <span>호버</span>
|
|
47
|
+
* </Tooltip>
|
|
48
|
+
*
|
|
49
|
+
* @param {TooltipProps} props - Tooltip 컴포넌트의 props / Tooltip component props
|
|
50
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
51
|
+
* @returns {JSX.Element} Tooltip 컴포넌트 / Tooltip component
|
|
52
|
+
*
|
|
53
|
+
* @todo 접근성 개선: role="tooltip" 추가 필요 / Accessibility: Add role="tooltip"
|
|
54
|
+
* @todo 접근성 개선: aria-describedby 연결 필요 / Accessibility: Connect aria-describedby
|
|
55
|
+
* @todo 접근성 개선: 키보드 포커스 시 Tooltip 표시 필요 / Accessibility: Show tooltip on keyboard focus
|
|
56
|
+
*/
|
|
10
57
|
declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
58
|
export declare const TooltipLight: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
59
|
export declare const TooltipDark: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,OAAO,qFA+IZ,CAAA;AAID,eAAO,MAAM,YAAY,sGAIxB,CAAA;AAGD,eAAO,MAAM,WAAW,sGAIvB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* 업로드된 파일 정보 인터페이스 / Uploaded file information interface
|
|
4
|
+
* @typedef {Object} UploadedFile
|
|
5
|
+
* @property {string} id - 파일 고유 ID / File unique ID
|
|
6
|
+
* @property {File} file - 파일 객체 / File object
|
|
7
|
+
* @property {string} name - 파일 이름 / File name
|
|
8
|
+
* @property {number} size - 파일 크기 (bytes) / File size in bytes
|
|
9
|
+
* @property {string} type - 파일 타입 / File type
|
|
10
|
+
* @property {number} [progress] - 업로드 진행률 (0-100) / Upload progress (0-100)
|
|
11
|
+
* @property {"pending" | "uploading" | "success" | "error"} [status] - 업로드 상태 / Upload status
|
|
12
|
+
* @property {string} [url] - 업로드된 파일 URL / Uploaded file URL
|
|
13
|
+
* @property {string} [error] - 에러 메시지 / Error message
|
|
14
|
+
*/
|
|
15
|
+
export interface UploadedFile {
|
|
16
|
+
id: string;
|
|
17
|
+
file: File;
|
|
18
|
+
name: string;
|
|
19
|
+
size: number;
|
|
20
|
+
type: string;
|
|
21
|
+
progress?: number;
|
|
22
|
+
status?: "pending" | "uploading" | "success" | "error";
|
|
23
|
+
url?: string;
|
|
24
|
+
error?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Upload 컴포넌트의 props / Upload component props
|
|
28
|
+
* @typedef {Object} UploadProps
|
|
29
|
+
* @property {UploadedFile[]} [files] - 업로드된 파일 목록 / Uploaded files list
|
|
30
|
+
* @property {(files: File[]) => void} [onChange] - 파일 선택 핸들러 / File selection handler
|
|
31
|
+
* @property {(file: UploadedFile) => void} [onRemove] - 파일 제거 핸들러 / File removal handler
|
|
32
|
+
* @property {boolean} [multiple=false] - 다중 파일 선택 허용 / Allow multiple file selection
|
|
33
|
+
* @property {string} [accept] - 허용할 파일 타입 (예: "image/*", ".pdf") / Accepted file types
|
|
34
|
+
* @property {number} [maxSize] - 최대 파일 크기 (bytes) / Maximum file size in bytes
|
|
35
|
+
* @property {number} [maxFiles] - 최대 파일 개수 / Maximum number of files
|
|
36
|
+
* @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
|
|
37
|
+
* @property {boolean} [dragDrop=true] - 드래그 앤 드롭 활성화 / Enable drag and drop
|
|
38
|
+
* @property {string} [placeholder="파일을 선택하거나 여기에 드래그하세요"] - 플레이스홀더 / Placeholder
|
|
39
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
|
|
40
|
+
* @property {string} [className] - 추가 클래스명 / Additional class name
|
|
41
|
+
*/
|
|
42
|
+
export interface UploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
43
|
+
files?: UploadedFile[];
|
|
44
|
+
onChange?: (files: File[]) => void;
|
|
45
|
+
onRemove?: (file: UploadedFile) => void;
|
|
46
|
+
multiple?: boolean;
|
|
47
|
+
accept?: string;
|
|
48
|
+
maxSize?: number;
|
|
49
|
+
maxFiles?: number;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
dragDrop?: boolean;
|
|
52
|
+
placeholder?: string;
|
|
53
|
+
size?: "sm" | "md" | "lg";
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Upload 컴포넌트 / Upload component
|
|
58
|
+
*
|
|
59
|
+
* 파일을 업로드할 수 있는 컴포넌트입니다.
|
|
60
|
+
* 드래그 앤 드롭, 다중 파일 선택, 파일 크기 제한 등을 지원합니다.
|
|
61
|
+
*
|
|
62
|
+
* Component for uploading files.
|
|
63
|
+
* Supports drag and drop, multiple file selection, file size limits, and more.
|
|
64
|
+
*
|
|
65
|
+
* @component
|
|
66
|
+
* @example
|
|
67
|
+
* // 기본 사용 / Basic usage
|
|
68
|
+
* <Upload
|
|
69
|
+
* onChange={(files) => console.log(files)}
|
|
70
|
+
* />
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* // 이미지만, 다중 선택 / Images only, multiple selection
|
|
74
|
+
* <Upload
|
|
75
|
+
* accept="image/*"
|
|
76
|
+
* multiple
|
|
77
|
+
* maxSize={5 * 1024 * 1024} // 5MB
|
|
78
|
+
* maxFiles={5}
|
|
79
|
+
* files={uploadedFiles}
|
|
80
|
+
* onRemove={(file) => handleRemove(file)}
|
|
81
|
+
* />
|
|
82
|
+
*
|
|
83
|
+
* @param {UploadProps} props - Upload 컴포넌트의 props / Upload component props
|
|
84
|
+
* @returns {JSX.Element} Upload 컴포넌트 / Upload component
|
|
85
|
+
*/
|
|
86
|
+
export declare const Upload: React.ForwardRefExoticComponent<UploadProps & React.RefAttributes<HTMLDivElement>>;
|
|
87
|
+
//# sourceMappingURL=Upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Upload.d.ts","sourceRoot":"","sources":["../../src/components/Upload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,oFAiNlB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
|
|
3
|
+
export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
|
|
4
|
+
export interface AdvancedPageTransitionProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
type?: TransitionType;
|
|
8
|
+
duration?: number;
|
|
9
|
+
easing?: TransitionEasing;
|
|
10
|
+
delay?: number;
|
|
11
|
+
autoStart?: boolean;
|
|
12
|
+
onStart?: () => void;
|
|
13
|
+
onComplete?: () => void;
|
|
14
|
+
showProgress?: boolean;
|
|
15
|
+
progressClassName?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const AdvancedPageTransition: React.ForwardRefExoticComponent<AdvancedPageTransitionProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export declare const FadePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
export declare const SlidePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export declare const ScalePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export declare const FlipPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export declare const MorphPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
23
|
+
export declare const CubePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export declare const ZoomPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
//# sourceMappingURL=AdvancedPageTransition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedPageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/AdvancedPageTransition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAG1D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,sBAAsB,oGAkNjC,CAAA;AAKF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
|
|
2
|
+
export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
|
|
3
|
+
export interface TransitionConfig {
|
|
4
|
+
type: TransitionType;
|
|
5
|
+
duration: number;
|
|
6
|
+
easing: TransitionEasing;
|
|
7
|
+
delay?: number;
|
|
8
|
+
stagger?: number;
|
|
9
|
+
direction?: 'forward' | 'backward';
|
|
10
|
+
onStart?: () => void;
|
|
11
|
+
onComplete?: () => void;
|
|
12
|
+
onReverse?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export interface PageTransitionState {
|
|
15
|
+
isTransitioning: boolean;
|
|
16
|
+
isVisible: boolean;
|
|
17
|
+
currentStep: number;
|
|
18
|
+
progress: number;
|
|
19
|
+
}
|
|
20
|
+
export interface PageTransitionControls {
|
|
21
|
+
start: (config?: Partial<TransitionConfig>) => Promise<void>;
|
|
22
|
+
reverse: () => Promise<void>;
|
|
23
|
+
pause: () => void;
|
|
24
|
+
resume: () => void;
|
|
25
|
+
reset: () => void;
|
|
26
|
+
}
|
|
27
|
+
export declare const usePageTransition: (initialConfig?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
28
|
+
export declare const useFadeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
29
|
+
export declare const useSlideTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
30
|
+
export declare const useScaleTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
31
|
+
export declare const useMorphTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
32
|
+
export declare const useCubeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
|
|
33
|
+
//# sourceMappingURL=usePageTransition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransition.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,GAC5B,gBAAe,OAAO,CAAC,gBAAgB,CAAM,KAC5C,CAAC,mBAAmB,EAAE,sBAAsB,CAgJ9C,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TransitionType, TransitionEasing, TransitionConfig } from './usePageTransition';
|
|
2
|
+
export interface PageTransitionManagerConfig {
|
|
3
|
+
defaultType?: TransitionType;
|
|
4
|
+
defaultDuration?: number;
|
|
5
|
+
defaultEasing?: TransitionEasing;
|
|
6
|
+
enableHistory?: boolean;
|
|
7
|
+
enableProgress?: boolean;
|
|
8
|
+
enableDebug?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PageTransitionEvent {
|
|
11
|
+
id: string;
|
|
12
|
+
type: TransitionType;
|
|
13
|
+
duration: number;
|
|
14
|
+
easing: TransitionEasing;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
status: 'pending' | 'active' | 'completed' | 'failed';
|
|
17
|
+
}
|
|
18
|
+
export interface PageTransitionManagerState {
|
|
19
|
+
isTransitioning: boolean;
|
|
20
|
+
currentTransition: PageTransitionEvent | null;
|
|
21
|
+
transitionHistory: PageTransitionEvent[];
|
|
22
|
+
totalTransitions: number;
|
|
23
|
+
averageDuration: number;
|
|
24
|
+
}
|
|
25
|
+
export interface PageTransitionManagerControls {
|
|
26
|
+
startTransition: (config: Partial<TransitionConfig>) => Promise<string>;
|
|
27
|
+
cancelTransition: (id: string) => void;
|
|
28
|
+
pauseAll: () => void;
|
|
29
|
+
resumeAll: () => void;
|
|
30
|
+
clearHistory: () => void;
|
|
31
|
+
getTransitionStats: () => {
|
|
32
|
+
total: number;
|
|
33
|
+
average: number;
|
|
34
|
+
byType: Record<TransitionType, number>;
|
|
35
|
+
byStatus: Record<string, number>;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare const usePageTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
39
|
+
export declare const useFadeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
40
|
+
export declare const useSlideTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
41
|
+
export declare const useScaleTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
42
|
+
export declare const useMorphTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
43
|
+
export declare const useCubeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
|
|
44
|
+
//# sourceMappingURL=usePageTransitionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageTransitionManager.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransitionManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,OAAO,CAAA;IACxB,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC7C,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,kBAAkB,EAAE,MAAM;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;CACF;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAQ,2BAAgC,KACvC,CAAC,0BAA0B,EAAE,6BAA6B,CAqL5D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA"}
|
|
@@ -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"}
|