@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,65 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IconName } from '../lib/icons';
|
|
3
|
+
/**
|
|
4
|
+
* ActionButton 인터페이스
|
|
5
|
+
* @typedef {Object} ActionButton
|
|
6
|
+
* @property {string} label - 버튼 라벨 (데스크톱)
|
|
7
|
+
* @property {string} [labelMobile] - 버튼 라벨 (모바일, 없으면 label 사용)
|
|
8
|
+
* @property {IconName} [icon] - 버튼 아이콘
|
|
9
|
+
* @property {() => void} onClick - 클릭 핸들러
|
|
10
|
+
* @property {boolean} [disabled] - 비활성화 여부
|
|
11
|
+
* @property {'default' | 'outline' | 'destructive' | 'ghost'} [variant='outline'] - 버튼 스타일
|
|
12
|
+
* @property {Object} [badge] - 배지 정보
|
|
13
|
+
* @property {number} badge.count - 배지 숫자
|
|
14
|
+
* @property {'blue' | 'red' | 'gray' | 'green'} [badge.color='gray'] - 배지 색상
|
|
15
|
+
* @property {string} [className] - 추가 CSS 클래스
|
|
16
|
+
*/
|
|
17
|
+
export interface ActionButton {
|
|
18
|
+
label: string;
|
|
19
|
+
labelMobile?: string;
|
|
20
|
+
icon?: IconName;
|
|
21
|
+
onClick: () => void;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
variant?: 'default' | 'outline' | 'destructive' | 'ghost';
|
|
24
|
+
badge?: {
|
|
25
|
+
count: number;
|
|
26
|
+
color?: 'blue' | 'red' | 'gray' | 'green';
|
|
27
|
+
};
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* ActionToolbar 컴포넌트의 props / ActionToolbar component props
|
|
32
|
+
* @typedef {Object} ActionToolbarProps
|
|
33
|
+
* @property {boolean} [isSelectMode=false] - 선택 모드 활성화 여부 / Enable select mode
|
|
34
|
+
* @property {number} [totalCount=0] - 전체 항목 개수 / Total item count
|
|
35
|
+
* @property {number} [selectedCount=0] - 선택된 항목 개수 / Selected item count
|
|
36
|
+
* @property {ActionButton[]} [actions=[]] - 일반 모드 액션 버튼들 / Normal mode action buttons
|
|
37
|
+
* @property {ActionButton[]} [selectModeActions=[]] - 선택 모드 액션 버튼들 / Select mode action buttons
|
|
38
|
+
* @property {() => void} [onToggleSelectMode] - 선택 모드 토글 함수 / Toggle select mode function
|
|
39
|
+
* @property {() => void} [onToggleSelectAll] - 전체 선택/해제 함수 / Toggle select all function
|
|
40
|
+
* @property {() => void} [onCancelSelect] - 선택 모드 취소 함수 / Cancel select mode function
|
|
41
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
42
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
43
|
+
*/
|
|
44
|
+
export interface ActionToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
45
|
+
/** 선택 모드 활성화 여부 */
|
|
46
|
+
isSelectMode?: boolean;
|
|
47
|
+
/** 전체 항목 개수 */
|
|
48
|
+
totalCount?: number;
|
|
49
|
+
/** 선택된 항목 개수 */
|
|
50
|
+
selectedCount?: number;
|
|
51
|
+
/** 일반 모드 액션 버튼들 */
|
|
52
|
+
actions?: ActionButton[];
|
|
53
|
+
/** 선택 모드 액션 버튼들 */
|
|
54
|
+
selectModeActions?: ActionButton[];
|
|
55
|
+
/** 선택 모드 토글 함수 */
|
|
56
|
+
onToggleSelectMode?: () => void;
|
|
57
|
+
/** 전체 선택/해제 함수 */
|
|
58
|
+
onToggleSelectAll?: () => void;
|
|
59
|
+
/** 선택 모드 취소 함수 */
|
|
60
|
+
onCancelSelect?: () => void;
|
|
61
|
+
/** 로딩 상태 */
|
|
62
|
+
loading?: boolean;
|
|
63
|
+
}
|
|
64
|
+
export declare const ActionToolbar: React.NamedExoticComponent<ActionToolbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
65
|
+
//# sourceMappingURL=ActionToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionToolbar.d.ts","sourceRoot":"","sources":["../../src/components/ActionToolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;KAC3C,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,mBAAmB;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,mBAAmB;IACnB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IACnC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB;IAClB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqLD,eAAO,MAAM,aAAa,sFAAqC,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Alert 컴포넌트의 props
|
|
4
|
+
* @typedef {Object} AlertProps
|
|
5
|
+
* @property {"default" | "success" | "warning" | "error" | "info"} [variant="default"] - Alert 스타일 변형
|
|
6
|
+
* @property {string} [title] - Alert 제목
|
|
7
|
+
* @property {string} [description] - Alert 설명
|
|
8
|
+
* @property {React.ReactNode} [icon] - 커스텀 아이콘
|
|
9
|
+
* @property {React.ReactNode} [action] - 액션 버튼/요소
|
|
10
|
+
* @property {boolean} [closable=false] - 닫기 버튼 표시 여부
|
|
11
|
+
* @property {() => void} [onClose] - 닫기 버튼 클릭 시 호출되는 콜백
|
|
12
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
13
|
+
*/
|
|
2
14
|
export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
15
|
variant?: "default" | "success" | "warning" | "error" | "info";
|
|
4
16
|
title?: string;
|
|
@@ -8,6 +20,43 @@ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
8
20
|
closable?: boolean;
|
|
9
21
|
onClose?: () => void;
|
|
10
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Alert 컴포넌트 / Alert component
|
|
25
|
+
*
|
|
26
|
+
* 사용자에게 중요한 정보나 경고를 표시하는 컴포넌트입니다.
|
|
27
|
+
* 다양한 변형(variant)을 지원하며, 아이콘, 제목, 설명, 액션 버튼을 포함할 수 있습니다.
|
|
28
|
+
*
|
|
29
|
+
* Component for displaying important information or warnings to users.
|
|
30
|
+
* Supports various variants and can include icons, titles, descriptions, and action buttons.
|
|
31
|
+
*
|
|
32
|
+
* @component
|
|
33
|
+
* @example
|
|
34
|
+
* // 기본 사용 / Basic usage
|
|
35
|
+
* <Alert variant="info" title="정보" description="이것은 정보 메시지입니다." />
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // 닫기 버튼 포함 / With close button
|
|
39
|
+
* <Alert
|
|
40
|
+
* variant="warning"
|
|
41
|
+
* title="경고"
|
|
42
|
+
* closable
|
|
43
|
+
* onClose={() => console.log('닫기')}
|
|
44
|
+
* />
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // 커스텀 아이콘과 액션 / Custom icon and action
|
|
48
|
+
* <Alert
|
|
49
|
+
* variant="success"
|
|
50
|
+
* icon={<Icon name="check" />}
|
|
51
|
+
* action={<Button size="sm">확인</Button>}
|
|
52
|
+
* >
|
|
53
|
+
* 작업이 완료되었습니다.
|
|
54
|
+
* </Alert>
|
|
55
|
+
*
|
|
56
|
+
* @param {AlertProps} props - Alert 컴포넌트의 props / Alert component props
|
|
57
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
58
|
+
* @returns {JSX.Element} Alert 컴포넌트 / Alert component
|
|
59
|
+
*/
|
|
11
60
|
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
61
|
export declare const AlertSuccess: React.ForwardRefExoticComponent<Omit<AlertProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
62
|
export declare const AlertWarning: React.ForwardRefExoticComponent<Omit<AlertProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../src/components/Alert.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,QAAA,MAAM,KAAK,mFAuIV,CAAA;AAID,eAAO,MAAM,YAAY,oGAIxB,CAAA;AAGD,eAAO,MAAM,YAAY,oGAIxB,CAAA;AAGD,eAAO,MAAM,UAAU,oGAItB,CAAA;AAGD,eAAO,MAAM,SAAS,oGAIrB,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../src/components/Alert.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,KAAK,mFAuIV,CAAA;AAID,eAAO,MAAM,YAAY,oGAIxB,CAAA;AAGD,eAAO,MAAM,YAAY,oGAIxB,CAAA;AAGD,eAAO,MAAM,UAAU,oGAItB,CAAA;AAGD,eAAO,MAAM,SAAS,oGAIrB,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Autocomplete 옵션 인터페이스 / Autocomplete option interface
|
|
4
|
+
* @typedef {Object} AutocompleteOption
|
|
5
|
+
* @property {string} value - 옵션 값 / Option value
|
|
6
|
+
* @property {string} label - 옵션 라벨 / Option label
|
|
7
|
+
* @property {string} [description] - 옵션 설명 / Option description
|
|
8
|
+
* @property {React.ReactNode} [icon] - 옵션 아이콘 / Option icon
|
|
9
|
+
* @property {Record<string, unknown>} [data] - 추가 데이터 / Additional data
|
|
10
|
+
*/
|
|
11
|
+
export interface AutocompleteOption {
|
|
12
|
+
value: string;
|
|
13
|
+
label: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
icon?: React.ReactNode;
|
|
16
|
+
data?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Autocomplete 컴포넌트의 props / Autocomplete component props
|
|
20
|
+
* @typedef {Object} AutocompleteProps
|
|
21
|
+
* @property {AutocompleteOption[]} options - 옵션 목록 / Options list
|
|
22
|
+
* @property {string} [value] - 선택된 값 / Selected value
|
|
23
|
+
* @property {(value: string, option?: AutocompleteOption) => void} [onChange] - 값 변경 핸들러 / Value change handler
|
|
24
|
+
* @property {string} [placeholder="검색하거나 선택하세요"] - 플레이스홀더 / Placeholder
|
|
25
|
+
* @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
|
|
26
|
+
* @property {boolean} [error=false] - 에러 상태 / Error state
|
|
27
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
28
|
+
* @property {number} [maxHeight=300] - 드롭다운 최대 높이 (px) / Dropdown max height in px
|
|
29
|
+
* @property {boolean} [clearable=true] - 지우기 버튼 표시 / Show clear button
|
|
30
|
+
* @property {boolean} [filterable=true] - 필터링 활성화 / Enable filtering
|
|
31
|
+
* @property {(query: string) => AutocompleteOption[] | Promise<AutocompleteOption[]>} [onSearch] - 검색 핸들러 (비동기 지원) / Search handler (async support)
|
|
32
|
+
* @property {React.ReactNode} [emptyText="결과가 없습니다"] - 빈 결과 텍스트 / Empty result text
|
|
33
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
|
|
34
|
+
* @property {string} [className] - 추가 클래스명 / Additional class name
|
|
35
|
+
* @extends {Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>}
|
|
36
|
+
*/
|
|
37
|
+
export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
38
|
+
options: AutocompleteOption[];
|
|
39
|
+
value?: string;
|
|
40
|
+
onChange?: (value: string, option?: AutocompleteOption) => void;
|
|
41
|
+
placeholder?: string;
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
error?: boolean;
|
|
44
|
+
loading?: boolean;
|
|
45
|
+
maxHeight?: number;
|
|
46
|
+
clearable?: boolean;
|
|
47
|
+
filterable?: boolean;
|
|
48
|
+
onSearch?: (query: string) => AutocompleteOption[] | Promise<AutocompleteOption[]>;
|
|
49
|
+
emptyText?: string;
|
|
50
|
+
size?: "sm" | "md" | "lg";
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Autocomplete 컴포넌트 / Autocomplete component
|
|
55
|
+
*
|
|
56
|
+
* 자동완성 입력 컴포넌트입니다.
|
|
57
|
+
* 입력하면서 옵션을 필터링하고 선택할 수 있습니다.
|
|
58
|
+
*
|
|
59
|
+
* Autocomplete input component.
|
|
60
|
+
* Filters and selects options as you type.
|
|
61
|
+
*
|
|
62
|
+
* @component
|
|
63
|
+
* @example
|
|
64
|
+
* // 기본 사용 / Basic usage
|
|
65
|
+
* <Autocomplete
|
|
66
|
+
* options={[
|
|
67
|
+
* { value: "1", label: "옵션 1" },
|
|
68
|
+
* { value: "2", label: "옵션 2" }
|
|
69
|
+
* ]}
|
|
70
|
+
* onChange={(value) => console.log(value)}
|
|
71
|
+
* />
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* // 비동기 검색 / Async search
|
|
75
|
+
* <Autocomplete
|
|
76
|
+
* options={options}
|
|
77
|
+
* onSearch={async (query) => {
|
|
78
|
+
* const results = await searchAPI(query)
|
|
79
|
+
* return results
|
|
80
|
+
* }}
|
|
81
|
+
* loading={isLoading}
|
|
82
|
+
* />
|
|
83
|
+
*
|
|
84
|
+
* @param {AutocompleteProps} props - Autocomplete 컴포넌트의 props / Autocomplete component props
|
|
85
|
+
* @returns {JSX.Element} Autocomplete 컴포넌트 / Autocomplete component
|
|
86
|
+
*/
|
|
87
|
+
export declare const Autocomplete: React.ForwardRefExoticComponent<AutocompleteProps & React.RefAttributes<HTMLDivElement>>;
|
|
88
|
+
//# sourceMappingURL=Autocomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../src/components/Autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC/F,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,0FAqQxB,CAAA"}
|
|
@@ -1,13 +1,83 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Avatar 컴포넌트의 props / Avatar component props
|
|
4
|
+
* @typedef {Object} AvatarProps
|
|
5
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 아바타 크기 / Avatar size
|
|
6
|
+
* @property {"default" | "glass"} [variant="default"] - 아바타 스타일 변형 / Avatar style variant
|
|
7
|
+
* @property {string} [src] - 이미지 URL / Image URL
|
|
8
|
+
* @property {string} [alt] - 이미지 대체 텍스트 / Image alt text
|
|
9
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
10
|
+
*/
|
|
2
11
|
export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
12
|
size?: "sm" | "md" | "lg";
|
|
13
|
+
variant?: "default" | "glass";
|
|
14
|
+
src?: string;
|
|
15
|
+
alt?: string;
|
|
4
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* AvatarImage 컴포넌트의 props
|
|
19
|
+
* @typedef {Object} AvatarImageProps
|
|
20
|
+
* @extends {React.ImgHTMLAttributes<HTMLImageElement>}
|
|
21
|
+
*/
|
|
5
22
|
export interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
|
|
6
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* AvatarFallback 컴포넌트의 props
|
|
26
|
+
* @typedef {Object} AvatarFallbackProps
|
|
27
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
28
|
+
*/
|
|
7
29
|
export interface AvatarFallbackProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Avatar 컴포넌트 / Avatar component
|
|
33
|
+
*
|
|
34
|
+
* 사용자 프로필 이미지를 표시하는 컴포넌트입니다.
|
|
35
|
+
* 이미지가 없을 경우 대체 텍스트나 초기 문자를 표시합니다.
|
|
36
|
+
*
|
|
37
|
+
* Component for displaying user profile images.
|
|
38
|
+
* Shows fallback text or initials when image is not available.
|
|
39
|
+
*
|
|
40
|
+
* @component
|
|
41
|
+
* @example
|
|
42
|
+
* // 기본 사용 (이미지) / Basic usage (with image)
|
|
43
|
+
* <Avatar src="/user.jpg" alt="사용자" />
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // 대체 텍스트 / Fallback text
|
|
47
|
+
* <Avatar alt="홍길동">홍</Avatar>
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // Glass 스타일 / Glass style
|
|
51
|
+
* <Avatar variant="glass" size="lg" src="/user.jpg" alt="사용자" />
|
|
52
|
+
*
|
|
53
|
+
* @param {AvatarProps} props - Avatar 컴포넌트의 props / Avatar component props
|
|
54
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
55
|
+
* @returns {JSX.Element} Avatar 컴포넌트 / Avatar component
|
|
56
|
+
*/
|
|
9
57
|
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
58
|
+
/**
|
|
59
|
+
* AvatarImage 컴포넌트 / AvatarImage component
|
|
60
|
+
*
|
|
61
|
+
* 아바타 이미지를 표시하는 컴포넌트입니다.
|
|
62
|
+
* Displays the avatar image.
|
|
63
|
+
*
|
|
64
|
+
* @component
|
|
65
|
+
* @param {AvatarImageProps} props - AvatarImage 컴포넌트의 props / AvatarImage component props
|
|
66
|
+
* @param {React.Ref<HTMLImageElement>} ref - img 요소 ref / img element ref
|
|
67
|
+
* @returns {JSX.Element} AvatarImage 컴포넌트 / AvatarImage component
|
|
68
|
+
*/
|
|
10
69
|
declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
|
70
|
+
/**
|
|
71
|
+
* AvatarFallback 컴포넌트 / AvatarFallback component
|
|
72
|
+
*
|
|
73
|
+
* 아바타 이미지가 없을 때 표시되는 대체 컴포넌트입니다.
|
|
74
|
+
* Fallback component displayed when avatar image is not available.
|
|
75
|
+
*
|
|
76
|
+
* @component
|
|
77
|
+
* @param {AvatarFallbackProps} props - AvatarFallback 컴포넌트의 props / AvatarFallback component props
|
|
78
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
79
|
+
* @returns {JSX.Element} AvatarFallback 컴포넌트 / AvatarFallback component
|
|
80
|
+
*/
|
|
11
81
|
declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
82
|
export { Avatar, AvatarImage, AvatarFallback };
|
|
13
83
|
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/components/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/components/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;CAAG;AAEtF;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,MAAM,oFAkCX,CAAA;AAGD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW,2FAQhB,CAAA;AAGD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,cAAc,4FAWnB,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Badge 컴포넌트의 props / Badge component props
|
|
4
|
+
* @typedef {Object} BadgeProps
|
|
5
|
+
* @property {"default" | "secondary" | "destructive" | "error" | "outline" | "glass"} [variant="default"] - Badge 스타일 변형 / Badge style variant
|
|
6
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
7
|
+
*/
|
|
2
8
|
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
variant?: "default" | "secondary" | "destructive" | "outline";
|
|
9
|
+
variant?: "default" | "secondary" | "destructive" | "error" | "outline" | "glass";
|
|
4
10
|
}
|
|
5
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Badge 컴포넌트 / Badge component
|
|
13
|
+
*
|
|
14
|
+
* 상태나 카테고리를 표시하는 작은 배지 컴포넌트입니다.
|
|
15
|
+
* React.memo로 최적화되어 있어 불필요한 리렌더링을 방지합니다.
|
|
16
|
+
*
|
|
17
|
+
* Small badge component for displaying status or category.
|
|
18
|
+
* Optimized with React.memo to prevent unnecessary re-renders.
|
|
19
|
+
*
|
|
20
|
+
* @component
|
|
21
|
+
* @example
|
|
22
|
+
* // 기본 사용 / Basic usage
|
|
23
|
+
* <Badge>New</Badge>
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // 다양한 변형 / Various variants
|
|
27
|
+
* <Badge variant="destructive">완료</Badge>
|
|
28
|
+
* <Badge variant="error">오류</Badge>
|
|
29
|
+
* <Badge variant="outline">대기</Badge>
|
|
30
|
+
*
|
|
31
|
+
* @param {BadgeProps} props - Badge 컴포넌트의 props / Badge component props
|
|
32
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
33
|
+
* @returns {JSX.Element} Badge 컴포넌트 / Badge component
|
|
34
|
+
*/
|
|
35
|
+
declare const Badge: React.NamedExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
36
|
export { Badge };
|
|
7
37
|
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAA;CAClF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,KAAK,8EAuBT,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Bookmark 컴포넌트의 props / Bookmark component props
|
|
4
|
+
* @typedef {Object} BookmarkProps
|
|
5
|
+
* @property {string} id - 북마크 고유 ID / Bookmark unique ID
|
|
6
|
+
* @property {string} [storageKey='bookmarks'] - localStorage 키 / localStorage key
|
|
7
|
+
* @property {boolean} [defaultBookmarked=false] - 기본 북마크 상태 / Default bookmarked state
|
|
8
|
+
* @property {(bookmarked: boolean) => void} [onBookmarkChange] - 북마크 상태 변경 콜백 / Bookmark state change callback
|
|
9
|
+
* @property {'sm' | 'md' | 'lg'} [size='md'] - Bookmark 크기 / Bookmark size
|
|
10
|
+
* @property {'default' | 'filled' | 'outline'} [variant='default'] - Bookmark 스타일 변형 / Bookmark style variant
|
|
11
|
+
* @extends {React.HTMLAttributes<HTMLButtonElement>}
|
|
12
|
+
*/
|
|
13
|
+
export interface BookmarkProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
14
|
+
id: string;
|
|
15
|
+
storageKey?: string;
|
|
16
|
+
defaultBookmarked?: boolean;
|
|
17
|
+
onBookmarkChange?: (bookmarked: boolean) => void;
|
|
18
|
+
size?: 'sm' | 'md' | 'lg';
|
|
19
|
+
variant?: 'default' | 'filled' | 'outline';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Bookmark 컴포넌트 / Bookmark component
|
|
23
|
+
*
|
|
24
|
+
* 북마크 기능을 제공하는 버튼 컴포넌트입니다.
|
|
25
|
+
* localStorage에 북마크 상태를 저장하며, 여러 항목의 북마크를 관리할 수 있습니다.
|
|
26
|
+
*
|
|
27
|
+
* Button component that provides bookmark functionality.
|
|
28
|
+
* Saves bookmark state to localStorage and can manage bookmarks for multiple items.
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @example
|
|
32
|
+
* // 기본 사용 / Basic usage
|
|
33
|
+
* <Bookmark id="article-1" />
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // 상태 변경 감지 / State change detection
|
|
37
|
+
* <Bookmark
|
|
38
|
+
* id="article-1"
|
|
39
|
+
* onBookmarkChange={(bookmarked) => console.log(bookmarked)}
|
|
40
|
+
* variant="filled"
|
|
41
|
+
* />
|
|
42
|
+
*
|
|
43
|
+
* @param {BookmarkProps} props - Bookmark 컴포넌트의 props / Bookmark component props
|
|
44
|
+
* @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
|
|
45
|
+
* @returns {JSX.Element} Bookmark 컴포넌트 / Bookmark component
|
|
46
|
+
*/
|
|
47
|
+
declare const Bookmark: React.ForwardRefExoticComponent<BookmarkProps & React.RefAttributes<HTMLButtonElement>>;
|
|
48
|
+
export { Bookmark };
|
|
49
|
+
//# sourceMappingURL=Bookmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bookmark.d.ts","sourceRoot":"","sources":["../../src/components/Bookmark.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,QAAQ,yFAgFb,CAAA;AAID,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* BottomSheet 컴포넌트의 props / BottomSheet component props
|
|
4
|
+
* @typedef {Object} BottomSheetProps
|
|
5
|
+
* @property {boolean} open - BottomSheet 열림/닫힘 상태 / BottomSheet open/close state
|
|
6
|
+
* @property {(open: boolean) => void} onOpenChange - 상태 변경 콜백 / State change callback
|
|
7
|
+
* @property {React.ReactNode} children - BottomSheet 내용 / BottomSheet content
|
|
8
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
9
|
+
* @property {"sm" | "md" | "lg" | "xl" | "full"} [height="md"] - BottomSheet 높이 / BottomSheet height
|
|
10
|
+
* @property {boolean} [showBackdrop=true] - 배경 오버레이 표시 여부 / Show backdrop overlay
|
|
11
|
+
* @property {string} [backdropClassName] - 배경 오버레이 추가 CSS 클래스 / Backdrop overlay additional CSS class
|
|
12
|
+
* @property {boolean} [closeOnBackdropClick=true] - 배경 클릭 시 닫기 여부 / Close on backdrop click
|
|
13
|
+
* @property {boolean} [closeOnEscape=true] - ESC 키로 닫기 여부 / Close on ESC key
|
|
14
|
+
* @property {boolean} [showDragHandle=true] - 드래그 핸들 표시 여부 / Show drag handle
|
|
15
|
+
* @property {number[]} [snapPoints=[25, 50, 75, 100]] - 스냅 포인트 (퍼센트) / Snap points (percentage)
|
|
16
|
+
* @property {number} [defaultSnap=50] - 기본 스냅 포인트 (퍼센트) / Default snap point (percentage)
|
|
17
|
+
*/
|
|
2
18
|
interface BottomSheetProps {
|
|
3
19
|
open: boolean;
|
|
4
20
|
onOpenChange: (open: boolean) => void;
|
|
@@ -6,24 +22,98 @@ interface BottomSheetProps {
|
|
|
6
22
|
className?: string;
|
|
7
23
|
height?: "sm" | "md" | "lg" | "xl" | "full";
|
|
8
24
|
showBackdrop?: boolean;
|
|
25
|
+
backdropClassName?: string;
|
|
9
26
|
closeOnBackdropClick?: boolean;
|
|
10
27
|
closeOnEscape?: boolean;
|
|
11
28
|
showDragHandle?: boolean;
|
|
12
29
|
snapPoints?: number[];
|
|
13
30
|
defaultSnap?: number;
|
|
14
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* BottomSheet 컴포넌트 / BottomSheet component
|
|
34
|
+
*
|
|
35
|
+
* 화면 하단에서 올라오는 시트 컴포넌트입니다.
|
|
36
|
+
* 모바일 친화적인 UI를 제공하며, 드래그로 높이를 조절할 수 있습니다.
|
|
37
|
+
* 스냅 포인트를 지원하여 특정 높이에서 멈출 수 있습니다.
|
|
38
|
+
*
|
|
39
|
+
* Sheet component that slides up from the bottom of the screen.
|
|
40
|
+
* Provides mobile-friendly UI and allows height adjustment by dragging.
|
|
41
|
+
* Supports snap points to stop at specific heights.
|
|
42
|
+
*
|
|
43
|
+
* @component
|
|
44
|
+
* @example
|
|
45
|
+
* // 기본 사용 / Basic usage
|
|
46
|
+
* const [open, setOpen] = useState(false)
|
|
47
|
+
*
|
|
48
|
+
* <BottomSheet open={open} onOpenChange={setOpen}>
|
|
49
|
+
* <BottomSheetHeader>제목</BottomSheetHeader>
|
|
50
|
+
* <BottomSheetContent>내용</BottomSheetContent>
|
|
51
|
+
* </BottomSheet>
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // 커스텀 스냅 포인트 / Custom snap points
|
|
55
|
+
* <BottomSheet
|
|
56
|
+
* open={open}
|
|
57
|
+
* onOpenChange={setOpen}
|
|
58
|
+
* snapPoints={[30, 60, 90]}
|
|
59
|
+
* defaultSnap={30}
|
|
60
|
+
* >
|
|
61
|
+
* <BottomSheetContent>내용</BottomSheetContent>
|
|
62
|
+
* </BottomSheet>
|
|
63
|
+
*
|
|
64
|
+
* @param {BottomSheetProps} props - BottomSheet 컴포넌트의 props / BottomSheet component props
|
|
65
|
+
* @param {React.Ref<HTMLDivElement>} ref - BottomSheet 컨테이너 ref / BottomSheet container ref
|
|
66
|
+
* @returns {JSX.Element} BottomSheet 컴포넌트 / BottomSheet component
|
|
67
|
+
*
|
|
68
|
+
* @todo 접근성 개선: role="dialog", aria-modal="true" 추가 필요 / Accessibility: Add role="dialog", aria-modal="true"
|
|
69
|
+
* @todo 접근성 개선: aria-labelledby, aria-describedby 연결 필요 / Accessibility: Connect aria-labelledby, aria-describedby
|
|
70
|
+
*/
|
|
15
71
|
declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<HTMLDivElement>>;
|
|
72
|
+
/**
|
|
73
|
+
* BottomSheetHeader 컴포넌트의 props / BottomSheetHeader component props
|
|
74
|
+
* @typedef {Object} BottomSheetHeaderProps
|
|
75
|
+
* @property {React.ReactNode} children - 헤더 내용 / Header content
|
|
76
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
77
|
+
* @property {boolean} [showCloseButton=true] - 닫기 버튼 표시 여부 / Show close button
|
|
78
|
+
* @property {() => void} [onClose] - 닫기 버튼 클릭 콜백 / Close button click callback
|
|
79
|
+
*/
|
|
16
80
|
interface BottomSheetHeaderProps {
|
|
17
81
|
children: React.ReactNode;
|
|
18
82
|
className?: string;
|
|
19
83
|
showCloseButton?: boolean;
|
|
20
84
|
onClose?: () => void;
|
|
21
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* BottomSheetHeader 컴포넌트 / BottomSheetHeader component
|
|
88
|
+
* BottomSheet의 헤더 영역을 표시합니다.
|
|
89
|
+
* Displays the header area of a BottomSheet.
|
|
90
|
+
*
|
|
91
|
+
* @component
|
|
92
|
+
* @param {BottomSheetHeaderProps} props - BottomSheetHeader 컴포넌트의 props / BottomSheetHeader component props
|
|
93
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
94
|
+
* @returns {JSX.Element} BottomSheetHeader 컴포넌트 / BottomSheetHeader component
|
|
95
|
+
*/
|
|
22
96
|
declare const BottomSheetHeader: React.ForwardRefExoticComponent<BottomSheetHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
97
|
+
/**
|
|
98
|
+
* BottomSheetContent 컴포넌트의 props / BottomSheetContent component props
|
|
99
|
+
* @typedef {Object} BottomSheetContentProps
|
|
100
|
+
* @property {React.ReactNode} children - 콘텐츠 / Content
|
|
101
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
102
|
+
*/
|
|
23
103
|
interface BottomSheetContentProps {
|
|
24
104
|
children: React.ReactNode;
|
|
25
105
|
className?: string;
|
|
26
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* BottomSheetContent 컴포넌트 / BottomSheetContent component
|
|
109
|
+
* BottomSheet의 메인 콘텐츠 영역을 표시합니다.
|
|
110
|
+
* Displays the main content area of a BottomSheet.
|
|
111
|
+
*
|
|
112
|
+
* @component
|
|
113
|
+
* @param {BottomSheetContentProps} props - BottomSheetContent 컴포넌트의 props / BottomSheetContent component props
|
|
114
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
115
|
+
* @returns {JSX.Element} BottomSheetContent 컴포넌트 / BottomSheetContent component
|
|
116
|
+
*/
|
|
27
117
|
declare const BottomSheetContent: React.ForwardRefExoticComponent<BottomSheetContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
118
|
export { BottomSheet, BottomSheetHeader, BottomSheetContent };
|
|
29
119
|
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/components/BottomSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/components/BottomSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;;;;;GAeG;AACH,UAAU,gBAAgB;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,QAAA,MAAM,WAAW,yFA8IhB,CAAA;AAGD;;;;;;;GAOG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,iBAAiB,+FAoBtB,CAAA;AAGD;;;;;GAKG;AACH,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,kBAAkB,gGAYvB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,27 +1,86 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Breadcrumb 항목 타입 / Breadcrumb item type
|
|
4
|
+
*/
|
|
5
|
+
export interface BreadcrumbItemData {
|
|
3
6
|
label: string;
|
|
4
7
|
href?: string;
|
|
5
8
|
icon?: string;
|
|
6
|
-
onClick?: () => void;
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Breadcrumb 컴포넌트의 props / Breadcrumb component props
|
|
12
|
+
* @typedef {Object} BreadcrumbProps
|
|
13
|
+
* @property {React.ReactNode} [children] - BreadcrumbItem 컴포넌트들 / BreadcrumbItem components
|
|
14
|
+
* @property {BreadcrumbItemData[]} [items] - Breadcrumb 항목 배열 (children 대신 사용 가능) / Breadcrumb items array (alternative to children)
|
|
15
|
+
* @property {number} [maxItems] - 최대 표시할 항목 수 (긴 경로 처리) / Maximum number of items to display (for long paths)
|
|
16
|
+
* @property {boolean} [showHomeIcon] - 홈 아이콘 표시 여부 / Show home icon
|
|
17
|
+
* @property {string} [homeLabel] - 홈 라벨 (기본: "Home") / Home label (default: "Home")
|
|
18
|
+
* @property {React.ReactNode} [separator] - 항목 사이 구분자 (기본: chevronRight 아이콘) / Separator between items (default: chevronRight icon)
|
|
19
|
+
* @property {'default' | 'subtle' | 'transparent' | 'glass'} [variant='default'] - Breadcrumb 스타일 변형 / Breadcrumb style variant
|
|
20
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
21
|
+
*/
|
|
22
|
+
export interface BreadcrumbProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
items?: BreadcrumbItemData[];
|
|
12
25
|
maxItems?: number;
|
|
13
26
|
showHomeIcon?: boolean;
|
|
14
27
|
homeLabel?: string;
|
|
15
|
-
|
|
28
|
+
separator?: React.ReactNode;
|
|
29
|
+
variant?: 'default' | 'subtle' | 'transparent' | 'glass';
|
|
16
30
|
}
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
/**
|
|
32
|
+
* BreadcrumbItem 컴포넌트의 props / BreadcrumbItem component props
|
|
33
|
+
* @typedef {Object} BreadcrumbItemProps
|
|
34
|
+
* @property {string} [href] - 링크 URL (없으면 일반 텍스트) / Link URL (plain text if not provided)
|
|
35
|
+
* @property {boolean} [isCurrent=false] - 현재 페이지 여부 / Current page indicator
|
|
36
|
+
* @property {React.ReactNode} children - 항목 텍스트 / Item text
|
|
37
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
38
|
+
*/
|
|
39
|
+
export interface BreadcrumbItemProps {
|
|
40
|
+
href?: string;
|
|
41
|
+
isCurrent?: boolean;
|
|
19
42
|
children: React.ReactNode;
|
|
20
43
|
className?: string;
|
|
21
|
-
href?: string;
|
|
22
|
-
onClick?: () => void;
|
|
23
|
-
isActive?: boolean;
|
|
24
44
|
}
|
|
25
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Breadcrumb 컴포넌트 / Breadcrumb component
|
|
47
|
+
*
|
|
48
|
+
* 네비게이션 경로를 표시하는 breadcrumb 컴포넌트입니다.
|
|
49
|
+
* 현재 위치와 경로를 시각적으로 표현합니다.
|
|
50
|
+
*
|
|
51
|
+
* Breadcrumb component for displaying navigation paths.
|
|
52
|
+
* Visually represents current location and path.
|
|
53
|
+
*
|
|
54
|
+
* @component
|
|
55
|
+
* @example
|
|
56
|
+
* // 기본 사용 / Basic usage
|
|
57
|
+
* <Breadcrumb>
|
|
58
|
+
* <BreadcrumbItem href="/">홈</BreadcrumbItem>
|
|
59
|
+
* <BreadcrumbItem href="/products">상품</BreadcrumbItem>
|
|
60
|
+
* <BreadcrumbItem isCurrent>상세</BreadcrumbItem>
|
|
61
|
+
* </Breadcrumb>
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // 커스텀 구분자 / Custom separator
|
|
65
|
+
* <Breadcrumb separator={<span>/</span>}>
|
|
66
|
+
* <BreadcrumbItem href="/">홈</BreadcrumbItem>
|
|
67
|
+
* <BreadcrumbItem isCurrent>현재</BreadcrumbItem>
|
|
68
|
+
* </Breadcrumb>
|
|
69
|
+
*
|
|
70
|
+
* @param {BreadcrumbProps} props - Breadcrumb 컴포넌트의 props / Breadcrumb component props
|
|
71
|
+
* @param {React.Ref<HTMLDivElement>} ref - nav 요소 ref / nav element ref
|
|
72
|
+
* @returns {JSX.Element} Breadcrumb 컴포넌트 / Breadcrumb component
|
|
73
|
+
*/
|
|
74
|
+
declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
/**
|
|
76
|
+
* BreadcrumbItem 컴포넌트
|
|
77
|
+
* Breadcrumb의 개별 항목을 표시합니다.
|
|
78
|
+
*
|
|
79
|
+
* @component
|
|
80
|
+
* @param {BreadcrumbItemProps} props - BreadcrumbItem 컴포넌트의 props
|
|
81
|
+
* @param {React.Ref<HTMLLIElement>} ref - li 요소 ref
|
|
82
|
+
* @returns {JSX.Element} BreadcrumbItem 컴포넌트
|
|
83
|
+
*/
|
|
84
|
+
declare const BreadcrumbItem: React.ForwardRefExoticComponent<BreadcrumbItemProps & React.RefAttributes<HTMLLIElement>>;
|
|
26
85
|
export { Breadcrumb, BreadcrumbItem };
|
|
27
86
|
//# sourceMappingURL=Breadcrumb.d.ts.map
|