@hua-labs/ui 2.2.0 → 2.3.0
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/LICENSE +21 -0
- package/README.md +91 -43
- package/dist/{ComponentLayout-BhM4VSoq.d.mts → ComponentLayout-Clf6C2jV.d.mts} +37 -3
- package/dist/DashboardSidebar-ZulecqKs.d.mts +54 -0
- package/dist/DashboardToolbar-BRZayZNz.d.mts +122 -0
- package/dist/EmptyState-SQ3Z6Vf2.d.mts +64 -0
- package/dist/{Modal-CrXmb3Ll.d.mts → Modal-DKKtBtbh.d.mts} +12 -6
- package/dist/{Section-BWzyshgX.d.mts → Section-DKdIG1sg.d.mts} +11 -12
- package/dist/SectionHeader-DHwQ_xh8.d.mts +1653 -0
- package/dist/{Switch-Dzm5TLR3.d.mts → Switch-D0l7SJrz.d.mts} +31 -15
- package/dist/Tooltip-Cv7nYhPW.d.mts +304 -0
- package/dist/advanced/Logo.d.ts +8 -4
- package/dist/advanced/Logo.d.ts.map +1 -1
- package/dist/advanced/dashboard.d.ts +28 -6
- package/dist/advanced/dashboard.d.ts.map +1 -1
- package/dist/advanced-dashboard.d.mts +9 -2278
- package/dist/advanced-dashboard.mjs +1 -33
- package/dist/advanced-dashboard.mjs.map +1 -1
- package/dist/advanced-emotion.d.mts +13 -5
- package/dist/advanced-emotion.mjs +1 -1
- package/dist/advanced-motion.d.mts +136 -56
- package/dist/advanced-motion.mjs +1 -1
- package/dist/advanced.d.mts +69 -36
- package/dist/advanced.mjs +14 -3
- package/dist/advanced.mjs.map +1 -1
- package/dist/chunk-32OZGTPV.mjs +41 -0
- package/dist/chunk-32OZGTPV.mjs.map +1 -0
- package/dist/chunk-6WBFZ2KV.mjs +3 -0
- package/dist/chunk-6WBFZ2KV.mjs.map +1 -0
- package/dist/chunk-7CGJQSJO.mjs +3 -0
- package/dist/chunk-7CGJQSJO.mjs.map +1 -0
- package/dist/chunk-7T3IUG3G.mjs +3 -0
- package/dist/chunk-7T3IUG3G.mjs.map +1 -0
- package/dist/chunk-AJOGTUWS.mjs +3 -0
- package/dist/chunk-AJOGTUWS.mjs.map +1 -0
- package/dist/chunk-AQTSQYH2.mjs +3 -0
- package/dist/chunk-AQTSQYH2.mjs.map +1 -0
- package/dist/chunk-B2MRZJQA.mjs +3 -0
- package/dist/chunk-B2MRZJQA.mjs.map +1 -0
- package/dist/chunk-BOX4TONF.mjs +3 -0
- package/dist/chunk-BOX4TONF.mjs.map +1 -0
- package/dist/chunk-C2DOXNBK.mjs +3 -0
- package/dist/chunk-C2DOXNBK.mjs.map +1 -0
- package/dist/chunk-CQBMR7VU.mjs +3 -0
- package/dist/chunk-CQBMR7VU.mjs.map +1 -0
- package/dist/chunk-CYAAAEPJ.mjs +3 -0
- package/dist/chunk-CYAAAEPJ.mjs.map +1 -0
- package/dist/chunk-D7MTTTQY.mjs +8 -0
- package/dist/chunk-D7MTTTQY.mjs.map +1 -0
- package/dist/chunk-DABVKUJN.mjs +3 -0
- package/dist/chunk-DABVKUJN.mjs.map +1 -0
- package/dist/chunk-EK6BLFVQ.mjs +3 -0
- package/dist/chunk-EK6BLFVQ.mjs.map +1 -0
- package/dist/chunk-FVUAVGP5.mjs +3 -0
- package/dist/chunk-FVUAVGP5.mjs.map +1 -0
- package/dist/chunk-GAIUZVNC.mjs +3 -0
- package/dist/chunk-GAIUZVNC.mjs.map +1 -0
- package/dist/chunk-HLBIIF4I.mjs +3 -0
- package/dist/chunk-HLBIIF4I.mjs.map +1 -0
- package/dist/chunk-I6NCGF6E.mjs +3 -0
- package/dist/chunk-I6NCGF6E.mjs.map +1 -0
- package/dist/chunk-J46VEBVF.mjs +3 -0
- package/dist/chunk-J46VEBVF.mjs.map +1 -0
- package/dist/chunk-JNW3CLCA.mjs +3 -0
- package/dist/chunk-JNW3CLCA.mjs.map +1 -0
- package/dist/chunk-JY3QVUGW.mjs +3 -0
- package/dist/chunk-JY3QVUGW.mjs.map +1 -0
- package/dist/chunk-KHBZOGUU.mjs +3 -0
- package/dist/chunk-KHBZOGUU.mjs.map +1 -0
- package/dist/chunk-KPNNAQLI.mjs +3 -0
- package/dist/chunk-KPNNAQLI.mjs.map +1 -0
- package/dist/chunk-L2LGSILS.mjs +13 -0
- package/dist/chunk-L2LGSILS.mjs.map +1 -0
- package/dist/chunk-LPHUWTQ2.mjs +3 -0
- package/dist/chunk-LPHUWTQ2.mjs.map +1 -0
- package/dist/chunk-M4JE7TQL.mjs +3 -0
- package/dist/chunk-M4JE7TQL.mjs.map +1 -0
- package/dist/chunk-MEDKGNLV.mjs +3 -0
- package/dist/chunk-MEDKGNLV.mjs.map +1 -0
- package/dist/chunk-MR46CSMC.mjs +3 -0
- package/dist/chunk-MR46CSMC.mjs.map +1 -0
- package/dist/chunk-NSDWT2JM.mjs +3 -0
- package/dist/chunk-NSDWT2JM.mjs.map +1 -0
- package/dist/chunk-OBMOTQEU.mjs +3 -0
- package/dist/chunk-OBMOTQEU.mjs.map +1 -0
- package/dist/chunk-RICRFXFP.mjs +3 -0
- package/dist/chunk-RICRFXFP.mjs.map +1 -0
- package/dist/chunk-SOK7VBSM.mjs +13 -0
- package/dist/chunk-SOK7VBSM.mjs.map +1 -0
- package/dist/chunk-SPZ7SZH4.mjs +3 -0
- package/dist/chunk-SPZ7SZH4.mjs.map +1 -0
- package/dist/chunk-TB3DARQO.mjs +3 -0
- package/dist/chunk-TB3DARQO.mjs.map +1 -0
- package/dist/chunk-TND4HPKW.mjs +51 -0
- package/dist/chunk-TND4HPKW.mjs.map +1 -0
- package/dist/chunk-TSAXVD2H.mjs +35 -0
- package/dist/chunk-TSAXVD2H.mjs.map +1 -0
- package/dist/chunk-UR3TIWBS.mjs +3 -0
- package/dist/chunk-UR3TIWBS.mjs.map +1 -0
- package/dist/chunk-XU2XBAEW.mjs +3 -0
- package/dist/chunk-XU2XBAEW.mjs.map +1 -0
- package/dist/chunk-XXHDNZTG.mjs +3 -0
- package/dist/chunk-XXHDNZTG.mjs.map +1 -0
- package/dist/chunk-YW5DA7Q6.mjs +3 -0
- package/dist/chunk-YW5DA7Q6.mjs.map +1 -0
- package/dist/chunk-ZTHUGQZL.mjs +3 -0
- package/dist/chunk-ZTHUGQZL.mjs.map +1 -0
- package/dist/chunk-ZVCGC6EV.mjs +3 -0
- package/dist/chunk-ZVCGC6EV.mjs.map +1 -0
- package/dist/chunk-ZZ67E3M5.mjs +3 -0
- package/dist/chunk-ZZ67E3M5.mjs.map +1 -0
- package/dist/{common-YLvZxA_K.d.mts → common-Bej8Okcg.d.mts} +1 -1
- package/dist/components/Accordion.d.ts +14 -7
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Action.d.ts.map +1 -1
- package/dist/components/ActionToolbar.d.ts +10 -6
- package/dist/components/ActionToolbar.d.ts.map +1 -1
- package/dist/components/Alert.d.ts +16 -2
- package/dist/components/Alert.d.ts.map +1 -1
- package/dist/components/Autocomplete.d.ts +6 -4
- package/dist/components/Autocomplete.d.ts.map +1 -1
- package/dist/components/Avatar.d.ts +20 -7
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Badge.d.ts +27 -9
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Bookmark.d.ts +4 -2
- package/dist/components/Bookmark.d.ts.map +1 -1
- package/dist/components/BottomSheet.d.ts +13 -9
- package/dist/components/BottomSheet.d.ts.map +1 -1
- package/dist/components/Box.d.ts +9 -0
- package/dist/components/Box.d.ts.map +1 -0
- package/dist/components/Breadcrumb.d.ts +9 -4
- package/dist/components/Breadcrumb.d.ts.map +1 -1
- package/dist/components/Button.d.ts +3 -29
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.variants.d.ts +54 -10
- package/dist/components/Button.variants.d.ts.map +1 -1
- package/dist/components/Card.d.ts +49 -14
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/ChatMessage.d.ts +3 -2
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/Checkbox.d.ts +5 -2
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/CodeBlock.d.ts +8 -5
- package/dist/components/CodeBlock.d.ts.map +1 -1
- package/dist/components/ColorPicker.d.ts +4 -2
- package/dist/components/ColorPicker.d.ts.map +1 -1
- package/dist/components/Command.d.ts +28 -14
- package/dist/components/Command.d.ts.map +1 -1
- package/dist/components/ComponentLayout.d.ts +5 -2
- package/dist/components/ComponentLayout.d.ts.map +1 -1
- package/dist/components/ConfirmModal.d.ts +4 -0
- package/dist/components/ConfirmModal.d.ts.map +1 -1
- package/dist/components/Container.d.ts +18 -5
- package/dist/components/Container.d.ts.map +1 -1
- package/dist/components/ContextMenu.d.ts +36 -36
- package/dist/components/ContextMenu.d.ts.map +1 -1
- package/dist/components/DatePicker.d.ts +12 -5
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/Divider.d.ts +2 -1
- package/dist/components/Divider.d.ts.map +1 -1
- package/dist/components/Drawer.d.ts +17 -12
- package/dist/components/Drawer.d.ts.map +1 -1
- package/dist/components/Dropdown.d.ts +25 -7
- package/dist/components/Dropdown.d.ts.map +1 -1
- package/dist/components/EmotionAnalysis.d.ts +3 -1
- package/dist/components/EmotionAnalysis.d.ts.map +1 -1
- package/dist/components/EmotionButton.d.ts +3 -1
- package/dist/components/EmotionButton.d.ts.map +1 -1
- package/dist/components/EmotionMeter.d.ts +3 -1
- package/dist/components/EmotionMeter.d.ts.map +1 -1
- package/dist/components/EmotionSelector.d.ts +3 -1
- package/dist/components/EmotionSelector.d.ts.map +1 -1
- package/dist/components/FeatureCard.d.ts +9 -3
- package/dist/components/FeatureCard.d.ts.map +1 -1
- package/dist/components/Form.d.ts +20 -54
- package/dist/components/Form.d.ts.map +1 -1
- package/dist/components/FormControl.d.ts +3 -2
- package/dist/components/FormControl.d.ts.map +1 -1
- package/dist/components/Grid.d.ts +11 -4
- package/dist/components/Grid.d.ts.map +1 -1
- package/dist/components/HeroSection.d.ts +4 -2
- package/dist/components/HeroSection.d.ts.map +1 -1
- package/dist/components/Icon/Icon.d.ts +12 -8
- package/dist/components/Icon/Icon.d.ts.map +1 -1
- package/dist/components/IconsaxGallery/index.d.ts +8 -5
- package/dist/components/IconsaxGallery/index.d.ts.map +1 -1
- package/dist/components/InfoCard.d.ts +5 -2
- package/dist/components/InfoCard.d.ts.map +1 -1
- package/dist/components/Input.d.ts +29 -4
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Label.d.ts +15 -10
- package/dist/components/Label.d.ts.map +1 -1
- package/dist/components/LanguageToggle.d.ts +5 -3
- package/dist/components/LanguageToggle.d.ts.map +1 -1
- package/dist/components/Link.d.ts +17 -6
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/LoadingSpinner.d.ts +7 -3
- package/dist/components/LoadingSpinner.d.ts.map +1 -1
- package/dist/components/Menu.d.ts +59 -60
- package/dist/components/Menu.d.ts.map +1 -1
- package/dist/components/Modal.d.ts +12 -6
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Navigation.d.ts +26 -11
- package/dist/components/Navigation.d.ts.map +1 -1
- package/dist/components/NumberInput.d.ts +5 -2
- package/dist/components/NumberInput.d.ts.map +1 -1
- package/dist/components/PageNavigation.d.ts +6 -3
- package/dist/components/PageNavigation.d.ts.map +1 -1
- package/dist/components/PageTransition.d.ts +2 -2
- package/dist/components/PageTransition.d.ts.map +1 -1
- package/dist/components/Pagination.d.ts +5 -2
- package/dist/components/Pagination.d.ts.map +1 -1
- package/dist/components/Panel.d.ts +1 -7
- package/dist/components/Panel.d.ts.map +1 -1
- package/dist/components/Popover.d.ts +25 -9
- package/dist/components/Popover.d.ts.map +1 -1
- package/dist/components/Pressable.d.ts +14 -0
- package/dist/components/Pressable.d.ts.map +1 -0
- package/dist/components/Progress.d.ts +36 -13
- package/dist/components/Progress.d.ts.map +1 -1
- package/dist/components/Prose.d.ts +51 -0
- package/dist/components/Prose.d.ts.map +1 -0
- package/dist/components/Radio.d.ts +29 -33
- package/dist/components/Radio.d.ts.map +1 -1
- package/dist/components/ScrollArea.d.ts +8 -9
- package/dist/components/ScrollArea.d.ts.map +1 -1
- package/dist/components/ScrollIndicator.d.ts +9 -8
- package/dist/components/ScrollIndicator.d.ts.map +1 -1
- package/dist/components/ScrollProgress.d.ts +3 -2
- package/dist/components/ScrollProgress.d.ts.map +1 -1
- package/dist/components/ScrollToTop.d.ts +5 -5
- package/dist/components/ScrollToTop.d.ts.map +1 -1
- package/dist/components/Section.d.ts +12 -9
- package/dist/components/Section.d.ts.map +1 -1
- package/dist/components/SectionHeader.d.ts +3 -2
- package/dist/components/SectionHeader.d.ts.map +1 -1
- package/dist/components/Select.d.ts +18 -5
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Skeleton.d.ts +43 -15
- package/dist/components/Skeleton.d.ts.map +1 -1
- package/dist/components/Slider.d.ts +7 -5
- package/dist/components/Slider.d.ts.map +1 -1
- package/dist/components/Stack.d.ts +22 -6
- package/dist/components/Stack.d.ts.map +1 -1
- package/dist/components/StatsPanel.d.ts +4 -2
- package/dist/components/StatsPanel.d.ts.map +1 -1
- package/dist/components/Switch.d.ts +9 -4
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/Table.d.ts +43 -18
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/components/Tabs.d.ts +50 -77
- package/dist/components/Tabs.d.ts.map +1 -1
- package/dist/components/Text.d.ts +11 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Textarea.d.ts +24 -6
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/ThemeToggle.d.ts +18 -27
- package/dist/components/ThemeToggle.d.ts.map +1 -1
- package/dist/components/Timeline.d.ts +4 -2
- package/dist/components/Timeline.d.ts.map +1 -1
- package/dist/components/Toast.d.ts +1 -1
- package/dist/components/Toast.d.ts.map +1 -1
- package/dist/components/Toggle.d.ts +11 -2
- package/dist/components/Toggle.d.ts.map +1 -1
- package/dist/components/Tooltip.d.ts +5 -2
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/Upload.d.ts +5 -3
- package/dist/components/Upload.d.ts.map +1 -1
- package/dist/components/advanced/AdvancedPageTransition.d.ts +7 -5
- package/dist/components/advanced/AdvancedPageTransition.d.ts.map +1 -1
- package/dist/components/advanced/AnimatedGradient.d.ts +6 -2
- package/dist/components/advanced/AnimatedGradient.d.ts.map +1 -1
- package/dist/components/advanced/Carousel.d.ts +3 -1
- package/dist/components/advanced/Carousel.d.ts.map +1 -1
- package/dist/components/advanced/DotNav.d.ts +12 -5
- package/dist/components/advanced/DotNav.d.ts.map +1 -1
- package/dist/components/advanced/GlowCard.d.ts +4 -1
- package/dist/components/advanced/GlowCard.d.ts.map +1 -1
- package/dist/components/advanced/HorizontalScroll.d.ts +4 -1
- package/dist/components/advanced/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/advanced/ImageReveal.d.ts +23 -1
- package/dist/components/advanced/ImageReveal.d.ts.map +1 -1
- package/dist/components/advanced/Marquee.d.ts +4 -2
- package/dist/components/advanced/Marquee.d.ts.map +1 -1
- package/dist/components/advanced/Parallax.d.ts +4 -2
- package/dist/components/advanced/Parallax.d.ts.map +1 -1
- package/dist/components/advanced/SpotlightCard.d.ts +13 -12
- package/dist/components/advanced/SpotlightCard.d.ts.map +1 -1
- package/dist/components/advanced/TextReveal.d.ts +5 -1
- package/dist/components/advanced/TextReveal.d.ts.map +1 -1
- package/dist/components/advanced/TiltCard.d.ts +6 -2
- package/dist/components/advanced/TiltCard.d.ts.map +1 -1
- package/dist/components/advanced/VideoBackground.d.ts +4 -1
- package/dist/components/advanced/VideoBackground.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditor.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditor.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorActions.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorActions.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorContent.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorContent.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorHeader.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorHeader.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorLanguageTabs.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorLanguageTabs.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorMetadata.d.ts +5 -3
- package/dist/components/advanced/blog-editor/BlogEditorMetadata.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorPreview.d.ts +5 -3
- package/dist/components/advanced/blog-editor/BlogEditorPreview.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorToolbar.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorToolbar.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/BlogEditorTranslate.d.ts +4 -2
- package/dist/components/advanced/blog-editor/BlogEditorTranslate.d.ts.map +1 -1
- package/dist/components/advanced/blog-editor/types.d.ts +5 -2
- package/dist/components/advanced/blog-editor/types.d.ts.map +1 -1
- package/dist/components/advanced/emotion/EmotionAnalysis.d.ts +3 -1
- package/dist/components/advanced/emotion/EmotionAnalysis.d.ts.map +1 -1
- package/dist/components/advanced/emotion/EmotionButton.d.ts +3 -1
- package/dist/components/advanced/emotion/EmotionButton.d.ts.map +1 -1
- package/dist/components/advanced/emotion/EmotionMeter.d.ts +4 -2
- package/dist/components/advanced/emotion/EmotionMeter.d.ts.map +1 -1
- package/dist/components/advanced/emotion/EmotionSelector.d.ts +3 -1
- package/dist/components/advanced/emotion/EmotionSelector.d.ts.map +1 -1
- package/dist/components/dashboard/ActivityFeed.d.ts +5 -2
- package/dist/components/dashboard/ActivityFeed.d.ts.map +1 -1
- package/dist/components/dashboard/BarChart.d.ts +3 -2
- package/dist/components/dashboard/BarChart.d.ts.map +1 -1
- package/dist/components/dashboard/DashboardGrid.d.ts +13 -3
- package/dist/components/dashboard/DashboardGrid.d.ts.map +1 -1
- package/dist/components/dashboard/DashboardSidebar.d.ts +15 -82
- package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -1
- package/dist/components/dashboard/DashboardToolbar.d.ts +3 -2
- package/dist/components/dashboard/DashboardToolbar.d.ts.map +1 -1
- package/dist/components/dashboard/EmptyState.d.ts +3 -2
- package/dist/components/dashboard/EmptyState.d.ts.map +1 -1
- package/dist/components/dashboard/MembershipBadge.d.ts +3 -2
- package/dist/components/dashboard/MembershipBadge.d.ts.map +1 -1
- package/dist/components/dashboard/MerchantList.d.ts +3 -2
- package/dist/components/dashboard/MerchantList.d.ts.map +1 -1
- package/dist/components/dashboard/MetricCard.d.ts +3 -2
- package/dist/components/dashboard/MetricCard.d.ts.map +1 -1
- package/dist/components/dashboard/MiniBarChart.d.ts +3 -2
- package/dist/components/dashboard/MiniBarChart.d.ts.map +1 -1
- package/dist/components/dashboard/NotificationCard.d.ts +5 -2
- package/dist/components/dashboard/NotificationCard.d.ts.map +1 -1
- package/dist/components/dashboard/ProfileCard.d.ts +5 -2
- package/dist/components/dashboard/ProfileCard.d.ts.map +1 -1
- package/dist/components/dashboard/ProgressCard.d.ts +6 -3
- package/dist/components/dashboard/ProgressCard.d.ts.map +1 -1
- package/dist/components/dashboard/QuickActionCard.d.ts +22 -27
- package/dist/components/dashboard/QuickActionCard.d.ts.map +1 -1
- package/dist/components/dashboard/RoutingBreakdownCard.d.ts +3 -2
- package/dist/components/dashboard/RoutingBreakdownCard.d.ts.map +1 -1
- package/dist/components/dashboard/SettlementTimeline.d.ts +3 -2
- package/dist/components/dashboard/SettlementTimeline.d.ts.map +1 -1
- package/dist/components/dashboard/StatCard.d.ts +7 -4
- package/dist/components/dashboard/StatCard.d.ts.map +1 -1
- package/dist/components/dashboard/SummaryCard.d.ts +6 -3
- package/dist/components/dashboard/SummaryCard.d.ts.map +1 -1
- package/dist/components/dashboard/TransactionDetailDrawer.d.ts +2 -2
- package/dist/components/dashboard/TransactionDetailDrawer.d.ts.map +1 -1
- package/dist/components/dashboard/TransactionsTable.d.ts +3 -2
- package/dist/components/dashboard/TransactionsTable.d.ts.map +1 -1
- package/dist/components/dashboard/TrendChart.d.ts +3 -2
- package/dist/components/dashboard/TrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/YearlyHeatmap.d.ts +4 -2
- package/dist/components/dashboard/YearlyHeatmap.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanAddCard.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanAddColumn.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanColumnHeader.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/KanbanDropIndicator.d.ts.map +1 -1
- package/dist/components/dashboard/kanban/index.d.ts +1 -1
- package/dist/components/dashboard/kanban/types.d.ts +24 -12
- package/dist/components/dashboard/kanban/types.d.ts.map +1 -1
- package/dist/components/scrollbar/scrollbar.d.ts +2 -1
- package/dist/components/scrollbar/scrollbar.d.ts.map +1 -1
- package/dist/context/MotionConfigContext.d.ts +41 -0
- package/dist/context/MotionConfigContext.d.ts.map +1 -0
- package/dist/data.d.mts +55 -23
- package/dist/data.d.ts +45 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.mjs +2 -2
- package/dist/data.mjs.map +1 -1
- package/dist/feedback.d.mts +6 -293
- package/dist/feedback.d.ts +7 -5
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.mjs +1 -1
- package/dist/form.d.mts +99 -114
- package/dist/form.mjs +8 -3
- package/dist/form.mjs.map +1 -1
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useAnimatedEntrance.d.ts +24 -0
- package/dist/hooks/useAnimatedEntrance.d.ts.map +1 -0
- package/dist/hooks/useBreakpoint.d.ts +22 -0
- package/dist/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/hooks/useDotEnv.d.ts +12 -0
- package/dist/hooks/useDotEnv.d.ts.map +1 -0
- package/dist/hooks/useDotMap.d.ts +38 -0
- package/dist/hooks/useDotMap.d.ts.map +1 -0
- package/dist/iconsax-extended.mjs +2 -2
- package/dist/iconsax-extended.mjs.map +1 -1
- package/dist/iconsax.mjs +2 -2
- package/dist/iconsax.mjs.map +1 -1
- package/dist/index.d.mts +358 -127
- package/dist/index.d.ts +74 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +15 -15
- package/dist/index.mjs.map +1 -1
- package/dist/interactive/kanban.d.ts +12 -0
- package/dist/interactive/kanban.d.ts.map +1 -0
- package/dist/interactive-kanban.d.mts +378 -0
- package/dist/interactive-kanban.mjs +3 -0
- package/dist/interactive-kanban.mjs.map +1 -0
- package/dist/interactive.d.mts +193 -197
- package/dist/interactive.d.ts +7 -5
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.mjs +1 -1
- package/dist/interactive.mjs.map +1 -1
- package/dist/landing/LandingAbout.d.ts +2 -2
- package/dist/landing/LandingAbout.d.ts.map +1 -1
- package/dist/landing/LandingCTA.d.ts +2 -2
- package/dist/landing/LandingCTA.d.ts.map +1 -1
- package/dist/landing/LandingContact.d.ts +2 -2
- package/dist/landing/LandingContact.d.ts.map +1 -1
- package/dist/landing/LandingExperience.d.ts +1 -1
- package/dist/landing/LandingExperience.d.ts.map +1 -1
- package/dist/landing/LandingFeatures.d.ts +1 -1
- package/dist/landing/LandingFeatures.d.ts.map +1 -1
- package/dist/landing/LandingHero.d.ts +2 -2
- package/dist/landing/LandingHero.d.ts.map +1 -1
- package/dist/landing/LandingLogoCloud.d.ts +2 -2
- package/dist/landing/LandingLogoCloud.d.ts.map +1 -1
- package/dist/landing/LandingMetrics.d.ts +1 -1
- package/dist/landing/LandingMetrics.d.ts.map +1 -1
- package/dist/landing/LandingProjects.d.ts +1 -1
- package/dist/landing/LandingProjects.d.ts.map +1 -1
- package/dist/landing/LandingShowcase.d.ts +2 -2
- package/dist/landing/LandingShowcase.d.ts.map +1 -1
- package/dist/landing/LandingSkills.d.ts +1 -1
- package/dist/landing/LandingSkills.d.ts.map +1 -1
- package/dist/landing/LandingStats.d.ts +1 -1
- package/dist/landing/LandingStats.d.ts.map +1 -1
- package/dist/landing/LandingTestimonials.d.ts +1 -1
- package/dist/landing/LandingTestimonials.d.ts.map +1 -1
- package/dist/landing/types.d.ts +42 -30
- package/dist/landing/types.d.ts.map +1 -1
- package/dist/landing.d.mts +47 -37
- package/dist/landing.mjs +4 -20
- package/dist/landing.mjs.map +1 -1
- package/dist/lib/Slot.d.ts.map +1 -1
- package/dist/lib/icon-providers.d.ts +17 -3
- package/dist/lib/icon-providers.d.ts.map +1 -1
- package/dist/lib/styles/animation.d.ts +35 -0
- package/dist/lib/styles/animation.d.ts.map +1 -0
- package/dist/lib/styles/disabled.d.ts +15 -0
- package/dist/lib/styles/disabled.d.ts.map +1 -0
- package/dist/lib/styles/focus.d.ts +34 -0
- package/dist/lib/styles/focus.d.ts.map +1 -0
- package/dist/lib/styles/glass.d.ts +18 -0
- package/dist/lib/styles/glass.d.ts.map +1 -0
- package/dist/lib/styles/hover.d.ts +9 -0
- package/dist/lib/styles/hover.d.ts.map +1 -0
- package/dist/lib/styles/index.d.ts +6 -0
- package/dist/lib/styles/index.d.ts.map +1 -1
- package/dist/lib/styles/transition.d.ts +42 -0
- package/dist/lib/styles/transition.d.ts.map +1 -0
- package/dist/lib/types/common.d.ts +3 -3
- package/dist/lib/types/common.d.ts.map +1 -1
- package/dist/native/Box.d.ts +11 -0
- package/dist/native/Box.d.ts.map +1 -0
- package/dist/native/Pressable.d.ts +10 -0
- package/dist/native/Pressable.d.ts.map +1 -0
- package/dist/native/Text.d.ts +11 -0
- package/dist/native/Text.d.ts.map +1 -0
- package/dist/native/index.d.ts +9 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/useDotMap.d.ts +51 -0
- package/dist/native/useDotMap.d.ts.map +1 -0
- package/dist/native.mjs +2 -0
- package/dist/native.mjs.map +1 -0
- package/dist/navigation.d.mts +48 -21
- package/dist/navigation.d.ts +10 -8
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.mjs +1 -1
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlay.d.mts +84 -37
- package/dist/overlay.mjs +2 -2
- package/dist/overlay.mjs.map +1 -1
- package/dist/sdui/SDUIRenderer.d.ts.map +1 -1
- package/dist/sdui/core.d.ts +50 -0
- package/dist/sdui/core.d.ts.map +1 -0
- package/dist/sdui/index.d.ts +3 -1
- package/dist/sdui/index.d.ts.map +1 -1
- package/dist/sdui/registry.d.ts.map +1 -1
- package/dist/sdui/types.d.ts +38 -0
- package/dist/sdui/types.d.ts.map +1 -1
- package/dist/sdui.d.mts +89 -1
- package/dist/sdui.mjs +2 -2
- package/dist/sdui.mjs.map +1 -1
- package/package.json +39 -15
- package/src/styles/component-vars.css +503 -69
- package/src/styles/landing.css +12 -12
- package/src/styles/prose.css +284 -0
- package/src/styles/recommended-theme.css +123 -141
- package/src/styles/utilities.css +3 -3
- package/dist/chunk-5DPW7SVD.mjs +0 -4
- package/dist/chunk-5DPW7SVD.mjs.map +0 -1
- package/dist/chunk-5L5HIPKA.mjs +0 -3
- package/dist/chunk-5L5HIPKA.mjs.map +0 -1
- package/dist/chunk-CNW22G24.mjs +0 -13
- package/dist/chunk-CNW22G24.mjs.map +0 -1
- package/dist/chunk-CW66UBQG.mjs +0 -3
- package/dist/chunk-CW66UBQG.mjs.map +0 -1
- package/dist/chunk-EPY3432E.mjs +0 -3
- package/dist/chunk-EPY3432E.mjs.map +0 -1
- package/dist/chunk-F2M4YDDQ.mjs +0 -3
- package/dist/chunk-F2M4YDDQ.mjs.map +0 -1
- package/dist/chunk-FHMFDCX2.mjs +0 -3
- package/dist/chunk-FHMFDCX2.mjs.map +0 -1
- package/dist/chunk-HBIUCLFL.mjs +0 -3
- package/dist/chunk-HBIUCLFL.mjs.map +0 -1
- package/dist/chunk-HEBXAFRY.mjs +0 -3
- package/dist/chunk-HEBXAFRY.mjs.map +0 -1
- package/dist/chunk-IG47LMOD.mjs +0 -3
- package/dist/chunk-IG47LMOD.mjs.map +0 -1
- package/dist/chunk-J47ZEXEL.mjs +0 -3
- package/dist/chunk-J47ZEXEL.mjs.map +0 -1
- package/dist/chunk-K2FOFIST.mjs +0 -3
- package/dist/chunk-K2FOFIST.mjs.map +0 -1
- package/dist/chunk-LL6QPRD7.mjs +0 -3
- package/dist/chunk-LL6QPRD7.mjs.map +0 -1
- package/dist/chunk-NMJLOK6M.mjs +0 -3
- package/dist/chunk-NMJLOK6M.mjs.map +0 -1
- package/dist/chunk-O24K56OS.mjs +0 -3
- package/dist/chunk-O24K56OS.mjs.map +0 -1
- package/dist/chunk-OIWG3IJ7.mjs +0 -3
- package/dist/chunk-OIWG3IJ7.mjs.map +0 -1
- package/dist/chunk-OLLU7ZFH.mjs +0 -3
- package/dist/chunk-OLLU7ZFH.mjs.map +0 -1
- package/dist/chunk-Q76JW7X5.mjs +0 -73
- package/dist/chunk-Q76JW7X5.mjs.map +0 -1
- package/dist/chunk-QRM66RQG.mjs +0 -3
- package/dist/chunk-QRM66RQG.mjs.map +0 -1
- package/dist/chunk-QRRP7TGF.mjs +0 -13
- package/dist/chunk-QRRP7TGF.mjs.map +0 -1
- package/dist/chunk-SD6XGDAC.mjs +0 -3
- package/dist/chunk-SD6XGDAC.mjs.map +0 -1
- package/dist/chunk-SDFVGFXT.mjs +0 -3
- package/dist/chunk-SDFVGFXT.mjs.map +0 -1
- package/dist/chunk-SMLDNOV3.mjs +0 -8
- package/dist/chunk-SMLDNOV3.mjs.map +0 -1
- package/dist/chunk-TAP6MYDW.mjs +0 -3
- package/dist/chunk-TAP6MYDW.mjs.map +0 -1
- package/dist/chunk-TBZ645BI.mjs +0 -3
- package/dist/chunk-TBZ645BI.mjs.map +0 -1
- package/dist/chunk-V2DNYJR6.mjs +0 -3
- package/dist/chunk-V2DNYJR6.mjs.map +0 -1
- package/dist/chunk-VBABZXL7.mjs +0 -3
- package/dist/chunk-VBABZXL7.mjs.map +0 -1
- package/dist/chunk-WYBSHTGY.mjs +0 -3
- package/dist/chunk-WYBSHTGY.mjs.map +0 -1
- package/dist/chunk-ZQUMJQYV.mjs +0 -3
- package/dist/chunk-ZQUMJQYV.mjs.map +0 -1
- package/dist/chunk-ZY23NOT4.mjs +0 -3
- package/dist/chunk-ZY23NOT4.mjs.map +0 -1
- package/dist/components/EmptyState.d.ts +0 -62
- package/dist/components/EmptyState.d.ts.map +0 -1
|
@@ -0,0 +1,1653 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { I as IconName } from './icons-DcOBy9Hf.mjs';
|
|
3
|
+
import { C as Color } from './common-Bej8Okcg.mjs';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* StatCard 컴포넌트의 props / StatCard component props
|
|
8
|
+
* @typedef {Object} StatCardProps
|
|
9
|
+
* @property {string} title - 카드 제목 / Card title
|
|
10
|
+
* @property {string | number | null | undefined} value - 통계 값 / Statistic value
|
|
11
|
+
* @property {string} [description] - 카드 설명 / Card description
|
|
12
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
|
|
13
|
+
* @property {Object} [trend] - 추세 정보 / Trend information
|
|
14
|
+
* @property {number} trend.value - 추세 값 / Trend value
|
|
15
|
+
* @property {string} trend.label - 추세 라벨 / Trend label
|
|
16
|
+
* @property {boolean} [trend.positive] - 긍정적 추세 여부 / Positive trend
|
|
17
|
+
* @property {"default" | "gradient" | "outline" | "elevated"} [variant="elevated"] - 카드 스타일 변형 / Card style variant
|
|
18
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray" | "cyan"} [color="blue"] - 카드 색상 / Card color
|
|
19
|
+
* @property {boolean} [loading] - 로딩 상태 / Loading state
|
|
20
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
21
|
+
* @property {string} [dot] - dot 스타일 유틸리티 문자열 / Dot style utility string
|
|
22
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일 / Inline style
|
|
23
|
+
*/
|
|
24
|
+
interface StatCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
25
|
+
title: string;
|
|
26
|
+
value: string | number | null | undefined;
|
|
27
|
+
description?: string;
|
|
28
|
+
icon?: IconName | React.ReactNode;
|
|
29
|
+
trend?: {
|
|
30
|
+
value: number;
|
|
31
|
+
label: string;
|
|
32
|
+
positive?: boolean;
|
|
33
|
+
};
|
|
34
|
+
variant?: "default" | "gradient" | "outline" | "elevated";
|
|
35
|
+
color?: Color;
|
|
36
|
+
loading?: boolean;
|
|
37
|
+
emptyState?: React.ReactNode;
|
|
38
|
+
dot?: string;
|
|
39
|
+
style?: React.CSSProperties;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* StatCard 컴포넌트 / StatCard component
|
|
43
|
+
*
|
|
44
|
+
* 통계 정보를 표시하는 카드 컴포넌트입니다.
|
|
45
|
+
* 제목, 값, 설명, 아이콘, 추세 정보를 포함할 수 있습니다.
|
|
46
|
+
*
|
|
47
|
+
* Card component that displays statistic information.
|
|
48
|
+
* Can include title, value, description, icon, and trend information.
|
|
49
|
+
*
|
|
50
|
+
* @component
|
|
51
|
+
* @example
|
|
52
|
+
* // 기본 사용 / Basic usage
|
|
53
|
+
* <StatCard
|
|
54
|
+
* title="총 사용자"
|
|
55
|
+
* value="1,234"
|
|
56
|
+
* description="지난 달 대비"
|
|
57
|
+
* icon="users"
|
|
58
|
+
* />
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* // 추세 정보 포함 / With trend information
|
|
62
|
+
* <StatCard
|
|
63
|
+
* title="매출"
|
|
64
|
+
* value="₩1,000,000"
|
|
65
|
+
* trend={{ value: 12.5, label: "전월 대비", positive: true }}
|
|
66
|
+
* color="green"
|
|
67
|
+
* variant="gradient"
|
|
68
|
+
* />
|
|
69
|
+
*
|
|
70
|
+
* @param {StatCardProps} props - StatCard 컴포넌트의 props / StatCard component props
|
|
71
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
72
|
+
* @returns {JSX.Element} StatCard 컴포넌트 / StatCard component
|
|
73
|
+
*/
|
|
74
|
+
declare const StatCard: React.ForwardRefExoticComponent<StatCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* QuickActionCard component props
|
|
78
|
+
*/
|
|
79
|
+
interface QuickActionCardProps extends Omit<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "className"> {
|
|
80
|
+
/** Card title */
|
|
81
|
+
title: string;
|
|
82
|
+
/** Card description */
|
|
83
|
+
description?: string;
|
|
84
|
+
/** Icon name or ReactNode */
|
|
85
|
+
icon?: IconName | React.ReactNode;
|
|
86
|
+
/** Link URL — renders as <a> when provided */
|
|
87
|
+
href?: string;
|
|
88
|
+
/** Click handler — renders as <button> when provided */
|
|
89
|
+
onClick?: () => void;
|
|
90
|
+
/** Card style variant */
|
|
91
|
+
variant?: "gradient" | "outline" | "solid";
|
|
92
|
+
/** Card color */
|
|
93
|
+
color?: Color;
|
|
94
|
+
/** Loading state */
|
|
95
|
+
loading?: boolean;
|
|
96
|
+
/** Top-right badge label (e.g. "Coming Soon") */
|
|
97
|
+
badge?: string;
|
|
98
|
+
/** Extra dot utility string */
|
|
99
|
+
dot?: string;
|
|
100
|
+
/** Extra inline style (applied last, overrides everything) */
|
|
101
|
+
style?: React.CSSProperties;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* QuickActionCard component
|
|
105
|
+
*
|
|
106
|
+
* Card component for quick actions.
|
|
107
|
+
* Works as a link or button, used as a clickable action card.
|
|
108
|
+
*
|
|
109
|
+
* @component
|
|
110
|
+
* @example
|
|
111
|
+
* // Link card
|
|
112
|
+
* <QuickActionCard
|
|
113
|
+
* title="New Order"
|
|
114
|
+
* description="Create an order quickly"
|
|
115
|
+
* icon="plus"
|
|
116
|
+
* href="/orders/new"
|
|
117
|
+
* color="blue"
|
|
118
|
+
* />
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* // Button card
|
|
122
|
+
* <QuickActionCard
|
|
123
|
+
* title="Download Report"
|
|
124
|
+
* description="Download the latest report"
|
|
125
|
+
* icon="download"
|
|
126
|
+
* onClick={handleDownload}
|
|
127
|
+
* variant="outline"
|
|
128
|
+
* color="green"
|
|
129
|
+
* />
|
|
130
|
+
*/
|
|
131
|
+
declare const QuickActionCard: React.ForwardRefExoticComponent<QuickActionCardProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* DashboardGrid 컴포넌트의 props
|
|
135
|
+
* @property {1 | 2 | 3 | 4 | 5 | 6} [columns=4] - 그리드 컬럼 수
|
|
136
|
+
* @property {"sm" | "md" | "lg" | "xl"} [gap="md"] - 그리드 간격
|
|
137
|
+
* @property {boolean} [responsive=true] - 반응형 여부
|
|
138
|
+
* @property {string} [dot] - dot utility string
|
|
139
|
+
* @property {React.CSSProperties} [style] - inline styles
|
|
140
|
+
*/
|
|
141
|
+
interface DashboardGridProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
142
|
+
columns?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
143
|
+
gap?: "sm" | "md" | "lg" | "xl";
|
|
144
|
+
responsive?: boolean;
|
|
145
|
+
dot?: string;
|
|
146
|
+
style?: React.CSSProperties;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* DashboardGrid 컴포넌트
|
|
150
|
+
*
|
|
151
|
+
* 대시보드 그리드 레이아웃을 제공하는 컴포넌트입니다.
|
|
152
|
+
* 반응형 그리드를 지원하며, 다양한 컬럼 수와 간격을 설정할 수 있습니다.
|
|
153
|
+
*
|
|
154
|
+
* Dashboard grid layout component.
|
|
155
|
+
* Supports responsive grid with configurable column count and gap sizes.
|
|
156
|
+
*
|
|
157
|
+
* @component
|
|
158
|
+
* @example
|
|
159
|
+
* // 기본 사용 / Basic usage
|
|
160
|
+
* <DashboardGrid columns={4}>
|
|
161
|
+
* <StatCard title="항목 1" value="100" />
|
|
162
|
+
* <StatCard title="항목 2" value="200" />
|
|
163
|
+
* </DashboardGrid>
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* // 반응형 그리드 / Responsive grid
|
|
167
|
+
* <DashboardGrid columns={3} gap="lg" responsive>
|
|
168
|
+
* <MetricCard title="메트릭 1" value="1,000" />
|
|
169
|
+
* <MetricCard title="메트릭 2" value="2,000" />
|
|
170
|
+
* </DashboardGrid>
|
|
171
|
+
*
|
|
172
|
+
* @param {DashboardGridProps} props - DashboardGrid 컴포넌트의 props / DashboardGrid component props
|
|
173
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
174
|
+
* @returns {JSX.Element} DashboardGrid 컴포넌트 / DashboardGrid component
|
|
175
|
+
*/
|
|
176
|
+
declare const DashboardGrid: React.ForwardRefExoticComponent<DashboardGridProps & React.RefAttributes<HTMLDivElement>>;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* ActivityItem 인터페이스 / ActivityItem interface
|
|
180
|
+
* @typedef {Object} ActivityItem
|
|
181
|
+
* @property {string} id - 활동 항목 고유 ID / Activity item unique ID
|
|
182
|
+
* @property {string} title - 활동 제목 / Activity title
|
|
183
|
+
* @property {string} [description] - 활동 설명 / Activity description
|
|
184
|
+
* @property {Date | string} timestamp - 활동 타임스탬프 / Activity timestamp
|
|
185
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
|
|
186
|
+
* @property {string | React.ReactNode} [badge] - 배지 / Badge
|
|
187
|
+
* @property {() => void} [onClick] - 클릭 핸들러 / Click handler
|
|
188
|
+
* @property {Record<string, unknown>} [metadata] - 추가 메타데이터 / Additional metadata
|
|
189
|
+
*/
|
|
190
|
+
interface ActivityItem {
|
|
191
|
+
id: string;
|
|
192
|
+
title: string;
|
|
193
|
+
description?: string;
|
|
194
|
+
timestamp: Date | string;
|
|
195
|
+
icon?: IconName | React.ReactNode;
|
|
196
|
+
badge?: string | React.ReactNode;
|
|
197
|
+
onClick?: () => void;
|
|
198
|
+
metadata?: Record<string, unknown>;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* ActivityFeed 컴포넌트의 props / ActivityFeed component props
|
|
202
|
+
* @typedef {Object} ActivityFeedProps
|
|
203
|
+
* @property {string} [title] - 피드 제목 / Feed title
|
|
204
|
+
* @property {ActivityItem[]} items - 활동 항목 배열 / Activity items array
|
|
205
|
+
* @property {string} [emptyMessage="활동 내역이 없습니다."] - 빈 상태 메시지 / Empty state message
|
|
206
|
+
* @property {boolean} [showHeader=true] - 헤더 표시 여부 / Show header
|
|
207
|
+
* @property {number} [maxItems] - 최대 표시 항목 수 / Maximum items to display
|
|
208
|
+
* @property {() => void} [onViewAll] - 전체 보기 핸들러 / View all handler
|
|
209
|
+
* @property {string} [viewAllLabel="전체 보기"] - 전체 보기 라벨 / View all label
|
|
210
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
211
|
+
* @property {string} [dot] - dot 스타일 유틸리티 문자열 / Dot style utility string
|
|
212
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일 / Inline style
|
|
213
|
+
*/
|
|
214
|
+
interface ActivityFeedProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
215
|
+
title?: string;
|
|
216
|
+
items: ActivityItem[];
|
|
217
|
+
emptyMessage?: string;
|
|
218
|
+
showHeader?: boolean;
|
|
219
|
+
maxItems?: number;
|
|
220
|
+
onViewAll?: () => void;
|
|
221
|
+
viewAllLabel?: string;
|
|
222
|
+
emptyState?: React.ReactNode;
|
|
223
|
+
dot?: string;
|
|
224
|
+
style?: React.CSSProperties;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* ActivityFeed 컴포넌트 / ActivityFeed component
|
|
228
|
+
*
|
|
229
|
+
* 활동 내역을 표시하는 피드 컴포넌트입니다.
|
|
230
|
+
* 타임스탬프를 상대 시간으로 표시하며, 최대 항목 수 제한을 지원합니다.
|
|
231
|
+
*
|
|
232
|
+
* Feed component that displays activity history.
|
|
233
|
+
* Shows timestamps as relative time and supports maximum items limit.
|
|
234
|
+
*
|
|
235
|
+
* @component
|
|
236
|
+
* @example
|
|
237
|
+
* // 기본 사용 / Basic usage
|
|
238
|
+
* <ActivityFeed
|
|
239
|
+
* title="최근 활동"
|
|
240
|
+
* items={[
|
|
241
|
+
* {
|
|
242
|
+
* id: "1",
|
|
243
|
+
* title: "새 주문 생성",
|
|
244
|
+
* description: "주문 #1234",
|
|
245
|
+
* timestamp: new Date(),
|
|
246
|
+
* icon: "shoppingCart"
|
|
247
|
+
* }
|
|
248
|
+
* ]}
|
|
249
|
+
* />
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* // 최대 항목 수 제한 / Maximum items limit
|
|
253
|
+
* <ActivityFeed
|
|
254
|
+
* title="활동 내역"
|
|
255
|
+
* items={activities}
|
|
256
|
+
* maxItems={10}
|
|
257
|
+
* onViewAll={() => navigate("/activities")}
|
|
258
|
+
* />
|
|
259
|
+
*
|
|
260
|
+
* @param {ActivityFeedProps} props - ActivityFeed 컴포넌트의 props / ActivityFeed component props
|
|
261
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
262
|
+
* @returns {JSX.Element} ActivityFeed 컴포넌트 / ActivityFeed component
|
|
263
|
+
*/
|
|
264
|
+
declare const ActivityFeed: React.ForwardRefExoticComponent<ActivityFeedProps & React.RefAttributes<HTMLDivElement>>;
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* 멤버십 등급 인터페이스
|
|
268
|
+
* @typedef {Object} MembershipTier
|
|
269
|
+
* @property {"basic" | "pro" | "premium" | "admin"} tier - 등급
|
|
270
|
+
* @property {string} label - 등급 라벨
|
|
271
|
+
*/
|
|
272
|
+
interface MembershipTier {
|
|
273
|
+
tier: "basic" | "pro" | "premium" | "admin";
|
|
274
|
+
label: string;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* ProfileCard 컴포넌트의 props / ProfileCard component props
|
|
278
|
+
* @typedef {Object} ProfileCardProps
|
|
279
|
+
* @property {string} name - 사용자 이름 / User name
|
|
280
|
+
* @property {string} [email] - 이메일 / Email
|
|
281
|
+
* @property {string} [avatar] - 아바타 이미지 URL / Avatar image URL
|
|
282
|
+
* @property {string} [avatarAlt] - 아바타 대체 텍스트 / Avatar alt text
|
|
283
|
+
* @property {string} [greeting] - 인사말 / Greeting
|
|
284
|
+
* @property {Date | string} [memberSince] - 가입일 / Member since date
|
|
285
|
+
* @property {MembershipTier["tier"]} [membershipTier] - 멤버십 등급 / Membership tier
|
|
286
|
+
* @property {string} [membershipLabel] - 멤버십 라벨 / Membership label
|
|
287
|
+
* @property {() => void} [onSettingsClick] - 설정 클릭 핸들러 / Settings click handler
|
|
288
|
+
* @property {string} [settingsHref] - 설정 링크 URL / Settings link URL
|
|
289
|
+
* @property {"default" | "gradient" | "minimal"} [variant="default"] - 스타일 변형 / Style variant
|
|
290
|
+
* @property {boolean} [showAvatar=true] - 아바타 표시 여부 / Show avatar
|
|
291
|
+
* @property {boolean} [showMembership=true] - 멤버십 표시 여부 / Show membership
|
|
292
|
+
* @property {boolean} [showSettings=true] - 설정 버튼 표시 여부 / Show settings button
|
|
293
|
+
* @property {string} [dot] - dot 스타일 유틸리티 문자열 / Dot style utility string
|
|
294
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일 / Inline style
|
|
295
|
+
*/
|
|
296
|
+
interface ProfileCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
297
|
+
name: string;
|
|
298
|
+
email?: string;
|
|
299
|
+
avatar?: string;
|
|
300
|
+
avatarAlt?: string;
|
|
301
|
+
greeting?: string;
|
|
302
|
+
memberSince?: Date | string;
|
|
303
|
+
membershipTier?: MembershipTier["tier"];
|
|
304
|
+
membershipLabel?: string;
|
|
305
|
+
onSettingsClick?: () => void;
|
|
306
|
+
settingsHref?: string;
|
|
307
|
+
variant?: "default" | "gradient" | "minimal";
|
|
308
|
+
showAvatar?: boolean;
|
|
309
|
+
showMembership?: boolean;
|
|
310
|
+
showSettings?: boolean;
|
|
311
|
+
dot?: string;
|
|
312
|
+
style?: React.CSSProperties;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* ProfileCard 컴포넌트
|
|
316
|
+
*
|
|
317
|
+
* 사용자 프로필 정보를 표시하는 카드 컴포넌트입니다.
|
|
318
|
+
* 아바타, 이름, 이메일, 멤버십 등급 등을 표시할 수 있습니다.
|
|
319
|
+
*
|
|
320
|
+
* Card component that displays user profile information.
|
|
321
|
+
* Can show avatar, name, email, membership tier, and more.
|
|
322
|
+
*
|
|
323
|
+
* @component
|
|
324
|
+
* @example
|
|
325
|
+
* // 기본 사용 / Basic usage
|
|
326
|
+
* <ProfileCard
|
|
327
|
+
* name="홍길동"
|
|
328
|
+
* email="hong@example.com"
|
|
329
|
+
* avatar="/avatar.jpg"
|
|
330
|
+
* membershipTier="premium"
|
|
331
|
+
* memberSince={new Date("2024-01-01")}
|
|
332
|
+
* />
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* // 그라디언트 스타일 / Gradient style
|
|
336
|
+
* <ProfileCard
|
|
337
|
+
* name="김철수"
|
|
338
|
+
* greeting="안녕하세요"
|
|
339
|
+
* variant="gradient"
|
|
340
|
+
* membershipTier="pro"
|
|
341
|
+
* onSettingsClick={() => navigate("/settings")}
|
|
342
|
+
* />
|
|
343
|
+
*
|
|
344
|
+
* @param {ProfileCardProps} props - ProfileCard 컴포넌트의 props / ProfileCard component props
|
|
345
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
346
|
+
* @returns {JSX.Element} ProfileCard 컴포넌트 / ProfileCard component
|
|
347
|
+
*/
|
|
348
|
+
declare const ProfileCard: React.ForwardRefExoticComponent<ProfileCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* MembershipBadge 컴포넌트의 props / MembershipBadge component props
|
|
352
|
+
* @typedef {Object} MembershipBadgeProps
|
|
353
|
+
* @property {"basic" | "pro" | "premium" | "admin"} tier - 멤버십 등급 / Membership tier
|
|
354
|
+
* @property {string} [label] - 커스텀 라벨 (기본값: 등급별 라벨) / Custom label (default: tier-specific label)
|
|
355
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 배지 크기 / Badge size
|
|
356
|
+
* @property {boolean} [showIcon=true] - 아이콘 표시 여부 / Show icon
|
|
357
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
358
|
+
*/
|
|
359
|
+
interface MembershipBadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "className"> {
|
|
360
|
+
tier: "basic" | "pro" | "premium" | "admin";
|
|
361
|
+
label?: string;
|
|
362
|
+
size?: "sm" | "md" | "lg";
|
|
363
|
+
showIcon?: boolean;
|
|
364
|
+
dot?: string;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* MembershipBadge 컴포넌트
|
|
368
|
+
*
|
|
369
|
+
* 멤버십 등급을 표시하는 배지 컴포넌트입니다.
|
|
370
|
+
* 등급별로 다른 그라디언트 색상과 아이콘을 제공합니다.
|
|
371
|
+
*
|
|
372
|
+
* Badge component that displays membership tier.
|
|
373
|
+
* Provides different gradient colors and icons for each tier.
|
|
374
|
+
*
|
|
375
|
+
* @component
|
|
376
|
+
* @example
|
|
377
|
+
* // 기본 사용 / Basic usage
|
|
378
|
+
* <MembershipBadge tier="premium" />
|
|
379
|
+
*
|
|
380
|
+
* @example
|
|
381
|
+
* // 커스텀 라벨과 크기 / Custom label and size
|
|
382
|
+
* <MembershipBadge
|
|
383
|
+
* tier="pro"
|
|
384
|
+
* label="프로 플랜"
|
|
385
|
+
* size="lg"
|
|
386
|
+
* showIcon={false}
|
|
387
|
+
* />
|
|
388
|
+
*
|
|
389
|
+
* @param {MembershipBadgeProps} props - MembershipBadge 컴포넌트의 props / MembershipBadge component props
|
|
390
|
+
* @param {React.Ref<HTMLSpanElement>} ref - span 요소 ref / span element ref
|
|
391
|
+
* @returns {JSX.Element} MembershipBadge 컴포넌트 / MembershipBadge component
|
|
392
|
+
*/
|
|
393
|
+
declare const MembershipBadge: React.ForwardRefExoticComponent<MembershipBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* MiniBarChart 컴포넌트의 props
|
|
397
|
+
* @typedef {Object} MiniBarChartProps
|
|
398
|
+
* @property {number[]} data - 차트 데이터 배열
|
|
399
|
+
* @property {string[]} [labels] - 라벨 배열
|
|
400
|
+
* @property {number} [maxValue] - 최대값 (자동 계산 시 생략)
|
|
401
|
+
* @property {number} [height=160] - 차트 높이 (px)
|
|
402
|
+
* @property {boolean} [showTooltip=true] - 툴팁 표시 여부
|
|
403
|
+
* @property {boolean} [showStats=true] - 통계 정보 표시 여부
|
|
404
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color="blue"] - 색상
|
|
405
|
+
* @property {boolean} [highlightToday=true] - 오늘 항목 강조 여부
|
|
406
|
+
* @property {number} [todayIndex] - 오늘 인덱스 (기본값: 마지막 항목)
|
|
407
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
408
|
+
*/
|
|
409
|
+
interface MiniBarChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
410
|
+
data: number[];
|
|
411
|
+
labels?: string[];
|
|
412
|
+
maxValue?: number;
|
|
413
|
+
height?: number;
|
|
414
|
+
showTooltip?: boolean;
|
|
415
|
+
showStats?: boolean;
|
|
416
|
+
color?: Color;
|
|
417
|
+
highlightToday?: boolean;
|
|
418
|
+
todayIndex?: number;
|
|
419
|
+
dot?: string;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* MiniBarChart 컴포넌트
|
|
423
|
+
*
|
|
424
|
+
* 작은 막대 그래프 차트 컴포넌트입니다.
|
|
425
|
+
* 간단한 데이터 시각화에 적합하며, 오늘 항목 강조 기능을 제공합니다.
|
|
426
|
+
*
|
|
427
|
+
* Small bar chart component for simple data visualization.
|
|
428
|
+
* Suitable for compact displays with today's item highlight feature.
|
|
429
|
+
*
|
|
430
|
+
* @component
|
|
431
|
+
* @example
|
|
432
|
+
* // 기본 사용 / Basic usage
|
|
433
|
+
* <MiniBarChart
|
|
434
|
+
* data={[10, 20, 15, 30, 25, 40, 35]}
|
|
435
|
+
* labels={["월", "화", "수", "목", "금", "토", "일"]}
|
|
436
|
+
* />
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* // 커스텀 색상과 통계 / Custom color and stats
|
|
440
|
+
* <MiniBarChart
|
|
441
|
+
* data={dailyData}
|
|
442
|
+
* color="purple"
|
|
443
|
+
* showStats={true}
|
|
444
|
+
* highlightToday={true}
|
|
445
|
+
* todayIndex={6}
|
|
446
|
+
* />
|
|
447
|
+
*
|
|
448
|
+
* @param {MiniBarChartProps} props - MiniBarChart 컴포넌트의 props / MiniBarChart component props
|
|
449
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
450
|
+
* @returns {JSX.Element} MiniBarChart 컴포넌트 / MiniBarChart component
|
|
451
|
+
*/
|
|
452
|
+
declare const MiniBarChart: React.ForwardRefExoticComponent<MiniBarChartProps & React.RefAttributes<HTMLDivElement>>;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* SummaryCard 컴포넌트의 props
|
|
456
|
+
* @typedef {Object} SummaryCardProps
|
|
457
|
+
* @property {string} title - 카드 제목
|
|
458
|
+
* @property {string | number} value - 요약 값
|
|
459
|
+
* @property {string} [subtitle] - 부제목
|
|
460
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘
|
|
461
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray" | "cyan"} [color] - 카드 색상
|
|
462
|
+
* @property {"default" | "gradient" | "outline"} [variant="default"] - 카드 스타일 변형
|
|
463
|
+
* @property {string} [href] - 링크 URL
|
|
464
|
+
* @property {() => void} [onClick] - 클릭 핸들러
|
|
465
|
+
* @property {boolean} [loading] - 로딩 상태
|
|
466
|
+
* @property {string | React.ReactNode} [badge] - 배지
|
|
467
|
+
* @property {React.ReactNode} [footer] - 푸터 콘텐츠
|
|
468
|
+
* @property {boolean} [showAction] - 액션 버튼 표시 여부
|
|
469
|
+
* @property {string} [actionLabel] - 액션 버튼 라벨
|
|
470
|
+
* @property {string} [dot] - dot 스타일 유틸리티 문자열
|
|
471
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일
|
|
472
|
+
*/
|
|
473
|
+
interface SummaryCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
474
|
+
title: string;
|
|
475
|
+
value: string | number;
|
|
476
|
+
subtitle?: string;
|
|
477
|
+
icon?: IconName | React.ReactNode;
|
|
478
|
+
color?: Color;
|
|
479
|
+
variant?: "default" | "gradient" | "outline";
|
|
480
|
+
href?: string;
|
|
481
|
+
onClick?: () => void;
|
|
482
|
+
loading?: boolean;
|
|
483
|
+
badge?: string | React.ReactNode;
|
|
484
|
+
footer?: React.ReactNode;
|
|
485
|
+
showAction?: boolean;
|
|
486
|
+
actionLabel?: string;
|
|
487
|
+
dot?: string;
|
|
488
|
+
style?: React.CSSProperties;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* SummaryCard 컴포넌트 / SummaryCard component
|
|
492
|
+
*
|
|
493
|
+
* 요약 정보를 표시하는 카드 컴포넌트입니다.
|
|
494
|
+
* 제목, 값, 부제목, 아이콘을 포함하며, 클릭 가능한 링크나 액션 버튼을 지원합니다.
|
|
495
|
+
*
|
|
496
|
+
* Card component that displays summary information.
|
|
497
|
+
* Includes title, value, subtitle, icon, and supports clickable links or action buttons.
|
|
498
|
+
*
|
|
499
|
+
* @component
|
|
500
|
+
* @example
|
|
501
|
+
* // 기본 사용 / Basic usage
|
|
502
|
+
* <SummaryCard
|
|
503
|
+
* title="총 매출"
|
|
504
|
+
* value="₩10,000,000"
|
|
505
|
+
* subtitle="이번 달"
|
|
506
|
+
* icon="dollarSign"
|
|
507
|
+
* />
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* // 클릭 가능한 카드 / Clickable card
|
|
511
|
+
* <SummaryCard
|
|
512
|
+
* title="주문"
|
|
513
|
+
* value="1,234"
|
|
514
|
+
* href="/orders"
|
|
515
|
+
* showAction
|
|
516
|
+
* actionLabel="자세히 보기"
|
|
517
|
+
* color="blue"
|
|
518
|
+
* variant="gradient"
|
|
519
|
+
* />
|
|
520
|
+
*
|
|
521
|
+
* @param {SummaryCardProps} props - SummaryCard 컴포넌트의 props / SummaryCard component props
|
|
522
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
523
|
+
* @returns {JSX.Element} SummaryCard 컴포넌트 / SummaryCard component
|
|
524
|
+
*/
|
|
525
|
+
declare const SummaryCard: React.ForwardRefExoticComponent<SummaryCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* NotificationItem 인터페이스
|
|
529
|
+
* @typedef {Object} NotificationItem
|
|
530
|
+
* @property {string} id - 알림 고유 ID
|
|
531
|
+
* @property {string} title - 알림 제목
|
|
532
|
+
* @property {string} message - 알림 메시지
|
|
533
|
+
* @property {Date | string} timestamp - 알림 타임스탬프
|
|
534
|
+
* @property {"info" | "warning" | "error" | "success"} [type] - 알림 타입
|
|
535
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘
|
|
536
|
+
* @property {() => void} [onClick] - 클릭 핸들러
|
|
537
|
+
* @property {string} [href] - 링크 URL
|
|
538
|
+
*/
|
|
539
|
+
interface NotificationItem {
|
|
540
|
+
id: string;
|
|
541
|
+
title: string;
|
|
542
|
+
message: string;
|
|
543
|
+
timestamp: Date | string;
|
|
544
|
+
type?: "info" | "warning" | "error" | "success";
|
|
545
|
+
icon?: IconName | React.ReactNode;
|
|
546
|
+
onClick?: () => void;
|
|
547
|
+
href?: string;
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* NotificationCard 컴포넌트의 props / NotificationCard component props
|
|
551
|
+
* @typedef {Object} NotificationCardProps
|
|
552
|
+
* @property {string} [title="알림 및 공지"] - 카드 제목 / Card title
|
|
553
|
+
* @property {NotificationItem[]} items - 알림 항목 배열 / Notification items array
|
|
554
|
+
* @property {string} [emptyMessage="알림이 없습니다."] - 빈 상태 메시지 / Empty state message
|
|
555
|
+
* @property {number} [maxItems] - 최대 표시 항목 수 / Maximum items to display
|
|
556
|
+
* @property {() => void} [onViewAll] - 전체 보기 핸들러 / View all handler
|
|
557
|
+
* @property {string} [viewAllLabel="모든 알림 보기"] - 전체 보기 라벨 / View all label
|
|
558
|
+
* @property {boolean} [showHeader=true] - 헤더 표시 여부 / Show header
|
|
559
|
+
* @property {boolean} [showCount=true] - 개수 표시 여부 / Show count
|
|
560
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
561
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
562
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일 / Inline style
|
|
563
|
+
*/
|
|
564
|
+
interface NotificationCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
565
|
+
title?: string;
|
|
566
|
+
items: NotificationItem[];
|
|
567
|
+
emptyMessage?: string;
|
|
568
|
+
maxItems?: number;
|
|
569
|
+
onViewAll?: () => void;
|
|
570
|
+
viewAllLabel?: string;
|
|
571
|
+
showHeader?: boolean;
|
|
572
|
+
showCount?: boolean;
|
|
573
|
+
emptyState?: React.ReactNode;
|
|
574
|
+
dot?: string;
|
|
575
|
+
style?: React.CSSProperties;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* NotificationCard 컴포넌트 / NotificationCard component
|
|
579
|
+
*
|
|
580
|
+
* 알림 목록을 표시하는 카드 컴포넌트입니다.
|
|
581
|
+
* 여러 알림 항목을 표시하며, 타입별로 다른 스타일을 적용할 수 있습니다.
|
|
582
|
+
*
|
|
583
|
+
* Card component that displays a list of notifications.
|
|
584
|
+
* Shows multiple notification items and can apply different styles by type.
|
|
585
|
+
*
|
|
586
|
+
* @component
|
|
587
|
+
* @example
|
|
588
|
+
* // 기본 사용 / Basic usage
|
|
589
|
+
* <NotificationCard
|
|
590
|
+
* items={[
|
|
591
|
+
* {
|
|
592
|
+
* id: "1",
|
|
593
|
+
* title: "새 주문",
|
|
594
|
+
* message: "주문 #1234가 생성되었습니다",
|
|
595
|
+
* timestamp: new Date(),
|
|
596
|
+
* type: "success"
|
|
597
|
+
* }
|
|
598
|
+
* ]}
|
|
599
|
+
* />
|
|
600
|
+
*
|
|
601
|
+
* @example
|
|
602
|
+
* // 최대 항목 수 제한 / Maximum items limit
|
|
603
|
+
* <NotificationCard
|
|
604
|
+
* title="최근 알림"
|
|
605
|
+
* items={notifications}
|
|
606
|
+
* maxItems={5}
|
|
607
|
+
* onViewAll={() => navigate("/notifications")}
|
|
608
|
+
* showCount
|
|
609
|
+
* />
|
|
610
|
+
*
|
|
611
|
+
* @param {NotificationCardProps} props - NotificationCard 컴포넌트의 props / NotificationCard component props
|
|
612
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
613
|
+
* @returns {JSX.Element} NotificationCard 컴포넌트 / NotificationCard component
|
|
614
|
+
*/
|
|
615
|
+
declare const NotificationCard: React.ForwardRefExoticComponent<NotificationCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* MetricCard 컴포넌트의 props / MetricCard component props
|
|
619
|
+
* @typedef {Object} MetricCardProps
|
|
620
|
+
* @property {string} title - 카드 제목 / Card title
|
|
621
|
+
* @property {string | number} value - 메트릭 값 / Metric value
|
|
622
|
+
* @property {string} [description] - 카드 설명 / Card description
|
|
623
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
|
|
624
|
+
* @property {Object} [trend] - 추세 정보 / Trend information
|
|
625
|
+
* @property {number} trend.value - 추세 값 / Trend value
|
|
626
|
+
* @property {string} trend.label - 추세 라벨 / Trend label
|
|
627
|
+
* @property {boolean} [trend.positive] - 긍정적 추세 여부 / Positive trend
|
|
628
|
+
* @property {number[]} [chartData] - 차트 데이터 / Chart data
|
|
629
|
+
* @property {string[]} [chartLabels] - 차트 라벨 / Chart labels
|
|
630
|
+
* @property {"default" | "gradient" | "outline" | "elevated"} [variant="default"] - 카드 스타일 변형 / Card style variant
|
|
631
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color] - 카드 색상 / Card color
|
|
632
|
+
* @property {boolean} [loading] - 로딩 상태 / Loading state
|
|
633
|
+
* @property {boolean} [showChart] - 차트 표시 여부 / Show chart
|
|
634
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
635
|
+
*/
|
|
636
|
+
interface MetricCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
637
|
+
title: string;
|
|
638
|
+
value: string | number;
|
|
639
|
+
description?: string;
|
|
640
|
+
icon?: IconName | React.ReactNode;
|
|
641
|
+
trend?: {
|
|
642
|
+
value: number;
|
|
643
|
+
label: string;
|
|
644
|
+
positive?: boolean;
|
|
645
|
+
};
|
|
646
|
+
chartData?: number[];
|
|
647
|
+
chartLabels?: string[];
|
|
648
|
+
variant?: "default" | "gradient" | "outline" | "elevated";
|
|
649
|
+
color?: Color;
|
|
650
|
+
loading?: boolean;
|
|
651
|
+
showChart?: boolean;
|
|
652
|
+
dot?: string;
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* MetricCard 컴포넌트 / MetricCard component
|
|
656
|
+
*
|
|
657
|
+
* 메트릭 정보를 표시하는 카드 컴포넌트입니다.
|
|
658
|
+
* StatCard와 유사하지만 차트 데이터를 포함할 수 있습니다.
|
|
659
|
+
*
|
|
660
|
+
* Card component that displays metric information.
|
|
661
|
+
* Similar to StatCard but can include chart data.
|
|
662
|
+
*
|
|
663
|
+
* @component
|
|
664
|
+
* @example
|
|
665
|
+
* // 기본 사용 / Basic usage
|
|
666
|
+
* <MetricCard
|
|
667
|
+
* title="페이지뷰"
|
|
668
|
+
* value="10,234"
|
|
669
|
+
* description="오늘"
|
|
670
|
+
* icon="eye"
|
|
671
|
+
* />
|
|
672
|
+
*
|
|
673
|
+
* @example
|
|
674
|
+
* // 차트 포함 / With chart
|
|
675
|
+
* <MetricCard
|
|
676
|
+
* title="방문자"
|
|
677
|
+
* value="5,678"
|
|
678
|
+
* chartData={[100, 200, 150, 300, 250]}
|
|
679
|
+
* chartLabels={["월", "화", "수", "목", "금"]}
|
|
680
|
+
* showChart
|
|
681
|
+
* color="blue"
|
|
682
|
+
* />
|
|
683
|
+
*
|
|
684
|
+
* @param {MetricCardProps} props - MetricCard 컴포넌트의 props / MetricCard component props
|
|
685
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
686
|
+
* @returns {JSX.Element} MetricCard 컴포넌트 / MetricCard component
|
|
687
|
+
*/
|
|
688
|
+
declare const MetricCard: React.ForwardRefExoticComponent<MetricCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* ProgressCard 컴포넌트의 props / ProgressCard component props
|
|
692
|
+
* @typedef {Object} ProgressCardProps
|
|
693
|
+
* @property {string} title - 카드 제목 / Card title
|
|
694
|
+
* @property {number} current - 현재 값 / Current value
|
|
695
|
+
* @property {number} total - 전체 값 / Total value
|
|
696
|
+
* @property {string} [unit] - 단위 / Unit
|
|
697
|
+
* @property {string} [description] - 카드 설명 / Card description
|
|
698
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
|
|
699
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray" | "cyan"} [color] - 카드 색상 / Card color
|
|
700
|
+
* @property {"default" | "gradient" | "outline" | "elevated"} [variant="default"] - 카드 스타일 변형 / Card style variant
|
|
701
|
+
* @property {boolean} [showPercentage] - 퍼센트 표시 여부 / Show percentage
|
|
702
|
+
* @property {boolean} [showLabel] - 라벨 표시 여부 / Show label
|
|
703
|
+
* @property {"sm" | "md" | "lg"} [size="md"] - 카드 크기 / Card size
|
|
704
|
+
* @property {boolean} [loading] - 로딩 상태 / Loading state
|
|
705
|
+
* @property {string} [dot] - dot 스타일 유틸리티 문자열 / dot utility string
|
|
706
|
+
* @property {React.CSSProperties} [style] - 인라인 스타일 / Inline style
|
|
707
|
+
*/
|
|
708
|
+
interface ProgressCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
709
|
+
title: string;
|
|
710
|
+
current: number;
|
|
711
|
+
total: number;
|
|
712
|
+
unit?: string;
|
|
713
|
+
description?: string;
|
|
714
|
+
icon?: IconName | React.ReactNode;
|
|
715
|
+
color?: Color;
|
|
716
|
+
variant?: "default" | "gradient" | "outline" | "elevated";
|
|
717
|
+
showPercentage?: boolean;
|
|
718
|
+
showLabel?: boolean;
|
|
719
|
+
size?: "sm" | "md" | "lg";
|
|
720
|
+
loading?: boolean;
|
|
721
|
+
dot?: string;
|
|
722
|
+
style?: React.CSSProperties;
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* ProgressCard 컴포넌트 / ProgressCard component
|
|
726
|
+
*
|
|
727
|
+
* 진행률을 표시하는 카드 컴포넌트입니다.
|
|
728
|
+
* 현재 값과 전체 값을 비교하여 진행률을 시각적으로 표시합니다.
|
|
729
|
+
*
|
|
730
|
+
* Card component that displays progress.
|
|
731
|
+
* Compares current value with total value to visually display progress.
|
|
732
|
+
*
|
|
733
|
+
* @component
|
|
734
|
+
* @example
|
|
735
|
+
* // 기본 사용 / Basic usage
|
|
736
|
+
* <ProgressCard
|
|
737
|
+
* title="목표 달성률"
|
|
738
|
+
* current={75}
|
|
739
|
+
* total={100}
|
|
740
|
+
* unit="%"
|
|
741
|
+
* description="이번 달 목표"
|
|
742
|
+
* />
|
|
743
|
+
*
|
|
744
|
+
* @example
|
|
745
|
+
* // 퍼센트 표시 / Show percentage
|
|
746
|
+
* <ProgressCard
|
|
747
|
+
* title="판매 진행률"
|
|
748
|
+
* current={150}
|
|
749
|
+
* total={200}
|
|
750
|
+
* showPercentage
|
|
751
|
+
* color="green"
|
|
752
|
+
* variant="gradient"
|
|
753
|
+
* />
|
|
754
|
+
*
|
|
755
|
+
* @param {ProgressCardProps} props - ProgressCard 컴포넌트의 props / ProgressCard component props
|
|
756
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
757
|
+
* @returns {JSX.Element} ProgressCard 컴포넌트 / ProgressCard component
|
|
758
|
+
*/
|
|
759
|
+
declare const ProgressCard: React.ForwardRefExoticComponent<ProgressCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
760
|
+
|
|
761
|
+
type TransactionStatus = "approved" | "pending" | "failed" | "refunded" | "cancelled" | "review";
|
|
762
|
+
type TransactionColumnKey = "id" | "merchant" | "amount" | "status" | "method" | "date" | "fee" | "customer";
|
|
763
|
+
/**
|
|
764
|
+
* 거래 테이블 행 인터페이스
|
|
765
|
+
* @typedef {Object} TransactionRow
|
|
766
|
+
* @property {string} id - 거래 ID
|
|
767
|
+
* @property {string} merchant - 가맹점
|
|
768
|
+
* @property {number} amount - 거래 금액
|
|
769
|
+
* @property {string} [currency] - 통화
|
|
770
|
+
* @property {TransactionStatus} status - 거래 상태
|
|
771
|
+
* @property {string} [method] - 결제수단
|
|
772
|
+
* @property {string | Date} date - 거래 일시
|
|
773
|
+
* @property {string} [customer] - 고객 정보
|
|
774
|
+
* @property {number} [fee] - 수수료
|
|
775
|
+
* @property {string} [reference] - 참조 번호
|
|
776
|
+
*/
|
|
777
|
+
interface TransactionRow {
|
|
778
|
+
id: string;
|
|
779
|
+
merchant: string;
|
|
780
|
+
amount: number;
|
|
781
|
+
currency?: string;
|
|
782
|
+
status: TransactionStatus;
|
|
783
|
+
method?: string;
|
|
784
|
+
date: string | Date;
|
|
785
|
+
customer?: string;
|
|
786
|
+
fee?: number;
|
|
787
|
+
reference?: string;
|
|
788
|
+
[key: string]: unknown;
|
|
789
|
+
}
|
|
790
|
+
/**
|
|
791
|
+
* 거래 테이블 컬럼 설정 인터페이스
|
|
792
|
+
* @typedef {Object} TransactionColumnConfig
|
|
793
|
+
* @property {TransactionColumnKey} key - 컬럼 키
|
|
794
|
+
* @property {string} [label] - 컬럼 라벨
|
|
795
|
+
* @property {"left" | "center" | "right"} [align] - 정렬
|
|
796
|
+
* @property {string} [width] - 컬럼 너비
|
|
797
|
+
* @property {(row: TransactionRow) => React.ReactNode} [render] - 커스텀 렌더러
|
|
798
|
+
*/
|
|
799
|
+
interface TransactionColumnConfig {
|
|
800
|
+
key: TransactionColumnKey;
|
|
801
|
+
label?: string;
|
|
802
|
+
align?: "left" | "center" | "right";
|
|
803
|
+
width?: string;
|
|
804
|
+
render?: (row: TransactionRow) => React.ReactNode;
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* TransactionsTable 컴포넌트의 props
|
|
808
|
+
* @typedef {Object} TransactionsTableProps
|
|
809
|
+
* @property {TransactionRow[]} rows - 거래 행 배열
|
|
810
|
+
* @property {TransactionColumnConfig[]} [columns] - 컬럼 설정 배열
|
|
811
|
+
* @property {boolean} [isLoading=false] - 로딩 상태
|
|
812
|
+
* @property {number} [loadingRows] - 로딩 행 수
|
|
813
|
+
* @property {React.ReactNode} [caption] - 테이블 캡션
|
|
814
|
+
* @property {React.ReactNode} [filters] - 필터 컴포넌트
|
|
815
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트
|
|
816
|
+
* @property {(row: TransactionRow) => void} [onRowClick] - 행 클릭 핸들러
|
|
817
|
+
* @property {(row: TransactionRow) => boolean} [highlightRow] - 행 강조 조건
|
|
818
|
+
* @property {Partial<Record<TransactionStatus, string>>} [statusLabels] - 상태 라벨 커스터마이징
|
|
819
|
+
* @property {(status: TransactionStatus, row: TransactionRow) => React.ReactNode} [statusRenderer] - 상태 커스텀 렌더러
|
|
820
|
+
* @property {(row: TransactionRow) => React.ReactNode} [amountFormatter] - 금액 커스텀 포맷터
|
|
821
|
+
* @property {(row: TransactionRow) => React.ReactNode} [methodFormatter] - 결제수단 커스텀 포맷터
|
|
822
|
+
* @property {(row: TransactionRow) => React.ReactNode} [dateFormatter] - 날짜 커스텀 포맷터
|
|
823
|
+
* @property {string} [locale="ko-KR"] - 로케일
|
|
824
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화
|
|
825
|
+
* @property {string} [dot] - dot 유틸리티 스트링
|
|
826
|
+
* @property {React.ReactNode} [footer] - 푸터 컴포넌트
|
|
827
|
+
* @property {(row: TransactionRow) => string} [rowActionLabel] - 행 액션 라벨 생성 함수
|
|
828
|
+
* @property {string} [rowActionHint] - 행 액션 힌트 텍스트
|
|
829
|
+
*/
|
|
830
|
+
interface TransactionsTableProps {
|
|
831
|
+
rows: TransactionRow[];
|
|
832
|
+
columns?: TransactionColumnConfig[];
|
|
833
|
+
isLoading?: boolean;
|
|
834
|
+
loadingRows?: number;
|
|
835
|
+
caption?: React.ReactNode;
|
|
836
|
+
filters?: React.ReactNode;
|
|
837
|
+
emptyState?: React.ReactNode;
|
|
838
|
+
onRowClick?: (row: TransactionRow) => void;
|
|
839
|
+
highlightRow?: (row: TransactionRow) => boolean;
|
|
840
|
+
statusLabels?: Partial<Record<TransactionStatus, string>>;
|
|
841
|
+
statusRenderer?: (status: TransactionStatus, row: TransactionRow) => React.ReactNode;
|
|
842
|
+
amountFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
843
|
+
methodFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
844
|
+
dateFormatter?: (row: TransactionRow) => React.ReactNode;
|
|
845
|
+
locale?: string;
|
|
846
|
+
defaultCurrency?: string;
|
|
847
|
+
style?: React.CSSProperties;
|
|
848
|
+
dot?: string;
|
|
849
|
+
footer?: React.ReactNode;
|
|
850
|
+
rowActionLabel?: (row: TransactionRow) => string;
|
|
851
|
+
rowActionHint?: string;
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* TransactionsTable 컴포넌트
|
|
855
|
+
*
|
|
856
|
+
* 거래 목록을 테이블 형태로 표시하는 컴포넌트입니다.
|
|
857
|
+
* 정렬, 필터링, 커스텀 렌더링 등을 지원합니다.
|
|
858
|
+
*
|
|
859
|
+
* Table component that displays transaction list.
|
|
860
|
+
* Supports sorting, filtering, and custom rendering.
|
|
861
|
+
*
|
|
862
|
+
* @component
|
|
863
|
+
* @example
|
|
864
|
+
* // 기본 사용 / Basic usage
|
|
865
|
+
* <TransactionsTable
|
|
866
|
+
* rows={[
|
|
867
|
+
* {
|
|
868
|
+
* id: "tx_123",
|
|
869
|
+
* merchant: "가맹점 A",
|
|
870
|
+
* amount: 100000,
|
|
871
|
+
* status: "approved",
|
|
872
|
+
* method: "카드",
|
|
873
|
+
* date: new Date()
|
|
874
|
+
* }
|
|
875
|
+
* ]}
|
|
876
|
+
* onRowClick={(row) => console.log(row)}
|
|
877
|
+
* />
|
|
878
|
+
*
|
|
879
|
+
* @example
|
|
880
|
+
* // 커스텀 컬럼과 포맷터 / Custom columns and formatters
|
|
881
|
+
* <TransactionsTable
|
|
882
|
+
* rows={transactions}
|
|
883
|
+
* columns={[
|
|
884
|
+
* { key: "id", label: "ID" },
|
|
885
|
+
* { key: "amount", label: "금액", align: "right" },
|
|
886
|
+
* { key: "status", label: "상태" }
|
|
887
|
+
* ]}
|
|
888
|
+
* amountFormatter={(row) => `₩${row.amount.toLocaleString()}`}
|
|
889
|
+
* statusRenderer={(status) => <CustomBadge status={status} />}
|
|
890
|
+
* isLoading={loading}
|
|
891
|
+
* />
|
|
892
|
+
*
|
|
893
|
+
* @param {TransactionsTableProps} props - TransactionsTable 컴포넌트의 props / TransactionsTable component props
|
|
894
|
+
* @returns {JSX.Element} TransactionsTable 컴포넌트 / TransactionsTable component
|
|
895
|
+
*/
|
|
896
|
+
declare const TransactionsTable: React.FC<TransactionsTableProps>;
|
|
897
|
+
|
|
898
|
+
type TrendSeriesPalette = "approval" | "settlement" | "custom";
|
|
899
|
+
/**
|
|
900
|
+
* 트렌드 시리즈 인터페이스
|
|
901
|
+
* @typedef {Object} TrendSeries
|
|
902
|
+
* @property {string} label - 시리즈 라벨
|
|
903
|
+
* @property {number[]} data - 데이터 배열
|
|
904
|
+
* @property {string} [color] - 커스텀 색상
|
|
905
|
+
* @property {boolean} [area] - 영역 채우기 여부
|
|
906
|
+
*/
|
|
907
|
+
interface TrendSeries {
|
|
908
|
+
label: string;
|
|
909
|
+
data: number[];
|
|
910
|
+
color?: string;
|
|
911
|
+
area?: boolean;
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* TrendChart 컴포넌트의 props / TrendChart component props
|
|
915
|
+
* @typedef {Object} TrendChartProps
|
|
916
|
+
* @property {TrendSeries[]} series - 시리즈 배열 / Series array
|
|
917
|
+
* @property {string[]} categories - 카테고리 배열 / Categories array
|
|
918
|
+
* @property {TrendSeriesPalette} [palette="approval"] - 색상 팔레트 / Color palette
|
|
919
|
+
* @property {number} [height=200] - 차트 높이 (px) / Chart height (px)
|
|
920
|
+
* @property {boolean} [showLegend=true] - 범례 표시 여부 / Show legend
|
|
921
|
+
* @property {boolean} [showDots=true] - 점 표시 여부 / Show dots
|
|
922
|
+
* @property {boolean} [showTooltip=false] - 툴팁 표시 여부 / Show tooltip
|
|
923
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
924
|
+
*/
|
|
925
|
+
interface TrendChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
926
|
+
series: TrendSeries[];
|
|
927
|
+
categories: string[];
|
|
928
|
+
palette?: TrendSeriesPalette;
|
|
929
|
+
height?: number;
|
|
930
|
+
showLegend?: boolean;
|
|
931
|
+
showDots?: boolean;
|
|
932
|
+
showTooltip?: boolean;
|
|
933
|
+
dot?: string;
|
|
934
|
+
}
|
|
935
|
+
/**
|
|
936
|
+
* TrendChart 컴포넌트
|
|
937
|
+
*
|
|
938
|
+
* 트렌드 데이터를 선 그래프로 표시하는 컴포넌트입니다.
|
|
939
|
+
* 여러 시리즈를 동시에 표시할 수 있으며, 영역 채우기 옵션을 제공합니다.
|
|
940
|
+
*
|
|
941
|
+
* Line chart component that displays trend data.
|
|
942
|
+
* Can display multiple series simultaneously with area fill option.
|
|
943
|
+
*
|
|
944
|
+
* @component
|
|
945
|
+
* @example
|
|
946
|
+
* // 기본 사용 / Basic usage
|
|
947
|
+
* <TrendChart
|
|
948
|
+
* series={[
|
|
949
|
+
* { label: "승인", data: [10, 20, 15, 30, 25] },
|
|
950
|
+
* { label: "거부", data: [5, 10, 8, 15, 12] }
|
|
951
|
+
* ]}
|
|
952
|
+
* categories={["월", "화", "수", "목", "금"]}
|
|
953
|
+
* palette="approval"
|
|
954
|
+
* />
|
|
955
|
+
*
|
|
956
|
+
* @example
|
|
957
|
+
* // 영역 채우기와 커스텀 색상 / Area fill and custom color
|
|
958
|
+
* <TrendChart
|
|
959
|
+
* series={[
|
|
960
|
+
* { label: "정산", data: [100, 200, 150], area: true, color: "#6366f1" }
|
|
961
|
+
* ]}
|
|
962
|
+
* categories={["1월", "2월", "3월"]}
|
|
963
|
+
* palette="settlement"
|
|
964
|
+
* showDots={true}
|
|
965
|
+
* showTooltip={true}
|
|
966
|
+
* />
|
|
967
|
+
*
|
|
968
|
+
* @param {TrendChartProps} props - TrendChart 컴포넌트의 props / TrendChart component props
|
|
969
|
+
* @returns {JSX.Element} TrendChart 컴포넌트 / TrendChart component
|
|
970
|
+
*/
|
|
971
|
+
declare const TrendChart: React.FC<TrendChartProps>;
|
|
972
|
+
|
|
973
|
+
/**
|
|
974
|
+
* BarChartData 인터페이스 / BarChartData interface
|
|
975
|
+
* @typedef {Object} BarChartData
|
|
976
|
+
* @property {string} label - 막대 라벨 / Bar label
|
|
977
|
+
* @property {number} value - 막대 값 / Bar value
|
|
978
|
+
* @property {string} [color] - 커스텀 색상 / Custom color
|
|
979
|
+
* @property {boolean} [highlight] - 강조 표시 여부 / Highlight display
|
|
980
|
+
*/
|
|
981
|
+
interface BarChartData {
|
|
982
|
+
label: string;
|
|
983
|
+
value: number;
|
|
984
|
+
color?: string;
|
|
985
|
+
highlight?: boolean;
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* BarChart 컴포넌트의 props / BarChart component props
|
|
989
|
+
* @typedef {Object} BarChartProps
|
|
990
|
+
* @property {BarChartData[]} data - 차트 데이터 배열 / Chart data array
|
|
991
|
+
* @property {string} [title] - 차트 제목 / Chart title
|
|
992
|
+
* @property {number} [height=200] - 차트 높이 (px) / Chart height (px)
|
|
993
|
+
* @property {boolean} [showValues=true] - 값 표시 여부 / Show values
|
|
994
|
+
* @property {boolean} [showLabels=true] - 라벨 표시 여부 / Show labels
|
|
995
|
+
* @property {number} [maxValue] - 최대값 (자동 계산 시 생략) / Maximum value (omit for auto-calculation)
|
|
996
|
+
* @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [colorScheme="blue"] - 색상 스킴 / Color scheme
|
|
997
|
+
* @property {"default" | "gradient"} [variant="gradient"] - 차트 스타일 변형 / Chart style variant
|
|
998
|
+
* @property {boolean} [showGrid=true] - 그리드 표시 여부 / Show grid
|
|
999
|
+
* @property {boolean} [showTooltip] - 툴팁 표시 여부 / Show tooltip
|
|
1000
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
1001
|
+
*/
|
|
1002
|
+
interface BarChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
1003
|
+
data: BarChartData[];
|
|
1004
|
+
title?: string;
|
|
1005
|
+
height?: number;
|
|
1006
|
+
showValues?: boolean;
|
|
1007
|
+
showLabels?: boolean;
|
|
1008
|
+
maxValue?: number;
|
|
1009
|
+
colorScheme?: "blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray";
|
|
1010
|
+
variant?: "default" | "gradient";
|
|
1011
|
+
showGrid?: boolean;
|
|
1012
|
+
showTooltip?: boolean;
|
|
1013
|
+
dot?: string;
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* BarChart 컴포넌트
|
|
1017
|
+
*
|
|
1018
|
+
* 막대 차트를 표시하는 컴포넌트입니다.
|
|
1019
|
+
* 다양한 색상 스킴과 그라디언트 스타일을 지원합니다.
|
|
1020
|
+
*
|
|
1021
|
+
* Bar chart component that displays data in bar format.
|
|
1022
|
+
* Supports various color schemes and gradient styles.
|
|
1023
|
+
*
|
|
1024
|
+
* @component
|
|
1025
|
+
* @example
|
|
1026
|
+
* // 기본 사용 / Basic usage
|
|
1027
|
+
* <BarChart
|
|
1028
|
+
* data={[
|
|
1029
|
+
* { label: "월", value: 100 },
|
|
1030
|
+
* { label: "화", value: 200 },
|
|
1031
|
+
* { label: "수", value: 150 }
|
|
1032
|
+
* ]}
|
|
1033
|
+
* title="주간 매출"
|
|
1034
|
+
* />
|
|
1035
|
+
*
|
|
1036
|
+
* @example
|
|
1037
|
+
* // 커스텀 색상 및 강조 / Custom color and highlight
|
|
1038
|
+
* <BarChart
|
|
1039
|
+
* data={[
|
|
1040
|
+
* { label: "1월", value: 1000, highlight: true },
|
|
1041
|
+
* { label: "2월", value: 1200 },
|
|
1042
|
+
* { label: "3월", value: 1500 }
|
|
1043
|
+
* ]}
|
|
1044
|
+
* colorScheme="green"
|
|
1045
|
+
* variant="gradient"
|
|
1046
|
+
* showTooltip
|
|
1047
|
+
* />
|
|
1048
|
+
*
|
|
1049
|
+
* @param {BarChartProps} props - BarChart 컴포넌트의 props / BarChart component props
|
|
1050
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
1051
|
+
* @returns {JSX.Element} BarChart 컴포넌트 / BarChart component
|
|
1052
|
+
*/
|
|
1053
|
+
declare const BarChart: React.ForwardRefExoticComponent<BarChartProps & React.RefAttributes<HTMLDivElement>>;
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* 거래 상세 정보 인터페이스 / TransactionDetail interface
|
|
1057
|
+
* @typedef {Object} TransactionDetail
|
|
1058
|
+
* @property {string} id - 거래 ID / Transaction ID
|
|
1059
|
+
* @property {TransactionStatus} status - 거래 상태 / Transaction status
|
|
1060
|
+
* @property {number} amount - 거래 금액 / Transaction amount
|
|
1061
|
+
* @property {string} [currency] - 통화 / Currency
|
|
1062
|
+
* @property {string} [merchant] - 가맹점 / Merchant
|
|
1063
|
+
* @property {string} [method] - 결제수단 / Payment method
|
|
1064
|
+
* @property {string | Date} [createdAt] - 생성일시 / Created date
|
|
1065
|
+
* @property {string | Date} [approvedAt] - 승인일시 / Approved date
|
|
1066
|
+
* @property {string} [customer] - 고객 정보 / Customer information
|
|
1067
|
+
* @property {string} [reference] - 참조 번호 / Reference number
|
|
1068
|
+
*/
|
|
1069
|
+
interface TransactionDetail {
|
|
1070
|
+
id: string;
|
|
1071
|
+
status: TransactionStatus;
|
|
1072
|
+
amount: number;
|
|
1073
|
+
currency?: string;
|
|
1074
|
+
merchant?: string;
|
|
1075
|
+
method?: string;
|
|
1076
|
+
createdAt?: string | Date;
|
|
1077
|
+
approvedAt?: string | Date;
|
|
1078
|
+
customer?: string;
|
|
1079
|
+
reference?: string;
|
|
1080
|
+
}
|
|
1081
|
+
/**
|
|
1082
|
+
* 거래 메타데이터 아이템 인터페이스 / TransactionMetadataItem interface
|
|
1083
|
+
* @typedef {Object} TransactionMetadataItem
|
|
1084
|
+
* @property {string} label - 라벨 / Label
|
|
1085
|
+
* @property {React.ReactNode} value - 값 / Value
|
|
1086
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
1087
|
+
*/
|
|
1088
|
+
interface TransactionMetadataItem {
|
|
1089
|
+
label: string;
|
|
1090
|
+
value: React.ReactNode;
|
|
1091
|
+
icon?: IconName;
|
|
1092
|
+
}
|
|
1093
|
+
type SettlementStatus = "pending" | "processing" | "completed" | "failed";
|
|
1094
|
+
/**
|
|
1095
|
+
* 정산 정보 인터페이스 / SettlementInfo interface
|
|
1096
|
+
* @typedef {Object} SettlementInfo
|
|
1097
|
+
* @property {SettlementStatus} [status] - 정산 상태 / Settlement status
|
|
1098
|
+
* @property {number} [amount] - 정산 금액 / Settlement amount
|
|
1099
|
+
* @property {string} [currency] - 통화 / Currency
|
|
1100
|
+
* @property {string | Date} [scheduledDate] - 예정일 / Scheduled date
|
|
1101
|
+
* @property {string} [expectedPayout] - 예상 지급액 / Expected payout
|
|
1102
|
+
* @property {string} [bankAccount] - 계좌 정보 / Bank account information
|
|
1103
|
+
* @property {string} [reference] - 참조 번호 / Reference number
|
|
1104
|
+
* @property {string} [note] - 메모 / Note
|
|
1105
|
+
*/
|
|
1106
|
+
interface SettlementInfo {
|
|
1107
|
+
status?: SettlementStatus;
|
|
1108
|
+
amount?: number;
|
|
1109
|
+
currency?: string;
|
|
1110
|
+
scheduledDate?: string | Date;
|
|
1111
|
+
expectedPayout?: string;
|
|
1112
|
+
bankAccount?: string;
|
|
1113
|
+
reference?: string;
|
|
1114
|
+
note?: string;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* 수수료 내역 인터페이스 / FeeBreakdown interface
|
|
1118
|
+
* @typedef {Object} FeeBreakdown
|
|
1119
|
+
* @property {string} label - 수수료 라벨 / Fee label
|
|
1120
|
+
* @property {number} amount - 수수료 금액 / Fee amount
|
|
1121
|
+
* @property {string} [currency] - 통화 / Currency
|
|
1122
|
+
* @property {string} [description] - 설명 / Description
|
|
1123
|
+
*/
|
|
1124
|
+
interface FeeBreakdown {
|
|
1125
|
+
label: string;
|
|
1126
|
+
amount: number;
|
|
1127
|
+
currency?: string;
|
|
1128
|
+
description?: string;
|
|
1129
|
+
}
|
|
1130
|
+
/**
|
|
1131
|
+
* 거래 이벤트 인터페이스 / TransactionEvent interface
|
|
1132
|
+
* @typedef {Object} TransactionEvent
|
|
1133
|
+
* @property {string} id - 이벤트 ID / Event ID
|
|
1134
|
+
* @property {string} title - 이벤트 제목 / Event title
|
|
1135
|
+
* @property {string} [description] - 설명 / Description
|
|
1136
|
+
* @property {string | Date} timestamp - 타임스탬프 / Timestamp
|
|
1137
|
+
* @property {"success" | "warning" | "error" | "info"} [status] - 이벤트 상태 / Event status
|
|
1138
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
1139
|
+
* @property {string} [actor] - 실행자 / Actor
|
|
1140
|
+
*/
|
|
1141
|
+
interface TransactionEvent {
|
|
1142
|
+
id: string;
|
|
1143
|
+
title: string;
|
|
1144
|
+
description?: string;
|
|
1145
|
+
timestamp: string | Date;
|
|
1146
|
+
status?: "success" | "warning" | "error" | "info";
|
|
1147
|
+
icon?: IconName;
|
|
1148
|
+
actor?: string;
|
|
1149
|
+
}
|
|
1150
|
+
/**
|
|
1151
|
+
* TransactionDetailDrawer 컴포넌트의 props / TransactionDetailDrawer component props
|
|
1152
|
+
* @typedef {Object} TransactionDetailDrawerProps
|
|
1153
|
+
* @property {boolean} open - 드로어 열림 상태 / Drawer open state
|
|
1154
|
+
* @property {() => void} onClose - 닫기 핸들러 / Close handler
|
|
1155
|
+
* @property {TransactionDetail} [transaction] - 거래 상세 정보 / Transaction detail information
|
|
1156
|
+
* @property {TransactionMetadataItem[]} [metadata=[]] - 메타데이터 배열 / Metadata array
|
|
1157
|
+
* @property {SettlementInfo} [settlement] - 정산 정보 / Settlement information
|
|
1158
|
+
* @property {FeeBreakdown[]} [fees=[]] - 수수료 내역 배열 / Fee breakdown array
|
|
1159
|
+
* @property {TransactionEvent[]} [events=[]] - 이벤트 로그 배열 / Event log array
|
|
1160
|
+
* @property {React.ReactNode} [actions] - 액션 컴포넌트 / Actions component
|
|
1161
|
+
* @property {React.ReactNode} [summary] - 요약 컴포넌트 / Summary component
|
|
1162
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
1163
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
1164
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
|
|
1165
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
1166
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
1167
|
+
*/
|
|
1168
|
+
interface TransactionDetailDrawerProps {
|
|
1169
|
+
open: boolean;
|
|
1170
|
+
onClose: () => void;
|
|
1171
|
+
transaction?: TransactionDetail;
|
|
1172
|
+
metadata?: TransactionMetadataItem[];
|
|
1173
|
+
settlement?: SettlementInfo;
|
|
1174
|
+
fees?: FeeBreakdown[];
|
|
1175
|
+
events?: TransactionEvent[];
|
|
1176
|
+
actions?: React.ReactNode;
|
|
1177
|
+
summary?: React.ReactNode;
|
|
1178
|
+
loading?: boolean;
|
|
1179
|
+
locale?: string;
|
|
1180
|
+
defaultCurrency?: string;
|
|
1181
|
+
emptyState?: React.ReactNode;
|
|
1182
|
+
dot?: string;
|
|
1183
|
+
}
|
|
1184
|
+
/**
|
|
1185
|
+
* TransactionDetailDrawer 컴포넌트
|
|
1186
|
+
*
|
|
1187
|
+
* 거래 상세 정보를 표시하는 드로어 컴포넌트입니다.
|
|
1188
|
+
* 거래 정보, 정산 정보, 수수료 내역, 이벤트 로그 등을 포함합니다.
|
|
1189
|
+
*
|
|
1190
|
+
* Drawer component that displays detailed transaction information.
|
|
1191
|
+
* Includes transaction details, settlement info, fee breakdown, and event logs.
|
|
1192
|
+
*
|
|
1193
|
+
* @component
|
|
1194
|
+
* @example
|
|
1195
|
+
* // 기본 사용 / Basic usage
|
|
1196
|
+
* <TransactionDetailDrawer
|
|
1197
|
+
* open={isOpen}
|
|
1198
|
+
* onClose={() => setIsOpen(false)}
|
|
1199
|
+
* transaction={{
|
|
1200
|
+
* id: "tx_123",
|
|
1201
|
+
* status: "approved",
|
|
1202
|
+
* amount: 100000,
|
|
1203
|
+
* currency: "KRW",
|
|
1204
|
+
* merchant: "가맹점 A"
|
|
1205
|
+
* }}
|
|
1206
|
+
* metadata={[
|
|
1207
|
+
* { label: "거래 ID", value: "tx_123", icon: "creditCard" },
|
|
1208
|
+
* { label: "고객", value: "홍길동", icon: "user" }
|
|
1209
|
+
* ]}
|
|
1210
|
+
* />
|
|
1211
|
+
*
|
|
1212
|
+
* @example
|
|
1213
|
+
* // 정산 정보 포함 / With settlement info
|
|
1214
|
+
* <TransactionDetailDrawer
|
|
1215
|
+
* open={isOpen}
|
|
1216
|
+
* onClose={handleClose}
|
|
1217
|
+
* transaction={transaction}
|
|
1218
|
+
* settlement={{
|
|
1219
|
+
* status: "processing",
|
|
1220
|
+
* amount: 95000,
|
|
1221
|
+
* currency: "KRW",
|
|
1222
|
+
* scheduledDate: new Date("2024-01-15")
|
|
1223
|
+
* }}
|
|
1224
|
+
* fees={[
|
|
1225
|
+
* { label: "수수료", amount: 5000, currency: "KRW" }
|
|
1226
|
+
* ]}
|
|
1227
|
+
* events={eventLogs}
|
|
1228
|
+
* />
|
|
1229
|
+
*
|
|
1230
|
+
* @param {TransactionDetailDrawerProps} props - TransactionDetailDrawer 컴포넌트의 props / TransactionDetailDrawer component props
|
|
1231
|
+
* @returns {JSX.Element} TransactionDetailDrawer 컴포넌트 / TransactionDetailDrawer component
|
|
1232
|
+
*/
|
|
1233
|
+
declare const TransactionDetailDrawer: React.FC<TransactionDetailDrawerProps>;
|
|
1234
|
+
|
|
1235
|
+
type SettlementTimelineStatus = "pending" | "processing" | "completed" | "failed";
|
|
1236
|
+
/**
|
|
1237
|
+
* 정산 타임라인 아이템 인터페이스 / SettlementTimelineItem interface
|
|
1238
|
+
* @typedef {Object} SettlementTimelineItem
|
|
1239
|
+
* @property {string} id - 아이템 고유 ID / Item unique ID
|
|
1240
|
+
* @property {string} title - 제목 / Title
|
|
1241
|
+
* @property {string} [description] - 설명 / Description
|
|
1242
|
+
* @property {SettlementTimelineStatus} status - 상태 / Status
|
|
1243
|
+
* @property {number} [amount] - 금액 / Amount
|
|
1244
|
+
* @property {string} [currency] - 통화 / Currency
|
|
1245
|
+
* @property {string | Date} [date] - 날짜 / Date
|
|
1246
|
+
* @property {string} [meta] - 메타 정보 / Meta information
|
|
1247
|
+
* @property {IconName} [icon] - 아이콘 / Icon
|
|
1248
|
+
*/
|
|
1249
|
+
interface SettlementTimelineItem {
|
|
1250
|
+
id: string;
|
|
1251
|
+
title: string;
|
|
1252
|
+
description?: string;
|
|
1253
|
+
status: SettlementTimelineStatus;
|
|
1254
|
+
amount?: number;
|
|
1255
|
+
currency?: string;
|
|
1256
|
+
date?: string | Date;
|
|
1257
|
+
meta?: string;
|
|
1258
|
+
icon?: IconName;
|
|
1259
|
+
}
|
|
1260
|
+
/**
|
|
1261
|
+
* SettlementTimeline 컴포넌트의 props / SettlementTimeline component props
|
|
1262
|
+
* @typedef {Object} SettlementTimelineProps
|
|
1263
|
+
* @property {SettlementTimelineItem[]} items - 타임라인 아이템 배열 / Timeline items array
|
|
1264
|
+
* @property {string} [highlightedId] - 강조할 아이템 ID / Highlighted item ID
|
|
1265
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
1266
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
|
|
1267
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
1268
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
1269
|
+
*/
|
|
1270
|
+
interface SettlementTimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
1271
|
+
items: SettlementTimelineItem[];
|
|
1272
|
+
highlightedId?: string;
|
|
1273
|
+
locale?: string;
|
|
1274
|
+
defaultCurrency?: string;
|
|
1275
|
+
emptyState?: React.ReactNode;
|
|
1276
|
+
dot?: string;
|
|
1277
|
+
}
|
|
1278
|
+
/**
|
|
1279
|
+
* SettlementTimeline 컴포넌트
|
|
1280
|
+
*
|
|
1281
|
+
* 정산 처리 단계를 타임라인 형태로 표시하는 컴포넌트입니다.
|
|
1282
|
+
* 각 단계의 상태, 금액, 날짜를 시각적으로 표시합니다.
|
|
1283
|
+
*
|
|
1284
|
+
* Timeline component that displays settlement processing stages.
|
|
1285
|
+
* Visually shows status, amount, and date for each stage.
|
|
1286
|
+
*
|
|
1287
|
+
* @component
|
|
1288
|
+
* @example
|
|
1289
|
+
* // 기본 사용 / Basic usage
|
|
1290
|
+
* <SettlementTimeline
|
|
1291
|
+
* items={[
|
|
1292
|
+
* {
|
|
1293
|
+
* id: "1",
|
|
1294
|
+
* title: "정산 요청",
|
|
1295
|
+
* status: "completed",
|
|
1296
|
+
* amount: 1000000,
|
|
1297
|
+
* currency: "KRW",
|
|
1298
|
+
* date: new Date("2024-01-01")
|
|
1299
|
+
* },
|
|
1300
|
+
* {
|
|
1301
|
+
* id: "2",
|
|
1302
|
+
* title: "처리 중",
|
|
1303
|
+
* status: "processing",
|
|
1304
|
+
* amount: 1000000,
|
|
1305
|
+
* currency: "KRW"
|
|
1306
|
+
* }
|
|
1307
|
+
* ]}
|
|
1308
|
+
* />
|
|
1309
|
+
*
|
|
1310
|
+
* @example
|
|
1311
|
+
* // 강조 기능 / Highlight feature
|
|
1312
|
+
* <SettlementTimeline
|
|
1313
|
+
* items={timelineItems}
|
|
1314
|
+
* highlightedId="2"
|
|
1315
|
+
* locale="en-US"
|
|
1316
|
+
* defaultCurrency="USD"
|
|
1317
|
+
* />
|
|
1318
|
+
*
|
|
1319
|
+
* @param {SettlementTimelineProps} props - SettlementTimeline 컴포넌트의 props / SettlementTimeline component props
|
|
1320
|
+
* @returns {JSX.Element} SettlementTimeline 컴포넌트 / SettlementTimeline component
|
|
1321
|
+
*/
|
|
1322
|
+
declare const SettlementTimeline: React.FC<SettlementTimelineProps>;
|
|
1323
|
+
|
|
1324
|
+
type RoutingStatus = "normal" | "warning" | "critical";
|
|
1325
|
+
/**
|
|
1326
|
+
* 라우팅 분할 세그먼트 인터페이스 / RoutingBreakdownSegment interface
|
|
1327
|
+
* @typedef {Object} RoutingBreakdownSegment
|
|
1328
|
+
* @property {string} id - 세그먼트 고유 ID / Segment unique ID
|
|
1329
|
+
* @property {string} label - 세그먼트 라벨 / Segment label
|
|
1330
|
+
* @property {number} value - 세그먼트 값 / Segment value
|
|
1331
|
+
* @property {string} [color] - 커스텀 색상 / Custom color
|
|
1332
|
+
* @property {RoutingStatus} [status] - 상태 / Status
|
|
1333
|
+
* @property {string} [icon] - 아이콘 이름 / Icon name
|
|
1334
|
+
* @property {string} [detail] - 상세 정보 / Detail information
|
|
1335
|
+
*/
|
|
1336
|
+
interface RoutingBreakdownSegment {
|
|
1337
|
+
id: string;
|
|
1338
|
+
label: string;
|
|
1339
|
+
value: number;
|
|
1340
|
+
color?: string;
|
|
1341
|
+
status?: RoutingStatus;
|
|
1342
|
+
icon?: string;
|
|
1343
|
+
detail?: string;
|
|
1344
|
+
}
|
|
1345
|
+
/**
|
|
1346
|
+
* RoutingBreakdownCard 컴포넌트의 props / RoutingBreakdownCard component props
|
|
1347
|
+
* @typedef {Object} RoutingBreakdownCardProps
|
|
1348
|
+
* @property {string} [title="PG / 결제수단 비중"] - 카드 제목 / Card title
|
|
1349
|
+
* @property {string} [description="라우팅별 처리 비율과 상태"] - 카드 설명 / Card description
|
|
1350
|
+
* @property {RoutingBreakdownSegment[]} segments - 세그먼트 배열 / Segments array
|
|
1351
|
+
* @property {string} [totalLabel="총 거래"] - 총계 라벨 / Total label
|
|
1352
|
+
* @property {React.ReactNode} [totalValue] - 총계 값 / Total value
|
|
1353
|
+
* @property {string} [highlightId] - 강조할 세그먼트 ID / Highlighted segment ID
|
|
1354
|
+
* @property {React.ReactNode} [actions] - 액션 컴포넌트 / Actions component
|
|
1355
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
1356
|
+
* @property {(segment: RoutingBreakdownSegment, percentage: number) => React.ReactNode} [formatter] - 커스텀 포맷터 / Custom formatter
|
|
1357
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
1358
|
+
*/
|
|
1359
|
+
interface RoutingBreakdownCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
1360
|
+
title?: string;
|
|
1361
|
+
description?: string;
|
|
1362
|
+
segments: RoutingBreakdownSegment[];
|
|
1363
|
+
totalLabel?: string;
|
|
1364
|
+
totalValue?: React.ReactNode;
|
|
1365
|
+
highlightId?: string;
|
|
1366
|
+
actions?: React.ReactNode;
|
|
1367
|
+
emptyState?: React.ReactNode;
|
|
1368
|
+
formatter?: (segment: RoutingBreakdownSegment, percentage: number) => React.ReactNode;
|
|
1369
|
+
dot?: string;
|
|
1370
|
+
}
|
|
1371
|
+
/**
|
|
1372
|
+
* RoutingBreakdownCard 컴포넌트
|
|
1373
|
+
*
|
|
1374
|
+
* PG 라우팅 또는 결제수단별 비중을 표시하는 카드 컴포넌트입니다.
|
|
1375
|
+
* 진행 바와 세그먼트별 상세 정보를 제공합니다.
|
|
1376
|
+
*
|
|
1377
|
+
* Card component that displays PG routing or payment method breakdown.
|
|
1378
|
+
* Provides progress bar and detailed information for each segment.
|
|
1379
|
+
*
|
|
1380
|
+
* @component
|
|
1381
|
+
* @example
|
|
1382
|
+
* // 기본 사용 / Basic usage
|
|
1383
|
+
* <RoutingBreakdownCard
|
|
1384
|
+
* title="PG 라우팅 비중"
|
|
1385
|
+
* segments={[
|
|
1386
|
+
* { id: "pg1", label: "PG A", value: 5000, status: "normal" },
|
|
1387
|
+
* { id: "pg2", label: "PG B", value: 3000, status: "warning" },
|
|
1388
|
+
* { id: "pg3", label: "PG C", value: 2000, status: "normal" }
|
|
1389
|
+
* ]}
|
|
1390
|
+
* totalValue="10,000"
|
|
1391
|
+
* />
|
|
1392
|
+
*
|
|
1393
|
+
* @example
|
|
1394
|
+
* // 강조 기능 / Highlight feature
|
|
1395
|
+
* <RoutingBreakdownCard
|
|
1396
|
+
* segments={segments}
|
|
1397
|
+
* highlightId="pg1"
|
|
1398
|
+
* formatter={(segment, percentage) => (
|
|
1399
|
+
* <div>
|
|
1400
|
+
* <span>{segment.value.toLocaleString()}</span>
|
|
1401
|
+
* <span>{percentage}%</span>
|
|
1402
|
+
* </div>
|
|
1403
|
+
* )}
|
|
1404
|
+
* />
|
|
1405
|
+
*
|
|
1406
|
+
* @param {RoutingBreakdownCardProps} props - RoutingBreakdownCard 컴포넌트의 props / RoutingBreakdownCard component props
|
|
1407
|
+
* @returns {JSX.Element} RoutingBreakdownCard 컴포넌트 / RoutingBreakdownCard component
|
|
1408
|
+
*/
|
|
1409
|
+
declare const RoutingBreakdownCard: React.FC<RoutingBreakdownCardProps>;
|
|
1410
|
+
|
|
1411
|
+
type MerchantHealth = "normal" | "warning" | "critical";
|
|
1412
|
+
/**
|
|
1413
|
+
* 가맹점 리스트 아이템 인터페이스 / MerchantListItem interface
|
|
1414
|
+
* @typedef {Object} MerchantListItem
|
|
1415
|
+
* @property {string} id - 가맹점 고유 ID / Merchant unique ID
|
|
1416
|
+
* @property {string} name - 가맹점 이름 / Merchant name
|
|
1417
|
+
* @property {string} [status] - 상태 / Status
|
|
1418
|
+
* @property {MerchantHealth} [health] - 건강 상태 / Health status
|
|
1419
|
+
* @property {number} [approvalRate] - 승인률 (0-1) / Approval rate (0-1)
|
|
1420
|
+
* @property {number} [volume] - 거래량 / Transaction volume
|
|
1421
|
+
* @property {string} [currency] - 통화 / Currency
|
|
1422
|
+
* @property {string} [category] - 카테고리 / Category
|
|
1423
|
+
* @property {string} [region] - 지역 / Region
|
|
1424
|
+
* @property {string | Date} [updatedAt] - 업데이트 시간 / Updated time
|
|
1425
|
+
* @property {string} [tag] - 태그 / Tag
|
|
1426
|
+
* @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
|
|
1427
|
+
* @property {Array<{ label: string; value: React.ReactNode }>} [metadata] - 메타데이터 / Metadata
|
|
1428
|
+
*/
|
|
1429
|
+
interface MerchantListItem {
|
|
1430
|
+
id: string;
|
|
1431
|
+
name: string;
|
|
1432
|
+
status?: string;
|
|
1433
|
+
health?: MerchantHealth;
|
|
1434
|
+
approvalRate?: number;
|
|
1435
|
+
volume?: number;
|
|
1436
|
+
currency?: string;
|
|
1437
|
+
category?: string;
|
|
1438
|
+
region?: string;
|
|
1439
|
+
updatedAt?: string | Date;
|
|
1440
|
+
tag?: string;
|
|
1441
|
+
icon?: IconName | React.ReactNode;
|
|
1442
|
+
metadata?: Array<{
|
|
1443
|
+
label: string;
|
|
1444
|
+
value: React.ReactNode;
|
|
1445
|
+
}>;
|
|
1446
|
+
}
|
|
1447
|
+
/**
|
|
1448
|
+
* MerchantList 컴포넌트의 props / MerchantList component props
|
|
1449
|
+
* @typedef {Object} MerchantListProps
|
|
1450
|
+
* @property {MerchantListItem[]} items - 가맹점 아이템 배열 / Merchant items array
|
|
1451
|
+
* @property {boolean} [isLoading=false] - 로딩 상태 / Loading state
|
|
1452
|
+
* @property {React.ReactNode} [filters] - 필터 컴포넌트 / Filter component
|
|
1453
|
+
* @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
|
|
1454
|
+
* @property {(merchant: MerchantListItem) => void} [onMerchantSelect] - 가맹점 선택 핸들러 / Merchant selection handler
|
|
1455
|
+
* @property {string} [locale="ko-KR"] - 로케일 / Locale
|
|
1456
|
+
* @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
|
|
1457
|
+
* @property {string} [dot] - dot 유틸리티 스트링 / dot utility string
|
|
1458
|
+
*/
|
|
1459
|
+
interface MerchantListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect" | "className"> {
|
|
1460
|
+
items: MerchantListItem[];
|
|
1461
|
+
isLoading?: boolean;
|
|
1462
|
+
filters?: React.ReactNode;
|
|
1463
|
+
emptyState?: React.ReactNode;
|
|
1464
|
+
onMerchantSelect?: (merchant: MerchantListItem) => void;
|
|
1465
|
+
locale?: string;
|
|
1466
|
+
defaultCurrency?: string;
|
|
1467
|
+
dot?: string;
|
|
1468
|
+
}
|
|
1469
|
+
/**
|
|
1470
|
+
* MerchantList 컴포넌트
|
|
1471
|
+
*
|
|
1472
|
+
* 가맹점 목록을 표시하는 컴포넌트입니다.
|
|
1473
|
+
* 가맹점 정보, 건강 상태, 승인률, 거래량 등을 카드 형태로 표시합니다.
|
|
1474
|
+
*
|
|
1475
|
+
* Component that displays a list of merchants.
|
|
1476
|
+
* Shows merchant information, health status, approval rate, and transaction volume in card format.
|
|
1477
|
+
*
|
|
1478
|
+
* @component
|
|
1479
|
+
* @example
|
|
1480
|
+
* // 기본 사용 / Basic usage
|
|
1481
|
+
* <MerchantList
|
|
1482
|
+
* items={[
|
|
1483
|
+
* {
|
|
1484
|
+
* id: "1",
|
|
1485
|
+
* name: "가맹점 A",
|
|
1486
|
+
* health: "normal",
|
|
1487
|
+
* approvalRate: 0.985,
|
|
1488
|
+
* volume: 1000000,
|
|
1489
|
+
* currency: "KRW"
|
|
1490
|
+
* }
|
|
1491
|
+
* ]}
|
|
1492
|
+
* onMerchantSelect={(merchant) => console.log(merchant)}
|
|
1493
|
+
* />
|
|
1494
|
+
*
|
|
1495
|
+
* @example
|
|
1496
|
+
* // 로딩 상태 / Loading state
|
|
1497
|
+
* <MerchantList
|
|
1498
|
+
* items={merchants}
|
|
1499
|
+
* isLoading={true}
|
|
1500
|
+
* filters={<FilterComponent />}
|
|
1501
|
+
* />
|
|
1502
|
+
*
|
|
1503
|
+
* @param {MerchantListProps} props - MerchantList 컴포넌트의 props / MerchantList component props
|
|
1504
|
+
* @returns {JSX.Element} MerchantList 컴포넌트 / MerchantList component
|
|
1505
|
+
*/
|
|
1506
|
+
declare const MerchantList: React.FC<MerchantListProps>;
|
|
1507
|
+
|
|
1508
|
+
interface YearlyHeatmapLabels {
|
|
1509
|
+
/** 제목 */
|
|
1510
|
+
title?: string;
|
|
1511
|
+
/** 총 일수 텍스트 (예: "9일 작성") */
|
|
1512
|
+
totalDays?: string;
|
|
1513
|
+
/** 범례 왼쪽 (예: "적음") */
|
|
1514
|
+
less?: string;
|
|
1515
|
+
/** 범례 오른쪽 (예: "많음") */
|
|
1516
|
+
more?: string;
|
|
1517
|
+
/** 툴팁 포맷 함수 (날짜, 카운트) => string */
|
|
1518
|
+
tooltip?: (dateStr: string, count: number) => string;
|
|
1519
|
+
}
|
|
1520
|
+
interface YearlyHeatmapProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
1521
|
+
/** 날짜별 데이터 (키: "YYYY-MM-DD", 값: count) */
|
|
1522
|
+
data: Record<string, number>;
|
|
1523
|
+
/** 색상 테마 */
|
|
1524
|
+
color?: Color;
|
|
1525
|
+
/** locale (요일/월 표시용, 예: "ko-KR") */
|
|
1526
|
+
locale?: string;
|
|
1527
|
+
/** 텍스트 라벨 */
|
|
1528
|
+
labels?: YearlyHeatmapLabels;
|
|
1529
|
+
/** dot 유틸리티 스트링 */
|
|
1530
|
+
dot?: string;
|
|
1531
|
+
}
|
|
1532
|
+
/**
|
|
1533
|
+
* GitHub 잔디 스타일 1년 히트맵
|
|
1534
|
+
* 가로: 주(52~53주), 세로: 요일(일~토)
|
|
1535
|
+
*/
|
|
1536
|
+
declare function YearlyHeatmap({ data, color, locale, labels, dot, style, ...props }: YearlyHeatmapProps): react_jsx_runtime.JSX.Element;
|
|
1537
|
+
|
|
1538
|
+
/**
|
|
1539
|
+
* StatsPanelItem 인터페이스 / StatsPanelItem interface
|
|
1540
|
+
* @typedef {Object} StatsPanelItem
|
|
1541
|
+
* @property {string} label - 통계 항목 라벨 / Stat item label
|
|
1542
|
+
* @property {string | React.ReactNode} value - 통계 값 / Stat value
|
|
1543
|
+
* @property {string | React.ReactNode} [description] - 통계 설명 / Stat description
|
|
1544
|
+
* @property {"up" | "down" | "neutral"} [trend] - 추세 방향 / Trend direction
|
|
1545
|
+
* @property {string} [trendValue] - 추세 값 / Trend value
|
|
1546
|
+
* @property {"primary" | "secondary" | "neutral" | "warning"} [accent] - 강조 색상 / Accent color
|
|
1547
|
+
* @property {React.ReactNode} [icon] - 아이콘 / Icon
|
|
1548
|
+
*/
|
|
1549
|
+
interface StatsPanelItem {
|
|
1550
|
+
label: string;
|
|
1551
|
+
value: string | React.ReactNode;
|
|
1552
|
+
description?: string | React.ReactNode;
|
|
1553
|
+
trend?: "up" | "down" | "neutral";
|
|
1554
|
+
trendValue?: string;
|
|
1555
|
+
accent?: "primary" | "secondary" | "neutral" | "warning";
|
|
1556
|
+
icon?: React.ReactNode;
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* StatsPanel 컴포넌트의 props / StatsPanel component props
|
|
1560
|
+
* @typedef {Object} StatsPanelProps
|
|
1561
|
+
* @property {string} [title] - 패널 제목 / Panel title
|
|
1562
|
+
* @property {StatsPanelItem[]} items - 통계 항목 배열 / Stat items array
|
|
1563
|
+
* @property {1 | 2 | 3 | 4} [columns=4] - 그리드 컬럼 수 / Grid column count
|
|
1564
|
+
* @property {boolean} [loading=false] - 로딩 상태 / Loading state
|
|
1565
|
+
* @extends {Omit<React.HTMLAttributes<HTMLDivElement>, 'className'>}
|
|
1566
|
+
*/
|
|
1567
|
+
interface StatsPanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
1568
|
+
title?: string;
|
|
1569
|
+
items: StatsPanelItem[];
|
|
1570
|
+
columns?: 1 | 2 | 3 | 4;
|
|
1571
|
+
loading?: boolean;
|
|
1572
|
+
dot?: string;
|
|
1573
|
+
style?: React.CSSProperties;
|
|
1574
|
+
}
|
|
1575
|
+
/**
|
|
1576
|
+
* StatsPanel 컴포넌트 / StatsPanel component
|
|
1577
|
+
*
|
|
1578
|
+
* 통계 정보를 표시하는 패널 컴포넌트입니다.
|
|
1579
|
+
* 여러 통계 항목을 그리드 형태로 표시하며, 추세 정보를 포함할 수 있습니다.
|
|
1580
|
+
*
|
|
1581
|
+
* Panel component that displays statistics.
|
|
1582
|
+
* Shows multiple stat items in grid format and can include trend information.
|
|
1583
|
+
*
|
|
1584
|
+
* @component
|
|
1585
|
+
* @example
|
|
1586
|
+
* // 기본 사용 / Basic usage
|
|
1587
|
+
* <StatsPanel
|
|
1588
|
+
* items={[
|
|
1589
|
+
* { label: "총 사용자", value: "1,234", trend: "up", trendValue: "+12%" },
|
|
1590
|
+
* { label: "활성 사용자", value: "567", trend: "down", trendValue: "-5%" }
|
|
1591
|
+
* ]}
|
|
1592
|
+
* />
|
|
1593
|
+
*
|
|
1594
|
+
* @example
|
|
1595
|
+
* // 2열 그리드, 제목 포함 / 2-column grid with title
|
|
1596
|
+
* <StatsPanel
|
|
1597
|
+
* title="통계"
|
|
1598
|
+
* columns={2}
|
|
1599
|
+
* items={[
|
|
1600
|
+
* { label: "항목 1", value: "100", accent: "primary" },
|
|
1601
|
+
* { label: "항목 2", value: "200", accent: "secondary" }
|
|
1602
|
+
* ]}
|
|
1603
|
+
* />
|
|
1604
|
+
*
|
|
1605
|
+
* @param {StatsPanelProps} props - StatsPanel 컴포넌트의 props / StatsPanel component props
|
|
1606
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
1607
|
+
* @returns {JSX.Element} StatsPanel 컴포넌트 / StatsPanel component
|
|
1608
|
+
*/
|
|
1609
|
+
declare const StatsPanel: React.ForwardRefExoticComponent<StatsPanelProps & React.RefAttributes<HTMLDivElement>>;
|
|
1610
|
+
|
|
1611
|
+
/**
|
|
1612
|
+
* SectionHeader 컴포넌트의 props / SectionHeader component props
|
|
1613
|
+
* @typedef {Object} SectionHeaderProps
|
|
1614
|
+
* @property {string} title - 섹션 제목 / Section title
|
|
1615
|
+
* @property {string} [description] - 섹션 설명 / Section description
|
|
1616
|
+
* @property {React.ReactNode} [action] - 액션 버튼 또는 요소 / Action button or element
|
|
1617
|
+
* @extends {Omit<React.HTMLAttributes<HTMLDivElement>, 'className'>}
|
|
1618
|
+
*/
|
|
1619
|
+
interface SectionHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'className'> {
|
|
1620
|
+
title: string;
|
|
1621
|
+
description?: string;
|
|
1622
|
+
action?: React.ReactNode;
|
|
1623
|
+
dot?: string;
|
|
1624
|
+
}
|
|
1625
|
+
/**
|
|
1626
|
+
* SectionHeader 컴포넌트 / SectionHeader component
|
|
1627
|
+
*
|
|
1628
|
+
* 섹션의 헤더를 표시하는 컴포넌트입니다.
|
|
1629
|
+
* 제목, 설명, 액션 버튼을 포함할 수 있습니다.
|
|
1630
|
+
*
|
|
1631
|
+
* Component that displays section header.
|
|
1632
|
+
* Can include title, description, and action button.
|
|
1633
|
+
*
|
|
1634
|
+
* @component
|
|
1635
|
+
* @example
|
|
1636
|
+
* // 기본 사용 / Basic usage
|
|
1637
|
+
* <SectionHeader title="섹션 제목" />
|
|
1638
|
+
*
|
|
1639
|
+
* @example
|
|
1640
|
+
* // 설명과 액션 포함 / With description and action
|
|
1641
|
+
* <SectionHeader
|
|
1642
|
+
* title="알림"
|
|
1643
|
+
* description="최근 알림 목록"
|
|
1644
|
+
* action={<Button>모두 읽음</Button>}
|
|
1645
|
+
* />
|
|
1646
|
+
*
|
|
1647
|
+
* @param {SectionHeaderProps} props - SectionHeader 컴포넌트의 props / SectionHeader component props
|
|
1648
|
+
* @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
|
|
1649
|
+
* @returns {JSX.Element} SectionHeader 컴포넌트 / SectionHeader component
|
|
1650
|
+
*/
|
|
1651
|
+
declare const SectionHeader: React.ForwardRefExoticComponent<SectionHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
1652
|
+
|
|
1653
|
+
export { type TransactionMetadataItem as $, ActivityFeed as A, BarChart as B, type SettlementInfo as C, DashboardGrid as D, SettlementTimeline as E, type FeeBreakdown as F, type SettlementTimelineItem as G, type SettlementTimelineProps as H, type SettlementTimelineStatus as I, StatCard as J, type StatCardProps as K, StatsPanel as L, MerchantList as M, NotificationCard as N, type StatsPanelItem as O, ProfileCard as P, QuickActionCard as Q, RoutingBreakdownCard as R, SectionHeader as S, TransactionsTable as T, type StatsPanelProps as U, SummaryCard as V, type SummaryCardProps as W, type TransactionColumnConfig as X, type TransactionColumnKey as Y, type TransactionDetail as Z, type TransactionEvent as _, type ActivityFeedProps as a, type TransactionRow as a0, type TransactionStatus as a1, TrendChart as a2, type TrendChartProps as a3, type TrendSeries as a4, YearlyHeatmap as a5, type YearlyHeatmapLabels as a6, type YearlyHeatmapProps as a7, type ActivityItem as b, type BarChartProps as c, type RoutingBreakdownCardProps as d, type DashboardGridProps as e, type TransactionsTableProps as f, TransactionDetailDrawer as g, type TransactionDetailDrawerProps as h, type MerchantListProps as i, MembershipBadge as j, type MembershipBadgeProps as k, type MembershipTier as l, type MerchantHealth as m, type MerchantListItem as n, MetricCard as o, type MetricCardProps as p, MiniBarChart as q, type MiniBarChartProps as r, type NotificationCardProps as s, type NotificationItem as t, type ProfileCardProps as u, ProgressCard as v, type ProgressCardProps as w, type QuickActionCardProps as x, type RoutingBreakdownSegment as y, type SectionHeaderProps as z };
|