@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,34 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ChatMessage 컴포넌트의 props / ChatMessage component props
|
|
4
|
+
* @typedef {Object} ChatMessageProps
|
|
5
|
+
* @property {Object} message - 메시지 데이터 / Message data
|
|
6
|
+
* @property {string} message.id - 메시지 ID / Message ID
|
|
7
|
+
* @property {string} message.content - 메시지 내용 / Message content
|
|
8
|
+
* @property {"user" | "assistant" | "system"} message.role - 메시지 역할 / Message role
|
|
9
|
+
* @property {Date} message.timestamp - 메시지 타임스탬프 / Message timestamp
|
|
10
|
+
* @property {string} [message.emotion] - 감정 정보 / Emotion information
|
|
11
|
+
* @property {number} [message.intensity] - 감정 강도 / Emotion intensity
|
|
12
|
+
* @property {boolean} [message.isTyping] - 타이핑 중 여부 / Typing state
|
|
13
|
+
* @property {Object} [user] - 사용자 정보 / User information
|
|
14
|
+
* @property {string} [user.name="사용자"] - 사용자 이름 / User name
|
|
15
|
+
* @property {string} [user.avatar] - 사용자 아바타 URL / User avatar URL
|
|
16
|
+
* @property {string} [user.color="#3b82f6"] - 사용자 색상 / User color
|
|
17
|
+
* @property {Object} [assistant] - AI 어시스턴트 정보 / AI assistant information
|
|
18
|
+
* @property {string} [assistant.name="AI"] - AI 이름 / AI name
|
|
19
|
+
* @property {string} [assistant.avatar] - AI 아바타 URL / AI avatar URL
|
|
20
|
+
* @property {string} [assistant.color="#10b981"] - AI 색상 / AI color
|
|
21
|
+
* @property {boolean} [showAvatar=true] - 아바타 표시 여부 / Show avatar
|
|
22
|
+
* @property {boolean} [showTimestamp=true] - 타임스탬프 표시 여부 / Show timestamp
|
|
23
|
+
* @property {boolean} [showEmotion=true] - 감정 표시 여부 / Show emotion
|
|
24
|
+
* @property {"default" | "compact" | "bubble"} [variant="default"] - ChatMessage 스타일 변형 / ChatMessage style variant
|
|
25
|
+
* @property {Object} [theme] - 커스텀 테마 / Custom theme
|
|
26
|
+
* @property {string} [theme.userBubbleBg] - 사용자 버블 배경색 / User bubble background color
|
|
27
|
+
* @property {string} [theme.userBubbleText] - 사용자 버블 텍스트 색상 / User bubble text color
|
|
28
|
+
* @property {string} [theme.aiBubbleBg] - AI 버블 배경색 / AI bubble background color
|
|
29
|
+
* @property {string} [theme.aiBubbleText] - AI 버블 텍스트 색상 / AI bubble text color
|
|
30
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
31
|
+
*/
|
|
2
32
|
interface ChatMessageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
33
|
message: {
|
|
4
34
|
id: string;
|
|
@@ -30,6 +60,42 @@ interface ChatMessageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
30
60
|
aiBubbleText?: string;
|
|
31
61
|
};
|
|
32
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* ChatMessage 컴포넌트
|
|
65
|
+
*
|
|
66
|
+
* 채팅 메시지를 표시하는 컴포넌트입니다.
|
|
67
|
+
* 사용자, AI 어시스턴트, 시스템 메시지를 지원하며, 감정 정보를 표시할 수 있습니다.
|
|
68
|
+
*
|
|
69
|
+
* @component
|
|
70
|
+
* @example
|
|
71
|
+
* // 기본 사용
|
|
72
|
+
* <ChatMessage
|
|
73
|
+
* message={{
|
|
74
|
+
* id: "1",
|
|
75
|
+
* content: "안녕하세요!",
|
|
76
|
+
* role: "user",
|
|
77
|
+
* timestamp: new Date()
|
|
78
|
+
* }}
|
|
79
|
+
* />
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* // AI 메시지, 감정 정보 포함
|
|
83
|
+
* <ChatMessage
|
|
84
|
+
* message={{
|
|
85
|
+
* id: "2",
|
|
86
|
+
* content: "안녕하세요! 도와드릴까요?",
|
|
87
|
+
* role: "assistant",
|
|
88
|
+
* timestamp: new Date(),
|
|
89
|
+
* emotion: "joy",
|
|
90
|
+
* intensity: 0.8
|
|
91
|
+
* }}
|
|
92
|
+
* variant="bubble"
|
|
93
|
+
* />
|
|
94
|
+
*
|
|
95
|
+
* @param {ChatMessageProps} props - ChatMessage 컴포넌트의 props / ChatMessage component props
|
|
96
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
97
|
+
* @returns {JSX.Element} ChatMessage 컴포넌트 / ChatMessage component
|
|
98
|
+
*/
|
|
33
99
|
declare const ChatMessage: React.ForwardRefExoticComponent<ChatMessageProps & React.RefAttributes<HTMLDivElement>>;
|
|
34
100
|
export { ChatMessage };
|
|
35
101
|
//# sourceMappingURL=ChatMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/components/ChatMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/components/ChatMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,UAAU,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;QACrC,SAAS,EAAE,IAAI,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,WAAW,yFA2PhB,CAAA;AAID,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,12 +1,58 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Checkbox 컴포넌트의 props / Checkbox component props
|
|
4
|
+
* @typedef {Object} CheckboxProps
|
|
5
|
+
* @property {"default" | "outline" | "filled" | "glass"} [variant="default"] - Checkbox 스타일 변형 / Checkbox style variant
|
|
6
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - Checkbox 크기 / Checkbox size
|
|
7
|
+
* @property {boolean} [error=false] - 에러 상태 표시 / Error state
|
|
8
|
+
* @property {boolean} [success=false] - 성공 상태 표시 / Success state
|
|
9
|
+
* @property {string} [label] - 체크박스 레이블 텍스트 / Checkbox label text
|
|
10
|
+
* @property {string} [description] - 체크박스 설명 텍스트 / Checkbox description text
|
|
11
|
+
* @extends {Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>}
|
|
12
|
+
*/
|
|
2
13
|
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
|
-
variant?: "default" | "outline" | "filled";
|
|
14
|
+
variant?: "default" | "outline" | "filled" | "glass";
|
|
4
15
|
size?: "sm" | "md" | "lg";
|
|
5
16
|
error?: boolean;
|
|
6
17
|
success?: boolean;
|
|
7
18
|
label?: string;
|
|
8
19
|
description?: string;
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Checkbox 컴포넌트 / Checkbox component
|
|
23
|
+
*
|
|
24
|
+
* 체크박스 입력 필드를 제공하는 컴포넌트입니다.
|
|
25
|
+
* ARIA 속성을 자동으로 설정하여 접근성을 지원합니다.
|
|
26
|
+
*
|
|
27
|
+
* Checkbox input field component.
|
|
28
|
+
* Automatically sets ARIA attributes for accessibility support.
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @example
|
|
32
|
+
* // 기본 사용 / Basic usage
|
|
33
|
+
* <Checkbox label="이용약관에 동의합니다" />
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // 에러 상태와 설명 / Error state with description
|
|
37
|
+
* <Checkbox
|
|
38
|
+
* label="필수 항목"
|
|
39
|
+
* description="이 항목은 필수입니다"
|
|
40
|
+
* error
|
|
41
|
+
* />
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // 제어 컴포넌트 / Controlled component
|
|
45
|
+
* const [checked, setChecked] = useState(false)
|
|
46
|
+
* <Checkbox
|
|
47
|
+
* checked={checked}
|
|
48
|
+
* onChange={(e) => setChecked(e.target.checked)}
|
|
49
|
+
* label="동의"
|
|
50
|
+
* />
|
|
51
|
+
*
|
|
52
|
+
* @param {CheckboxProps} props - Checkbox 컴포넌트의 props / Checkbox component props
|
|
53
|
+
* @param {React.Ref<HTMLInputElement>} ref - input 요소 ref / input element ref
|
|
54
|
+
* @returns {JSX.Element} Checkbox 컴포넌트 / Checkbox component
|
|
55
|
+
*/
|
|
10
56
|
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
11
57
|
export { Checkbox };
|
|
12
58
|
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC9F,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,QAAQ,wFAsGb,CAAA;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Command 컴포넌트의 props / Command component props
|
|
4
|
+
* @typedef {Object} CommandProps
|
|
5
|
+
* @property {React.ReactNode} children - CommandList, CommandItem 등 / CommandList, CommandItem, etc.
|
|
6
|
+
* @property {boolean} [open] - 제어 모드에서 열림/닫힘 상태 / Open/close state in controlled mode
|
|
7
|
+
* @property {(open: boolean) => void} [onOpenChange] - 상태 변경 콜백 / State change callback
|
|
8
|
+
* @property {string} [placeholder="명령어를 검색하세요..."] - 검색 입력 플레이스홀더 / Search input placeholder
|
|
9
|
+
* @property {string} [searchValue] - 제어 모드에서 검색 값 / Search value in controlled mode
|
|
10
|
+
* @property {(value: string) => void} [onSearchChange] - 검색 값 변경 콜백 / Search value change callback
|
|
11
|
+
* @property {boolean} [disabled=false] - Command 비활성화 여부 / Disable command
|
|
12
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
13
|
+
*/
|
|
2
14
|
export interface CommandProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
15
|
children: React.ReactNode;
|
|
4
16
|
open?: boolean;
|
|
@@ -8,26 +20,95 @@ export interface CommandProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
8
20
|
onSearchChange?: (value: string) => void;
|
|
9
21
|
disabled?: boolean;
|
|
10
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Command 컴포넌트 / Command component
|
|
25
|
+
*
|
|
26
|
+
* 명령 팔레트(Command Palette) 컴포넌트입니다.
|
|
27
|
+
* Cmd+K (Mac) 또는 Ctrl+K (Windows)로 열 수 있습니다.
|
|
28
|
+
* 키보드 네비게이션(Arrow keys, Enter, Escape)을 지원합니다.
|
|
29
|
+
*
|
|
30
|
+
* Command Palette component.
|
|
31
|
+
* Can be opened with Cmd+K (Mac) or Ctrl+K (Windows).
|
|
32
|
+
* Supports keyboard navigation (Arrow keys, Enter, Escape).
|
|
33
|
+
*
|
|
34
|
+
* @component
|
|
35
|
+
* @example
|
|
36
|
+
* // 기본 사용 / Basic usage
|
|
37
|
+
* <Command>
|
|
38
|
+
* <CommandInput placeholder="검색..." />
|
|
39
|
+
* <CommandList>
|
|
40
|
+
* <CommandItem>항목 1</CommandItem>
|
|
41
|
+
* <CommandItem>항목 2</CommandItem>
|
|
42
|
+
* </CommandList>
|
|
43
|
+
* </Command>
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // 제어 모드 / Controlled mode
|
|
47
|
+
* const [open, setOpen] = useState(false)
|
|
48
|
+
* <Command
|
|
49
|
+
* open={open}
|
|
50
|
+
* onOpenChange={setOpen}
|
|
51
|
+
* >
|
|
52
|
+
* <CommandList>
|
|
53
|
+
* <CommandGroup heading="파일">
|
|
54
|
+
* <CommandItem>새 파일</CommandItem>
|
|
55
|
+
* </CommandGroup>
|
|
56
|
+
* </CommandList>
|
|
57
|
+
* </Command>
|
|
58
|
+
*
|
|
59
|
+
* @param {CommandProps} props - Command 컴포넌트의 props / Command component props
|
|
60
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
61
|
+
* @returns {JSX.Element} Command 컴포넌트 / Command component
|
|
62
|
+
*/
|
|
11
63
|
declare const Command: React.ForwardRefExoticComponent<CommandProps & React.RefAttributes<HTMLDivElement>>;
|
|
64
|
+
/**
|
|
65
|
+
* CommandInput 컴포넌트의 props / CommandInput component props
|
|
66
|
+
* @typedef {Object} CommandInputProps
|
|
67
|
+
* @extends {React.InputHTMLAttributes<HTMLInputElement>}
|
|
68
|
+
*/
|
|
12
69
|
export interface CommandInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
13
70
|
}
|
|
14
71
|
declare const CommandInput: React.ForwardRefExoticComponent<CommandInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
15
72
|
export interface CommandListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
16
73
|
}
|
|
17
74
|
declare const CommandList: React.ForwardRefExoticComponent<CommandListProps & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
/**
|
|
76
|
+
* CommandItem 컴포넌트의 props / CommandItem component props
|
|
77
|
+
* @typedef {Object} CommandItemProps
|
|
78
|
+
* @property {React.ReactNode} [icon] - 항목 아이콘 / Item icon
|
|
79
|
+
* @property {boolean} [selected=false] - 선택 상태 / Selected state
|
|
80
|
+
* @property {() => void} [onSelect] - 선택 시 콜백 / Selection callback
|
|
81
|
+
* @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}
|
|
82
|
+
*/
|
|
18
83
|
export interface CommandItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
19
84
|
icon?: React.ReactNode;
|
|
20
85
|
selected?: boolean;
|
|
21
86
|
onSelect?: () => void;
|
|
22
87
|
}
|
|
23
88
|
declare const CommandItem: React.ForwardRefExoticComponent<CommandItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
89
|
+
/**
|
|
90
|
+
* CommandGroup 컴포넌트의 props / CommandGroup component props
|
|
91
|
+
* @typedef {Object} CommandGroupProps
|
|
92
|
+
* @property {React.ReactNode} [heading] - 그룹 제목 / Group heading
|
|
93
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
94
|
+
*/
|
|
24
95
|
export interface CommandGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
25
96
|
heading?: React.ReactNode;
|
|
26
97
|
}
|
|
27
98
|
declare const CommandGroup: React.ForwardRefExoticComponent<CommandGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
99
|
+
/**
|
|
100
|
+
* CommandSeparator 컴포넌트의 props / CommandSeparator component props
|
|
101
|
+
* @typedef {Object} CommandSeparatorProps
|
|
102
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
103
|
+
*/
|
|
28
104
|
export interface CommandSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
29
105
|
}
|
|
30
106
|
declare const CommandSeparator: React.ForwardRefExoticComponent<CommandSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
107
|
+
/**
|
|
108
|
+
* CommandEmpty 컴포넌트의 props / CommandEmpty component props
|
|
109
|
+
* @typedef {Object} CommandEmptyProps
|
|
110
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
111
|
+
*/
|
|
31
112
|
export interface CommandEmptyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
32
113
|
}
|
|
33
114
|
declare const CommandEmpty: React.ForwardRefExoticComponent<CommandEmptyProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../src/components/Command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../src/components/Command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,QAAA,MAAM,OAAO,qFAyJZ,CAAA;AAGD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;CAAG;AAEzF,QAAA,MAAM,YAAY,4FAajB,CAAA;AAGD,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjF,QAAA,MAAM,WAAW,yFAQhB,CAAA;AAGD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,QAAA,MAAM,WAAW,4FAmChB,CAAA;AAGD;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,QAAA,MAAM,YAAY,0FAajB,CAAA;AAGD;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEtF,QAAA,MAAM,gBAAgB,8FAQrB,CAAA;AAGD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAElF,QAAA,MAAM,YAAY,0FAajB,CAAA;AAID,eAAO,MAAM,aAAa,qFAIzB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ComponentLayout 컴포넌트의 props / ComponentLayout component props
|
|
4
|
+
* @typedef {Object} ComponentLayoutProps
|
|
5
|
+
* @property {string} title - 페이지 제목 / Page title
|
|
6
|
+
* @property {string} description - 페이지 설명 / Page description
|
|
7
|
+
* @property {React.ReactNode} children - 페이지 내용 / Page content
|
|
8
|
+
* @property {Object} [prevPage] - 이전 페이지 정보 / Previous page information
|
|
9
|
+
* @property {string} prevPage.title - 이전 페이지 제목 / Previous page title
|
|
10
|
+
* @property {string} prevPage.href - 이전 페이지 링크 / Previous page link
|
|
11
|
+
* @property {Object} [nextPage] - 다음 페이지 정보 / Next page information
|
|
12
|
+
* @property {string} nextPage.title - 다음 페이지 제목 / Next page title
|
|
13
|
+
* @property {string} nextPage.href - 다음 페이지 링크 / Next page link
|
|
14
|
+
* @property {Array<Object>} [breadcrumbItems] - Breadcrumb 항목들 / Breadcrumb items
|
|
15
|
+
* @property {string} breadcrumbItems[].label - Breadcrumb 라벨 / Breadcrumb label
|
|
16
|
+
* @property {string} [breadcrumbItems[].href] - Breadcrumb 링크 / Breadcrumb link
|
|
17
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
18
|
+
*/
|
|
19
|
+
export interface ComponentLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
20
|
+
title: string;
|
|
21
|
+
description: string;
|
|
22
|
+
children: React.ReactNode;
|
|
23
|
+
prevPage?: {
|
|
24
|
+
title: string;
|
|
25
|
+
href: string;
|
|
26
|
+
};
|
|
27
|
+
nextPage?: {
|
|
28
|
+
title: string;
|
|
29
|
+
href: string;
|
|
30
|
+
};
|
|
31
|
+
breadcrumbItems?: Array<{
|
|
32
|
+
label: string;
|
|
33
|
+
href?: string;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ComponentLayout 컴포넌트 / ComponentLayout component
|
|
38
|
+
*
|
|
39
|
+
* 컴포넌트 문서 페이지 레이아웃을 제공하는 컴포넌트입니다.
|
|
40
|
+
* 제목, 설명, Breadcrumb, 이전/다음 페이지 네비게이션을 포함합니다.
|
|
41
|
+
*
|
|
42
|
+
* Component that provides layout for component documentation pages.
|
|
43
|
+
* Includes title, description, Breadcrumb, and previous/next page navigation.
|
|
44
|
+
*
|
|
45
|
+
* @component
|
|
46
|
+
* @example
|
|
47
|
+
* // 기본 사용 / Basic usage
|
|
48
|
+
* <ComponentLayout
|
|
49
|
+
* title="Button 컴포넌트"
|
|
50
|
+
* description="버튼 컴포넌트 사용법"
|
|
51
|
+
* >
|
|
52
|
+
* <Button>예제</Button>
|
|
53
|
+
* </ComponentLayout>
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // 이전/다음 페이지 네비게이션 포함 / With previous/next page navigation
|
|
57
|
+
* <ComponentLayout
|
|
58
|
+
* title="Input 컴포넌트"
|
|
59
|
+
* description="입력 컴포넌트 사용법"
|
|
60
|
+
* prevPage={{ title: "Button", href: "/components/button" }}
|
|
61
|
+
* nextPage={{ title: "Select", href: "/components/select" }}
|
|
62
|
+
* >
|
|
63
|
+
* <Input placeholder="입력하세요" />
|
|
64
|
+
* </ComponentLayout>
|
|
65
|
+
*
|
|
66
|
+
* @param {ComponentLayoutProps} props - ComponentLayout 컴포넌트의 props / ComponentLayout component props
|
|
67
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
68
|
+
* @returns {JSX.Element} ComponentLayout 컴포넌트 / ComponentLayout component
|
|
69
|
+
*/
|
|
70
|
+
declare const ComponentLayout: React.ForwardRefExoticComponent<ComponentLayoutProps & React.RefAttributes<HTMLDivElement>>;
|
|
71
|
+
export { ComponentLayout };
|
|
72
|
+
//# sourceMappingURL=ComponentLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentLayout.d.ts","sourceRoot":"","sources":["../../src/components/ComponentLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,eAAe,6FA4HpB,CAAA;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -1,4 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ConfirmModal 컴포넌트의 props / ConfirmModal component props
|
|
4
|
+
* @typedef {Object} ConfirmModalProps
|
|
5
|
+
* @property {boolean} isOpen - 모달 열림/닫힘 상태 / Modal open/close state
|
|
6
|
+
* @property {() => void} onClose - 닫기 콜백 / Close callback
|
|
7
|
+
* @property {() => void} onConfirm - 확인 콜백 / Confirm callback
|
|
8
|
+
* @property {string} title - 모달 제목 / Modal title
|
|
9
|
+
* @property {string} message - 모달 메시지 / Modal message
|
|
10
|
+
* @property {string} [warning] - 경고 메시지 / Warning message
|
|
11
|
+
* @property {string} [confirmText="확인"] - 확인 버튼 텍스트 / Confirm button text
|
|
12
|
+
* @property {string} [cancelText="취소"] - 취소 버튼 텍스트 / Cancel button text
|
|
13
|
+
* @property {string} [confirmButtonText] - 확인 버튼 커스텀 텍스트 / Custom confirm button text
|
|
14
|
+
* @property {"danger" | "warning" | "info" | "success" | "error"} [type="danger"] - 모달 타입 / Modal type
|
|
15
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
16
|
+
* @property {boolean} [disabled=false] - 비활성화 여부 / Disabled state
|
|
17
|
+
* @property {boolean} [showInput=false] - 입력 필드 표시 여부 / Show input field
|
|
18
|
+
* @property {string} [inputValue=""] - 입력 필드 값 / Input field value
|
|
19
|
+
* @property {(value: string) => void} [onInputChange] - 입력 값 변경 콜백 / Input value change callback
|
|
20
|
+
* @property {string} [inputPlaceholder] - 입력 필드 플레이스홀더 / Input field placeholder
|
|
21
|
+
* @property {string} [inputLabel] - 입력 필드 라벨 / Input field label
|
|
22
|
+
* @property {string} [requiredInputValue] - 필수 입력 값 (확인 버튼 활성화 조건) / Required input value (confirm button activation condition)
|
|
23
|
+
* @property {boolean} [showCancel=true] - 취소 버튼 표시 여부 / Show cancel button
|
|
24
|
+
* @property {"sm" | "md" | "lg" | "xl" | "2xl"} [size="md"] - 모달 크기 / Modal size
|
|
25
|
+
*/
|
|
2
26
|
export interface ConfirmModalProps {
|
|
3
27
|
isOpen: boolean;
|
|
4
28
|
onClose: () => void;
|
|
@@ -21,6 +45,47 @@ export interface ConfirmModalProps {
|
|
|
21
45
|
showCancel?: boolean;
|
|
22
46
|
size?: "sm" | "md" | "lg" | "xl" | "2xl";
|
|
23
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* ConfirmModal 컴포넌트 / ConfirmModal component
|
|
50
|
+
*
|
|
51
|
+
* 확인/취소가 필요한 모달 컴포넌트입니다.
|
|
52
|
+
* 다양한 타입(danger, warning, info, success, error)을 지원하며,
|
|
53
|
+
* 입력 필드와 필수 입력 값 검증을 지원합니다.
|
|
54
|
+
*
|
|
55
|
+
* Modal component that requires confirmation/cancellation.
|
|
56
|
+
* Supports various types (danger, warning, info, success, error),
|
|
57
|
+
* and supports input fields and required input value validation.
|
|
58
|
+
*
|
|
59
|
+
* @component
|
|
60
|
+
* @example
|
|
61
|
+
* // 기본 사용 / Basic usage
|
|
62
|
+
* <ConfirmModal
|
|
63
|
+
* isOpen={isOpen}
|
|
64
|
+
* onClose={() => setIsOpen(false)}
|
|
65
|
+
* onConfirm={handleConfirm}
|
|
66
|
+
* title="삭제 확인"
|
|
67
|
+
* message="정말 삭제하시겠습니까?"
|
|
68
|
+
* />
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // 입력 필드와 함께 / With input field
|
|
72
|
+
* <ConfirmModal
|
|
73
|
+
* isOpen={isOpen}
|
|
74
|
+
* onClose={() => setIsOpen(false)}
|
|
75
|
+
* onConfirm={handleDelete}
|
|
76
|
+
* title="삭제 확인"
|
|
77
|
+
* message="삭제하려면 'DELETE'를 입력하세요"
|
|
78
|
+
* showInput
|
|
79
|
+
* inputLabel="확인 입력"
|
|
80
|
+
* requiredInputValue="DELETE"
|
|
81
|
+
* inputValue={inputValue}
|
|
82
|
+
* onInputChange={setInputValue}
|
|
83
|
+
* />
|
|
84
|
+
*
|
|
85
|
+
* @param {ConfirmModalProps} props - ConfirmModal 컴포넌트의 props / ConfirmModal component props
|
|
86
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
87
|
+
* @returns {JSX.Element} ConfirmModal 컴포넌트 / ConfirmModal component
|
|
88
|
+
*/
|
|
24
89
|
declare const ConfirmModal: React.ForwardRefExoticComponent<ConfirmModalProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
90
|
export { ConfirmModal };
|
|
26
91
|
//# sourceMappingURL=ConfirmModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,QAAA,MAAM,YAAY,0FAiLjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1,10 +1,49 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Container 컴포넌트의 props
|
|
4
|
+
* @typedef {Object} ContainerProps
|
|
5
|
+
* @property {"sm" | "md" | "lg" | "xl" | "full"} [size="lg"] - 컨테이너 최대 너비
|
|
6
|
+
* @property {"none" | "sm" | "md" | "lg" | "xl"} [padding="md"] - 내부 패딩 크기
|
|
7
|
+
* @property {boolean} [centered=true] - 컨테이너를 중앙 정렬할지 여부
|
|
8
|
+
* @property {boolean} [fluid=false] - 최대 너비 제한 없이 전체 너비 사용
|
|
9
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
10
|
+
*/
|
|
2
11
|
export interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
12
|
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
4
13
|
padding?: "none" | "sm" | "md" | "lg" | "xl";
|
|
5
14
|
centered?: boolean;
|
|
6
15
|
fluid?: boolean;
|
|
7
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Container 컴포넌트
|
|
19
|
+
*
|
|
20
|
+
* 콘텐츠를 감싸는 컨테이너 컴포넌트입니다.
|
|
21
|
+
* 반응형 최대 너비와 패딩을 제공하여 일관된 레이아웃을 구성합니다.
|
|
22
|
+
*
|
|
23
|
+
* @component
|
|
24
|
+
* @example
|
|
25
|
+
* // 기본 사용
|
|
26
|
+
* <Container>
|
|
27
|
+
* <h1>제목</h1>
|
|
28
|
+
* <p>내용</p>
|
|
29
|
+
* </Container>
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // 작은 크기, 패딩 없음
|
|
33
|
+
* <Container size="sm" padding="none">
|
|
34
|
+
* <div>콘텐츠</div>
|
|
35
|
+
* </Container>
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // 전체 너비 사용
|
|
39
|
+
* <Container fluid padding="xl">
|
|
40
|
+
* <div>전체 너비 콘텐츠</div>
|
|
41
|
+
* </Container>
|
|
42
|
+
*
|
|
43
|
+
* @param {ContainerProps} props - Container 컴포넌트의 props
|
|
44
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref
|
|
45
|
+
* @returns {JSX.Element} Container 컴포넌트
|
|
46
|
+
*/
|
|
8
47
|
declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
48
|
export { Container };
|
|
10
49
|
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,QAAA,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,QAAA,MAAM,SAAS,uFAyCd,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ContextMenu 컴포넌트의 props / ContextMenu component props
|
|
4
|
+
* @typedef {Object} ContextMenuProps
|
|
5
|
+
* @property {React.ReactNode} children - ContextMenu 내용 / ContextMenu content
|
|
6
|
+
* @property {boolean} [open] - 제어 모드에서 열림/닫힘 상태 / Open/close state in controlled mode
|
|
7
|
+
* @property {(open: boolean) => void} [onOpenChange] - 상태 변경 콜백 / State change callback
|
|
8
|
+
* @property {React.ReactNode} [trigger] - ContextMenu를 열기 위한 트리거 요소 (우클릭 이벤트) / Trigger element to open context menu (right-click event)
|
|
9
|
+
* @property {"top" | "bottom" | "left" | "right"} [placement="bottom"] - ContextMenu 표시 위치 / ContextMenu display position
|
|
10
|
+
* @property {"start" | "center" | "end"} [align="start"] - ContextMenu 정렬 / ContextMenu alignment
|
|
11
|
+
* @property {number} [offset=8] - 트리거와 ContextMenu 사이 간격 (px) / Spacing between trigger and context menu (px)
|
|
12
|
+
* @property {boolean} [disabled=false] - ContextMenu 비활성화 여부 / Disable context menu
|
|
13
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
14
|
+
*/
|
|
2
15
|
export interface ContextMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
16
|
children: React.ReactNode;
|
|
4
17
|
open?: boolean;
|
|
@@ -9,6 +22,43 @@ export interface ContextMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
9
22
|
offset?: number;
|
|
10
23
|
disabled?: boolean;
|
|
11
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* ContextMenu 컴포넌트 / ContextMenu component
|
|
27
|
+
*
|
|
28
|
+
* 우클릭 시 표시되는 컨텍스트 메뉴 컴포넌트입니다.
|
|
29
|
+
* 트리거 요소에 우클릭 이벤트를 자동으로 연결합니다.
|
|
30
|
+
*
|
|
31
|
+
* Context menu component that appears on right-click.
|
|
32
|
+
* Automatically connects right-click events to the trigger element.
|
|
33
|
+
*
|
|
34
|
+
* @component
|
|
35
|
+
* @example
|
|
36
|
+
* // 기본 사용 / Basic usage
|
|
37
|
+
* <ContextMenu trigger={<div>우클릭하세요</div>}>
|
|
38
|
+
* <div className="p-2">
|
|
39
|
+
* <button>항목 1</button>
|
|
40
|
+
* <button>항목 2</button>
|
|
41
|
+
* </div>
|
|
42
|
+
* </ContextMenu>
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // 제어 모드 / Controlled mode
|
|
46
|
+
* const [open, setOpen] = useState(false)
|
|
47
|
+
* <ContextMenu
|
|
48
|
+
* open={open}
|
|
49
|
+
* onOpenChange={setOpen}
|
|
50
|
+
* trigger={<div>우클릭</div>}
|
|
51
|
+
* >
|
|
52
|
+
* <Menu>
|
|
53
|
+
* <MenuItem>복사</MenuItem>
|
|
54
|
+
* <MenuItem>삭제</MenuItem>
|
|
55
|
+
* </Menu>
|
|
56
|
+
* </ContextMenu>
|
|
57
|
+
*
|
|
58
|
+
* @param {ContextMenuProps} props - ContextMenu 컴포넌트의 props / ContextMenu component props
|
|
59
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
60
|
+
* @returns {JSX.Element} ContextMenu 컴포넌트 / ContextMenu component
|
|
61
|
+
*/
|
|
12
62
|
declare const ContextMenu: React.ForwardRefExoticComponent<ContextMenuProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
63
|
export interface ContextMenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
14
64
|
icon?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,WAAW,yFAmIhB,CAAA;AAGD,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CACjD;AAED,QAAA,MAAM,eAAe,gGAwCpB,CAAA;AAGD,MAAM,WAAW,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAE1F,QAAA,MAAM,oBAAoB,kGAQzB,CAAA;AAGD,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEtF,QAAA,MAAM,gBAAgB,8FAUrB,CAAA;AAID,QAAA,MAAM,gBAAgB,6GAUrB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* DatePicker 컴포넌트의 props / DatePicker component props
|
|
4
|
+
* @typedef {Object} DatePickerProps
|
|
5
|
+
* @property {Date | null} [value] - 선택된 날짜 / Selected date
|
|
6
|
+
* @property {(date: Date | null) => void} [onChange] - 날짜 변경 핸들러 / Date change handler
|
|
7
|
+
* @property {Date} [minDate] - 최소 날짜 / Minimum date
|
|
8
|
+
* @property {Date} [maxDate] - 최대 날짜 / Maximum date
|
|
9
|
+
* @property {string} [placeholder="날짜를 선택하세요"] - 플레이스홀더 / Placeholder
|
|
10
|
+
* @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
|
|
11
|
+
* @property {boolean} [error=false] - 에러 상태 / Error state
|
|
12
|
+
* @property {string} [dateFormat="YYYY-MM-DD"] - 날짜 포맷 / Date format
|
|
13
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
14
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
|
|
15
|
+
* @property {string} [className] - 추가 클래스명 / Additional class name
|
|
16
|
+
* @extends {Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>}
|
|
17
|
+
*/
|
|
18
|
+
export interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
19
|
+
value?: Date | null;
|
|
20
|
+
onChange?: (date: Date | null) => void;
|
|
21
|
+
minDate?: Date;
|
|
22
|
+
maxDate?: Date;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
error?: boolean;
|
|
26
|
+
dateFormat?: string;
|
|
27
|
+
locale?: string;
|
|
28
|
+
size?: "sm" | "md" | "lg";
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* DatePicker 컴포넌트 / DatePicker component
|
|
33
|
+
*
|
|
34
|
+
* 날짜를 선택할 수 있는 컴포넌트입니다.
|
|
35
|
+
* 캘린더 팝오버를 통해 직관적으로 날짜를 선택할 수 있습니다.
|
|
36
|
+
*
|
|
37
|
+
* Component for selecting dates.
|
|
38
|
+
* Allows intuitive date selection through a calendar popover.
|
|
39
|
+
*
|
|
40
|
+
* @component
|
|
41
|
+
* @example
|
|
42
|
+
* // 기본 사용 / Basic usage
|
|
43
|
+
* <DatePicker
|
|
44
|
+
* value={selectedDate}
|
|
45
|
+
* onChange={setSelectedDate}
|
|
46
|
+
* />
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // 날짜 범위 제한 / Date range restriction
|
|
50
|
+
* <DatePicker
|
|
51
|
+
* value={date}
|
|
52
|
+
* onChange={setDate}
|
|
53
|
+
* minDate={new Date("2024-01-01")}
|
|
54
|
+
* maxDate={new Date("2024-12-31")}
|
|
55
|
+
* placeholder="날짜 선택"
|
|
56
|
+
* />
|
|
57
|
+
*
|
|
58
|
+
* @param {DatePickerProps} props - DatePicker 컴포넌트의 props / DatePicker component props
|
|
59
|
+
* @returns {JSX.Element} DatePicker 컴포넌트 / DatePicker component
|
|
60
|
+
*/
|
|
61
|
+
export declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLDivElement>>;
|
|
62
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,UAAU,wFAuOtB,CAAA"}
|