@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,734 @@
|
|
|
1
|
+
import { C as Color } from './dashboard-QMssHf5j.mjs';
|
|
2
|
+
export { A as ActivityFeed, i as ActivityFeedProps, j as ActivityItem, x as DashboardEmptyState, y as DashboardEmptyStateProps, D as DashboardGrid, h as DashboardGridProps, z as DashboardSidebar, B as DashboardSidebarProps, L as DashboardToolbar, O as DashboardToolbarProps, V as DatePreset, U as DateRangeConfig, a2 as FeeBreakdown, l as MembershipBadge, m as MembershipBadgeProps, M as MembershipTier, ae as MerchantHealth, ab as MerchantList, ad as MerchantListItem, ac as MerchantListProps, t as MetricCard, u as MetricCardProps, n as MiniBarChart, o as MiniBarChartProps, N as NotificationCard, r as NotificationCardProps, s as NotificationItem, P as ProfileCard, k as ProfileCardProps, v as ProgressCard, w as ProgressCardProps, Q as QuickActionCard, g as QuickActionCardProps, a8 as RoutingBreakdownCard, a9 as RoutingBreakdownCardProps, aa as RoutingBreakdownSegment, c as SectionHeader, d as SectionHeaderProps, a1 as SettlementInfo, a4 as SettlementTimeline, a6 as SettlementTimelineItem, a5 as SettlementTimelineProps, a7 as SettlementTimelineStatus, E as SidebarNavItem, F as SidebarSection, e as StatCard, f as StatCardProps, S as StatsPanel, b as StatsPanelItem, a as StatsPanelProps, p as SummaryCard, q as SummaryCardProps, R as ToolbarAction, I as TransactionColumnConfig, J as TransactionColumnKey, $ as TransactionDetail, Z as TransactionDetailDrawer, _ as TransactionDetailDrawerProps, a3 as TransactionEvent, a0 as TransactionMetadataItem, H as TransactionRow, K as TransactionStatus, T as TransactionsTable, G as TransactionsTableProps, W as TrendChart, X as TrendChartProps, Y as TrendSeries } from './dashboard-QMssHf5j.mjs';
|
|
3
|
+
export { AdvancedPageTransition, AdvancedPageTransitionProps, CubePageTransition, FadePageTransition, FlipPageTransition, MorphPageTransition, ScalePageTransition, SlidePageTransition, TransitionEasing, TransitionType, ZoomPageTransition, usePageTransition, usePageTransitionManager } from './advanced-motion.mjs';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
export { C as ComponentLayout } from './ComponentLayout-BxCenSAm.mjs';
|
|
6
|
+
import { I as IconName } from './icons-DoSGIez_.mjs';
|
|
7
|
+
import 'lucide-react';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Bookmark 컴포넌트의 props / Bookmark component props
|
|
11
|
+
* @typedef {Object} BookmarkProps
|
|
12
|
+
* @property {string} id - 북마크 고유 ID / Bookmark unique ID
|
|
13
|
+
* @property {string} [storageKey='bookmarks'] - localStorage 키 / localStorage key
|
|
14
|
+
* @property {boolean} [defaultBookmarked=false] - 기본 북마크 상태 / Default bookmarked state
|
|
15
|
+
* @property {(bookmarked: boolean) => void} [onBookmarkChange] - 북마크 상태 변경 콜백 / Bookmark state change callback
|
|
16
|
+
* @property {'sm' | 'md' | 'lg'} [size='md'] - Bookmark 크기 / Bookmark size
|
|
17
|
+
* @property {'default' | 'filled' | 'outline'} [variant='default'] - Bookmark 스타일 변형 / Bookmark style variant
|
|
18
|
+
* @extends {React.HTMLAttributes<HTMLButtonElement>}
|
|
19
|
+
*/
|
|
20
|
+
interface BookmarkProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
21
|
+
id: string;
|
|
22
|
+
storageKey?: string;
|
|
23
|
+
defaultBookmarked?: boolean;
|
|
24
|
+
onBookmarkChange?: (bookmarked: boolean) => void;
|
|
25
|
+
size?: 'sm' | 'md' | 'lg';
|
|
26
|
+
variant?: 'default' | 'filled' | 'outline';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Bookmark 컴포넌트 / Bookmark component
|
|
30
|
+
*
|
|
31
|
+
* 북마크 기능을 제공하는 버튼 컴포넌트입니다.
|
|
32
|
+
* localStorage에 북마크 상태를 저장하며, 여러 항목의 북마크를 관리할 수 있습니다.
|
|
33
|
+
*
|
|
34
|
+
* Button component that provides bookmark functionality.
|
|
35
|
+
* Saves bookmark state to localStorage and can manage bookmarks for multiple items.
|
|
36
|
+
*
|
|
37
|
+
* @component
|
|
38
|
+
* @example
|
|
39
|
+
* // 기본 사용 / Basic usage
|
|
40
|
+
* <Bookmark id="article-1" />
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* // 상태 변경 감지 / State change detection
|
|
44
|
+
* <Bookmark
|
|
45
|
+
* id="article-1"
|
|
46
|
+
* onBookmarkChange={(bookmarked) => console.log(bookmarked)}
|
|
47
|
+
* variant="filled"
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
50
|
+
* @param {BookmarkProps} props - Bookmark 컴포넌트의 props / Bookmark component props
|
|
51
|
+
* @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
|
|
52
|
+
* @returns {JSX.Element} Bookmark 컴포넌트 / Bookmark component
|
|
53
|
+
*/
|
|
54
|
+
declare const Bookmark: React.ForwardRefExoticComponent<BookmarkProps & React.RefAttributes<HTMLButtonElement>>;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* ChatMessage 컴포넌트의 props / ChatMessage component props
|
|
58
|
+
* @typedef {Object} ChatMessageProps
|
|
59
|
+
* @property {Object} message - 메시지 데이터 / Message data
|
|
60
|
+
* @property {string} message.id - 메시지 ID / Message ID
|
|
61
|
+
* @property {string} message.content - 메시지 내용 / Message content
|
|
62
|
+
* @property {"user" | "assistant" | "system"} message.role - 메시지 역할 / Message role
|
|
63
|
+
* @property {Date} message.timestamp - 메시지 타임스탬프 / Message timestamp
|
|
64
|
+
* @property {string} [message.emotion] - 감정 정보 / Emotion information
|
|
65
|
+
* @property {number} [message.intensity] - 감정 강도 / Emotion intensity
|
|
66
|
+
* @property {boolean} [message.isTyping] - 타이핑 중 여부 / Typing state
|
|
67
|
+
* @property {Object} [user] - 사용자 정보 / User information
|
|
68
|
+
* @property {string} [user.name="사용자"] - 사용자 이름 / User name
|
|
69
|
+
* @property {string} [user.avatar] - 사용자 아바타 URL / User avatar URL
|
|
70
|
+
* @property {string} [user.color="#3b82f6"] - 사용자 색상 / User color
|
|
71
|
+
* @property {Object} [assistant] - AI 어시스턴트 정보 / AI assistant information
|
|
72
|
+
* @property {string} [assistant.name="AI"] - AI 이름 / AI name
|
|
73
|
+
* @property {string} [assistant.avatar] - AI 아바타 URL / AI avatar URL
|
|
74
|
+
* @property {string} [assistant.color="#10b981"] - AI 색상 / AI color
|
|
75
|
+
* @property {boolean} [showAvatar=true] - 아바타 표시 여부 / Show avatar
|
|
76
|
+
* @property {boolean} [showTimestamp=true] - 타임스탬프 표시 여부 / Show timestamp
|
|
77
|
+
* @property {boolean} [showEmotion=true] - 감정 표시 여부 / Show emotion
|
|
78
|
+
* @property {"default" | "compact" | "bubble"} [variant="default"] - ChatMessage 스타일 변형 / ChatMessage style variant
|
|
79
|
+
* @property {Object} [theme] - 커스텀 테마 / Custom theme
|
|
80
|
+
* @property {string} [theme.userBubbleBg] - 사용자 버블 배경색 / User bubble background color
|
|
81
|
+
* @property {string} [theme.userBubbleText] - 사용자 버블 텍스트 색상 / User bubble text color
|
|
82
|
+
* @property {string} [theme.aiBubbleBg] - AI 버블 배경색 / AI bubble background color
|
|
83
|
+
* @property {string} [theme.aiBubbleText] - AI 버블 텍스트 색상 / AI bubble text color
|
|
84
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
85
|
+
*/
|
|
86
|
+
interface ChatMessageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
87
|
+
message: {
|
|
88
|
+
id: string;
|
|
89
|
+
content: string;
|
|
90
|
+
role: "user" | "assistant" | "system";
|
|
91
|
+
timestamp: Date;
|
|
92
|
+
emotion?: string;
|
|
93
|
+
intensity?: number;
|
|
94
|
+
isTyping?: boolean;
|
|
95
|
+
};
|
|
96
|
+
user?: {
|
|
97
|
+
name?: string;
|
|
98
|
+
avatar?: string;
|
|
99
|
+
color?: string;
|
|
100
|
+
};
|
|
101
|
+
assistant?: {
|
|
102
|
+
name?: string;
|
|
103
|
+
avatar?: string;
|
|
104
|
+
color?: string;
|
|
105
|
+
};
|
|
106
|
+
showAvatar?: boolean;
|
|
107
|
+
showTimestamp?: boolean;
|
|
108
|
+
showEmotion?: boolean;
|
|
109
|
+
variant?: "default" | "compact" | "bubble";
|
|
110
|
+
theme?: {
|
|
111
|
+
userBubbleBg?: string;
|
|
112
|
+
userBubbleText?: string;
|
|
113
|
+
aiBubbleBg?: string;
|
|
114
|
+
aiBubbleText?: string;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* ChatMessage 컴포넌트
|
|
119
|
+
*
|
|
120
|
+
* 채팅 메시지를 표시하는 컴포넌트입니다.
|
|
121
|
+
* 사용자, AI 어시스턴트, 시스템 메시지를 지원하며, 감정 정보를 표시할 수 있습니다.
|
|
122
|
+
*
|
|
123
|
+
* @component
|
|
124
|
+
* @example
|
|
125
|
+
* // 기본 사용
|
|
126
|
+
* <ChatMessage
|
|
127
|
+
* message={{
|
|
128
|
+
* id: "1",
|
|
129
|
+
* content: "안녕하세요!",
|
|
130
|
+
* role: "user",
|
|
131
|
+
* timestamp: new Date()
|
|
132
|
+
* }}
|
|
133
|
+
* />
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* // AI 메시지, 감정 정보 포함
|
|
137
|
+
* <ChatMessage
|
|
138
|
+
* message={{
|
|
139
|
+
* id: "2",
|
|
140
|
+
* content: "안녕하세요! 도와드릴까요?",
|
|
141
|
+
* role: "assistant",
|
|
142
|
+
* timestamp: new Date(),
|
|
143
|
+
* emotion: "joy",
|
|
144
|
+
* intensity: 0.8
|
|
145
|
+
* }}
|
|
146
|
+
* variant="bubble"
|
|
147
|
+
* />
|
|
148
|
+
*
|
|
149
|
+
* @param {ChatMessageProps} props - ChatMessage 컴포넌트의 props / ChatMessage component props
|
|
150
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
151
|
+
* @returns {JSX.Element} ChatMessage 컴포넌트 / ChatMessage component
|
|
152
|
+
*/
|
|
153
|
+
declare const ChatMessage: React.ForwardRefExoticComponent<ChatMessageProps & React.RefAttributes<HTMLDivElement>>;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* EmotionAnalysis 컴포넌트의 props / EmotionAnalysis component props
|
|
157
|
+
* @typedef {Object} EmotionAnalysisProps
|
|
158
|
+
* @property {Object} [primaryEmotion] - 주요 감정 정보 / Primary emotion information
|
|
159
|
+
* @property {string} primaryEmotion.name - 감정 이름 / Emotion name
|
|
160
|
+
* @property {number} primaryEmotion.intensity - 감정 강도 (0-100) / Emotion intensity (0-100)
|
|
161
|
+
* @property {string} [primaryEmotion.color] - 감정 색상 / Emotion color
|
|
162
|
+
* @property {Array<Object>} [emotionDistribution] - 감정 분포 배열 / Emotion distribution array
|
|
163
|
+
* @property {string} emotionDistribution[].emotion - 감정 이름 / Emotion name
|
|
164
|
+
* @property {number} emotionDistribution[].percentage - 감정 비율 (0-100) / Emotion percentage (0-100)
|
|
165
|
+
* @property {string} emotionDistribution[].color - 감정 색상 / Emotion color
|
|
166
|
+
* @property {string[]} [keywords] - 키워드 배열 / Keywords array
|
|
167
|
+
* @property {number} [intensity=50] - 전체 강도 (0-100) / Overall intensity (0-100)
|
|
168
|
+
* @property {number} [positivity=70] - 긍정성 (0-100) / Positivity (0-100)
|
|
169
|
+
* @property {number} [energy=60] - 에너지 (0-100) / Energy (0-100)
|
|
170
|
+
* @property {boolean} [showMeter=true] - 강도 미터 표시 여부 / Show intensity meter
|
|
171
|
+
* @property {boolean} [showDistribution=true] - 분포 표시 여부 / Show distribution
|
|
172
|
+
* @property {boolean} [showKeywords=true] - 키워드 표시 여부 / Show keywords
|
|
173
|
+
* @property {boolean} [showMetrics=true] - 메트릭 표시 여부 / Show metrics
|
|
174
|
+
* @property {"compact" | "detailed" | "card"} [layout="detailed"] - 레이아웃 타입 / Layout type
|
|
175
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
176
|
+
*/
|
|
177
|
+
interface EmotionAnalysisProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
178
|
+
primaryEmotion?: {
|
|
179
|
+
name: string;
|
|
180
|
+
intensity: number;
|
|
181
|
+
color?: string;
|
|
182
|
+
};
|
|
183
|
+
emotionDistribution?: Array<{
|
|
184
|
+
emotion: string;
|
|
185
|
+
percentage: number;
|
|
186
|
+
color: string;
|
|
187
|
+
}>;
|
|
188
|
+
keywords?: string[];
|
|
189
|
+
intensity?: number;
|
|
190
|
+
positivity?: number;
|
|
191
|
+
energy?: number;
|
|
192
|
+
showMeter?: boolean;
|
|
193
|
+
showDistribution?: boolean;
|
|
194
|
+
showKeywords?: boolean;
|
|
195
|
+
showMetrics?: boolean;
|
|
196
|
+
layout?: "compact" | "detailed" | "card";
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* EmotionAnalysis 컴포넌트 / EmotionAnalysis component
|
|
200
|
+
*
|
|
201
|
+
* 감정 분석 결과를 표시하는 컴포넌트입니다.
|
|
202
|
+
* 주요 감정, 감정 분포, 키워드, 메트릭(강도, 긍정성, 에너지)을 표시할 수 있습니다.
|
|
203
|
+
*
|
|
204
|
+
* Component that displays emotion analysis results.
|
|
205
|
+
* Can display primary emotion, emotion distribution, keywords, and metrics (intensity, positivity, energy).
|
|
206
|
+
*
|
|
207
|
+
* @component
|
|
208
|
+
* @example
|
|
209
|
+
* // 기본 사용 / Basic usage
|
|
210
|
+
* <EmotionAnalysis
|
|
211
|
+
* primaryEmotion={{ name: "기쁨", intensity: 80 }}
|
|
212
|
+
* keywords={["행복", "만족"]}
|
|
213
|
+
* />
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* // 상세 레이아웃 / Detailed layout
|
|
217
|
+
* <EmotionAnalysis
|
|
218
|
+
* primaryEmotion={{ name: "평온", intensity: 65, color: "green" }}
|
|
219
|
+
* emotionDistribution={[
|
|
220
|
+
* { emotion: "기쁨", percentage: 40, color: "yellow" },
|
|
221
|
+
* { emotion: "평온", percentage: 60, color: "green" }
|
|
222
|
+
* ]}
|
|
223
|
+
* keywords={["안정", "편안"]}
|
|
224
|
+
* intensity={65}
|
|
225
|
+
* positivity={75}
|
|
226
|
+
* energy={50}
|
|
227
|
+
* layout="detailed"
|
|
228
|
+
* />
|
|
229
|
+
*
|
|
230
|
+
* @param {EmotionAnalysisProps} props - EmotionAnalysis 컴포넌트의 props / EmotionAnalysis component props
|
|
231
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
232
|
+
* @returns {JSX.Element} EmotionAnalysis 컴포넌트 / EmotionAnalysis component
|
|
233
|
+
*/
|
|
234
|
+
declare const EmotionAnalysis: React.ForwardRefExoticComponent<EmotionAnalysisProps & React.RefAttributes<HTMLDivElement>>;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* EmotionButton 컴포넌트의 props / EmotionButton component props
|
|
238
|
+
* @typedef {Object} EmotionButtonProps
|
|
239
|
+
* @property {string} emotion - 감정 이모지 또는 텍스트 / Emotion emoji or text
|
|
240
|
+
* @property {boolean} [isSelected=false] - 선택 상태 / Selected state
|
|
241
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 버튼 크기 / Button size
|
|
242
|
+
* @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}
|
|
243
|
+
*/
|
|
244
|
+
interface EmotionButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
245
|
+
emotion: string;
|
|
246
|
+
isSelected?: boolean;
|
|
247
|
+
size?: "sm" | "md" | "lg";
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* EmotionButton 컴포넌트 / EmotionButton component
|
|
251
|
+
*
|
|
252
|
+
* 감정을 선택하는 버튼 컴포넌트입니다.
|
|
253
|
+
* 이모지나 텍스트로 감정을 표시하며, 선택 상태를 지원합니다.
|
|
254
|
+
*
|
|
255
|
+
* Button component for selecting emotions.
|
|
256
|
+
* Displays emotion as emoji or text and supports selected state.
|
|
257
|
+
*
|
|
258
|
+
* @component
|
|
259
|
+
* @example
|
|
260
|
+
* // 기본 사용 / Basic usage
|
|
261
|
+
* <EmotionButton emotion="😊" />
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* // 선택 상태 / Selected state
|
|
265
|
+
* <EmotionButton
|
|
266
|
+
* emotion="😊"
|
|
267
|
+
* isSelected
|
|
268
|
+
* size="lg"
|
|
269
|
+
* />
|
|
270
|
+
*
|
|
271
|
+
* @param {EmotionButtonProps} props - EmotionButton 컴포넌트의 props / EmotionButton component props
|
|
272
|
+
* @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
|
|
273
|
+
* @returns {JSX.Element} EmotionButton 컴포넌트 / EmotionButton component
|
|
274
|
+
*/
|
|
275
|
+
declare const EmotionButton: React.ForwardRefExoticComponent<EmotionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* EmotionMeter 컴포넌트의 props / EmotionMeter component props
|
|
279
|
+
* @typedef {Object} EmotionMeterProps
|
|
280
|
+
* @property {number} value - 감정 강도 값 (0-max) / Emotion intensity value (0-max)
|
|
281
|
+
* @property {number} [max=100] - 최대값 / Maximum value
|
|
282
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 미터 크기 / Meter size
|
|
283
|
+
* @property {"blue" | "green" | "yellow" | "red"} [color="blue"] - 미터 색상 / Meter color
|
|
284
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
285
|
+
*/
|
|
286
|
+
interface EmotionMeterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
287
|
+
value: number;
|
|
288
|
+
max?: number;
|
|
289
|
+
size?: "sm" | "md" | "lg";
|
|
290
|
+
color?: "blue" | "green" | "yellow" | "red" | Color;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* EmotionMeter 컴포넌트 / EmotionMeter component
|
|
294
|
+
*
|
|
295
|
+
* 감정 강도를 표시하는 미터 컴포넌트입니다.
|
|
296
|
+
* Progress 컴포넌트와 유사하지만 감정 분석에 특화되어 있습니다.
|
|
297
|
+
*
|
|
298
|
+
* Meter component that displays emotion intensity.
|
|
299
|
+
* Similar to Progress component but specialized for emotion analysis.
|
|
300
|
+
*
|
|
301
|
+
* @component
|
|
302
|
+
* @example
|
|
303
|
+
* // 기본 사용 / Basic usage
|
|
304
|
+
* <EmotionMeter value={75} />
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* // 다양한 색상 / Various colors
|
|
308
|
+
* <EmotionMeter
|
|
309
|
+
* value={80}
|
|
310
|
+
* color="green"
|
|
311
|
+
* size="lg"
|
|
312
|
+
* />
|
|
313
|
+
*
|
|
314
|
+
* @param {EmotionMeterProps} props - EmotionMeter 컴포넌트의 props / EmotionMeter component props
|
|
315
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
316
|
+
* @returns {JSX.Element} EmotionMeter 컴포넌트 / EmotionMeter component
|
|
317
|
+
*/
|
|
318
|
+
declare const EmotionMeter: React.ForwardRefExoticComponent<EmotionMeterProps & React.RefAttributes<HTMLDivElement>>;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* EmotionSelector 컴포넌트의 props / EmotionSelector component props
|
|
322
|
+
* @typedef {Object} EmotionSelectorProps
|
|
323
|
+
* @property {string} [selectedEmotion] - 선택된 감정 키 / Selected emotion key
|
|
324
|
+
* @property {(emotion: string) => void} [onEmotionSelect] - 감정 선택 콜백 / Emotion selection callback
|
|
325
|
+
* @property {"grid" | "list" | "compact"} [layout="grid"] - 레이아웃 타입 / Layout type
|
|
326
|
+
* @property {boolean} [showIntensity=false] - 강도 조절 표시 여부 / Show intensity control
|
|
327
|
+
* @property {number} [intensity=50] - 감정 강도 (0-100) / Emotion intensity (0-100)
|
|
328
|
+
* @property {(intensity: number) => void} [onIntensityChange] - 강도 변경 콜백 / Intensity change callback
|
|
329
|
+
* @property {Array<Object>} [emotions] - 감정 목록 / Emotions list
|
|
330
|
+
* @property {string} emotions[].key - 감정 키 / Emotion key
|
|
331
|
+
* @property {string} emotions[].label - 감정 라벨 / Emotion label
|
|
332
|
+
* @property {string} [emotions[].icon] - 감정 아이콘 / Emotion icon
|
|
333
|
+
* @property {string} [emotions[].color] - 감정 색상 / Emotion color
|
|
334
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 감정 버튼 크기 / Emotion button size
|
|
335
|
+
* @property {"button" | "card" | "chip"} [variant="button"] - 감정 표시 스타일 / Emotion display style
|
|
336
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
337
|
+
*/
|
|
338
|
+
interface EmotionSelectorProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
339
|
+
selectedEmotion?: string;
|
|
340
|
+
onEmotionSelect?: (emotion: string) => void;
|
|
341
|
+
layout?: "grid" | "list" | "compact";
|
|
342
|
+
showIntensity?: boolean;
|
|
343
|
+
intensity?: number;
|
|
344
|
+
onIntensityChange?: (intensity: number) => void;
|
|
345
|
+
emotions?: Array<{
|
|
346
|
+
key: string;
|
|
347
|
+
label: string;
|
|
348
|
+
icon?: string;
|
|
349
|
+
color?: string;
|
|
350
|
+
}>;
|
|
351
|
+
size?: "sm" | "md" | "lg";
|
|
352
|
+
variant?: "button" | "card" | "chip";
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* EmotionSelector 컴포넌트 / EmotionSelector component
|
|
356
|
+
*
|
|
357
|
+
* 감정을 선택하는 컴포넌트입니다.
|
|
358
|
+
* 여러 감정 옵션을 제공하며, 강도 조절 기능을 포함할 수 있습니다.
|
|
359
|
+
*
|
|
360
|
+
* Component for selecting emotions.
|
|
361
|
+
* Provides multiple emotion options and can include intensity control.
|
|
362
|
+
*
|
|
363
|
+
* @component
|
|
364
|
+
* @example
|
|
365
|
+
* // 기본 사용 / Basic usage
|
|
366
|
+
* <EmotionSelector
|
|
367
|
+
* selectedEmotion="joy"
|
|
368
|
+
* onEmotionSelect={(emotion) => console.log(emotion)}
|
|
369
|
+
* />
|
|
370
|
+
*
|
|
371
|
+
* @example
|
|
372
|
+
* // 강도 조절 포함 / With intensity control
|
|
373
|
+
* <EmotionSelector
|
|
374
|
+
* selectedEmotion="calm"
|
|
375
|
+
* onEmotionSelect={handleEmotionSelect}
|
|
376
|
+
* showIntensity
|
|
377
|
+
* intensity={intensity}
|
|
378
|
+
* onIntensityChange={setIntensity}
|
|
379
|
+
* variant="card"
|
|
380
|
+
* />
|
|
381
|
+
*
|
|
382
|
+
* @param {EmotionSelectorProps} props - EmotionSelector 컴포넌트의 props / EmotionSelector component props
|
|
383
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
384
|
+
* @returns {JSX.Element} EmotionSelector 컴포넌트 / EmotionSelector component
|
|
385
|
+
*/
|
|
386
|
+
declare const EmotionSelector: React.ForwardRefExoticComponent<EmotionSelectorProps & React.RefAttributes<HTMLDivElement>>;
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* LanguageToggle 컴포넌트의 props / LanguageToggle component props
|
|
390
|
+
* @typedef {Object} LanguageToggleProps
|
|
391
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
392
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - Toggle 크기 / Toggle size
|
|
393
|
+
* @property {"button" | "icon" | "dropdown"} [variant="button"] - Toggle 스타일 변형 / Toggle style variant
|
|
394
|
+
* @property {boolean} [showLabel=false] - 라벨 표시 여부 / Show label
|
|
395
|
+
* @property {Array<Object>} [languages] - 언어 목록 / Language list
|
|
396
|
+
* @property {string} languages[].code - 언어 코드 / Language code
|
|
397
|
+
* @property {string} languages[].name - 언어 이름 / Language name
|
|
398
|
+
* @property {string} [languages[].flag] - 언어 플래그 이모지 / Language flag emoji
|
|
399
|
+
* @property {string} [currentLanguage="ko"] - 현재 선택된 언어 코드 / Currently selected language code
|
|
400
|
+
* @property {(language: string) => void} [onLanguageChange] - 언어 변경 콜백 / Language change callback
|
|
401
|
+
*/
|
|
402
|
+
interface LanguageToggleProps {
|
|
403
|
+
className?: string;
|
|
404
|
+
size?: "sm" | "md" | "lg";
|
|
405
|
+
variant?: "button" | "icon" | "dropdown";
|
|
406
|
+
showLabel?: boolean;
|
|
407
|
+
languages?: Array<{
|
|
408
|
+
code: string;
|
|
409
|
+
name: string;
|
|
410
|
+
flag?: string;
|
|
411
|
+
}>;
|
|
412
|
+
currentLanguage?: string;
|
|
413
|
+
onLanguageChange?: (language: string) => void;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* LanguageToggle 컴포넌트 / LanguageToggle component
|
|
417
|
+
*
|
|
418
|
+
* 언어를 전환하는 토글 컴포넌트입니다.
|
|
419
|
+
* 여러 언어를 지원하며, 버튼, 아이콘, 드롭다운 형태로 표시할 수 있습니다.
|
|
420
|
+
*
|
|
421
|
+
* Toggle component for switching languages.
|
|
422
|
+
* Supports multiple languages and can be displayed as button, icon, or dropdown.
|
|
423
|
+
*
|
|
424
|
+
* @component
|
|
425
|
+
* @example
|
|
426
|
+
* // 기본 사용 / Basic usage
|
|
427
|
+
* <LanguageToggle />
|
|
428
|
+
*
|
|
429
|
+
* @example
|
|
430
|
+
* // 드롭다운 형태 / Dropdown variant
|
|
431
|
+
* <LanguageToggle
|
|
432
|
+
* variant="dropdown"
|
|
433
|
+
* currentLanguage="en"
|
|
434
|
+
* onLanguageChange={(lang) => console.log(lang)}
|
|
435
|
+
* />
|
|
436
|
+
*
|
|
437
|
+
* @param {LanguageToggleProps} props - LanguageToggle 컴포넌트의 props / LanguageToggle component props
|
|
438
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
439
|
+
* @returns {JSX.Element} LanguageToggle 컴포넌트 / LanguageToggle component
|
|
440
|
+
*/
|
|
441
|
+
declare const LanguageToggle: React.ForwardRefExoticComponent<LanguageToggleProps & React.RefAttributes<HTMLDivElement>>;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* ScrollIndicator 컴포넌트의 props / ScrollIndicator component props
|
|
445
|
+
* @typedef {Object} ScrollIndicatorProps
|
|
446
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
447
|
+
* @property {string} [targetId] - 스크롤 대상 요소 ID / Target element ID to scroll to
|
|
448
|
+
* @property {string} [text='Scroll down'] - 표시 텍스트 / Display text
|
|
449
|
+
* @property {IconName} [iconName='arrowDown'] - 아이콘 이름 / Icon name
|
|
450
|
+
* @property {number} [iconSize=20] - 아이콘 크기 / Icon size
|
|
451
|
+
* @property {'bottom-center' | 'bottom-left' | 'bottom-right'} [position='bottom-center'] - 표시 위치 / Display position
|
|
452
|
+
* @property {'default' | 'primary' | 'secondary' | 'outline'} [variant='default'] - ScrollIndicator 스타일 변형 / ScrollIndicator style variant
|
|
453
|
+
* @property {'sm' | 'md' | 'lg'} [size='md'] - ScrollIndicator 크기 / ScrollIndicator size
|
|
454
|
+
* @property {boolean} [animated=true] - 애니메이션 활성화 여부 / Enable animation
|
|
455
|
+
* @property {boolean} [autoHide=true] - 자동 숨김 여부 / Auto hide
|
|
456
|
+
* @property {number} [hideThreshold=100] - 숨김 임계값 (px) / Hide threshold (px)
|
|
457
|
+
*/
|
|
458
|
+
interface ScrollIndicatorProps {
|
|
459
|
+
className?: string;
|
|
460
|
+
targetId?: string;
|
|
461
|
+
text?: string;
|
|
462
|
+
iconName?: IconName;
|
|
463
|
+
iconSize?: number;
|
|
464
|
+
position?: 'bottom-center' | 'bottom-left' | 'bottom-right';
|
|
465
|
+
variant?: 'default' | 'primary' | 'secondary' | 'outline';
|
|
466
|
+
size?: 'sm' | 'md' | 'lg';
|
|
467
|
+
animated?: boolean;
|
|
468
|
+
autoHide?: boolean;
|
|
469
|
+
hideThreshold?: number;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* ScrollIndicator 컴포넌트 / ScrollIndicator component
|
|
473
|
+
*
|
|
474
|
+
* 스크롤 가능함을 나타내는 인디케이터 컴포넌트입니다.
|
|
475
|
+
* 클릭 시 지정된 요소로 스크롤하거나 다음 섹션으로 스크롤합니다.
|
|
476
|
+
*
|
|
477
|
+
* Indicator component that shows scrollability.
|
|
478
|
+
* Scrolls to specified element or next section on click.
|
|
479
|
+
*
|
|
480
|
+
* @component
|
|
481
|
+
* @example
|
|
482
|
+
* // 기본 사용 / Basic usage
|
|
483
|
+
* <ScrollIndicator />
|
|
484
|
+
*
|
|
485
|
+
* @example
|
|
486
|
+
* // 특정 요소로 스크롤 / Scroll to specific element
|
|
487
|
+
* <ScrollIndicator
|
|
488
|
+
* targetId="section-2"
|
|
489
|
+
* text="다음 섹션으로"
|
|
490
|
+
* position="bottom-right"
|
|
491
|
+
* />
|
|
492
|
+
*
|
|
493
|
+
* @param {ScrollIndicatorProps} props - ScrollIndicator 컴포넌트의 props / ScrollIndicator component props
|
|
494
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
495
|
+
* @returns {JSX.Element} ScrollIndicator 컴포넌트 / ScrollIndicator component
|
|
496
|
+
*/
|
|
497
|
+
declare const ScrollIndicator: React.ForwardRefExoticComponent<ScrollIndicatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* ScrollProgress 컴포넌트의 props / ScrollProgress component props
|
|
501
|
+
* @typedef {Object} ScrollProgressProps
|
|
502
|
+
* @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
|
|
503
|
+
* @property {number} [height=2] - 진행률 바 높이 (px) / Progress bar height (px)
|
|
504
|
+
* @property {'default' | 'primary' | 'secondary' | 'gradient'} [color='gradient'] - 진행률 바 색상 / Progress bar color
|
|
505
|
+
* @property {'top' | 'bottom'} [position='top'] - 표시 위치 / Display position
|
|
506
|
+
* @property {boolean} [animated=true] - 애니메이션 활성화 여부 / Enable animation
|
|
507
|
+
* @property {boolean} [showPercentage=false] - 퍼센트 표시 여부 / Show percentage
|
|
508
|
+
*/
|
|
509
|
+
interface ScrollProgressProps {
|
|
510
|
+
className?: string;
|
|
511
|
+
height?: number;
|
|
512
|
+
color?: 'default' | 'primary' | 'secondary' | 'gradient';
|
|
513
|
+
position?: 'top' | 'bottom';
|
|
514
|
+
animated?: boolean;
|
|
515
|
+
showPercentage?: boolean;
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* ScrollProgress 컴포넌트 / ScrollProgress component
|
|
519
|
+
*
|
|
520
|
+
* 페이지 스크롤 진행률을 표시하는 컴포넌트입니다.
|
|
521
|
+
* 페이지 상단 또는 하단에 고정되어 표시됩니다.
|
|
522
|
+
*
|
|
523
|
+
* Component that displays page scroll progress.
|
|
524
|
+
* Fixed at top or bottom of the page.
|
|
525
|
+
*
|
|
526
|
+
* @component
|
|
527
|
+
* @example
|
|
528
|
+
* // 기본 사용 / Basic usage
|
|
529
|
+
* <ScrollProgress />
|
|
530
|
+
*
|
|
531
|
+
* @example
|
|
532
|
+
* // 하단에 표시, 퍼센트 포함 / Display at bottom with percentage
|
|
533
|
+
* <ScrollProgress
|
|
534
|
+
* position="bottom"
|
|
535
|
+
* color="primary"
|
|
536
|
+
* showPercentage
|
|
537
|
+
* height={4}
|
|
538
|
+
* />
|
|
539
|
+
*
|
|
540
|
+
* @param {ScrollProgressProps} props - ScrollProgress 컴포넌트의 props / ScrollProgress component props
|
|
541
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
542
|
+
* @returns {JSX.Element} ScrollProgress 컴포넌트 / ScrollProgress component
|
|
543
|
+
*/
|
|
544
|
+
declare const ScrollProgress: React.ForwardRefExoticComponent<ScrollProgressProps & React.RefAttributes<HTMLDivElement>>;
|
|
545
|
+
|
|
546
|
+
interface ScrollbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
547
|
+
children: React.ReactNode;
|
|
548
|
+
variant?: "default" | "glass" | "colorful" | "minimal" | "neon";
|
|
549
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
550
|
+
orientation?: "vertical" | "horizontal" | "both";
|
|
551
|
+
autoHide?: boolean;
|
|
552
|
+
smooth?: boolean;
|
|
553
|
+
}
|
|
554
|
+
declare const Scrollbar: React.ForwardRefExoticComponent<ScrollbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* FeatureCard 컴포넌트의 props / FeatureCard component props
|
|
558
|
+
* @typedef {Object} FeatureCardProps
|
|
559
|
+
* @property {IconName | string} [icon] - 아이콘 (IconName 또는 이미지 URL) / Icon (IconName or image URL)
|
|
560
|
+
* @property {string} title - 카드 제목 / Card title
|
|
561
|
+
* @property {string} description - 카드 설명 / Card description
|
|
562
|
+
* @property {"default" | "gradient" | "glass" | "neon"} [variant="default"] - FeatureCard 스타일 변형 / FeatureCard style variant
|
|
563
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - FeatureCard 크기 / FeatureCard size
|
|
564
|
+
* @property {"scale" | "glow" | "slide" | "none"} [hover="scale"] - 호버 효과 / Hover effect
|
|
565
|
+
* @property {"blue" | "purple" | "green" | "orange" | "pink" | "custom"} [gradient="blue"] - 그라디언트 색상 / Gradient color
|
|
566
|
+
* @property {string} [customGradient] - 커스텀 그라디언트 클래스 / Custom gradient class
|
|
567
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
568
|
+
*/
|
|
569
|
+
interface FeatureCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
570
|
+
icon?: IconName | string;
|
|
571
|
+
title: string;
|
|
572
|
+
description: string;
|
|
573
|
+
variant?: "default" | "gradient" | "glass" | "neon";
|
|
574
|
+
size?: "sm" | "md" | "lg";
|
|
575
|
+
hover?: "scale" | "glow" | "slide" | "none";
|
|
576
|
+
gradient?: "blue" | "purple" | "green" | "orange" | "pink" | "custom";
|
|
577
|
+
customGradient?: string;
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* FeatureCard 컴포넌트 / FeatureCard component
|
|
581
|
+
*
|
|
582
|
+
* 기능을 소개하는 카드 컴포넌트입니다.
|
|
583
|
+
* 아이콘, 제목, 설명을 포함하며, 다양한 스타일과 호버 효과를 지원합니다.
|
|
584
|
+
*
|
|
585
|
+
* Card component that introduces features.
|
|
586
|
+
* Includes icon, title, and description, supports various styles and hover effects.
|
|
587
|
+
*
|
|
588
|
+
* @component
|
|
589
|
+
* @example
|
|
590
|
+
* // 기본 사용 / Basic usage
|
|
591
|
+
* <FeatureCard
|
|
592
|
+
* icon="star"
|
|
593
|
+
* title="고급 기능"
|
|
594
|
+
* description="강력한 기능을 제공합니다"
|
|
595
|
+
* />
|
|
596
|
+
*
|
|
597
|
+
* @example
|
|
598
|
+
* // Gradient 스타일 / Gradient style
|
|
599
|
+
* <FeatureCard
|
|
600
|
+
* icon="zap"
|
|
601
|
+
* title="빠른 성능"
|
|
602
|
+
* description="최적화된 성능"
|
|
603
|
+
* variant="gradient"
|
|
604
|
+
* gradient="purple"
|
|
605
|
+
* hover="glow"
|
|
606
|
+
* />
|
|
607
|
+
*
|
|
608
|
+
* @param {FeatureCardProps} props - FeatureCard 컴포넌트의 props / FeatureCard component props
|
|
609
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
610
|
+
* @returns {JSX.Element} FeatureCard 컴포넌트 / FeatureCard component
|
|
611
|
+
*/
|
|
612
|
+
declare const FeatureCard: React.ForwardRefExoticComponent<FeatureCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
613
|
+
|
|
614
|
+
/**
|
|
615
|
+
* HeroSection 컴포넌트의 props / HeroSection component props
|
|
616
|
+
* @typedef {Object} HeroSectionProps
|
|
617
|
+
* @property {string} title - 히어로 섹션 제목 / Hero section title
|
|
618
|
+
* @property {string} [subtitle] - 히어로 섹션 부제목 / Hero section subtitle
|
|
619
|
+
* @property {string} description - 히어로 섹션 설명 / Hero section description
|
|
620
|
+
* @property {Object} [primaryAction] - 주요 액션 버튼 / Primary action button
|
|
621
|
+
* @property {string} primaryAction.label - 버튼 라벨 / Button label
|
|
622
|
+
* @property {string} primaryAction.href - 버튼 링크 / Button link
|
|
623
|
+
* @property {string} [primaryAction.icon] - 버튼 아이콘 / Button icon
|
|
624
|
+
* @property {Object} [secondaryAction] - 보조 액션 버튼 / Secondary action button
|
|
625
|
+
* @property {string} secondaryAction.label - 버튼 라벨 / Button label
|
|
626
|
+
* @property {string} secondaryAction.href - 버튼 링크 / Button link
|
|
627
|
+
* @property {string} [secondaryAction.icon] - 버튼 아이콘 / Button icon
|
|
628
|
+
* @property {"default" | "gradient" | "glass" | "neon"} [variant="default"] - HeroSection 스타일 변형 / HeroSection style variant
|
|
629
|
+
* @property {"none" | "gradient" | "particles" | "video"} [background="gradient"] - 배경 타입 / Background type
|
|
630
|
+
* @property {string} [customBackground] - 커스텀 배경 / Custom background
|
|
631
|
+
* @property {"sm" | "md" | "lg" | "xl"} [size="lg"] - HeroSection 크기 / HeroSection size
|
|
632
|
+
* @extends {React.HTMLAttributes<HTMLElement>}
|
|
633
|
+
*/
|
|
634
|
+
interface HeroSectionProps extends React.HTMLAttributes<HTMLElement> {
|
|
635
|
+
title: string;
|
|
636
|
+
subtitle?: string;
|
|
637
|
+
description: string;
|
|
638
|
+
primaryAction?: {
|
|
639
|
+
label: string;
|
|
640
|
+
href: string;
|
|
641
|
+
icon?: string;
|
|
642
|
+
};
|
|
643
|
+
secondaryAction?: {
|
|
644
|
+
label: string;
|
|
645
|
+
href: string;
|
|
646
|
+
icon?: string;
|
|
647
|
+
};
|
|
648
|
+
variant?: "default" | "gradient" | "glass" | "neon";
|
|
649
|
+
background?: "none" | "gradient" | "particles" | "video";
|
|
650
|
+
customBackground?: string;
|
|
651
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* HeroSection 컴포넌트 / HeroSection component
|
|
655
|
+
*
|
|
656
|
+
* 랜딩 페이지의 히어로 섹션을 제공하는 컴포넌트입니다.
|
|
657
|
+
* 제목, 설명, 액션 버튼을 포함하며, 다양한 배경 효과를 지원합니다.
|
|
658
|
+
*
|
|
659
|
+
* Component that provides hero section for landing pages.
|
|
660
|
+
* Includes title, description, and action buttons, supports various background effects.
|
|
661
|
+
*
|
|
662
|
+
* @component
|
|
663
|
+
* @example
|
|
664
|
+
* // 기본 사용 / Basic usage
|
|
665
|
+
* <HeroSection
|
|
666
|
+
* title="환영합니다"
|
|
667
|
+
* description="우리 서비스를 소개합니다"
|
|
668
|
+
* primaryAction={{ label: "시작하기", href: "/start" }}
|
|
669
|
+
* />
|
|
670
|
+
*
|
|
671
|
+
* @example
|
|
672
|
+
* // Gradient 배경, 두 개의 액션 버튼 / Gradient background, two action buttons
|
|
673
|
+
* <HeroSection
|
|
674
|
+
* title="혁신적인 솔루션"
|
|
675
|
+
* subtitle="차세대 플랫폼"
|
|
676
|
+
* description="최신 기술로 만든 플랫폼"
|
|
677
|
+
* variant="gradient"
|
|
678
|
+
* background="gradient"
|
|
679
|
+
* primaryAction={{ label: "시작하기", href: "/start", icon: "arrowRight" }}
|
|
680
|
+
* secondaryAction={{ label: "더 알아보기", href: "/about" }}
|
|
681
|
+
* />
|
|
682
|
+
*
|
|
683
|
+
* @param {HeroSectionProps} props - HeroSection 컴포넌트의 props / HeroSection component props
|
|
684
|
+
* @param {React.Ref<HTMLElement>} ref - section 요소 ref / section element ref
|
|
685
|
+
* @returns {JSX.Element} HeroSection 컴포넌트 / HeroSection component
|
|
686
|
+
*/
|
|
687
|
+
declare const HeroSection: React.ForwardRefExoticComponent<HeroSectionProps & React.RefAttributes<HTMLElement>>;
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* InfoCard 컴포넌트의 props / InfoCard component props
|
|
691
|
+
* @typedef {Object} InfoCardProps
|
|
692
|
+
* @property {string} title - 카드 제목 / Card title
|
|
693
|
+
* @property {IconName} icon - 카드 아이콘 / Card icon
|
|
694
|
+
* @property {"blue" | "purple" | "green" | "orange"} [tone="blue"] - InfoCard 톤 색상 / InfoCard tone color
|
|
695
|
+
* @extends {React.HTMLAttributes<HTMLDivElement>}
|
|
696
|
+
*/
|
|
697
|
+
interface InfoCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
698
|
+
title: string;
|
|
699
|
+
icon: IconName;
|
|
700
|
+
tone?: "blue" | "purple" | "green" | "orange";
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* InfoCard 컴포넌트 / InfoCard component
|
|
704
|
+
*
|
|
705
|
+
* 정보를 표시하는 카드 컴포넌트입니다.
|
|
706
|
+
* 아이콘, 제목, 내용을 포함하며, 다양한 톤 색상을 지원합니다.
|
|
707
|
+
*
|
|
708
|
+
* Card component that displays information.
|
|
709
|
+
* Includes icon, title, and content, supports various tone colors.
|
|
710
|
+
*
|
|
711
|
+
* @component
|
|
712
|
+
* @example
|
|
713
|
+
* // 기본 사용 / Basic usage
|
|
714
|
+
* <InfoCard
|
|
715
|
+
* icon="info"
|
|
716
|
+
* title="정보"
|
|
717
|
+
* tone="blue"
|
|
718
|
+
* >
|
|
719
|
+
* 이것은 정보 카드입니다.
|
|
720
|
+
* </InfoCard>
|
|
721
|
+
*
|
|
722
|
+
* @example
|
|
723
|
+
* // 다양한 톤 / Various tones
|
|
724
|
+
* <InfoCard icon="check" title="성공" tone="green">
|
|
725
|
+
* 작업이 완료되었습니다.
|
|
726
|
+
* </InfoCard>
|
|
727
|
+
*
|
|
728
|
+
* @param {InfoCardProps} props - InfoCard 컴포넌트의 props / InfoCard component props
|
|
729
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
730
|
+
* @returns {JSX.Element} InfoCard 컴포넌트 / InfoCard component
|
|
731
|
+
*/
|
|
732
|
+
declare const InfoCard: React.ForwardRefExoticComponent<InfoCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
733
|
+
|
|
734
|
+
export { Bookmark, ChatMessage, EmotionAnalysis, EmotionButton, EmotionMeter, EmotionSelector, FeatureCard, HeroSection, InfoCard, LanguageToggle, ScrollIndicator, ScrollProgress, Scrollbar };
|