@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
package/dist/landing.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/landing/themes/corporate.ts","../src/landing/themes/marketing.ts","../src/landing/themes/product.ts","../src/landing/themes/dashboard.ts","../src/landing/themes/app.ts","../src/landing/themes/immersive.ts","../src/landing/themes/portfolio.ts","../src/landing/themes/index.ts","../src/landing/LandingProvider.tsx","../src/landing/LandingHero.tsx","../src/landing/LandingFeatures.tsx","../src/landing/LandingStats.tsx","../src/landing/LandingCTA.tsx","../src/landing/LandingTestimonials.tsx","../src/landing/LandingLogoCloud.tsx","../src/landing/LandingShowcase.tsx","../src/landing/LandingAbout.tsx","../src/landing/LandingProjects.tsx","../src/landing/LandingSkills.tsx","../src/landing/LandingExperience.tsx","../src/landing/LandingMetrics.tsx","../src/landing/LandingContact.tsx","../src/landing/index.ts"],"names":["corporate","marketing","product","dashboard","app","immersive","portfolio","themeRegistry","resolveTheme","theme","createLandingTheme","base","overrides","baseTheme","LandingContext","createContext","useLandingTheme","ctx","useContext","buildCssVars","c","LandingProvider","children","resolved","useMemo","style","jsx","resolveMotion","themeMotion","override","getInitialTransform","type","LandingHero","title","subtitle","description","primaryAction","secondaryAction","sizeProp","bgProp","gradientColors","scrollIndicator","motionOverride","className","rest","size","bg","motion","contentStyle","jsxs","merge","AnimatedGradient","Container","useStagger","R","gridColsMap","renderCard","item","cardType","GlowCard","SpotlightCard","FeatureCard","LandingFeatures","items","columnsProp","cardProp","sectionProps","staggerDelayProp","decoratorProp","staggerDelay","decorator","columns","header","stagger","Section","i","parseStatValue","value","match","useCountUp","target","isVisible","duration","current","setCurrent","useState","rafRef","useRef","animate","useCallback","start","step","now","elapsed","progress","eased","useEffect","StatItemDisplay","numberSize","countUp","_a","_b","numeric","parsedPrefix","parsedSuffix","counted","displayPrefix","displaySuffix","displayValue","LandingStats","countUpProp","numberSizeProp","gridCols","useScrollReveal","LandingCTA","scrollReveal","fallbackStyle","TestimonialCard","Avatar","LandingTestimonials","variantProp","colsProp","autoPlay","interval","staggerProp","variant","Marquee","Carousel","cols","LandingLogoCloud","logos","speedProp","logoHeight","speed","logoElements","logo","img","LandingShowcase","isEven","LandingAbout","name","role","bio","avatar","socialLinks","link","Icon","TiltCard","mc","ProjectCard","Card","tag","LandingProjects","filter","selectedTag","setSelectedTag","allTags","tagSet","filteredItems","getBarColor","level","LandingSkills","ExperienceItem","LandingExperience","getMetricColor","MetricBar","delay","animatedValue","setAnimatedValue","color","timer","LandingMetrics","tabs","activeTab","setActiveTab","displayItems","tab","LandingContact","email","Landing"],"mappings":"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","file":"landing.mjs","sourcesContent":["import type { LandingTheme } from '../types'\n\nexport const corporate: LandingTheme = {\n name: 'corporate',\n colors: {\n background: '0 0% 100%',\n foreground: '222 47% 11%',\n muted: '210 40% 96%',\n mutedForeground: '215 16% 47%',\n primary: '217 91% 53%',\n primaryForeground: '0 0% 100%',\n secondary: '215 16% 93%',\n secondaryForeground: '222 47% 11%',\n card: '0 0% 100%',\n cardForeground: '222 47% 11%',\n border: '214 32% 91%',\n sectionAlt: '210 40% 98%',\n },\n hero: {\n background: 'gradient',\n size: 'xl',\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n features: {\n card: 'spotlight',\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n decorator: true,\n },\n stats: {\n numberSize: 'text-4xl',\n countUp: false,\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n logoCloud: {\n variant: 'grid',\n speed: 40,\n },\n showcase: {\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const marketing: LandingTheme = {\n name: 'marketing',\n colors: {\n background: '260 100% 4%',\n foreground: '0 0% 100%',\n muted: '270 30% 10%',\n mutedForeground: '240 4% 65%',\n primary: '258 90% 66%',\n primaryForeground: '0 0% 100%',\n secondary: '258 30% 15%',\n secondaryForeground: '0 0% 95%',\n card: '260 40% 10%',\n cardForeground: '0 0% 100%',\n border: '258 40% 20%',\n sectionAlt: '270 50% 6%',\n },\n hero: {\n background: 'animated-gradient',\n size: 'full',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n features: {\n card: 'glow',\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n cta: {\n background: 'animated-gradient',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 60,\n },\n showcase: {\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const product: LandingTheme = {\n name: 'product',\n colors: {\n background: '240 6% 4%',\n foreground: '0 0% 98%',\n muted: '240 5% 11%',\n mutedForeground: '240 4% 64%',\n primary: '188 96% 42%',\n primaryForeground: '0 0% 100%',\n secondary: '188 20% 12%',\n secondaryForeground: '0 0% 98%',\n card: '240 5% 10%',\n cardForeground: '0 0% 98%',\n border: '240 4% 16%',\n sectionAlt: '240 6% 7%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-6xl',\n countUp: true,\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 40,\n },\n showcase: {\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const dashboard: LandingTheme = {\n name: 'dashboard',\n colors: {\n background: '222 47% 11%',\n foreground: '214 32% 91%',\n muted: '222 42% 16%',\n mutedForeground: '215 20% 65%',\n primary: '217 91% 60%',\n primaryForeground: '0 0% 100%',\n secondary: '217 30% 18%',\n secondaryForeground: '214 32% 91%',\n card: '222 47% 14%',\n cardForeground: '214 32% 91%',\n border: '217 30% 22%',\n sectionAlt: '222 42% 14%',\n },\n hero: {\n background: 'gradient',\n size: 'xl',\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-4xl',\n countUp: true,\n staggerDelay: 100,\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 45,\n },\n showcase: {\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const app: LandingTheme = {\n name: 'app',\n colors: {\n background: '0 0% 100%',\n foreground: '215 28% 17%',\n muted: '270 100% 96%',\n mutedForeground: '220 9% 46%',\n primary: '258 90% 66%',\n primaryForeground: '0 0% 100%',\n secondary: '258 20% 93%',\n secondaryForeground: '215 28% 17%',\n card: '0 0% 100%',\n cardForeground: '215 28% 17%',\n border: '220 13% 91%',\n sectionAlt: '270 100% 98%',\n },\n hero: {\n background: 'gradient',\n size: 'full',\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 50,\n },\n showcase: {\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const immersive: LandingTheme = {\n name: 'immersive',\n colors: {\n background: '0 0% 0%',\n foreground: '0 0% 100%',\n muted: '0 0% 7%',\n mutedForeground: '0 0% 45%',\n primary: '252 92% 76%',\n primaryForeground: '0 0% 100%',\n secondary: '252 15% 12%',\n secondaryForeground: '0 0% 95%',\n card: '0 0% 5%',\n cardForeground: '0 0% 100%',\n border: '0 0% 10%',\n sectionAlt: '0 0% 4%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n features: {\n card: 'glow',\n staggerDelay: 200,\n motion: { type: 'slideUp', duration: 900, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-6xl',\n countUp: true,\n staggerDelay: 200,\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'marquee',\n staggerDelay: 200,\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 30,\n },\n showcase: {\n staggerDelay: 200,\n motion: { type: 'slideUp', duration: 900, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const portfolio: LandingTheme = {\n name: 'portfolio',\n colors: {\n background: '0 0% 4%',\n foreground: '0 0% 98%',\n muted: '0 0% 10%',\n mutedForeground: '0 0% 64%',\n primary: '25 95% 53%',\n primaryForeground: '0 0% 100%',\n secondary: '25 20% 12%',\n secondaryForeground: '0 0% 98%',\n card: '0 0% 8%',\n cardForeground: '0 0% 98%',\n border: '25 30% 15%',\n sectionAlt: '0 0% 6%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'slideUp', duration: 800, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'grid',\n speed: 40,\n },\n showcase: {\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme, LandingThemeName, DeepPartial } from '../types'\nimport { corporate } from './corporate'\nimport { marketing } from './marketing'\nimport { product } from './product'\nimport { dashboard } from './dashboard'\nimport { app } from './app'\nimport { immersive } from './immersive'\nimport { portfolio } from './portfolio'\n\nconst themeRegistry: Record<LandingThemeName, LandingTheme> = {\n corporate,\n marketing,\n product,\n dashboard,\n app,\n immersive,\n portfolio,\n}\n\nexport function resolveTheme(theme: LandingThemeName | LandingTheme): LandingTheme {\n if (typeof theme === 'string') {\n return themeRegistry[theme]\n }\n return theme\n}\n\n/** 기존 테마를 기반으로 커스텀 테마 생성 */\nexport function createLandingTheme(\n base: LandingThemeName,\n overrides: DeepPartial<Omit<LandingTheme, 'name'>> & { name: string }\n): LandingTheme {\n const baseTheme = themeRegistry[base]\n return {\n ...baseTheme,\n name: overrides.name as LandingThemeName,\n colors: { ...baseTheme.colors, ...overrides.colors },\n hero: { ...baseTheme.hero, ...overrides.hero },\n features: { ...baseTheme.features, ...overrides.features },\n stats: { ...baseTheme.stats, ...overrides.stats },\n cta: { ...baseTheme.cta, ...overrides.cta },\n testimonials: { ...baseTheme.testimonials, ...overrides.testimonials },\n logoCloud: { ...baseTheme.logoCloud, ...overrides.logoCloud },\n showcase: { ...baseTheme.showcase, ...overrides.showcase },\n } as LandingTheme\n}\n\nexport { corporate, marketing, product, dashboard, app, immersive, portfolio }\n","\"use client\"\n\nimport React, { createContext, useContext, useMemo } from 'react'\nimport { resolveTheme } from './themes'\nimport type { LandingProviderProps, LandingTheme, LandingColorTokens } from './types'\n\nconst LandingContext = createContext<LandingTheme | null>(null)\n\nexport function useLandingTheme(): LandingTheme {\n const ctx = useContext(LandingContext)\n if (!ctx) {\n throw new Error('useLandingTheme must be used within <Landing.Provider>')\n }\n return ctx\n}\n\nfunction buildCssVars(c: LandingColorTokens): React.CSSProperties {\n return {\n // Tailwind v4 @theme vars (--color-*)\n '--color-primary': `hsl(${c.primary})`,\n '--color-primary-foreground': `hsl(${c.primaryForeground})`,\n '--color-background': `hsl(${c.background})`,\n '--color-foreground': `hsl(${c.foreground})`,\n '--color-muted': `hsl(${c.muted})`,\n '--color-muted-foreground': `hsl(${c.mutedForeground})`,\n '--color-secondary': `hsl(${c.secondary})`,\n '--color-secondary-foreground': `hsl(${c.secondaryForeground})`,\n '--color-card': `hsl(${c.card})`,\n '--color-card-foreground': `hsl(${c.cardForeground})`,\n '--color-border': `hsl(${c.border})`,\n '--color-input': `hsl(${c.border})`,\n '--color-ring': `hsl(${c.primary})`,\n // Legacy hsl(var(--*)) pattern vars\n '--primary': c.primary,\n '--primary-foreground': c.primaryForeground,\n '--background': c.background,\n '--foreground': c.foreground,\n '--muted': c.muted,\n '--muted-foreground': c.mutedForeground,\n '--secondary': c.secondary,\n '--secondary-foreground': c.secondaryForeground,\n '--card': c.card,\n '--card-foreground': c.cardForeground,\n '--border': c.border,\n '--input': c.border,\n '--ring': c.primary,\n // Landing-specific\n '--landing-section-alt': `hsl(${c.sectionAlt})`,\n } as React.CSSProperties\n}\n\nexport function LandingProvider({ theme, children }: LandingProviderProps) {\n const resolved = useMemo(() => resolveTheme(theme), [theme])\n\n const style = useMemo<React.CSSProperties>(() => ({\n backgroundColor: `hsl(${resolved.colors.background})`,\n color: `hsl(${resolved.colors.foreground})`,\n ...buildCssVars(resolved.colors),\n }), [resolved.colors])\n\n return (\n <LandingContext.Provider value={resolved}>\n <div style={style}>\n {children}\n </div>\n </LandingContext.Provider>\n )\n}\n","\"use client\"\n\nimport React, { useMemo } from 'react'\nimport { merge } from '../lib/utils'\nimport { Container } from '../components/Container'\nimport { AnimatedGradient } from '../components/advanced/AnimatedGradient'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingHeroProps, LandingMotionOverride } from './types'\n\nfunction resolveMotion(\n themeMotion: Required<LandingMotionOverride>,\n override?: LandingMotionOverride\n): Required<LandingMotionOverride> {\n if (!override) return themeMotion\n return { ...themeMotion, ...override }\n}\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case 'slideUp': return 'translateY(32px)'\n case 'slideLeft': return 'translateX(-32px)'\n case 'slideRight': return 'translateX(32px)'\n case 'scaleIn': return 'scale(0.95)'\n case 'bounceIn': return 'scale(0.75)'\n default: return 'none'\n }\n}\n\nexport function LandingHero({\n title,\n subtitle,\n description,\n primaryAction,\n secondaryAction,\n size: sizeProp,\n background: bgProp,\n gradientColors,\n scrollIndicator = false,\n motion: motionOverride,\n className,\n ...rest\n}: LandingHeroProps) {\n const theme = useLandingTheme()\n const size = sizeProp ?? theme.hero.size\n const bg = bgProp ?? theme.hero.background\n const motion = resolveMotion(theme.hero.motion, motionOverride)\n\n const contentStyle = useMemo<React.CSSProperties>(() => ({\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-hero-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }), [motion])\n\n return (\n <section\n className={merge(\n \"relative overflow-hidden flex items-center justify-center\",\n size === 'full' ? 'min-h-screen' : 'py-28 sm:py-36',\n bg === 'dark' && 'bg-gray-950 text-white',\n className\n )}\n {...rest}\n >\n {/* Background layer */}\n {bg === 'gradient' && (\n <div className=\"absolute inset-0 gradient-bg-soft\" aria-hidden=\"true\" />\n )}\n {bg === 'animated-gradient' && (\n <AnimatedGradient\n colors={gradientColors}\n type=\"mesh\"\n className=\"absolute inset-0 -z-0\"\n aria-hidden=\"true\"\n />\n )}\n {bg === 'dark' && (\n <div\n className=\"absolute inset-0\"\n style={{\n background: 'radial-gradient(ellipse 80% 60% at 50% 40%, rgba(120, 119, 198, 0.08), transparent)',\n }}\n aria-hidden=\"true\"\n />\n )}\n\n {/* Content */}\n <Container size=\"lg\" padding=\"none\" centered className=\"relative z-10 px-6\">\n <div style={contentStyle} className=\"text-center max-w-4xl mx-auto\">\n <h1 className=\"text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-extrabold tracking-tight mb-6\">\n {title}\n </h1>\n\n {subtitle && (\n <p className=\"text-xl sm:text-2xl text-muted-foreground mb-4\">\n {subtitle}\n </p>\n )}\n\n {description && (\n <p className=\"text-base sm:text-lg text-muted-foreground/80 max-w-2xl mx-auto mb-8\">\n {description}\n </p>\n )}\n\n {(primaryAction || secondaryAction) && (\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-4\">\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </Container>\n\n {/* Scroll indicator */}\n {scrollIndicator && (\n <div className=\"absolute bottom-8 left-1/2 -translate-x-1/2 animate-bounce\" aria-hidden=\"true\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"text-muted-foreground\">\n <path d=\"M12 5v14M5 12l7 7 7-7\" />\n </svg>\n </div>\n )}\n\n {/* Keyframe injection */}\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-hero-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { GlowCard } from '../components/advanced/GlowCard'\nimport { SpotlightCard } from '../components/advanced/SpotlightCard'\nimport { FeatureCard } from '../components/FeatureCard'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingFeaturesProps, LandingFeatureItem, LandingTheme } from './types'\n\n// motion-core optional peer — inline types to avoid DTS resolution\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\n\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core 없으면 stagger 없이 정적 렌더링\n}\n\nconst gridColsMap = {\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n} as const\n\nfunction renderCard(\n item: LandingFeatureItem,\n cardType: LandingTheme['features']['card'],\n style?: React.CSSProperties\n) {\n switch (cardType) {\n case 'glow':\n return (\n <GlowCard style={style} className=\"p-6\">\n {item.icon && <div className=\"text-4xl mb-4\">{item.icon}</div>}\n <h3 className=\"text-xl font-bold mb-2\">{item.title}</h3>\n <p className=\"text-muted-foreground text-sm\">{item.description}</p>\n </GlowCard>\n )\n case 'spotlight':\n return (\n <SpotlightCard style={style} className=\"p-6\">\n {item.icon && <div className=\"text-4xl mb-4\">{item.icon}</div>}\n <h3 className=\"text-xl font-bold mb-2\">{item.title}</h3>\n <p className=\"text-muted-foreground text-sm\">{item.description}</p>\n </SpotlightCard>\n )\n case 'feature-glass':\n default:\n return (\n <FeatureCard\n style={style}\n icon={undefined}\n title={item.title}\n description={item.description}\n variant=\"glass\"\n hover=\"slide\"\n >\n {item.icon && <div className=\"text-4xl mb-4\">{item.icon}</div>}\n </FeatureCard>\n )\n }\n}\n\nexport function LandingFeatures({\n items,\n title,\n subtitle,\n columns: columnsProp,\n card: cardProp,\n sectionProps,\n motion: motionOverride,\n staggerDelay: staggerDelayProp,\n decorator: decoratorProp,\n className,\n ...rest\n}: LandingFeaturesProps) {\n const theme = useLandingTheme()\n const cardType = cardProp ?? theme.features.card\n const staggerDelay = staggerDelayProp ?? theme.features.staggerDelay\n const decorator = decoratorProp ?? theme.features.decorator\n const motion = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion\n\n const columns = columnsProp ?? (items.length <= 2 ? 2 : items.length <= 3 ? 3 : 4) as 2 | 3 | 4\n\n const header = (title || subtitle) ? { title: title ?? '', subtitle, decorator } : undefined\n\n // useStagger if available\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type as 'fadeIn' | 'slideUp' | 'bounceIn',\n easing: motion.easing,\n })\n\n return (\n <Section\n header={header}\n spacing=\"lg\"\n {...sectionProps}\n className={merge(className)}\n {...rest}\n >\n <div\n ref={stagger?.containerRef}\n className={merge(\"grid gap-6 lg:gap-8\", gridColsMap[columns])}\n >\n {items.map((item, i) => (\n <div key={i}>\n {renderCard(item, cardType, stagger?.styles[i])}\n </div>\n ))}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingStatsProps, LandingStatItem } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\n\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core unavailable\n}\n\n// ── Count-up hook ───────────────────────────────\n\nfunction parseStatValue(value: string): { numeric: number; prefix: string; suffix: string } {\n const match = value.match(/^([^0-9]*)([0-9]+(?:\\.[0-9]+)?)(.*)$/)\n if (!match) return { numeric: 0, prefix: '', suffix: value }\n return {\n prefix: match[1],\n numeric: parseFloat(match[2]),\n suffix: match[3],\n }\n}\n\nfunction useCountUp(target: number, isVisible: boolean, duration = 1500): number {\n const [current, setCurrent] = useState(0)\n const rafRef = useRef<number>(0)\n\n const animate = useCallback(() => {\n const start = performance.now()\n const step = (now: number) => {\n const elapsed = now - start\n const progress = Math.min(elapsed / duration, 1)\n // easeOutQuart\n const eased = 1 - Math.pow(1 - progress, 4)\n setCurrent(eased * target)\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n rafRef.current = requestAnimationFrame(step)\n }, [target, duration])\n\n useEffect(() => {\n if (!isVisible) return\n animate()\n return () => {\n if (rafRef.current) cancelAnimationFrame(rafRef.current)\n }\n }, [isVisible, animate])\n\n return current\n}\n\n// ── StatItem component ──────────────────────────\n\nfunction StatItemDisplay({\n item,\n numberSize,\n countUp,\n isVisible,\n style,\n}: {\n item: LandingStatItem\n numberSize: string\n countUp: boolean\n isVisible: boolean\n style?: React.CSSProperties\n}) {\n const { numeric, prefix: parsedPrefix, suffix: parsedSuffix } = parseStatValue(item.value)\n const counted = useCountUp(numeric, countUp && isVisible)\n\n const displayPrefix = item.prefix ?? parsedPrefix\n const displaySuffix = item.suffix ?? parsedSuffix\n const displayValue = countUp\n ? `${displayPrefix}${Number.isInteger(numeric) ? Math.round(counted) : counted.toFixed(1)}${displaySuffix}`\n : item.value\n\n return (\n <div className=\"text-center\" style={style}>\n <div className={merge(\"font-extrabold stat-number\", numberSize)}>\n {displayValue}\n </div>\n <div className=\"text-muted-foreground mt-2 text-sm sm:text-base\">\n {item.label}\n </div>\n </div>\n )\n}\n\n// ── LandingStats ────────────────────────────────\n\nexport function LandingStats({\n items,\n title,\n subtitle,\n countUp: countUpProp,\n numberSize: numberSizeProp,\n sectionProps,\n motion: motionOverride,\n staggerDelay: staggerDelayProp,\n className,\n ...rest\n}: LandingStatsProps) {\n const theme = useLandingTheme()\n const countUp = countUpProp ?? theme.stats.countUp\n const numberSize = numberSizeProp ?? theme.stats.numberSize\n const staggerDelay = staggerDelayProp ?? theme.stats.staggerDelay\n const motion = motionOverride\n ? { ...theme.stats.motion, ...motionOverride }\n : theme.stats.motion\n\n const header = (title || subtitle) ? { title: title ?? '', subtitle, decorator: false } : undefined\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type as 'fadeIn' | 'slideUp' | 'bounceIn',\n easing: motion.easing,\n })\n\n const gridCols = items.length <= 2\n ? 'grid-cols-1 sm:grid-cols-2'\n : items.length <= 3\n ? 'grid-cols-1 sm:grid-cols-3'\n : 'grid-cols-2 sm:grid-cols-4'\n\n return (\n <Section\n header={header}\n spacing=\"lg\"\n {...sectionProps}\n className={merge(className)}\n {...rest}\n >\n <div\n ref={stagger?.containerRef}\n className={merge(\"grid gap-8 lg:gap-12\", gridCols)}\n >\n {items.map((item, i) => (\n <StatItemDisplay\n key={i}\n item={item}\n numberSize={numberSize}\n countUp={countUp}\n isVisible={stagger?.isVisible ?? true}\n style={stagger?.styles[i]}\n />\n ))}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React, { useMemo } from 'react'\nimport { merge } from '../lib/utils'\nimport { Container } from '../components/Container'\nimport { AnimatedGradient } from '../components/advanced/AnimatedGradient'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingCTAProps, LandingMotionOverride } from './types'\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case 'slideUp': return 'translateY(32px)'\n case 'slideLeft': return 'translateX(-32px)'\n case 'slideRight': return 'translateX(32px)'\n case 'scaleIn': return 'scale(0.95)'\n case 'bounceIn': return 'scale(0.75)'\n default: return 'none'\n }\n}\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>\n style: React.CSSProperties\n isVisible: boolean\n}\n\ninterface ScrollRevealOptions {\n motionType?: string\n duration?: number\n delay?: number\n}\n\nlet useScrollReveal: ((opts: ScrollRevealOptions) => ScrollRevealResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require('@hua-labs/motion-core').useScrollReveal\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingCTA({\n title,\n subtitle,\n primaryAction,\n secondaryAction,\n background: bgProp,\n gradientColors,\n motion: motionOverride,\n className,\n ...rest\n}: LandingCTAProps) {\n const theme = useLandingTheme()\n const bg = bgProp ?? theme.cta.background\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.cta.motion, ...motionOverride }\n : theme.cta.motion\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as 'fadeIn' | 'slideUp' | 'bounceIn',\n duration: motion.duration,\n delay: motion.delay,\n })\n\n const fallbackStyle = useMemo<React.CSSProperties>(() => {\n if (scrollReveal) return {}\n return {\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-cta-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }\n }, [scrollReveal, motion])\n\n return (\n <section\n className={merge(\n \"relative overflow-hidden py-20 sm:py-28\",\n bg === 'dark' && 'bg-gray-950 text-white',\n className\n )}\n {...rest}\n >\n {/* Background */}\n {bg === 'gradient-soft' && (\n <div className=\"absolute inset-0 gradient-bg-soft\" aria-hidden=\"true\" />\n )}\n {bg === 'animated-gradient' && (\n <AnimatedGradient\n colors={gradientColors}\n type=\"mesh\"\n className=\"absolute inset-0 -z-0\"\n aria-hidden=\"true\"\n />\n )}\n {bg === 'dark' && (\n <div\n className=\"absolute inset-0\"\n style={{\n background: 'radial-gradient(ellipse 80% 60% at 50% 40%, rgba(120, 119, 198, 0.08), transparent)',\n }}\n aria-hidden=\"true\"\n />\n )}\n\n <Container size=\"md\" padding=\"none\" centered className=\"relative z-10 px-6\">\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n className=\"text-center\"\n >\n <h2 className=\"text-3xl sm:text-4xl md:text-5xl font-extrabold mb-4\">\n {title}\n </h2>\n\n {subtitle && (\n <p className=\"text-lg text-muted-foreground max-w-2xl mx-auto mb-8\">\n {subtitle}\n </p>\n )}\n\n {(primaryAction || secondaryAction) && (\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-4\">\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </Container>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-cta-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { Carousel } from '../components/advanced/Carousel'\nimport { Marquee } from '../components/advanced/Marquee'\nimport { Avatar } from '../components/Avatar'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingTestimonialsProps, LandingTestimonialItem, LandingMotionOverride } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core unavailable\n}\n\nfunction TestimonialCard({ item, style }: { item: LandingTestimonialItem; style?: React.CSSProperties }) {\n return (\n <div\n className=\"bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl p-6 flex flex-col gap-4\"\n style={style}\n >\n <blockquote className=\"text-foreground/90 leading-relaxed flex-1\">\n “{item.quote}”\n </blockquote>\n <div className=\"flex items-center gap-3\">\n {item.avatar && (\n <Avatar size=\"sm\" src={item.avatar} alt={item.author} />\n )}\n <div>\n <p className=\"font-semibold text-sm\">{item.author}</p>\n {(item.role || item.company) && (\n <p className=\"text-xs text-muted-foreground\">\n {item.role}{item.role && item.company && ', '}{item.company}\n </p>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst gridColsMap = {\n 2: 'md:grid-cols-2',\n 3: 'md:grid-cols-2 lg:grid-cols-3',\n} as const\n\nexport function LandingTestimonials({\n items,\n title,\n subtitle,\n variant: variantProp,\n columns: colsProp,\n autoPlay = true,\n interval = 5000,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingTestimonialsProps) {\n const theme = useLandingTheme()\n const variant = variantProp ?? theme.testimonials.variant\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.testimonials.motion, ...motionOverride }\n : theme.testimonials.motion\n const staggerDelay = staggerProp ?? theme.testimonials.staggerDelay\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n })\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n if (variant === 'marquee') {\n return (\n <Section header={header} className={className} {...rest}>\n <Marquee speed={50} pauseOnHover gradient>\n {items.map((item, i) => (\n <div key={i} className=\"w-80 shrink-0\">\n <TestimonialCard item={item} />\n </div>\n ))}\n </Marquee>\n </Section>\n )\n }\n\n if (variant === 'carousel') {\n return (\n <Section header={header} className={className} {...rest}>\n <Carousel\n autoPlay={autoPlay}\n interval={interval}\n loop\n transition=\"fade\"\n indicators=\"dots\"\n >\n {items.map((item, i) => (\n <div key={i} className=\"flex justify-center px-4\">\n <div className=\"max-w-2xl w-full\">\n <TestimonialCard item={item} />\n </div>\n </div>\n ))}\n </Carousel>\n </Section>\n )\n }\n\n // grid variant\n const cols = colsProp ?? (items.length <= 2 ? 2 : 3) as 2 | 3\n return (\n <Section header={header} className={className} {...rest}>\n <div\n ref={stagger?.containerRef}\n className={merge(\"grid gap-6\", gridColsMap[cols])}\n >\n {items.map((item, i) => (\n <TestimonialCard\n key={i}\n item={item}\n style={stagger?.styles[i]}\n />\n ))}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React, { useMemo } from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { Marquee } from '../components/advanced/Marquee'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingLogoCloudProps, LandingMotionOverride } from './types'\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case 'slideUp': return 'translateY(32px)'\n case 'slideLeft': return 'translateX(-32px)'\n case 'slideRight': return 'translateX(32px)'\n case 'scaleIn': return 'scale(0.95)'\n case 'bounceIn': return 'scale(0.75)'\n default: return 'none'\n }\n}\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>\n style: React.CSSProperties\n isVisible: boolean\n}\ninterface ScrollRevealOptions {\n motionType?: string\n duration?: number\n delay?: number\n}\n\nlet useScrollReveal: ((opts: ScrollRevealOptions) => ScrollRevealResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require('@hua-labs/motion-core').useScrollReveal\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingLogoCloud({\n logos,\n title,\n variant: variantProp,\n speed: speedProp,\n logoHeight = 40,\n motion: motionOverride,\n className,\n ...rest\n}: LandingLogoCloudProps) {\n const theme = useLandingTheme()\n const variant = variantProp ?? theme.logoCloud.variant\n const speed = speedProp ?? theme.logoCloud.speed\n\n // fadeIn motion for the section entrance\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : { type: 'fadeIn', duration: 800, easing: 'ease-out', delay: 0 }\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type,\n duration: motion.duration,\n delay: motion.delay,\n })\n\n const fallbackStyle = useMemo<React.CSSProperties>(() => {\n if (scrollReveal) return {}\n return {\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-logocloud-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }\n }, [scrollReveal, motion])\n\n const logoElements = logos.map((logo, i) => {\n const img = (\n <img\n key={i}\n src={logo.src}\n alt={logo.alt}\n className=\"object-contain opacity-60 hover:opacity-100 transition-opacity grayscale hover:grayscale-0\"\n style={{ height: logoHeight, width: 'auto' }}\n />\n )\n if (logo.href) {\n return (\n <a key={i} href={logo.href} target=\"_blank\" rel=\"noopener noreferrer\" className=\"inline-flex\">\n {img}\n </a>\n )\n }\n return img\n })\n\n const header = title ? { title, subtitle: undefined } : undefined\n\n return (\n <Section header={header} spacing=\"sm\" className={merge(\"py-12 sm:py-16\", className)} {...rest}>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n >\n {variant === 'marquee' ? (\n <Marquee speed={speed} pauseOnHover gradient gap={48}>\n {logoElements}\n </Marquee>\n ) : (\n <div className=\"flex flex-wrap items-center justify-center gap-8 sm:gap-12\">\n {logoElements}\n </div>\n )}\n </div>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-logocloud-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </Section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { Container } from '../components/Container'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingShowcaseProps, LandingMotionOverride } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingShowcase({\n items,\n title,\n subtitle,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingShowcaseProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.showcase.motion, ...motionOverride }\n : theme.showcase.motion\n const staggerDelay = staggerProp ?? theme.showcase.staggerDelay\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n })\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n return (\n <Section header={header} className={className} {...rest}>\n <div ref={stagger?.containerRef} className=\"space-y-16 sm:space-y-24\">\n {items.map((item, i) => {\n const isEven = i % 2 === 0\n return (\n <Container key={i} size=\"lg\" padding=\"none\" className=\"px-4\">\n <div\n className={merge(\n \"flex flex-col gap-8 items-center\",\n isEven ? \"md:flex-row\" : \"md:flex-row-reverse\"\n )}\n style={stagger?.styles[i]}\n >\n {/* Image */}\n <div className=\"flex-1 w-full\">\n <div className=\"relative overflow-hidden rounded-xl border border-border/30 shadow-lg\">\n <img\n src={item.image}\n alt={item.title}\n className=\"w-full h-auto object-cover\"\n />\n <div className=\"absolute inset-0 bg-gradient-to-t from-black/20 to-transparent pointer-events-none\" />\n </div>\n </div>\n\n {/* Text */}\n <div className=\"flex-1 w-full space-y-4\">\n <h3 className=\"text-2xl sm:text-3xl font-bold\">\n {item.title}\n </h3>\n <p className=\"text-muted-foreground leading-relaxed\">\n {item.description}\n </p>\n </div>\n </div>\n </Container>\n )\n })}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { Section } from '../components/Section'\nimport { Container } from '../components/Container'\nimport { Avatar } from '../components/Avatar'\nimport { Icon } from '../components/Icon/Icon'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingAboutProps, LandingMotionOverride } from './types'\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>\n style: React.CSSProperties\n isVisible: boolean\n}\ninterface ScrollRevealOptions {\n motionType?: string\n duration?: number\n delay?: number\n}\n\nlet useScrollReveal: ((opts: ScrollRevealOptions) => ScrollRevealResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require('@hua-labs/motion-core').useScrollReveal\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingAbout({\n name,\n role,\n bio,\n avatar,\n socialLinks,\n motion: motionOverride,\n className,\n ...rest\n}: LandingAboutProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.hero.motion, ...motionOverride }\n : theme.hero.motion\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as 'fadeIn' | 'slideUp',\n duration: motion.duration,\n delay: motion.delay,\n })\n\n const fallbackStyle: React.CSSProperties = scrollReveal ? {} : {\n opacity: 0,\n transform: motion.type === 'slideUp' ? 'translateY(32px)' : 'none',\n animation: `landing-about-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }\n\n return (\n <Section className={className} {...rest}>\n <Container size=\"lg\" padding=\"none\" centered>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n className=\"flex flex-col md:flex-row items-center gap-8 md:gap-12\"\n >\n {/* Avatar */}\n {avatar && (\n <div className=\"flex-shrink-0\">\n <Avatar\n size=\"lg\"\n src={avatar}\n alt={name}\n className=\"w-32 h-32 md:w-40 md:h-40\"\n />\n </div>\n )}\n\n {/* Text Content */}\n <div className=\"flex-1 text-center md:text-left\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-2\">{name}</h2>\n <p className=\"text-xl text-muted-foreground mb-4\">{role}</p>\n <div className=\"text-foreground/90 leading-relaxed mb-6\">\n {typeof bio === 'string' ? <p>{bio}</p> : bio}\n </div>\n\n {/* Social Links */}\n {socialLinks && socialLinks.length > 0 && (\n <div className=\"flex gap-4 justify-center md:justify-start\">\n {socialLinks.map((link, i) => (\n <a\n key={i}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={link.label}\n >\n <Icon name={link.icon as any} size={24} />\n </a>\n ))}\n </div>\n )}\n </div>\n </div>\n </Container>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-about-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </Section>\n )\n}\n","\"use client\"\n\nimport React, { useState, useMemo } from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { Card } from '../components/Card'\nimport { Icon } from '../components/Icon/Icon'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingProjectsProps, LandingProjectItem, LandingMotionOverride } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\nlet TiltCard: React.ComponentType<any> | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const mc = require('@hua-labs/motion-core')\n useStagger = mc.useStagger\n TiltCard = mc.TiltCard\n} catch {\n // motion-core unavailable\n}\n\nconst gridColsMap = {\n 2: 'md:grid-cols-2',\n 3: 'md:grid-cols-2 lg:grid-cols-3',\n} as const\n\nfunction ProjectCard({ item, style }: { item: LandingProjectItem; style?: React.CSSProperties }) {\n const CardComponent = TiltCard || Card\n\n return (\n <CardComponent\n className=\"bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl overflow-hidden group hover:shadow-lg transition-shadow\"\n style={style}\n >\n {item.image && (\n <div className=\"relative overflow-hidden aspect-video\">\n <img\n src={item.image}\n alt={item.title}\n className=\"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300\"\n />\n </div>\n )}\n <div className=\"p-6\">\n <h3 className=\"text-xl font-bold mb-2\">{item.title}</h3>\n <p className=\"text-muted-foreground mb-4 leading-relaxed\">\n {item.description}\n </p>\n\n {/* Tags */}\n {item.tags && item.tags.length > 0 && (\n <div className=\"flex flex-wrap gap-2 mb-4\">\n {item.tags.map((tag, i) => (\n <span\n key={i}\n className=\"px-2 py-1 text-xs rounded-full bg-primary/10 text-primary\"\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n\n {/* Links */}\n <div className=\"flex gap-3\">\n {item.href && (\n <a\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-sm text-primary hover:underline flex items-center gap-1\"\n >\n View Project <Icon name=\"arrowRight\" size={16} />\n </a>\n )}\n {item.github && (\n <a\n href={item.github}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-sm text-muted-foreground hover:text-foreground flex items-center gap-1\"\n >\n <Icon name=\"github\" size={16} /> GitHub\n </a>\n )}\n </div>\n </div>\n </CardComponent>\n )\n}\n\nexport function LandingProjects({\n items,\n title,\n subtitle,\n columns = 3,\n filter = false,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingProjectsProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion\n const staggerDelay = staggerProp ?? theme.features.staggerDelay\n\n const [selectedTag, setSelectedTag] = useState<string | null>(null)\n\n const allTags = useMemo(() => {\n const tagSet = new Set<string>()\n items.forEach(item => {\n item.tags?.forEach(tag => tagSet.add(tag))\n })\n return Array.from(tagSet)\n }, [items])\n\n const filteredItems = useMemo(() => {\n if (!selectedTag) return items\n return items.filter(item => item.tags?.includes(selectedTag))\n }, [items, selectedTag])\n\n const stagger = useStagger?.({\n count: filteredItems.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n })\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n return (\n <Section header={header} className={className} {...rest}>\n {/* Tag Filter */}\n {filter && allTags.length > 0 && (\n <div className=\"flex flex-wrap gap-2 mb-8 justify-center\">\n <button\n onClick={() => setSelectedTag(null)}\n className={merge(\n \"px-4 py-2 rounded-full text-sm font-medium transition-colors\",\n !selectedTag\n ? \"bg-primary text-primary-foreground\"\n : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"\n )}\n >\n All\n </button>\n {allTags.map(tag => (\n <button\n key={tag}\n onClick={() => setSelectedTag(tag)}\n className={merge(\n \"px-4 py-2 rounded-full text-sm font-medium transition-colors\",\n selectedTag === tag\n ? \"bg-primary text-primary-foreground\"\n : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"\n )}\n >\n {tag}\n </button>\n ))}\n </div>\n )}\n\n {/* Projects Grid */}\n <div\n ref={stagger?.containerRef}\n className={merge(\"grid gap-6\", gridColsMap[columns])}\n >\n {filteredItems.map((item, i) => (\n <ProjectCard\n key={i}\n item={item}\n style={stagger?.styles[i]}\n />\n ))}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { Icon } from '../components/Icon/Icon'\nimport { Marquee } from '../components/advanced/Marquee'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingSkillsProps, LandingSkillItem, LandingMotionOverride } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core unavailable\n}\n\nfunction getBarColor(level: number): string {\n if (level >= 90) return 'bg-green-500'\n if (level >= 70) return 'bg-blue-500'\n if (level >= 50) return 'bg-yellow-500'\n return 'bg-gray-500'\n}\n\nexport function LandingSkills({\n items,\n title,\n subtitle,\n variant = 'grid',\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingSkillsProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion\n const staggerDelay = staggerProp ?? theme.features.staggerDelay\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n })\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n // Marquee variant\n if (variant === 'marquee') {\n return (\n <Section header={header} className={className} {...rest}>\n <Marquee speed={50} pauseOnHover gradient>\n {items.map((item, i) => (\n <div key={i} className=\"w-40 shrink-0 flex items-center gap-3 px-4 py-2\">\n {item.icon && <Icon name={item.icon as any} size={24} />}\n <span className=\"font-medium\">{item.name}</span>\n </div>\n ))}\n </Marquee>\n </Section>\n )\n }\n\n // Grid variant\n if (variant === 'grid') {\n return (\n <Section header={header} className={className} {...rest}>\n <div\n ref={stagger?.containerRef}\n className=\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6\"\n >\n {items.map((item, i) => (\n <div\n key={i}\n className=\"flex flex-col items-center gap-3 p-6 bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl hover:shadow-lg transition-shadow\"\n style={stagger?.styles[i]}\n >\n {item.icon && (\n <Icon name={item.icon as any} size={32} variant=\"primary\" />\n )}\n <span className=\"font-semibold text-center\">{item.name}</span>\n {item.category && (\n <span className=\"text-xs text-muted-foreground\">{item.category}</span>\n )}\n </div>\n ))}\n </div>\n </Section>\n )\n }\n\n // Bars variant\n return (\n <Section header={header} className={className} {...rest}>\n <div ref={stagger?.containerRef} className=\"space-y-6 max-w-3xl mx-auto\">\n {items.map((item, i) => {\n const level = item.level ?? 100\n return (\n <div key={i} className=\"space-y-2\" style={stagger?.styles[i]}>\n <div className=\"flex justify-between items-center\">\n <div className=\"flex items-center gap-2\">\n {item.icon && <Icon name={item.icon as any} size={20} />}\n <span className=\"font-semibold\">{item.name}</span>\n </div>\n <span className=\"text-sm text-muted-foreground\">{level}%</span>\n </div>\n <div className=\"h-2 bg-secondary rounded-full overflow-hidden\">\n <div\n className={merge(\n \"h-full rounded-full transition-all duration-1000\",\n getBarColor(level)\n )}\n style={{\n width: `${level}%`,\n animation: 'skill-bar-fill 1s ease-out forwards',\n }}\n />\n </div>\n </div>\n )\n })}\n </div>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes skill-bar-fill {\n from { width: 0; }\n }\n `}} />\n </Section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingExperienceProps, LandingExperienceItem, LandingMotionOverride } from './types'\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>\n styles: React.CSSProperties[]\n isVisible: boolean\n}\ninterface StaggerOptions {\n count: number\n staggerDelay?: number\n duration?: number\n motionType?: string\n easing?: string\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require('@hua-labs/motion-core').useStagger\n} catch {\n // motion-core unavailable\n}\n\nfunction ExperienceItem({ item, style }: { item: LandingExperienceItem; style?: React.CSSProperties }) {\n return (\n <div className=\"relative pl-8 pb-8 last:pb-0\" style={style}>\n {/* Timeline dot */}\n <div\n className={merge(\n \"absolute left-0 top-1.5 w-3 h-3 rounded-full border-2\",\n item.current\n ? \"bg-primary border-primary animate-pulse\"\n : \"bg-background border-border\"\n )}\n />\n {/* Timeline line */}\n <div className=\"absolute left-[5px] top-4 bottom-0 w-0.5 bg-border\" />\n\n {/* Content */}\n <div className=\"space-y-1\">\n <div className=\"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-1\">\n <h3 className=\"text-lg font-bold\">{item.title}</h3>\n <span className=\"text-sm text-muted-foreground\">{item.period}</span>\n </div>\n <p className=\"text-base text-foreground/80 font-medium\">{item.company}</p>\n {item.description && (\n <p className=\"text-sm text-muted-foreground leading-relaxed pt-2\">\n {item.description}\n </p>\n )}\n {item.current && (\n <span className=\"inline-block mt-2 px-2 py-1 text-xs rounded-full bg-primary/10 text-primary\">\n Current\n </span>\n )}\n </div>\n </div>\n )\n}\n\nexport function LandingExperience({\n items,\n title,\n subtitle,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingExperienceProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion\n const staggerDelay = staggerProp ?? theme.features.staggerDelay\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n })\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n return (\n <Section header={header} className={className} {...rest}>\n <div ref={stagger?.containerRef} className=\"max-w-3xl mx-auto\">\n {items.map((item, i) => (\n <ExperienceItem\n key={i}\n item={item}\n style={stagger?.styles[i]}\n />\n ))}\n </div>\n </Section>\n )\n}\n","\"use client\"\n\nimport React, { useState, useEffect } from 'react'\nimport { merge } from '../lib/utils'\nimport { Section } from '../components/Section'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingMetricsProps, LandingMetricItem, LandingMotionOverride } from './types'\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>\n style: React.CSSProperties\n isVisible: boolean\n}\ninterface ScrollRevealOptions {\n motionType?: string\n duration?: number\n delay?: number\n}\n\nlet useScrollReveal: ((opts: ScrollRevealOptions) => ScrollRevealResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require('@hua-labs/motion-core').useScrollReveal\n} catch {\n // motion-core unavailable\n}\n\nfunction getMetricColor(value: number): { bar: string; text: string } {\n if (value >= 90) return { bar: 'bg-green-500', text: 'text-green-600 dark:text-green-400' }\n if (value >= 50) return { bar: 'bg-orange-500', text: 'text-orange-600 dark:text-orange-400' }\n return { bar: 'bg-red-500', text: 'text-red-600 dark:text-red-400' }\n}\n\nfunction MetricBar({ item, delay = 0 }: { item: LandingMetricItem; delay?: number }) {\n const [animatedValue, setAnimatedValue] = useState(0)\n const color = getMetricColor(item.value)\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setAnimatedValue(item.value)\n }, delay)\n return () => clearTimeout(timer)\n }, [item.value, delay])\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex justify-between items-center\">\n <span className=\"text-sm font-medium\">{item.label}</span>\n <span className={merge(\"text-2xl font-bold\", color.text)}>\n {Math.round(animatedValue)}\n </span>\n </div>\n <div className=\"h-2 bg-secondary rounded-full overflow-hidden\">\n <div\n className={merge(\"h-full rounded-full transition-all duration-1000 ease-out\", color.bar)}\n style={{ width: `${animatedValue}%` }}\n />\n </div>\n {item.description && (\n <p className=\"text-xs text-muted-foreground\">{item.description}</p>\n )}\n </div>\n )\n}\n\nexport function LandingMetrics({\n items,\n title,\n subtitle,\n tabs,\n motion: motionOverride,\n className,\n ...rest\n}: LandingMetricsProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.stats.motion, ...motionOverride }\n : theme.stats.motion\n\n const [activeTab, setActiveTab] = useState(0)\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as 'fadeIn' | 'slideUp',\n duration: motion.duration,\n delay: motion.delay,\n })\n\n const fallbackStyle: React.CSSProperties = scrollReveal ? {} : {\n opacity: 0,\n transform: motion.type === 'slideUp' ? 'translateY(32px)' : 'none',\n animation: `landing-metrics-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }\n\n const displayItems = tabs ? tabs[activeTab].items : items\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n return (\n <Section header={header} className={className} {...rest}>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n className=\"max-w-3xl mx-auto\"\n >\n {/* Tabs */}\n {tabs && tabs.length > 1 && (\n <div className=\"flex gap-2 mb-8 justify-center\">\n {tabs.map((tab, i) => (\n <button\n key={i}\n onClick={() => setActiveTab(i)}\n className={merge(\n \"px-4 py-2 rounded-lg text-sm font-medium transition-colors\",\n activeTab === i\n ? \"bg-primary text-primary-foreground\"\n : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"\n )}\n >\n {tab.label}\n </button>\n ))}\n </div>\n )}\n\n {/* Metrics */}\n <div className=\"space-y-6\">\n {displayItems.map((item, i) => (\n <MetricBar key={i} item={item} delay={i * 100} />\n ))}\n </div>\n </div>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-metrics-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </Section>\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { Section } from '../components/Section'\nimport { Container } from '../components/Container'\nimport { Icon } from '../components/Icon/Icon'\nimport { useLandingTheme } from './LandingProvider'\nimport type { LandingContactProps, LandingMotionOverride } from './types'\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>\n style: React.CSSProperties\n isVisible: boolean\n}\ninterface ScrollRevealOptions {\n motionType?: string\n duration?: number\n delay?: number\n}\n\nlet useScrollReveal: ((opts: ScrollRevealOptions) => ScrollRevealResult) | undefined\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require('@hua-labs/motion-core').useScrollReveal\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingContact({\n title = 'Get in Touch',\n subtitle,\n email,\n socialLinks,\n motion: motionOverride,\n className,\n ...rest\n}: LandingContactProps) {\n const theme = useLandingTheme()\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.cta.motion, ...motionOverride }\n : theme.cta.motion\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as 'fadeIn' | 'slideUp',\n duration: motion.duration,\n delay: motion.delay,\n })\n\n const fallbackStyle: React.CSSProperties = scrollReveal ? {} : {\n opacity: 0,\n transform: motion.type === 'slideUp' ? 'translateY(32px)' : 'none',\n animation: `landing-contact-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }\n\n const header = (title || subtitle)\n ? { title: title ?? '', subtitle }\n : undefined\n\n return (\n <Section header={header} className={className} {...rest}>\n <Container size=\"md\" padding=\"none\" centered>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n className=\"text-center space-y-6\"\n >\n {/* Email */}\n {email && (\n <a\n href={`mailto:${email}`}\n className=\"inline-block text-2xl sm:text-3xl font-bold text-primary hover:underline\"\n >\n {email}\n </a>\n )}\n\n {/* Social Links */}\n {socialLinks && socialLinks.length > 0 && (\n <div className=\"flex gap-4 justify-center\">\n {socialLinks.map((link, i) => (\n <a\n key={i}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center justify-center w-12 h-12 rounded-full bg-secondary hover:bg-secondary/80 text-foreground transition-colors\"\n aria-label={link.label}\n >\n <Icon name={link.icon as any} size={24} />\n </a>\n ))}\n </div>\n )}\n </div>\n </Container>\n\n <style dangerouslySetInnerHTML={{ __html: `\n @keyframes landing-contact-enter {\n to { opacity: 1; transform: none; }\n }\n `}} />\n </Section>\n )\n}\n","export { LandingProvider, useLandingTheme } from './LandingProvider'\nexport { LandingHero } from './LandingHero'\nexport { LandingFeatures } from './LandingFeatures'\nexport { LandingStats } from './LandingStats'\nexport { LandingCTA } from './LandingCTA'\nexport { LandingTestimonials } from './LandingTestimonials'\nexport { LandingLogoCloud } from './LandingLogoCloud'\nexport { LandingShowcase } from './LandingShowcase'\nexport { LandingAbout } from './LandingAbout'\nexport { LandingProjects } from './LandingProjects'\nexport { LandingSkills } from './LandingSkills'\nexport { LandingExperience } from './LandingExperience'\nexport { LandingMetrics } from './LandingMetrics'\nexport { LandingContact } from './LandingContact'\nexport { createLandingTheme, resolveTheme, corporate, marketing, product, dashboard, app, immersive, portfolio } from './themes'\n\nexport type {\n LandingThemeName,\n LandingTheme,\n LandingColorTokens,\n LandingMotionOverride,\n LandingProviderProps,\n LandingHeroProps,\n LandingFeaturesProps,\n LandingFeatureItem,\n LandingStatsProps,\n LandingStatItem,\n LandingCTAProps,\n LandingTestimonialsProps,\n LandingTestimonialItem,\n LandingLogoCloudProps,\n LandingLogoItem,\n LandingShowcaseProps,\n LandingShowcaseItem,\n LandingAboutProps,\n LandingSocialLink,\n LandingProjectsProps,\n LandingProjectItem,\n LandingSkillsProps,\n LandingSkillItem,\n LandingExperienceProps,\n LandingExperienceItem,\n LandingMetricsProps,\n LandingMetricItem,\n LandingMetricsTab,\n LandingContactProps,\n DeepPartial,\n} from './types'\n\n// ── Landing namespace (convenience) ─────────────\n\nimport { LandingProvider } from './LandingProvider'\nimport { LandingHero } from './LandingHero'\nimport { LandingFeatures } from './LandingFeatures'\nimport { LandingStats } from './LandingStats'\nimport { LandingCTA } from './LandingCTA'\nimport { LandingTestimonials } from './LandingTestimonials'\nimport { LandingLogoCloud } from './LandingLogoCloud'\nimport { LandingShowcase } from './LandingShowcase'\nimport { LandingAbout } from './LandingAbout'\nimport { LandingProjects } from './LandingProjects'\nimport { LandingSkills } from './LandingSkills'\nimport { LandingExperience } from './LandingExperience'\nimport { LandingMetrics } from './LandingMetrics'\nimport { LandingContact } from './LandingContact'\n\nexport const Landing = {\n Provider: LandingProvider,\n Hero: LandingHero,\n Features: LandingFeatures,\n Stats: LandingStats,\n CTA: LandingCTA,\n Testimonials: LandingTestimonials,\n LogoCloud: LandingLogoCloud,\n Showcase: LandingShowcase,\n About: LandingAbout,\n Projects: LandingProjects,\n Skills: LandingSkills,\n Experience: LandingExperience,\n Metrics: LandingMetrics,\n Contact: LandingContact,\n} as const\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/landing/themes/corporate.ts","../src/landing/themes/marketing.ts","../src/landing/themes/product.ts","../src/landing/themes/dashboard.ts","../src/landing/themes/app.ts","../src/landing/themes/immersive.ts","../src/landing/themes/portfolio.ts","../src/landing/themes/index.ts","../src/landing/LandingProvider.tsx","../src/landing/LandingHero.tsx","../src/landing/LandingFeatures.tsx","../src/landing/LandingStats.tsx","../src/landing/LandingCTA.tsx","../src/landing/LandingTestimonials.tsx","../src/landing/LandingLogoCloud.tsx","../src/landing/LandingShowcase.tsx","../src/landing/LandingAbout.tsx","../src/landing/LandingProjects.tsx","../src/landing/LandingSkills.tsx","../src/landing/LandingExperience.tsx","../src/landing/LandingMetrics.tsx","../src/landing/LandingContact.tsx","../src/landing/index.ts"],"names":["corporate","marketing","product","dashboard","app","immersive","portfolio","themeRegistry","resolveTheme","theme","createLandingTheme","base","overrides","baseTheme","LandingContext","createContext","useLandingTheme","ctx","useContext","buildCssVars","c","LandingProvider","children","resolved","useMemo","style","jsx","resolveMotion","themeMotion","override","getInitialTransform","type","LandingHero","title","subtitle","description","primaryAction","secondaryAction","sizeProp","bgProp","gradientColors","scrollIndicator","motionOverride","dotProp","rest","size","bg","motion","sectionCls","dotCSS","titleCls","subtitleCls","descCls","actionsCls","contentStyle","jsxs","dot","AnimatedGradient","mergeStyles","Container","useStagger","w","gridColsMap","renderCard","item","cardType","GlowCard","SpotlightCard","FeatureCard","LandingFeatures","items","columnsProp","cardProp","sectionProps","staggerDelayProp","decoratorProp","className","staggerDelay","decorator","columns","header","stagger","Section","i","parseStatValue","value","match","useCountUp","target","isVisible","duration","current","setCurrent","useState","rafRef","useRef","animate","useCallback","start","step","now","elapsed","progress","eased","useEffect","StatItemDisplay","numberSize","countUp","_a","_b","numeric","parsedPrefix","parsedSuffix","counted","displayPrefix","displaySuffix","displayValue","LandingStats","countUpProp","numberSizeProp","gridCols","useScrollReveal","LandingCTA","scrollReveal","fallbackStyle","TestimonialCard","Avatar","LandingTestimonials","variantProp","colsProp","autoPlay","interval","staggerProp","variant","Marquee","Carousel","cols","s","input","dotFn","LandingLogoCloud","logos","speedProp","logoHeight","speed","logoElements","logo","img","LandingShowcase","containerCls","itemEvenCls","itemOddCls","isEven","LandingAbout","name","role","bio","avatar","socialLinks","avatarCls","link","Icon","TiltCard","mc","ProjectCard","Card","tag","LandingProjects","filter","selectedTag","setSelectedTag","allTags","tagSet","filteredItems","getBarColor","level","LandingSkills","ExperienceItem","LandingExperience","getMetricColor","MetricBar","delay","animatedValue","setAnimatedValue","color","timer","LandingMetrics","tabs","activeTab","setActiveTab","displayItems","tab","LandingContact","email","Landing"],"mappings":"soBAEO,IAAMA,EAAAA,CAA0B,CACrC,IAAA,CAAM,WAAA,CACN,MAAA,CAAQ,CACN,WAAY,WAAA,CACZ,UAAA,CAAY,aAAA,CACZ,KAAA,CAAO,aAAA,CACP,eAAA,CAAiB,aAAA,CACjB,OAAA,CAAS,cACT,iBAAA,CAAmB,WAAA,CACnB,SAAA,CAAW,aAAA,CACX,oBAAqB,aAAA,CACrB,IAAA,CAAM,WAAA,CACN,cAAA,CAAgB,cAChB,MAAA,CAAQ,aAAA,CACR,UAAA,CAAY,aACd,CAAA,CACA,IAAA,CAAM,CACJ,UAAA,CAAY,WACZ,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,CAAE,KAAM,QAAA,CAAU,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,WAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,SAAU,CACR,IAAA,CAAM,WAAA,CACN,YAAA,CAAc,IACd,MAAA,CAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,SAAU,GAAA,CAAK,MAAA,CAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CAAA,CACtE,SAAA,CAAW,IACb,CAAA,CACA,KAAA,CAAO,CACL,UAAA,CAAY,UAAA,CACZ,QAAS,KAAA,CACT,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,QAAA,CAAU,GAAA,CAAK,OAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,GAAA,CAAK,CACH,UAAA,CAAY,gBACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,SAAU,GAAA,CAAK,MAAA,CAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,YAAA,CAAc,CACZ,OAAA,CAAS,MAAA,CACT,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,QAAA,CAAU,IAAK,MAAA,CAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,SAAA,CAAW,CACT,OAAA,CAAS,OACT,KAAA,CAAO,EACT,CAAA,CACA,QAAA,CAAU,CACR,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,KAAM,QAAA,CAAU,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,WAAY,KAAA,CAAO,CAAE,CACxE,CACF,EClDO,IAAMC,EAAAA,CAA0B,CACrC,KAAM,WAAA,CACN,MAAA,CAAQ,CACN,UAAA,CAAY,cACZ,UAAA,CAAY,WAAA,CACZ,KAAA,CAAO,aAAA,CACP,gBAAiB,YAAA,CACjB,OAAA,CAAS,aAAA,CACT,iBAAA,CAAmB,WAAA,CACnB,SAAA,CAAW,aAAA,CACX,mBAAA,CAAqB,WACrB,IAAA,CAAM,aAAA,CACN,cAAA,CAAgB,WAAA,CAChB,OAAQ,aAAA,CACR,UAAA,CAAY,YACd,CAAA,CACA,KAAM,CACJ,UAAA,CAAY,mBAAA,CACZ,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,CAAE,IAAA,CAAM,WAAY,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,mCAAA,CAAqC,MAAO,CAAE,CACnG,CAAA,CACA,QAAA,CAAU,CACR,IAAA,CAAM,MAAA,CACN,YAAA,CAAc,EAAA,CACd,OAAQ,CAAE,IAAA,CAAM,UAAA,CAAY,QAAA,CAAU,IAAK,MAAA,CAAQ,mCAAA,CAAqC,KAAA,CAAO,CAAE,EACjG,SAAA,CAAW,KACb,CAAA,CACA,KAAA,CAAO,CACL,UAAA,CAAY,UAAA,CACZ,OAAA,CAAS,IAAA,CACT,YAAA,CAAc,EAAA,CACd,MAAA,CAAQ,CAAE,KAAM,UAAA,CAAY,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,oCAAqC,KAAA,CAAO,CAAE,CACnG,CAAA,CACA,IAAK,CACH,UAAA,CAAY,mBAAA,CACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAA,CAAY,QAAA,CAAU,IAAK,MAAA,CAAQ,mCAAA,CAAqC,KAAA,CAAO,CAAE,CACnG,CAAA,CACA,YAAA,CAAc,CACZ,OAAA,CAAS,WACT,YAAA,CAAc,EAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAA,CAAY,QAAA,CAAU,GAAA,CAAK,OAAQ,mCAAA,CAAqC,KAAA,CAAO,CAAE,CACnG,EACA,SAAA,CAAW,CACT,OAAA,CAAS,SAAA,CACT,MAAO,EACT,CAAA,CACA,QAAA,CAAU,CACR,aAAc,EAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,WAAY,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,mCAAA,CAAqC,MAAO,CAAE,CACnG,CACF,MClDaC,EAAAA,CAAwB,CACnC,IAAA,CAAM,SAAA,CACN,MAAA,CAAQ,CACN,UAAA,CAAY,WAAA,CACZ,WAAY,UAAA,CACZ,KAAA,CAAO,YAAA,CACP,eAAA,CAAiB,aACjB,OAAA,CAAS,aAAA,CACT,iBAAA,CAAmB,WAAA,CACnB,UAAW,aAAA,CACX,mBAAA,CAAqB,UAAA,CACrB,IAAA,CAAM,YAAA,CACN,cAAA,CAAgB,UAAA,CAChB,MAAA,CAAQ,aACR,UAAA,CAAY,WACd,CAAA,CACA,IAAA,CAAM,CACJ,UAAA,CAAY,MAAA,CACZ,IAAA,CAAM,MAAA,CACN,OAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,aAAA,CAAe,KAAA,CAAO,CAAE,CAC5E,CAAA,CACA,QAAA,CAAU,CACR,KAAM,eAAA,CACN,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,OAAQ,aAAA,CAAe,KAAA,CAAO,CAAE,CAAA,CAC1E,UAAW,KACb,CAAA,CACA,KAAA,CAAO,CACL,WAAY,UAAA,CACZ,OAAA,CAAS,IAAA,CACT,YAAA,CAAc,IACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,aAAA,CAAe,MAAO,CAAE,CAC5E,CAAA,CACA,GAAA,CAAK,CACH,UAAA,CAAY,MAAA,CACZ,MAAA,CAAQ,CAAE,KAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,aAAA,CAAe,KAAA,CAAO,CAAE,CAC5E,EACA,YAAA,CAAc,CACZ,OAAA,CAAS,UAAA,CACT,aAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,aAAA,CAAe,KAAA,CAAO,CAAE,CAC5E,CAAA,CACA,UAAW,CACT,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,EACT,CAAA,CACA,QAAA,CAAU,CACR,YAAA,CAAc,IACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,SAAU,GAAA,CAAK,MAAA,CAAQ,aAAA,CAAe,KAAA,CAAO,CAAE,CAC5E,CACF,EClDO,IAAMC,GAA0B,CACrC,IAAA,CAAM,WAAA,CACN,MAAA,CAAQ,CACN,UAAA,CAAY,aAAA,CACZ,UAAA,CAAY,aAAA,CACZ,KAAA,CAAO,aAAA,CACP,eAAA,CAAiB,aAAA,CACjB,QAAS,aAAA,CACT,iBAAA,CAAmB,WAAA,CACnB,SAAA,CAAW,cACX,mBAAA,CAAqB,aAAA,CACrB,IAAA,CAAM,aAAA,CACN,eAAgB,aAAA,CAChB,MAAA,CAAQ,aAAA,CACR,UAAA,CAAY,aACd,CAAA,CACA,IAAA,CAAM,CACJ,WAAY,UAAA,CACZ,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,QAAA,CAAU,GAAA,CAAK,OAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,QAAA,CAAU,CACR,IAAA,CAAM,gBACN,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,KAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,WAAY,KAAA,CAAO,CAAE,CAAA,CACvE,SAAA,CAAW,KACb,CAAA,CACA,KAAA,CAAO,CACL,UAAA,CAAY,WACZ,OAAA,CAAS,IAAA,CACT,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,QAAA,CAAU,IAAK,MAAA,CAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACxE,CAAA,CACA,GAAA,CAAK,CACH,WAAY,eAAA,CACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAU,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,UAAA,CAAY,MAAO,CAAE,CACxE,CAAA,CACA,YAAA,CAAc,CACZ,OAAA,CAAS,MAAA,CACT,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,IAAK,MAAA,CAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACzE,CAAA,CACA,SAAA,CAAW,CACT,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,EACT,CAAA,CACA,SAAU,CACR,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,OAAQ,UAAA,CAAY,KAAA,CAAO,CAAE,CACzE,CACF,EClDO,IAAMC,EAAAA,CAAoB,CAC/B,KAAM,KAAA,CACN,MAAA,CAAQ,CACN,UAAA,CAAY,YACZ,UAAA,CAAY,aAAA,CACZ,KAAA,CAAO,cAAA,CACP,gBAAiB,YAAA,CACjB,OAAA,CAAS,aAAA,CACT,iBAAA,CAAmB,WAAA,CACnB,SAAA,CAAW,aAAA,CACX,mBAAA,CAAqB,cACrB,IAAA,CAAM,WAAA,CACN,cAAA,CAAgB,aAAA,CAChB,OAAQ,aAAA,CACR,UAAA,CAAY,cACd,CAAA,CACA,KAAM,CACJ,UAAA,CAAY,UAAA,CACZ,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,gCAAA,CAAkC,MAAO,CAAE,CAC/F,CAAA,CACA,QAAA,CAAU,CACR,IAAA,CAAM,eAAA,CACN,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,SAAU,GAAA,CAAK,MAAA,CAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAAA,CAC7F,SAAA,CAAW,KACb,CAAA,CACA,MAAO,CACL,UAAA,CAAY,UAAA,CACZ,OAAA,CAAS,KACT,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,KAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,iCAAkC,KAAA,CAAO,CAAE,CAC/F,CAAA,CACA,IAAK,CACH,UAAA,CAAY,eAAA,CACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAA,CAAY,QAAA,CAAU,IAAK,MAAA,CAAQ,mCAAA,CAAqC,KAAA,CAAO,CAAE,CACnG,CAAA,CACA,YAAA,CAAc,CACZ,OAAA,CAAS,WACT,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,OAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAC/F,EACA,SAAA,CAAW,CACT,OAAA,CAAS,SAAA,CACT,MAAO,EACT,CAAA,CACA,QAAA,CAAU,CACR,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,KAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,iCAAkC,KAAA,CAAO,CAAE,CAC/F,CACF,EClDO,IAAMC,EAAAA,CAA0B,CACrC,IAAA,CAAM,YACN,MAAA,CAAQ,CACN,UAAA,CAAY,SAAA,CACZ,WAAY,WAAA,CACZ,KAAA,CAAO,SAAA,CACP,eAAA,CAAiB,WACjB,OAAA,CAAS,aAAA,CACT,iBAAA,CAAmB,WAAA,CACnB,UAAW,aAAA,CACX,mBAAA,CAAqB,UAAA,CACrB,IAAA,CAAM,SAAA,CACN,cAAA,CAAgB,WAAA,CAChB,MAAA,CAAQ,WACR,UAAA,CAAY,SACd,CAAA,CACA,IAAA,CAAM,CACJ,UAAA,CAAY,MAAA,CACZ,IAAA,CAAM,MAAA,CACN,OAAQ,CAAE,IAAA,CAAM,QAAA,CAAU,QAAA,CAAU,IAAA,CAAM,MAAA,CAAQ,+BAAA,CAAiC,KAAA,CAAO,CAAE,CAC9F,CAAA,CACA,QAAA,CAAU,CACR,KAAM,MAAA,CACN,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAA,CAAiC,KAAA,CAAO,CAAE,EAC5F,SAAA,CAAW,KACb,CAAA,CACA,KAAA,CAAO,CACL,UAAA,CAAY,UAAA,CACZ,OAAA,CAAS,IAAA,CACT,aAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAU,QAAA,CAAU,IAAA,CAAM,MAAA,CAAQ,+BAAA,CAAiC,MAAO,CAAE,CAC9F,CAAA,CACA,GAAA,CAAK,CACH,UAAA,CAAY,MAAA,CACZ,MAAA,CAAQ,CAAE,KAAM,QAAA,CAAU,QAAA,CAAU,IAAA,CAAM,MAAA,CAAQ,+BAAA,CAAiC,KAAA,CAAO,CAAE,CAC9F,EACA,YAAA,CAAc,CACZ,OAAA,CAAS,SAAA,CACT,aAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAU,QAAA,CAAU,IAAA,CAAM,MAAA,CAAQ,+BAAA,CAAiC,MAAO,CAAE,CAC9F,CAAA,CACA,SAAA,CAAW,CACT,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,EACT,EACA,QAAA,CAAU,CACR,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAA,CAAiC,KAAA,CAAO,CAAE,CAC9F,CACF,EClDO,IAAMC,GAA0B,CACrC,IAAA,CAAM,WAAA,CACN,MAAA,CAAQ,CACN,UAAA,CAAY,SAAA,CACZ,UAAA,CAAY,UAAA,CACZ,MAAO,UAAA,CACP,eAAA,CAAiB,UAAA,CACjB,OAAA,CAAS,aACT,iBAAA,CAAmB,WAAA,CACnB,SAAA,CAAW,YAAA,CACX,oBAAqB,UAAA,CACrB,IAAA,CAAM,SAAA,CACN,cAAA,CAAgB,WAChB,MAAA,CAAQ,YAAA,CACR,UAAA,CAAY,SACd,CAAA,CACA,IAAA,CAAM,CACJ,UAAA,CAAY,OACZ,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,CAAE,KAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,iCAAkC,KAAA,CAAO,CAAE,CAC/F,CAAA,CACA,QAAA,CAAU,CACR,IAAA,CAAM,eAAA,CACN,aAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,UAAW,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,gCAAA,CAAkC,MAAO,CAAE,CAAA,CAC7F,SAAA,CAAW,KACb,CAAA,CACA,KAAA,CAAO,CACL,UAAA,CAAY,WACZ,OAAA,CAAS,IAAA,CACT,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,IAAK,MAAA,CAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAC/F,CAAA,CACA,GAAA,CAAK,CACH,UAAA,CAAY,OACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,SAAU,GAAA,CAAK,MAAA,CAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAC/F,CAAA,CACA,YAAA,CAAc,CACZ,OAAA,CAAS,MAAA,CACT,YAAA,CAAc,GAAA,CACd,OAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,IAAK,MAAA,CAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAC/F,CAAA,CACA,SAAA,CAAW,CACT,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,EACT,CAAA,CACA,SAAU,CACR,YAAA,CAAc,GAAA,CACd,MAAA,CAAQ,CAAE,IAAA,CAAM,SAAA,CAAW,QAAA,CAAU,GAAA,CAAK,OAAQ,gCAAA,CAAkC,KAAA,CAAO,CAAE,CAC/F,CACF,EC3CA,IAAMC,EAAAA,CAAwD,CAC5D,SAAA,CAAAP,EAAAA,CACA,SAAA,CAAAC,EAAAA,CACA,QAAAC,EAAAA,CACA,SAAA,CAAAC,EAAAA,CACA,GAAA,CAAAC,GACA,SAAA,CAAAC,EAAAA,CACA,SAAA,CAAAC,EACF,EAEO,SAASE,EAAAA,CAAaC,CAAAA,CAAsD,CACjF,OAAI,OAAOA,CAAAA,EAAU,QAAA,CACZF,EAAAA,CAAcE,CAAK,CAAA,CAErBA,CACT,CAGO,SAASC,GACdC,CAAAA,CACAC,CAAAA,CACc,CACd,IAAMC,CAAAA,CAAYN,EAAAA,CAAcI,CAAI,CAAA,CACpC,OAAO,CACL,GAAGE,CAAAA,CACH,IAAA,CAAMD,EAAU,IAAA,CAChB,MAAA,CAAQ,CAAE,GAAGC,EAAU,MAAA,CAAQ,GAAGD,CAAAA,CAAU,MAAO,CAAA,CACnD,IAAA,CAAM,CAAE,GAAGC,EAAU,IAAA,CAAM,GAAGD,CAAAA,CAAU,IAAK,EAC7C,QAAA,CAAU,CAAE,GAAGC,CAAAA,CAAU,SAAU,GAAGD,CAAAA,CAAU,QAAS,CAAA,CACzD,KAAA,CAAO,CAAE,GAAGC,CAAAA,CAAU,MAAO,GAAGD,CAAAA,CAAU,KAAM,CAAA,CAChD,IAAK,CAAE,GAAGC,CAAAA,CAAU,GAAA,CAAK,GAAGD,CAAAA,CAAU,GAAI,CAAA,CAC1C,YAAA,CAAc,CAAE,GAAGC,CAAAA,CAAU,YAAA,CAAc,GAAGD,EAAU,YAAa,CAAA,CACrE,SAAA,CAAW,CAAE,GAAGC,CAAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAU,SAAU,CAAA,CAC5D,QAAA,CAAU,CAAE,GAAGC,CAAAA,CAAU,QAAA,CAAU,GAAGD,CAAAA,CAAU,QAAS,CAC3D,CACF,CCtCA,IAAME,EAAAA,CAAiBC,aAAAA,CAAmC,IAAI,CAAA,CAEvD,SAASC,CAAAA,EAAgC,CAC9C,IAAMC,CAAAA,CAAMC,UAAAA,CAAWJ,EAAc,CAAA,CACrC,GAAI,CAACG,CAAAA,CACH,MAAM,IAAI,MAAM,wDAAwD,CAAA,CAE1E,OAAOA,CACT,CAEA,SAASE,EAAAA,CAAaC,CAAAA,CAA4C,CAChE,OAAO,CAEL,iBAAA,CAAmB,CAAA,IAAA,EAAOA,EAAE,OAAO,CAAA,CAAA,CAAA,CACnC,4BAAA,CAA8B,CAAA,IAAA,EAAOA,EAAE,iBAAiB,CAAA,CAAA,CAAA,CACxD,oBAAA,CAAsB,CAAA,IAAA,EAAOA,EAAE,UAAU,CAAA,CAAA,CAAA,CACzC,oBAAA,CAAsB,CAAA,IAAA,EAAOA,EAAE,UAAU,CAAA,CAAA,CAAA,CACzC,eAAA,CAAiB,CAAA,IAAA,EAAOA,EAAE,KAAK,CAAA,CAAA,CAAA,CAC/B,0BAAA,CAA4B,CAAA,IAAA,EAAOA,EAAE,eAAe,CAAA,CAAA,CAAA,CACpD,mBAAA,CAAqB,CAAA,IAAA,EAAOA,EAAE,SAAS,CAAA,CAAA,CAAA,CACvC,8BAAA,CAAgC,CAAA,IAAA,EAAOA,CAAAA,CAAE,mBAAmB,CAAA,CAAA,CAAA,CAC5D,cAAA,CAAgB,OAAOA,CAAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAC7B,yBAAA,CAA2B,OAAOA,CAAAA,CAAE,cAAc,CAAA,CAAA,CAAA,CAClD,gBAAA,CAAkB,OAAOA,CAAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CACjC,eAAA,CAAiB,CAAA,IAAA,EAAOA,CAAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAChC,eAAgB,CAAA,IAAA,EAAOA,CAAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAEhC,YAAaA,CAAAA,CAAE,OAAA,CACf,sBAAA,CAAwBA,CAAAA,CAAE,kBAC1B,cAAA,CAAgBA,CAAAA,CAAE,UAAA,CAClB,cAAA,CAAgBA,CAAAA,CAAE,UAAA,CAClB,SAAA,CAAWA,CAAAA,CAAE,MACb,oBAAA,CAAsBA,CAAAA,CAAE,eAAA,CACxB,aAAA,CAAeA,EAAE,SAAA,CACjB,wBAAA,CAA0BA,CAAAA,CAAE,mBAAA,CAC5B,SAAUA,CAAAA,CAAE,IAAA,CACZ,mBAAA,CAAqBA,CAAAA,CAAE,eACvB,UAAA,CAAYA,CAAAA,CAAE,MAAA,CACd,SAAA,CAAWA,EAAE,MAAA,CACb,QAAA,CAAUA,CAAAA,CAAE,OAAA,CAEZ,wBAAyB,CAAA,IAAA,EAAOA,CAAAA,CAAE,UAAU,CAAA,CAAA,CAC9C,CACF,CAEO,SAASC,EAAAA,CAAgB,CAAE,KAAA,CAAAZ,CAAAA,CAAO,QAAA,CAAAa,CAAS,EAAyB,CACzE,IAAMC,CAAAA,CAAWC,OAAAA,CAAQ,IAAMhB,EAAAA,CAAaC,CAAK,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAErDgB,CAAAA,CAAQD,OAAAA,CAA6B,KAAO,CAChD,eAAA,CAAiB,CAAA,IAAA,EAAOD,EAAS,MAAA,CAAO,UAAU,CAAA,CAAA,CAAA,CAClD,KAAA,CAAO,OAAOA,CAAAA,CAAS,MAAA,CAAO,UAAU,CAAA,CAAA,CAAA,CACxC,GAAGJ,EAAAA,CAAaI,CAAAA,CAAS,MAAM,CACjC,CAAA,CAAA,CAAI,CAACA,CAAAA,CAAS,MAAM,CAAC,CAAA,CAErB,OACEG,GAAAA,CAACZ,EAAAA,CAAe,SAAf,CAAwB,KAAA,CAAOS,CAAAA,CAC9B,QAAA,CAAAG,IAAC,KAAA,CAAA,CAAI,KAAA,CAAOD,CAAAA,CACT,QAAA,CAAAH,EACH,CAAA,CACF,CAEJ,CCxDA,SAASK,EAAAA,CACPC,CAAAA,CACAC,EACiC,CACjC,OAAKA,CAAAA,CACE,CAAE,GAAGD,CAAAA,CAAa,GAAGC,CAAS,CAAA,CADfD,CAExB,CAEA,SAASE,EAAAA,CAAoBC,CAAAA,CAAsB,CACjD,OAAQA,CAAAA,EACN,KAAK,SAAA,CACH,OAAO,kBAAA,CACT,KAAK,YACH,OAAO,mBAAA,CACT,KAAK,YAAA,CACH,OAAO,kBAAA,CACT,KAAK,SAAA,CACH,OAAO,aAAA,CACT,KAAK,UAAA,CACH,OAAO,cACT,QACE,OAAO,MACX,CACF,CAEO,SAASC,EAAAA,CAAY,CAC1B,KAAA,CAAAC,EACA,QAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,cAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,IAAA,CAAMC,EACN,UAAA,CAAYC,CAAAA,CACZ,cAAA,CAAAC,CAAAA,CACA,gBAAAC,CAAAA,CAAkB,KAAA,CAClB,MAAA,CAAQC,GAAAA,CACR,IAAKC,CAAAA,CACL,GAAGC,CACL,CAAA,CAAqB,CACnB,IAAMnC,CAAAA,CAAQO,CAAAA,GACR6B,CAAAA,CAAOP,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAY7B,EAAM,IAAA,CAAK,IAAA,CAC9BqC,CAAAA,CAAKP,CAAAA,EAAA,KAAAA,CAAAA,CAAU9B,CAAAA,CAAM,IAAA,CAAK,UAAA,CAC1BsC,CAAAA,CAASpB,EAAAA,CAAclB,CAAAA,CAAM,IAAA,CAAK,OAAQiC,GAAc,CAAA,CAExDM,CAAAA,CAAaC,MAAAA,CACjB,6DAA6DJ,CAAAA,GAAS,MAAA,CAAS,cAAA,CAAiB,gBAAgB,GAAGC,CAAAA,GAAO,MAAA,CAAS,yBAAA,CAA4B,EAAE,CAAA,EAAGH,CAAAA,CAAU,CAAA,CAAA,EAAIA,CAAO,GAAK,EAAE,CAAA,CAClM,CAAA,CACMO,CAAAA,CAAWD,OACf,iFACF,CAAA,CACME,CAAAA,CAAcF,MAAAA,CAAO,gDAAgD,CAAA,CACrEG,CAAAA,CAAUH,MAAAA,CACd,sEACF,EACMI,CAAAA,CAAaJ,MAAAA,CACjB,6DACF,CAAA,CAEMK,GAAe9B,OAAAA,CACnB,KAAO,CACL,OAAA,CAAS,EACT,SAAA,CAAWM,EAAAA,CAAoBiB,CAAAA,CAAO,IAAI,EAC1C,SAAA,CAAW,CAAA,mBAAA,EAAsBA,CAAAA,CAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,CAAA,CAAA,EAAIA,EAAO,KAAK,CAAA,WAAA,CACrF,CAAA,CAAA,CACA,CAACA,CAAM,CACT,CAAA,CAEA,OACEQ,IAAAA,CAAC,WAAQ,SAAA,CAAWP,CAAAA,CAAW,SAAA,CAAY,GAAGJ,CAAAA,CAE3C,QAAA,CAAA,CAAAE,CAAAA,GAAO,UAAA,EACNpB,IAAC,KAAA,CAAA,CACC,KAAA,CAAO,CACL,GAAG8B,IAAI,kBAAkB,CAAA,CACzB,UAAA,CACE,iKACJ,EACA,aAAA,CAAY,MAAA,CACd,CAAA,CAEDV,CAAAA,GAAO,mBAAA,EACNpB,GAAAA,CAAC+B,CAAAA,CAAA,CACC,OAAQjB,CAAAA,CACR,IAAA,CAAK,MAAA,CACL,GAAA,CAAI,uBACJ,aAAA,CAAY,MAAA,CACd,CAAA,CAEDM,CAAAA,GAAO,QACNpB,GAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAOgC,GAAAA,CAAYF,IAAI,kBAAkB,CAAA,CAAG,CAC1C,UAAA,CACE,qFACJ,CAAC,CAAA,CACD,aAAA,CAAY,MAAA,CACd,EAIF9B,GAAAA,CAACiC,GAAAA,CAAA,CAAU,IAAA,CAAK,KAAK,OAAA,CAAQ,MAAA,CAAO,QAAA,CAAQ,IAAA,CAAC,GAAA,CAAI,oBAAA,CAC/C,QAAA,CAAAJ,IAAAA,CAAC,OACC,KAAA,CAAOG,GAAAA,CACLF,GAAAA,CAAI,+BAA+B,EACnCF,EACF,CAAA,CAEA,QAAA,CAAA,CAAA5B,GAAAA,CAAC,MAAG,SAAA,CAAWwB,CAAAA,CAAS,SAAA,CAAY,QAAA,CAAAjB,CAAAA,CAAM,CAAA,CAEzCC,CAAAA,EAAYR,GAAAA,CAAC,KAAE,SAAA,CAAWyB,CAAAA,CAAY,SAAA,CAAY,QAAA,CAAAjB,EAAS,CAAA,CAE3DC,CAAAA,EAAeT,GAAAA,CAAC,GAAA,CAAA,CAAE,UAAW0B,CAAAA,CAAQ,SAAA,CAAY,QAAA,CAAAjB,CAAAA,CAAY,CAAA,CAAA,CAE5DC,CAAAA,EAAiBC,CAAAA,GACjBkB,IAAAA,CAAC,OAAI,SAAA,CAAWF,CAAAA,CAAW,SAAA,CACxB,QAAA,CAAA,CAAAjB,EACAC,CAAAA,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAAA,CAGCI,GACCf,GAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAO8B,GAAAA,CACL,4DACF,CAAA,CACA,aAAA,CAAY,MAAA,CAEZ,QAAA,CAAA9B,IAAC,KAAA,CAAA,CACC,KAAA,CAAM,IAAA,CACN,MAAA,CAAO,KACP,OAAA,CAAQ,WAAA,CACR,IAAA,CAAK,MAAA,CACL,OAAO,cAAA,CACP,WAAA,CAAY,GAAA,CACZ,aAAA,CAAc,OAAA,CACd,cAAA,CAAe,OAAA,CACf,KAAA,CAAO8B,IAAI,uBAAuB,CAAA,CAElC,QAAA,CAAA9B,GAAAA,CAAC,QAAK,CAAA,CAAE,uBAAA,CAAwB,CAAA,CAClC,CAAA,CACF,EAIFA,GAAAA,CAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ,CAAA,EAAGsB,CAAAA,CAAW,GAAG,GAAGE,CAAAA,CAAS,GAAG,CAAA,EAAGC,CAAAA,CAAY,GAAG,CAAA,EAAGC,CAAAA,CAAQ,GAAG,CAAA,EAAGC,EAAW,GAAG,CAAA,2DAAA,CAC3F,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CCtIA,IAAIO,EAAAA,CACJ,GAAI,CAEFA,EAAAA,CAAaC,CAAA,CAAQ,uBAAuB,EAAE,WAChD,CAAA,KAAQ,CAER,CAEA,IAAMC,EAAAA,CAAc,CAClB,CAAA,CAAG,4BAAA,CACH,EAAG,2CAAA,CACH,CAAA,CAAG,2CACL,CAAA,CAEA,SAASC,EAAAA,CACPC,CAAAA,CACAC,CAAAA,CACAxC,CAAAA,CACA,CACA,OAAQwC,CAAAA,EACN,KAAK,MAAA,CACH,OACEV,IAAAA,CAACW,CAAAA,CAAA,CAAS,KAAA,CAAOzC,CAAAA,CAAO,GAAA,CAAI,KAAA,CACzB,UAAAuC,CAAAA,CAAK,IAAA,EAAQtC,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,eAAe,CAAA,CAAI,QAAA,CAAAQ,EAAK,IAAA,CAAK,CAAA,CAC3DtC,GAAAA,CAAC,IAAA,CAAA,CAAG,MAAO8B,GAAAA,CAAI,wBAAwB,CAAA,CAAI,QAAA,CAAAQ,EAAK,KAAA,CAAM,CAAA,CACtDtC,GAAAA,CAAC,GAAA,CAAA,CAAE,KAAA,CAAO8B,GAAAA,CAAI,+BAA+B,CAAA,CAAI,SAAAQ,CAAAA,CAAK,WAAA,CAAY,CAAA,CAAA,CACpE,CAAA,CAEJ,KAAK,WAAA,CACH,OACET,IAAAA,CAACY,CAAAA,CAAA,CAAc,KAAA,CAAO1C,CAAAA,CAAO,GAAA,CAAI,KAAA,CAC9B,UAAAuC,CAAAA,CAAK,IAAA,EAAQtC,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,eAAe,CAAA,CAAI,QAAA,CAAAQ,EAAK,IAAA,CAAK,CAAA,CAC3DtC,GAAAA,CAAC,IAAA,CAAA,CAAG,MAAO8B,GAAAA,CAAI,wBAAwB,CAAA,CAAI,QAAA,CAAAQ,CAAAA,CAAK,KAAA,CAAM,CAAA,CACtDtC,GAAAA,CAAC,KAAE,KAAA,CAAO8B,GAAAA,CAAI,+BAA+B,CAAA,CAAI,SAAAQ,CAAAA,CAAK,WAAA,CAAY,CAAA,CAAA,CACpE,CAAA,CAGJ,QACE,OACEtC,GAAAA,CAAC0C,GAAAA,CAAA,CACC,KAAA,CAAO3C,CAAAA,CACP,IAAA,CAAM,MAAA,CACN,MAAOuC,CAAAA,CAAK,KAAA,CACZ,WAAA,CAAaA,CAAAA,CAAK,YAClB,OAAA,CAAQ,OAAA,CACR,KAAA,CAAM,OAAA,CAEL,SAAAA,CAAAA,CAAK,IAAA,EAAQtC,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,GAAAA,CAAI,eAAe,CAAA,CAAI,SAAAQ,CAAAA,CAAK,IAAA,CAAK,CAAA,CAC7D,CAEN,CACF,CAEO,SAASK,EAAAA,CAAgB,CAC9B,MAAAC,CAAAA,CACA,KAAA,CAAArC,CAAAA,CACA,QAAA,CAAAC,EACA,OAAA,CAASqC,CAAAA,CACT,IAAA,CAAMC,CAAAA,CACN,aAAAC,CAAAA,CACA,MAAA,CAAQ/B,CAAAA,CACR,YAAA,CAAcgC,EACd,SAAA,CAAWC,CAAAA,CACX,SAAA,CAAAC,CAAAA,CACA,GAAGhC,CACL,CAAA,CAAyB,CACvB,IAAMnC,CAAAA,CAAQO,CAAAA,EAAgB,CACxBiD,CAAAA,CAAWO,GAAA,IAAA,CAAAA,CAAAA,CAAY/D,CAAAA,CAAM,QAAA,CAAS,KACtCoE,CAAAA,CAAeH,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAoBjE,EAAM,QAAA,CAAS,YAAA,CAClDqE,CAAAA,CAAYH,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAiBlE,CAAAA,CAAM,QAAA,CAAS,UAC5CsC,CAAAA,CAASL,CAAAA,CACX,CAAE,GAAGjC,EAAM,QAAA,CAAS,MAAA,CAAQ,GAAGiC,CAAe,EAC9CjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CAEbsE,CAAAA,CACJR,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CACED,CAAAA,CAAM,QAAU,CAAA,CAAI,CAAA,CAAIA,CAAAA,CAAM,MAAA,EAAU,EAAI,CAAA,CAAI,CAAA,CAE9CU,CAAAA,CACJ/C,CAAAA,EAASC,EAAW,CAAE,KAAA,CAAOD,CAAAA,EAAA,IAAA,CAAAA,EAAS,EAAA,CAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAA4C,CAAU,CAAA,CAAI,MAAA,CAG9DG,CAAAA,CAAUrB,EAAAA,EAAA,YAAAA,EAAAA,CAAa,CAC3B,KAAA,CAAOU,CAAAA,CAAM,OACb,YAAA,CAAAO,CAAAA,CACA,QAAA,CAAU9B,CAAAA,CAAO,QAAA,CACjB,UAAA,CAAYA,CAAAA,CAAO,IAAA,CACnB,OAAQA,CAAAA,CAAO,MACjB,CAAA,CAAA,CAEA,OACErB,IAACwD,GAAAA,CAAA,CACC,MAAA,CAAQF,CAAAA,CACR,QAAQ,IAAA,CACP,GAAGP,CAAAA,CACJ,GAAA,CAAKG,CAAAA,CACJ,GAAGhC,CAAAA,CAEJ,QAAA,CAAAlB,IAAC,KAAA,CAAA,CACC,GAAA,CAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,YAAA,CACd,KAAA,CAAOzB,GAAAA,CAAI,CAAA,oBAAA,EAAuBM,GAAYiB,CAAO,CAAC,CAAA,CAAE,CAAA,CAEvD,QAAA,CAAAT,CAAAA,CAAM,GAAA,CAAI,CAACN,EAAMmB,CAAAA,GAChBzD,GAAAA,CAAC,KAAA,CAAA,CAAa,QAAA,CAAAqC,GAAWC,CAAAA,CAAMC,CAAAA,CAAUgB,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,MAAA,CAAOE,CAAAA,CAAE,CAAA,CAAA,CAAjDA,CAAmD,CAC9D,CAAA,CACH,CAAA,CACF,CAEJ,CCpHA,IAAIvB,EAAAA,CACJ,GAAI,CAEFA,GAAaC,CAAA,CAAQ,uBAAuB,CAAA,CAAE,WAChD,MAAQ,CAER,CAIA,SAASuB,EAAAA,CAAeC,EAItB,CACA,IAAMC,CAAAA,CAAQD,CAAAA,CAAM,MAAM,sCAAsC,CAAA,CAChE,OAAKC,CAAAA,CACE,CACL,MAAA,CAAQA,CAAAA,CAAM,CAAC,CAAA,CACf,QAAS,UAAA,CAAWA,CAAAA,CAAM,CAAC,CAAC,CAAA,CAC5B,MAAA,CAAQA,CAAAA,CAAM,CAAC,CACjB,CAAA,CALmB,CAAE,OAAA,CAAS,CAAA,CAAG,OAAQ,EAAA,CAAI,MAAA,CAAQD,CAAM,CAM7D,CAEA,SAASE,EAAAA,CACPC,CAAAA,CACAC,CAAAA,CACAC,EAAW,IAAA,CACH,CACR,GAAM,CAACC,EAASC,CAAU,CAAA,CAAIC,QAAAA,CAAS,CAAC,EAClCC,CAAAA,CAASC,MAAAA,CAAe,CAAC,CAAA,CAEzBC,EAAUC,WAAAA,CAAY,IAAM,CAChC,IAAMC,CAAAA,CAAQ,WAAA,CAAY,GAAA,EAAI,CACxBC,EAAQC,CAAAA,EAAgB,CAC5B,IAAMC,CAAAA,CAAUD,EAAMF,CAAAA,CAChBI,CAAAA,CAAW,IAAA,CAAK,GAAA,CAAID,EAAUX,CAAAA,CAAU,CAAC,CAAA,CAEzCa,CAAAA,CAAQ,CAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAA,CAAID,EAAU,CAAC,CAAA,CAC1CV,CAAAA,CAAWW,CAAAA,CAAQf,CAAM,CAAA,CACrBc,CAAAA,CAAW,CAAA,GACbR,CAAAA,CAAO,QAAU,qBAAA,CAAsBK,CAAI,CAAA,EAE/C,CAAA,CACAL,CAAAA,CAAO,OAAA,CAAU,qBAAA,CAAsBK,CAAI,EAC7C,CAAA,CAAG,CAACX,CAAAA,CAAQE,CAAQ,CAAC,CAAA,CAErB,OAAAc,SAAAA,CAAU,IAAM,CACd,GAAKf,CAAAA,CACL,OAAAO,CAAAA,GACO,IAAM,CACPF,CAAAA,CAAO,OAAA,EAAS,qBAAqBA,CAAAA,CAAO,OAAO,EACzD,CACF,EAAG,CAACL,CAAAA,CAAWO,CAAO,CAAC,EAEhBL,CACT,CAIA,SAASc,EAAAA,CAAgB,CACvB,IAAA,CAAAzC,CAAAA,CACA,UAAA,CAAA0C,EACA,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAlB,CAAAA,CACA,MAAAhE,CACF,CAAA,CAMG,CA9FH,IAAAmF,EAAAC,CAAAA,CA+FE,GAAM,CACJ,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAQC,CAAAA,CACR,MAAA,CAAQC,CACV,CAAA,CAAI5B,EAAAA,CAAepB,CAAAA,CAAK,KAAK,EACvBiD,CAAAA,CAAU1B,EAAAA,CAAWuB,CAAAA,CAASH,CAAAA,EAAWlB,CAAS,CAAA,CAElDyB,CAAAA,CAAAA,CAAgBN,CAAAA,CAAA5C,CAAAA,CAAK,MAAA,GAAL,IAAA,CAAA4C,CAAAA,CAAeG,CAAAA,CAC/BI,GAAgBN,CAAAA,CAAA7C,CAAAA,CAAK,MAAA,GAAL,IAAA,CAAA6C,EAAeG,CAAAA,CAC/BI,CAAAA,CAAeT,CAAAA,CACjB,CAAA,EAAGO,CAAa,CAAA,EAAG,MAAA,CAAO,SAAA,CAAUJ,CAAO,EAAI,IAAA,CAAK,KAAA,CAAMG,CAAO,CAAA,CAAIA,EAAQ,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAGE,CAAa,CAAA,CAAA,CACvGnD,CAAAA,CAAK,KAAA,CAET,OACET,KAAC,KAAA,CAAA,CAAI,KAAA,CAAO,CAAE,GAAGC,GAAAA,CAAI,aAAa,CAAA,CAAG,GAAG/B,CAAM,CAAA,CAC5C,QAAA,CAAA,CAAAC,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,CAAA,2BAAA,EAA8BkD,CAAU,CAAA,CAAE,EACvD,QAAA,CAAAU,CAAAA,CACH,CAAA,CACA1F,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,GAAAA,CAAI,iDAAiD,EAC9D,QAAA,CAAAQ,CAAAA,CAAK,KAAA,CACR,CAAA,CAAA,CACF,CAEJ,CAIO,SAASqD,EAAAA,CAAa,CAC3B,MAAA/C,CAAAA,CACA,KAAA,CAAArC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAASoF,CAAAA,CACT,UAAA,CAAYC,EACZ,YAAA,CAAA9C,CAAAA,CACA,MAAA,CAAQ/B,CAAAA,CACR,aAAcgC,CAAAA,CACd,SAAA,CAAAE,CAAAA,CACA,GAAGhC,CACL,CAAA,CAAsB,CACpB,IAAMnC,CAAAA,CAAQO,GAAgB,CACxB2F,CAAAA,CAAUW,CAAAA,EAAA,IAAA,CAAAA,EAAe7G,CAAAA,CAAM,KAAA,CAAM,OAAA,CACrCiG,CAAAA,CAAaa,GAAA,IAAA,CAAAA,CAAAA,CAAkB9G,CAAAA,CAAM,KAAA,CAAM,WAC3CoE,CAAAA,CAAeH,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAoBjE,CAAAA,CAAM,KAAA,CAAM,YAAA,CAC/CsC,CAAAA,CAASL,EACX,CAAE,GAAGjC,CAAAA,CAAM,KAAA,CAAM,OAAQ,GAAGiC,CAAe,CAAA,CAC3CjC,CAAAA,CAAM,MAAM,MAAA,CAEVuE,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CACL,CAAE,KAAA,CAAOD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAS,GAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAW,KAAM,EACjD,MAAA,CAEA+C,CAAAA,CAAUrB,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,GAAa,CAC3B,KAAA,CAAOU,CAAAA,CAAM,MAAA,CACb,YAAA,CAAAO,CAAAA,CACA,QAAA,CAAU9B,CAAAA,CAAO,SACjB,UAAA,CAAYA,CAAAA,CAAO,IAAA,CACnB,MAAA,CAAQA,EAAO,MACjB,CAAA,CAAA,CAEMyE,CAAAA,CACJlD,CAAAA,CAAM,QAAU,CAAA,CACZ,4BAAA,CACAA,CAAAA,CAAM,MAAA,EAAU,EACd,4BAAA,CACA,4BAAA,CAER,OACE5C,GAAAA,CAACwD,IAAA,CACC,MAAA,CAAQF,CAAAA,CACR,OAAA,CAAQ,KACP,GAAGP,CAAAA,CACJ,GAAA,CAAKG,CAAAA,CACJ,GAAGhC,CAAAA,CAEJ,QAAA,CAAAlB,GAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,aACd,KAAA,CAAOzB,GAAAA,CAAI,CAAA,qBAAA,EAAwBgE,CAAQ,EAAE,CAAA,CAE5C,QAAA,CAAAlD,CAAAA,CAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,CAAAA,GAAG,CA9K7B,IAAAyB,CAAAA,CA+KU,OAAAlF,GAAAA,CAAC+E,EAAAA,CAAA,CAEC,IAAA,CAAMzC,CAAAA,CACN,UAAA,CAAY0C,CAAAA,CACZ,QAASC,CAAAA,CACT,SAAA,CAAA,CAAWC,CAAAA,CAAA3B,CAAAA,EAAA,YAAAA,CAAAA,CAAS,SAAA,GAAT,IAAA,CAAA2B,CAAAA,CAAsB,IAAA,CACjC,KAAA,CAAO3B,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,MAAA,CAAOE,CAAAA,CAAAA,CAAAA,CALlBA,CAMP,CAAA,CACD,EACH,CAAA,CACF,CAEJ,CChLA,SAASrD,EAAAA,CAAoBC,CAAAA,CAAsB,CACjD,OAAQA,CAAAA,EACN,KAAK,SAAA,CACH,OAAO,kBAAA,CACT,KAAK,WAAA,CACH,OAAO,mBAAA,CACT,KAAK,YAAA,CACH,OAAO,mBACT,KAAK,SAAA,CACH,OAAO,aAAA,CACT,KAAK,UAAA,CACH,OAAO,aAAA,CACT,QACE,OAAO,MACX,CACF,CAcA,IAAI0F,EAAAA,CAGJ,GAAI,CAEFA,EAAAA,CAAkB5D,EAAQ,uBAAuB,CAAA,CAAE,gBACrD,CAAA,KAAQ,CAER,CAEO,SAAS6D,EAAAA,CAAW,CACzB,KAAA,CAAAzF,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,cAAAE,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,UAAA,CAAYE,EACZ,cAAA,CAAAC,CAAAA,CACA,MAAA,CAAQE,CAAAA,CACR,IAAKC,CAAAA,CACL,GAAGC,CACL,CAAA,CAAoB,CA5DpB,IAAAgE,CAAAA,CA6DE,IAAMnG,GAAAA,CAAQO,GAAgB,CACxB8B,CAAAA,CAAKP,CAAAA,EAAA,IAAA,CAAAA,EAAU9B,GAAAA,CAAM,GAAA,CAAI,UAAA,CACzBsC,CAAAA,CAA0CL,EAC5C,CAAE,GAAGjC,GAAAA,CAAM,GAAA,CAAI,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CACzCjC,IAAM,GAAA,CAAI,MAAA,CAERuC,CAAAA,CAAaC,MAAAA,CACjB,0CAA0CH,CAAAA,GAAO,MAAA,CAAS,yBAAA,CAA4B,EAAE,GAAGH,CAAAA,CAAU,CAAA,CAAA,EAAIA,CAAO,CAAA,CAAA,CAAK,EAAE,CAAA,CACzH,CAAA,CACMO,CAAAA,CAAWD,OACf,sDACF,CAAA,CACMI,CAAAA,CAAaJ,MAAAA,CACjB,6DACF,CAAA,CAEM0E,CAAAA,CAAeF,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,GAAkB,CACrC,UAAA,CAAY1E,CAAAA,CAAO,IAAA,CACnB,QAAA,CAAUA,CAAAA,CAAO,QAAA,CACjB,KAAA,CAAOA,EAAO,KAChB,CAAA,CAAA,CAEM6E,CAAAA,CAAgBpG,OAAAA,CAA6B,IAC7CmG,CAAAA,CAAqB,EAAC,CACnB,CACL,QAAS,CAAA,CACT,SAAA,CAAW7F,EAAAA,CAAoBiB,CAAAA,CAAO,IAAI,CAAA,CAC1C,SAAA,CAAW,CAAA,kBAAA,EAAqBA,CAAAA,CAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,CAAA,CAAA,EAAIA,EAAO,KAAK,CAAA,WAAA,CACpF,CAAA,CACC,CAAC4E,EAAc5E,CAAM,CAAC,CAAA,CAEzB,OACEQ,IAAAA,CAAC,SAAA,CAAA,CAAQ,SAAA,CAAWP,CAAAA,CAAW,UAAY,GAAGJ,CAAAA,CAE3C,QAAA,CAAA,CAAAE,CAAAA,GAAO,iBACNpB,GAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAO,CACL,GAAG8B,GAAAA,CAAI,kBAAkB,CAAA,CACzB,UAAA,CACE,iKACJ,CAAA,CACA,aAAA,CAAY,MAAA,CACd,EAEDV,CAAAA,GAAO,mBAAA,EACNpB,GAAAA,CAAC+B,CAAAA,CAAA,CACC,MAAA,CAAQjB,CAAAA,CACR,IAAA,CAAK,MAAA,CACL,IAAI,sBAAA,CACJ,aAAA,CAAY,MAAA,CACd,CAAA,CAEDM,CAAAA,GAAO,MAAA,EACNpB,GAAAA,CAAC,KAAA,CAAA,CACC,MAAOgC,GAAAA,CAAYF,GAAAA,CAAI,kBAAkB,CAAA,CAAG,CAC1C,UAAA,CACE,qFACJ,CAAC,CAAA,CACD,cAAY,MAAA,CACd,CAAA,CAGF9B,GAAAA,CAACiC,GAAAA,CAAA,CAAU,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,MAAA,CAAO,SAAQ,IAAA,CAAC,GAAA,CAAI,oBAAA,CAC/C,QAAA,CAAAJ,KAAC,KAAA,CAAA,CACC,GAAA,CAAKoE,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAc,GAAA,CACnB,KAAA,CAAOjE,GAAAA,CACLF,GAAAA,CAAI,aAAa,CAAA,CAAA,CACjBoD,CAAAA,CAAAe,CAAAA,EAAA,YAAAA,CAAAA,CAAc,KAAA,GAAd,IAAA,CAAAf,CAAAA,CAAuBgB,CACzB,CAAA,CAEA,QAAA,CAAA,CAAAlG,GAAAA,CAAC,IAAA,CAAA,CAAG,UAAWwB,CAAAA,CAAS,SAAA,CAAY,QAAA,CAAAjB,CAAAA,CAAM,CAAA,CAEzCC,CAAAA,EACCR,GAAAA,CAAC,GAAA,CAAA,CACC,MAAO8B,GAAAA,CACL,sDACF,CAAA,CAEC,QAAA,CAAAtB,EACH,CAAA,CAAA,CAGAE,CAAAA,EAAiBC,CAAAA,GACjBkB,IAAAA,CAAC,OAAI,SAAA,CAAWF,CAAAA,CAAW,SAAA,CACxB,QAAA,CAAA,CAAAjB,CAAAA,CACAC,CAAAA,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,EAEAX,GAAAA,CAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,OAAQ,CAAA,EAAGsB,CAAAA,CAAW,GAAG,CAAA,EAAGE,EAAS,GAAG,CAAA,EAAGG,CAAAA,CAAW,GAAG,4DAC3D,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CCnIA,IAAIO,EAAAA,CACJ,GAAI,CAEFA,EAAAA,CAAaC,CAAA,CAAQ,uBAAuB,CAAA,CAAE,WAChD,MAAQ,CAER,CAEA,SAASgE,EAAAA,CAAgB,CACvB,IAAA,CAAA7D,CAAAA,CACA,KAAA,CAAAvC,CACF,EAGG,CACD,OACE8B,IAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAO,CACL,GAAGC,GAAAA,CACD,wFACF,CAAA,CACA,GAAG/B,CACL,CAAA,CAEA,UAAA8B,IAAAA,CAAC,YAAA,CAAA,CAAW,KAAA,CAAOC,GAAAA,CAAI,2CAA2C,CAAA,CAAG,QAAA,CAAA,CAAA,QAAA,CAC3DQ,CAAAA,CAAK,KAAA,CAAM,QAAA,CAAA,CACrB,CAAA,CACAT,IAAAA,CAAC,KAAA,CAAA,CAAI,MAAOC,GAAAA,CAAI,yBAAyB,CAAA,CACtC,QAAA,CAAA,CAAAQ,EAAK,MAAA,EACJtC,GAAAA,CAACoG,GAAAA,CAAA,CAAO,KAAK,IAAA,CAAK,GAAA,CAAK9D,CAAAA,CAAK,MAAA,CAAQ,IAAKA,CAAAA,CAAK,MAAA,CAAQ,CAAA,CAExDT,IAAAA,CAAC,OACC,QAAA,CAAA,CAAA7B,GAAAA,CAAC,GAAA,CAAA,CAAE,KAAA,CAAO8B,IAAI,uBAAuB,CAAA,CAAI,QAAA,CAAAQ,CAAAA,CAAK,OAAO,CAAA,CAAA,CACnDA,CAAAA,CAAK,IAAA,EAAQA,CAAAA,CAAK,OAAA,GAClBT,IAAAA,CAAC,GAAA,CAAA,CAAE,KAAA,CAAOC,IAAI,+BAA+B,CAAA,CAC1C,QAAA,CAAA,CAAAQ,CAAAA,CAAK,KACLA,CAAAA,CAAK,IAAA,EAAQA,CAAAA,CAAK,OAAA,EAAW,KAC7BA,CAAAA,CAAK,OAAA,CAAA,CACR,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,IAAMF,GAAc,CAClB,CAAA,CAAG,gBAAA,CACH,CAAA,CAAG,+BACL,CAAA,CAEO,SAASiE,EAAAA,CAAoB,CAClC,MAAAzD,GAAAA,CACA,KAAA,CAAArC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAS8F,CAAAA,CACT,OAAA,CAASC,EACT,QAAA,CAAAC,CAAAA,CAAW,IAAA,CACX,QAAA,CAAAC,EAAW,GAAA,CACX,MAAA,CAAQzF,CAAAA,CACR,YAAA,CAAc0F,EACd,SAAA,CAAAxD,CAAAA,CACA,GAAGhC,CACL,EAA6B,CAC3B,IAAMnC,CAAAA,CAAQO,CAAAA,GACRqH,CAAAA,CAAUL,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAevH,EAAM,YAAA,CAAa,OAAA,CAC5CsC,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,YAAA,CAAa,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAClDjC,CAAAA,CAAM,aAAa,MAAA,CACjBoE,CAAAA,CAAeuD,CAAAA,EAAA,IAAA,CAAAA,EAAe3H,CAAAA,CAAM,YAAA,CAAa,YAAA,CAEjDwE,CAAAA,CAAUrB,IAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAa,CAC3B,KAAA,CAAOU,IAAM,MAAA,CACb,YAAA,CAAAO,CAAAA,CACA,QAAA,CAAU9B,EAAO,QAAA,CACjB,UAAA,CAAYA,CAAAA,CAAO,IAAA,CACnB,OAAQA,CAAAA,CAAO,MACjB,CAAA,CAAA,CAEMiC,CAAAA,CACJ/C,GAASC,CAAAA,CAAW,CAAE,KAAA,CAAOD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAS,EAAA,CAAI,QAAA,CAAAC,CAAS,CAAA,CAAI,MAAA,CAEzD,GAAImG,CAAAA,GAAY,UACd,OACE3G,GAAAA,CAACwD,GAAAA,CAAA,CAAQ,OAAQF,CAAAA,CAAQ,GAAA,CAAKJ,CAAAA,CAAY,GAAGhC,EAC3C,QAAA,CAAAlB,GAAAA,CAAC4G,GAAAA,CAAA,CAAQ,MAAO,EAAA,CAAI,YAAA,CAAY,IAAA,CAAC,QAAA,CAAQ,KACtC,QAAA,CAAAhE,GAAAA,CAAM,GAAA,CAAI,CAACN,EAAMmB,CAAAA,GAChBzD,GAAAA,CAAC,KAAA,CAAA,CAAY,KAAA,CAAO8B,GAAAA,CAAI,eAAe,CAAA,CACrC,QAAA,CAAA9B,IAACmG,EAAAA,CAAA,CAAgB,IAAA,CAAM7D,CAAAA,CAAM,GADrBmB,CAEV,CACD,CAAA,CACH,CAAA,CACF,EAIJ,GAAIkD,CAAAA,GAAY,UAAA,CACd,OACE3G,GAAAA,CAACwD,GAAAA,CAAA,CAAQ,MAAA,CAAQF,EAAQ,GAAA,CAAKJ,CAAAA,CAAY,GAAGhC,CAAAA,CAC3C,SAAAlB,GAAAA,CAAC6G,CAAAA,CAAA,CACC,QAAA,CAAUL,EACV,QAAA,CAAUC,CAAAA,CACV,IAAA,CAAI,IAAA,CACJ,UAAA,CAAW,MAAA,CACX,UAAA,CAAW,MAAA,CAEV,SAAA7D,GAAAA,CAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,IAChBzD,GAAAA,CAAC,KAAA,CAAA,CAAY,KAAA,CAAO8B,GAAAA,CAAI,0BAA0B,CAAA,CAChD,QAAA,CAAA9B,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,kBAAkB,CAAA,CAChC,QAAA,CAAA9B,IAACmG,EAAAA,CAAA,CAAgB,IAAA,CAAM7D,CAAAA,CAAM,EAC/B,CAAA,CAAA,CAHQmB,CAIV,CACD,CAAA,CACH,EACF,CAAA,CAKJ,IAAMqD,CAAAA,CAAOP,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAc3D,GAAAA,CAAM,MAAA,EAAU,EAAI,CAAA,CAAI,CAAA,CACnD,OACE5C,GAAAA,CAACwD,IAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,GAAA,CAAKJ,EAAY,GAAGhC,CAAAA,CAC3C,QAAA,CAAAlB,GAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,YAAA,CACd,KAAA,CAAOzB,GAAAA,CAAI,CAAA,WAAA,EAAcM,GAAY0E,CAAI,CAAC,CAAA,CAAE,CAAA,CAE3C,SAAAlE,GAAAA,CAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,CAAAA,GAChBzD,GAAAA,CAACmG,EAAAA,CAAA,CAAwB,KAAM7D,CAAAA,CAAM,KAAA,CAAOiB,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,MAAA,CAAOE,CAAAA,CAAAA,CAAAA,CAAtCA,CAA0C,CACjE,EACH,CAAA,CACF,CAEJ,CCtJA,IAAMsD,EAAAA,CAAKC,CAAAA,EAAkBC,IAAMD,CAAK,CAAA,CAExC,SAAS5G,EAAAA,CAAoBC,CAAAA,CAAsB,CACjD,OAAQA,CAAAA,EACN,KAAK,SAAA,CACH,OAAO,kBAAA,CACT,KAAK,WAAA,CACH,OAAO,mBAAA,CACT,KAAK,aACH,OAAO,kBAAA,CACT,KAAK,SAAA,CACH,OAAO,aAAA,CACT,KAAK,UAAA,CACH,OAAO,aAAA,CACT,QACE,OAAO,MACX,CACF,CAaA,IAAI0F,EAAAA,CAGJ,GAAI,CAEFA,EAAAA,CAAkB5D,CAAA,CAAQ,uBAAuB,CAAA,CAAE,gBACrD,CAAA,KAAQ,CAER,CAEO,SAAS+E,EAAAA,CAAiB,CAC/B,KAAA,CAAAC,CAAAA,CACA,MAAA5G,CAAAA,CACA,OAAA,CAAS+F,CAAAA,CACT,KAAA,CAAOc,EACP,UAAA,CAAAC,CAAAA,CAAa,EAAA,CACb,MAAA,CAAQrG,EACR,GAAA,CAAKC,CAAAA,CACL,GAAGC,CACL,EAA0B,CA3D1B,IAAAgE,CAAAA,CA4DE,IAAMnG,EAAQO,CAAAA,EAAgB,CACxBqH,CAAAA,CAAUL,CAAAA,EAAA,KAAAA,CAAAA,CAAevH,CAAAA,CAAM,SAAA,CAAU,OAAA,CACzCuI,CAAAA,CAAQF,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAarI,EAAM,SAAA,CAAU,KAAA,CAErCsC,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAC9C,CAAE,IAAA,CAAM,SAAU,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,UAAA,CAAY,MAAO,CAAE,CAAA,CAE5DiF,CAAAA,CAAeF,EAAAA,EAAA,YAAAA,EAAAA,CAAkB,CACrC,UAAA,CAAY1E,CAAAA,CAAO,KACnB,QAAA,CAAUA,CAAAA,CAAO,QAAA,CACjB,KAAA,CAAOA,CAAAA,CAAO,KAChB,CAAA,CAAA,CAEM6E,CAAAA,CAAgBpG,QAA6B,IAC7CmG,CAAAA,CAAqB,EAAC,CACnB,CACL,OAAA,CAAS,CAAA,CACT,SAAA,CAAW7F,EAAAA,CAAoBiB,EAAO,IAAI,CAAA,CAC1C,SAAA,CAAW,CAAA,wBAAA,EAA2BA,EAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,IAAIA,CAAAA,CAAO,KAAK,CAAA,WAAA,CAC1F,CAAA,CACC,CAAC4E,CAAAA,CAAc5E,CAAM,CAAC,CAAA,CAEnBkG,EAAeJ,CAAAA,CAAM,GAAA,CAAI,CAACK,CAAAA,CAAM/D,CAAAA,GAAM,CAC1C,IAAMgE,CAAAA,CACJzH,IAAC,KAAA,CAAA,CAEC,GAAA,CAAKwH,CAAAA,CAAK,GAAA,CACV,IAAKA,CAAAA,CAAK,GAAA,CACV,KAAA,CAAO,CACL,GAAGT,EAAAA,CAAE,gBAAgB,CAAA,CACrB,MAAA,CAAQM,CAAAA,CACR,KAAA,CAAO,MAAA,CACP,OAAA,CAAS,EACX,CAAA,CAAA,CARK5D,CASP,CAAA,CAEF,OAAI+D,EAAK,IAAA,CAELxH,GAAAA,CAAC,GAAA,CAAA,CAEC,IAAA,CAAMwH,EAAK,IAAA,CACX,MAAA,CAAO,QAAA,CACP,GAAA,CAAI,qBAAA,CACJ,KAAA,CAAOT,EAAAA,CAAE,aAAa,EAErB,QAAA,CAAAU,CAAAA,CAAAA,CANIhE,CAOP,CAAA,CAGGgE,CACT,CAAC,CAAA,CAID,OACE5F,IAAAA,CAAC2B,IAAA,CAAQ,MAAA,CAHIjD,CAAAA,CAAQ,CAAE,MAAAA,CAAAA,CAAO,QAAA,CAAU,MAAU,CAAA,CAAI,OAG7B,OAAA,CAAQ,IAAA,CAAK,GAAA,CAAKU,CAAAA,CAAU,GAAGC,CAAAA,CACtD,QAAA,CAAA,CAAAlB,GAAAA,CAAC,KAAA,CAAA,CACC,IAAKiG,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,GAAA,CACnB,KAAA,CAAA,CAAOf,CAAAA,CAAAe,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAc,KAAA,GAAd,IAAA,CAAAf,CAAAA,CAAuBgB,CAAAA,CAE7B,SAAAS,CAAAA,GAAY,SAAA,CACX3G,GAAAA,CAAC4G,GAAAA,CAAA,CAAQ,KAAA,CAAOU,CAAAA,CAAO,YAAA,CAAY,IAAA,CAAC,QAAA,CAAQ,IAAA,CAAC,GAAA,CAAK,EAAA,CAC/C,SAAAC,CAAAA,CACH,CAAA,CAEAvH,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO+G,EAAAA,CAAE,kDAAkD,CAAA,CAC7D,QAAA,CAAAQ,EACH,CAAA,CAEJ,CAAA,CAEAvH,GAAAA,CAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ,kEACV,EACF,CAAA,CAAA,CACF,CAEJ,CCpHA,IAAIkC,EAAAA,CACJ,GAAI,CAEFA,EAAAA,CAAaC,CAAA,CAAQ,uBAAuB,EAAE,WAChD,CAAA,KAAQ,CAER,CAEO,SAASuF,EAAAA,CAAgB,CAC9B,KAAA,CAAA9E,CAAAA,CACA,KAAA,CAAArC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAQQ,CAAAA,CACR,YAAA,CAAc0F,CAAAA,CACd,GAAA,CAAKzF,EACL,GAAGC,CACL,CAAA,CAAyB,CACvB,IAAMnC,CAAAA,CAAQO,CAAAA,EAAgB,CACxB+B,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,SAAS,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAC9CjC,EAAM,QAAA,CAAS,MAAA,CACboE,CAAAA,CAAeuD,CAAAA,EAAA,KAAAA,CAAAA,CAAe3H,CAAAA,CAAM,QAAA,CAAS,YAAA,CAE7C4I,CAAAA,CAAepG,MAAAA,CAAO,0BAA0B,CAAA,CAChDqG,EAAcrG,MAAAA,CAAO,8CAA8C,CAAA,CACnEsG,CAAAA,CAAatG,OACjB,sDACF,CAAA,CACMC,CAAAA,CAAWD,MAAAA,CAAO,gCAAgC,CAAA,CAElDgC,CAAAA,CAAUrB,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,GAAa,CAC3B,KAAA,CAAOU,CAAAA,CAAM,MAAA,CACb,aAAAO,CAAAA,CACA,QAAA,CAAU9B,CAAAA,CAAO,QAAA,CACjB,WAAYA,CAAAA,CAAO,IAAA,CACnB,MAAA,CAAQA,CAAAA,CAAO,MACjB,CAAA,CAAA,CAEMiC,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,KAAA,CAAOD,CAAAA,EAAA,IAAA,CAAAA,EAAS,EAAA,CAAI,QAAA,CAAAC,CAAS,CAAA,CAAI,OAEzD,OACEqB,IAAAA,CAAC2B,GAAAA,CAAA,CAAQ,OAAQF,CAAAA,CAAQ,GAAA,CAAKrC,CAAAA,CAAU,GAAGC,EACzC,QAAA,CAAA,CAAAlB,GAAAA,CAAC,KAAA,CAAA,CAAI,GAAA,CAAKuD,GAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,YAAA,CAAc,SAAA,CAAWoE,EAAa,SAAA,CACtD,QAAA,CAAA/E,CAAAA,CAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,CAAAA,GAAM,CACtB,IAAMqE,CAAAA,CAASrE,CAAAA,CAAI,CAAA,GAAM,CAAA,CACzB,OACEzD,GAAAA,CAACiC,GAAAA,CAAA,CAAkB,IAAA,CAAK,KAAK,OAAA,CAAQ,MAAA,CAAO,GAAA,CAAI,MAAA,CAC9C,SAAAJ,IAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CACEiG,CAAAA,CAASF,EAAY,SAAA,CAAYC,CAAAA,CAAW,SAAA,CAE9C,KAAA,CAAOtE,GAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,MAAA,CAAOE,CAAAA,CAAAA,CAGvB,UAAAzD,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,GAAAA,CAAI,eAAe,CAAA,CAC7B,QAAA,CAAAD,IAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAOC,GAAAA,CACL,uEACF,CAAA,CAEA,UAAA9B,GAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKsC,CAAAA,CAAK,MACV,GAAA,CAAKA,CAAAA,CAAK,KAAA,CACV,KAAA,CAAOR,IAAI,4BAA4B,CAAA,CACzC,CAAA,CACA9B,GAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAO,CACL,QAAA,CAAU,WACV,KAAA,CAAO,CAAA,CACP,UAAA,CACE,uDAAA,CACF,cAAe,MACjB,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,EAGA6B,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOC,GAAAA,CAAI,yBAAyB,CAAA,CACvC,QAAA,CAAA,CAAA9B,GAAAA,CAAC,MAAG,SAAA,CAAWwB,CAAAA,CAAS,SAAA,CAAY,QAAA,CAAAc,EAAK,KAAA,CAAM,CAAA,CAC/CtC,GAAAA,CAAC,GAAA,CAAA,CAAE,MAAO8B,GAAAA,CAAI,uCAAuC,CAAA,CAClD,QAAA,CAAAQ,EAAK,WAAA,CACR,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAtCcmB,CAuChB,CAEJ,CAAC,CAAA,CACH,CAAA,CACAzD,IAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ,GAAG2H,CAAAA,CAAa,GAAG,CAAA,EAAGC,CAAAA,CAAY,GAAG,CAAA,EAAGC,CAAAA,CAAW,GAAG,GAAGrG,CAAAA,CAAS,GAAG,CAAA,CAC/E,CAAA,CACF,GACF,CAEJ,CC1GA,IAAMuF,CAAAA,CAAKC,CAAAA,EAAkBC,IAAMD,CAAK,CAAA,CAapCjB,EAAAA,CAGJ,GAAI,CAEFA,EAAAA,CAAkB5D,CAAA,CAAQ,uBAAuB,CAAA,CAAE,gBACrD,CAAA,KAAQ,CAER,CAEO,SAAS4F,EAAAA,CAAa,CAC3B,IAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CACA,MAAA,CAAQpH,CAAAA,CACR,IAAKC,CAAAA,CACL,GAAGC,CACL,CAAA,CAAsB,CA9CtB,IAAAgE,CAAAA,CA+CE,IAAMnG,CAAAA,CAAQO,GAAgB,CACxB+B,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAC1CjC,CAAAA,CAAM,IAAA,CAAK,OAETkH,CAAAA,CAAeF,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAkB,CACrC,UAAA,CAAY1E,CAAAA,CAAO,IAAA,CACnB,QAAA,CAAUA,EAAO,QAAA,CACjB,KAAA,CAAOA,CAAAA,CAAO,KAChB,CAAA,CAAA,CAEM6E,CAAAA,CAAqCD,CAAAA,CACvC,GACA,CACE,OAAA,CAAS,CAAA,CACT,SAAA,CAAW5E,EAAO,IAAA,GAAS,SAAA,CAAY,kBAAA,CAAqB,MAAA,CAC5D,UAAW,CAAA,oBAAA,EAAuBA,CAAAA,CAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,CAAA,CAAA,EAAIA,CAAAA,CAAO,KAAK,CAAA,WAAA,CACtF,CAAA,CAEEgH,CAAAA,CAAY9G,MAAAA,CAAO,2BAA2B,CAAA,CAEpD,OACEM,IAAAA,CAAC2B,GAAAA,CAAA,CAAQ,GAAA,CAAKvC,CAAAA,CAAU,GAAGC,CAAAA,CACzB,UAAAlB,GAAAA,CAACiC,GAAAA,CAAA,CAAU,IAAA,CAAK,KAAK,OAAA,CAAQ,MAAA,CAAO,QAAA,CAAQ,IAAA,CAC1C,SAAAJ,IAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKoE,CAAAA,EAAA,YAAAA,CAAAA,CAAc,GAAA,CACnB,KAAA,CAAOjE,GAAAA,CAAAA,CACLkD,CAAAA,CAAAe,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,QAAd,IAAA,CAAAf,CAAAA,CAAuBgB,CAAAA,CACvBa,CAAAA,CAAE,kCAAkC,CACtC,CAAA,CAGC,QAAA,CAAA,CAAAoB,CAAAA,EACCnI,IAAC,KAAA,CAAA,CAAI,SAAA,CAAWqI,CAAAA,CAAU,SAAA,CAAW,MAAO,CAAE,UAAA,CAAY,CAAE,CAAA,CAC1D,SAAArI,GAAAA,CAACoG,GAAAA,CAAA,CAAO,IAAA,CAAK,KAAK,GAAA,CAAK+B,CAAAA,CAAQ,GAAA,CAAKH,CAAAA,CAAM,IAAI,eAAA,CAAgB,CAAA,CAChE,CAAA,CAIFnG,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOkF,CAAAA,CAAE,oBAAoB,EAChC,QAAA,CAAA,CAAA/G,GAAAA,CAAC,IAAA,CAAA,CAAG,KAAA,CAAO+G,EAAE,yBAAyB,CAAA,CAAI,QAAA,CAAAiB,CAAAA,CAAK,EAC/ChI,GAAAA,CAAC,GAAA,CAAA,CAAE,KAAA,CAAO+G,CAAAA,CAAE,oCAAoC,CAAA,CAAI,QAAA,CAAAkB,CAAAA,CAAK,CAAA,CACzDjI,IAAC,KAAA,CAAA,CAAI,KAAA,CAAO+G,CAAAA,CAAE,sBAAsB,EACjC,QAAA,CAAA,OAAOmB,CAAAA,EAAQ,QAAA,CAAWlI,GAAAA,CAAC,KAAG,QAAA,CAAAkI,CAAAA,CAAI,CAAA,CAAOA,CAAAA,CAC5C,CAAA,CAGCE,CAAAA,EAAeA,CAAAA,CAAY,MAAA,CAAS,GACnCpI,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO+G,CAAAA,CAAE,2BAA2B,CAAA,CACtC,QAAA,CAAAqB,CAAAA,CAAY,GAAA,CAAI,CAACE,GAAAA,CAAM7E,CAAAA,GACtBzD,GAAAA,CAAC,GAAA,CAAA,CAEC,IAAA,CAAMsI,GAAAA,CAAK,IAAA,CACX,MAAA,CAAO,SACP,GAAA,CAAI,qBAAA,CACJ,KAAA,CAAOvB,CAAAA,CAAE,uBAAuB,CAAA,CAChC,YAAA,CAAYuB,GAAAA,CAAK,KAAA,CAEjB,SAAAtI,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAMD,GAAAA,CAAK,IAAA,CAAa,IAAA,CAAM,EAAA,CAAI,GAPnC7E,CAQP,CACD,CAAA,CACH,CAAA,CAAA,CAEJ,GACF,CAAA,CACF,CAAA,CAEAzD,GAAAA,CAAC,OAAA,CAAA,CACC,wBAAyB,CACvB,MAAA,CAAQ,CAAA,EAAGqI,CAAAA,CAAU,GAAG,CAAA,4DAAA,CAC1B,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CC9FA,IAAInG,EAAAA,CACAsG,EAAAA,CACJ,GAAI,CAEF,IAAMC,CAAAA,CAAKtG,CAAA,CAAQ,uBAAuB,CAAA,CAC1CD,EAAAA,CAAauG,CAAAA,CAAG,UAAA,CAChBD,GAAWC,CAAAA,CAAG,SAChB,CAAA,KAAQ,CAER,CAEA,IAAMrG,EAAAA,CAAc,CAClB,EAAG,gBAAA,CACH,CAAA,CAAG,+BACL,CAAA,CAEA,SAASsG,EAAAA,CAAY,CACnB,IAAA,CAAApG,CAAAA,CACA,MAAAvC,CACF,CAAA,CAGG,CAGD,OACE8B,IAAAA,CAHoB2G,EAAAA,EAAYG,CAAAA,CAG/B,CACC,IAAI,wHAAA,CACJ,KAAA,CAAO5I,CAAAA,CAEN,QAAA,CAAA,CAAAuC,EAAK,KAAA,EACJtC,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,IAAI,uCAAuC,CAAA,CACrD,QAAA,CAAA9B,GAAAA,CAAC,OACC,GAAA,CAAKsC,CAAAA,CAAK,KAAA,CACV,GAAA,CAAKA,EAAK,KAAA,CACV,KAAA,CAAOR,GAAAA,CACL,oFACF,EACF,CAAA,CACF,CAAA,CAEFD,IAAAA,CAAC,KAAA,CAAA,CAAI,MAAOC,GAAAA,CAAI,KAAK,CAAA,CACnB,QAAA,CAAA,CAAA9B,GAAAA,CAAC,IAAA,CAAA,CAAG,KAAA,CAAO8B,GAAAA,CAAI,wBAAwB,CAAA,CAAI,QAAA,CAAAQ,CAAAA,CAAK,KAAA,CAAM,EACtDtC,GAAAA,CAAC,GAAA,CAAA,CAAE,KAAA,CAAO8B,GAAAA,CAAI,4CAA4C,CAAA,CACvD,QAAA,CAAAQ,CAAAA,CAAK,WAAA,CACR,CAAA,CAGCA,CAAAA,CAAK,IAAA,EAAQA,CAAAA,CAAK,KAAK,MAAA,CAAS,CAAA,EAC/BtC,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,2BAA2B,CAAA,CACxC,QAAA,CAAAQ,EAAK,IAAA,CAAK,GAAA,CAAI,CAACsG,CAAAA,CAAKnF,CAAAA,GACnBzD,GAAAA,CAAC,MAAA,CAAA,CAEC,KAAA,CAAO8B,IACL,2DACF,CAAA,CAEC,QAAA,CAAA8G,CAAAA,CAAAA,CALInF,CAMP,CACD,CAAA,CACH,CAAA,CAIF5B,IAAAA,CAAC,OAAI,KAAA,CAAOC,GAAAA,CAAI,YAAY,CAAA,CACzB,UAAAQ,CAAAA,CAAK,IAAA,EACJT,IAAAA,CAAC,GAAA,CAAA,CACC,KAAMS,CAAAA,CAAK,IAAA,CACX,MAAA,CAAO,QAAA,CACP,IAAI,qBAAA,CACJ,KAAA,CAAOR,GAAAA,CACL,8DACF,EACD,QAAA,CAAA,CAAA,eAAA,CACc9B,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAK,YAAA,CAAa,IAAA,CAAM,EAAA,CAAI,GACjD,CAAA,CAEDjG,CAAAA,CAAK,MAAA,EACJT,IAAAA,CAAC,KACC,IAAA,CAAMS,CAAAA,CAAK,MAAA,CACX,MAAA,CAAO,SACP,GAAA,CAAI,qBAAA,CACJ,KAAA,CAAOR,GAAAA,CACL,6EACF,CAAA,CAEA,QAAA,CAAA,CAAA9B,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAK,QAAA,CAAS,IAAA,CAAM,EAAA,CAAI,EAAE,SAAA,CAAA,CAClC,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEO,SAASM,EAAAA,CAAgB,CAC9B,KAAA,CAAAjG,CAAAA,CACA,KAAA,CAAArC,CAAAA,CACA,SAAAC,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CAAU,CAAA,CACV,OAAAyF,CAAAA,CAAS,KAAA,CACT,MAAA,CAAQ9H,CAAAA,CACR,aAAc0F,CAAAA,CACd,SAAA,CAAAxD,CAAAA,CACA,GAAGhC,CACL,CAAA,CAAyB,CACvB,IAAMnC,CAAAA,CAAQO,GAAgB,CACxB+B,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAC9CjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CACboE,CAAAA,CAAeuD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAe3H,EAAM,QAAA,CAAS,YAAA,CAE7C,CAACgK,CAAAA,CAAaC,CAAc,CAAA,CAAI7E,QAAAA,CAAwB,IAAI,CAAA,CAE5D8E,EAAUnJ,OAAAA,CAAQ,IAAM,CAC5B,IAAMoJ,CAAAA,CAAS,IAAI,GAAA,CACnB,OAAAtG,EAAM,OAAA,CAASN,CAAAA,EAAS,CA/I5B,IAAA4C,GAgJMA,CAAAA,CAAA5C,CAAAA,CAAK,IAAA,GAAL,IAAA,EAAA4C,EAAW,OAAA,CAAS0D,EAAAA,EAAQM,CAAAA,CAAO,GAAA,CAAIN,EAAG,CAAA,EAC5C,CAAC,CAAA,CACM,MAAM,IAAA,CAAKM,CAAM,CAC1B,CAAA,CAAG,CAACtG,CAAK,CAAC,CAAA,CAEJuG,CAAAA,CAAgBrJ,QAAQ,IACvBiJ,CAAAA,CACEnG,CAAAA,CAAM,MAAA,CAAQN,GAAM,CAvJ/B,IAAA4C,CAAAA,CAuJkC,OAAA,CAAAA,EAAA5C,CAAAA,CAAK,IAAA,GAAL,IAAA,CAAA,MAAA,CAAA4C,CAAAA,CAAW,SAAS6D,CAAAA,CAAAA,CAAY,CAAA,CADrCnG,CAAAA,CAExB,CAACA,EAAOmG,CAAW,CAAC,CAAA,CAEjBxF,CAAAA,CAAUrB,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAa,CAC3B,MAAOiH,CAAAA,CAAc,MAAA,CACrB,YAAA,CAAAhG,CAAAA,CACA,SAAU9B,CAAAA,CAAO,QAAA,CACjB,UAAA,CAAYA,CAAAA,CAAO,KACnB,MAAA,CAAQA,CAAAA,CAAO,MACjB,CAAA,CAAA,CAEMiC,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,MAAOD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAS,EAAA,CAAI,SAAAC,CAAS,CAAA,CAAI,MAAA,CAEzD,OACEqB,KAAC2B,GAAAA,CAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,GAAA,CAAKJ,CAAAA,CAAY,GAAGhC,CAAAA,CAE1C,UAAA4H,CAAAA,EAAUG,CAAAA,CAAQ,MAAA,CAAS,CAAA,EAC1BpH,KAAC,KAAA,CAAA,CAAI,KAAA,CAAOC,GAAAA,CAAI,0CAA0C,EACxD,QAAA,CAAA,CAAA9B,GAAAA,CAAC,QAAA,CAAA,CACC,OAAA,CAAS,IAAMgJ,CAAAA,CAAe,IAAI,CAAA,CAClC,KAAA,CAAOlH,IACL,CAAA,6DAAA,EAAiEiH,CAAAA,CAAqD,8DAAA,CAAvC,oCAAqG,EACtL,CAAA,CACD,QAAA,CAAA,KAAA,CAED,CAAA,CACCE,CAAAA,CAAQ,IAAKL,CAAAA,EACZ5I,GAAAA,CAAC,QAAA,CAAA,CAEC,OAAA,CAAS,IAAMgJ,CAAAA,CAAeJ,CAAG,CAAA,CACjC,MAAO9G,GAAAA,CACL,CAAA,6DAAA,EAAgEiH,CAAAA,GAAgBH,CAAAA,CAAM,qCAAuC,8DAA8D,CAAA,CAC7L,CAAA,CAEC,QAAA,CAAAA,GANIA,CAOP,CACD,CAAA,CAAA,CACH,CAAA,CAIF5I,GAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKuD,CAAAA,EAAA,YAAAA,CAAAA,CAAS,YAAA,CACd,KAAA,CAAOzB,GAAAA,CAAI,cAAcM,EAAAA,CAAYiB,CAAO,CAAC,CAAA,CAAE,EAE9C,QAAA,CAAA8F,CAAAA,CAAc,GAAA,CAAI,CAAC7G,CAAAA,CAAMmB,CAAAA,GACxBzD,GAAAA,CAAC0I,EAAAA,CAAA,CAAoB,IAAA,CAAMpG,CAAAA,CAAM,KAAA,CAAOiB,CAAAA,EAAA,YAAAA,CAAAA,CAAS,MAAA,CAAOE,CAAAA,CAAAA,CAAAA,CAAtCA,CAA0C,CAC7D,CAAA,CACH,CAAA,CAAA,CACF,CAEJ,CC/KA,IAAIvB,EAAAA,CACJ,GAAI,CAEFA,EAAAA,CAAaC,EAAQ,uBAAuB,CAAA,CAAE,WAChD,CAAA,KAAQ,CAER,CAEA,SAASiH,EAAAA,CAAYC,EAAuB,CAC1C,OAAIA,CAAAA,EAAS,EAAA,CAAW,eACpBA,CAAAA,EAAS,EAAA,CAAW,aAAA,CACpBA,CAAAA,EAAS,GAAW,eAAA,CACjB,aACT,CAEO,SAASC,GAAc,CAC5B,KAAA,CAAA1G,CAAAA,CACA,KAAA,CAAArC,EACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAmG,CAAAA,CAAU,OACV,MAAA,CAAQ3F,CAAAA,CACR,YAAA,CAAc0F,CAAAA,CACd,UAAAxD,CAAAA,CACA,GAAGhC,CACL,CAAA,CAAuB,CACrB,IAAMnC,CAAAA,CAAQO,CAAAA,GACR+B,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,EAAM,QAAA,CAAS,MAAA,CAAQ,GAAGiC,CAAe,EAC9CjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CACboE,CAAAA,CAAeuD,GAAA,IAAA,CAAAA,CAAAA,CAAe3H,CAAAA,CAAM,QAAA,CAAS,aAE7CwE,CAAAA,CAAUrB,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAa,CAC3B,KAAA,CAAOU,CAAAA,CAAM,MAAA,CACb,YAAA,CAAAO,EACA,QAAA,CAAU9B,CAAAA,CAAO,QAAA,CACjB,UAAA,CAAYA,CAAAA,CAAO,IAAA,CACnB,MAAA,CAAQA,CAAAA,CAAO,MACjB,CAAA,CAAA,CAEMiC,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,KAAA,CAAOD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAS,GAAI,QAAA,CAAAC,CAAS,CAAA,CAAI,MAAA,CAGzD,OAAImG,CAAAA,GAAY,SAAA,CAEZ3G,GAAAA,CAACwD,IAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,GAAA,CAAKJ,EAAY,GAAGhC,CAAAA,CAC3C,QAAA,CAAAlB,GAAAA,CAAC4G,IAAA,CAAQ,KAAA,CAAO,EAAA,CAAI,YAAA,CAAY,IAAA,CAAC,QAAA,CAAQ,IAAA,CACtC,QAAA,CAAAhE,EAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,GAAAA,GAChB5B,KAAC,KAAA,CAAA,CAEC,KAAA,CAAOC,GAAAA,CAAI,iDAAiD,EAE3D,QAAA,CAAA,CAAAQ,CAAAA,CAAK,IAAA,EAAQtC,GAAAA,CAACuI,EAAA,CAAK,IAAA,CAAMjG,CAAAA,CAAK,IAAA,CAAa,KAAM,EAAA,CAAI,CAAA,CACtDtC,GAAAA,CAAC,MAAA,CAAA,CAAK,MAAO8B,GAAAA,CAAI,aAAa,CAAA,CAAI,QAAA,CAAAQ,EAAK,IAAA,CAAK,CAAA,CAAA,CAAA,CAJvCmB,GAKP,CACD,CAAA,CACH,CAAA,CACF,CAAA,CAKAkD,CAAAA,GAAY,OAEZ3G,GAAAA,CAACwD,GAAAA,CAAA,CAAQ,MAAA,CAAQF,EAAQ,GAAA,CAAKJ,CAAAA,CAAY,GAAGhC,CAAAA,CAC3C,SAAAlB,GAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,YAAA,CACd,KAAA,CAAOzB,IAAI,sDAAsD,CAAA,CAEhE,QAAA,CAAAc,CAAAA,CAAM,IAAI,CAACN,CAAAA,CAAMmB,GAAAA,GAChB5B,IAAAA,CAAC,OAEC,KAAA,CAAO,CACL,GAAGC,GAAAA,CACD,uIACF,CAAA,CACA,GAAGyB,CAAAA,EAAA,YAAAA,CAAAA,CAAS,MAAA,CAAOE,GAAAA,CACrB,CAAA,CAEC,UAAAnB,CAAAA,CAAK,IAAA,EACJtC,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAMjG,CAAAA,CAAK,IAAA,CAAa,IAAA,CAAM,GAAI,OAAA,CAAQ,SAAA,CAAU,CAAA,CAE5DtC,GAAAA,CAAC,QAAK,KAAA,CAAO8B,GAAAA,CAAI,2BAA2B,CAAA,CAAI,SAAAQ,CAAAA,CAAK,IAAA,CAAK,CAAA,CACzDA,CAAAA,CAAK,UACJtC,GAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAO8B,GAAAA,CAAI,+BAA+B,CAAA,CAC7C,QAAA,CAAAQ,CAAAA,CAAK,SACR,CAAA,CAAA,CAAA,CAfGmB,GAiBP,CACD,CAAA,CACH,EACF,CAAA,CAMF5B,IAAAA,CAAC2B,GAAAA,CAAA,CAAQ,OAAQF,CAAAA,CAAQ,GAAA,CAAKJ,CAAAA,CAAY,GAAGhC,CAAAA,CAC3C,QAAA,CAAA,CAAAlB,GAAAA,CAAC,KAAA,CAAA,CACC,IAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,YAAA,CACd,MAAOzB,GAAAA,CAAI,6BAA6B,CAAA,CAEvC,QAAA,CAAAc,EAAM,GAAA,CAAI,CAACN,CAAAA,CAAMmB,GAAAA,GAAM,CAlIhC,IAAAyB,CAAAA,CAmIU,IAAMmE,GAAQnE,CAAAA,CAAA5C,CAAAA,CAAK,KAAA,GAAL,IAAA,CAAA4C,EAAc,GAAA,CAC5B,OACErD,IAAAA,CAAC,KAAA,CAAA,CAAY,MAAO,CAAE,GAAGC,GAAAA,CAAI,WAAW,EAAG,GAAGyB,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,OAAOE,GAAAA,CAAG,CAAA,CAC/D,QAAA,CAAA,CAAA5B,IAAAA,CAAC,OAAI,KAAA,CAAOC,GAAAA,CAAI,mCAAmC,CAAA,CACjD,UAAAD,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOC,GAAAA,CAAI,yBAAyB,CAAA,CACtC,QAAA,CAAA,CAAAQ,CAAAA,CAAK,MAAQtC,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAMjG,EAAK,IAAA,CAAa,IAAA,CAAM,EAAA,CAAI,CAAA,CACtDtC,IAAC,MAAA,CAAA,CAAK,KAAA,CAAO8B,GAAAA,CAAI,eAAe,EAAI,QAAA,CAAAQ,CAAAA,CAAK,IAAA,CAAK,CAAA,CAAA,CAChD,EACAT,IAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAOC,GAAAA,CAAI,+BAA+B,CAAA,CAC7C,QAAA,CAAA,CAAAuH,CAAAA,CAAM,GAAA,CAAA,CACT,GACF,CAAA,CACArJ,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,GAAAA,CAAI,+CAA+C,CAAA,CAC7D,QAAA,CAAA9B,IAAC,KAAA,CAAA,CACC,KAAA,CAAOgC,GAAAA,CACLF,GAAAA,CACE,oDAAoDsH,EAAAA,CAAYC,CAAK,CAAC,CAAA,CACxE,EACA,CACE,KAAA,CAAO,CAAA,EAAGA,CAAK,IACf,SAAA,CAAW,qCACb,CACF,CAAA,CACF,EACF,CAAA,CAAA,CAAA,CAtBQ5F,GAuBV,CAEJ,CAAC,EACH,CAAA,CAEAzD,GAAAA,CAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAAA,CAKV,EACF,CAAA,CAAA,CACF,CAEJ,CCnJA,IAAIkC,EAAAA,CACJ,GAAI,CAEFA,EAAAA,CAAaC,CAAA,CAAQ,uBAAuB,EAAE,WAChD,CAAA,KAAQ,CAER,CAEA,SAASoH,EAAAA,CAAe,CACtB,IAAA,CAAAjH,CAAAA,CACA,MAAAvC,CACF,CAAA,CAGG,CACD,OACE8B,KAAC,KAAA,CAAA,CAAI,KAAA,CAAO,CAAE,GAAGC,IAAI,oBAAoB,CAAA,CAAG,GAAG/B,CAAM,EAEnD,QAAA,CAAA,CAAAC,GAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAO8B,IACL,CAAA,sDAAA,EAAyDQ,CAAAA,CAAK,OAAA,CAAU,yCAAA,CAA4C,6BAA6B,CAAA,CACnJ,CAAA,CACF,CAAA,CAEAtC,GAAAA,CAAC,OAAI,KAAA,CAAO8B,GAAAA,CAAI,oDAAoD,CAAA,CAAG,EAGvED,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOC,GAAAA,CAAI,WAAW,CAAA,CACzB,QAAA,CAAA,CAAAD,KAAC,KAAA,CAAA,CACC,KAAA,CAAOC,IACL,oEACF,CAAA,CAEA,QAAA,CAAA,CAAA9B,GAAAA,CAAC,MAAG,KAAA,CAAO8B,GAAAA,CAAI,mBAAmB,CAAA,CAAI,SAAAQ,CAAAA,CAAK,KAAA,CAAM,CAAA,CACjDtC,GAAAA,CAAC,QAAK,KAAA,CAAO8B,GAAAA,CAAI,+BAA+B,CAAA,CAC7C,SAAAQ,CAAAA,CAAK,MAAA,CACR,CAAA,CAAA,CACF,CAAA,CACAtC,IAAC,GAAA,CAAA,CAAE,KAAA,CAAO8B,GAAAA,CAAI,0CAA0C,EACrD,QAAA,CAAAQ,CAAAA,CAAK,OAAA,CACR,CAAA,CACCA,EAAK,WAAA,EACJtC,GAAAA,CAAC,KAAE,KAAA,CAAO8B,GAAAA,CAAI,oDAAoD,CAAA,CAC/D,QAAA,CAAAQ,CAAAA,CAAK,WAAA,CACR,EAEDA,CAAAA,CAAK,OAAA,EACJtC,GAAAA,CAAC,MAAA,CAAA,CACC,MAAO8B,GAAAA,CACL,6EACF,CAAA,CACD,QAAA,CAAA,SAAA,CAED,GAEJ,CAAA,CAAA,CACF,CAEJ,CAEO,SAAS0H,GAAkB,CAChC,KAAA,CAAA5G,CAAAA,CACA,KAAA,CAAArC,EACA,QAAA,CAAAC,CAAAA,CACA,MAAA,CAAQQ,CAAAA,CACR,aAAc0F,CAAAA,CACd,SAAA,CAAAxD,CAAAA,CACA,GAAGhC,CACL,CAAA,CAA2B,CACzB,IAAMnC,CAAAA,CAAQO,CAAAA,GACR+B,CAAAA,CAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,EAAM,QAAA,CAAS,MAAA,CAAQ,GAAGiC,CAAe,EAC9CjC,CAAAA,CAAM,QAAA,CAAS,MAAA,CACboE,CAAAA,CAAeuD,GAAA,IAAA,CAAAA,CAAAA,CAAe3H,CAAAA,CAAM,QAAA,CAAS,aAE7CwE,CAAAA,CAAUrB,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAa,CAC3B,KAAA,CAAOU,CAAAA,CAAM,MAAA,CACb,YAAA,CAAAO,EACA,QAAA,CAAU9B,CAAAA,CAAO,QAAA,CACjB,UAAA,CAAYA,EAAO,IAAA,CACnB,MAAA,CAAQA,CAAAA,CAAO,MACjB,GAEMiC,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,MAAOD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAS,EAAA,CAAI,SAAAC,CAAS,CAAA,CAAI,MAAA,CAEzD,OACER,IAACwD,GAAAA,CAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,IAAKJ,CAAAA,CAAY,GAAGhC,CAAAA,CAC3C,QAAA,CAAAlB,IAAC,KAAA,CAAA,CAAI,GAAA,CAAKuD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,YAAA,CAAc,KAAA,CAAOzB,GAAAA,CAAI,mBAAmB,EAC5D,QAAA,CAAAc,CAAAA,CAAM,IAAI,CAACN,CAAAA,CAAMmB,IAChBzD,GAAAA,CAACuJ,EAAAA,CAAA,CAAuB,IAAA,CAAMjH,EAAM,KAAA,CAAOiB,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAS,OAAOE,CAAAA,CAAAA,CAAAA,CAAtCA,CAA0C,CAChE,CAAA,CACH,EACF,CAEJ,CChGA,IAAIsC,GAGJ,GAAI,CAEFA,GAAkB5D,CAAA,CAAQ,uBAAuB,EAAE,gBACrD,CAAA,KAAQ,CAER,CAEA,SAASsH,EAAAA,CAAe9F,CAAAA,CAA8C,CACpE,OAAIA,GAAS,EAAA,CACJ,CAAE,GAAA,CAAK,cAAA,CAAgB,KAAM,oCAAqC,CAAA,CACvEA,CAAAA,EAAS,EAAA,CACJ,CACL,GAAA,CAAK,eAAA,CACL,IAAA,CAAM,sCACR,EACK,CAAE,GAAA,CAAK,YAAA,CAAc,IAAA,CAAM,gCAAiC,CACrE,CAEA,SAAS+F,EAAAA,CAAU,CACjB,IAAA,CAAApH,CAAAA,CACA,MAAAqH,CAAAA,CAAQ,CACV,EAGG,CACD,GAAM,CAACC,CAAAA,CAAeC,CAAgB,CAAA,CAAI1F,QAAAA,CAAS,CAAC,CAAA,CAC9C2F,EAAQL,EAAAA,CAAenH,CAAAA,CAAK,KAAK,CAAA,CAEvC,OAAAwC,SAAAA,CAAU,IAAM,CACd,IAAMiF,EAAQ,UAAA,CAAW,IAAM,CAC7BF,CAAAA,CAAiBvH,EAAK,KAAK,EAC7B,CAAA,CAAGqH,CAAK,EACR,OAAO,IAAM,YAAA,CAAaI,CAAK,CACjC,CAAA,CAAG,CAACzH,CAAAA,CAAK,KAAA,CAAOqH,CAAK,CAAC,CAAA,CAGpB9H,IAAAA,CAAC,KAAA,CAAA,CAAI,MAAOC,GAAAA,CAAI,WAAW,CAAA,CACzB,QAAA,CAAA,CAAAD,KAAC,KAAA,CAAA,CAAI,KAAA,CAAOC,GAAAA,CAAI,mCAAmC,EACjD,QAAA,CAAA,CAAA9B,GAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAO8B,IAAI,qBAAqB,CAAA,CAAI,QAAA,CAAAQ,CAAAA,CAAK,MAAM,CAAA,CACrDtC,GAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAO8B,IAAI,CAAA,mBAAA,EAAsBgI,CAAAA,CAAM,IAAI,CAAA,CAAE,EAChD,QAAA,CAAA,IAAA,CAAK,KAAA,CAAMF,CAAa,CAAA,CAC3B,CAAA,CAAA,CACF,EACA5J,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO8B,GAAAA,CAAI,+CAA+C,CAAA,CAC7D,QAAA,CAAA9B,GAAAA,CAAC,KAAA,CAAA,CACC,MAAOgC,GAAAA,CACLF,GAAAA,CACE,CAAA,0DAAA,EAA6DgI,CAAAA,CAAM,GAAG,CAAA,CACxE,CAAA,CACA,CAAE,KAAA,CAAO,GAAGF,CAAa,CAAA,CAAA,CAAI,CAC/B,CAAA,CACF,EACF,CAAA,CACCtH,CAAAA,CAAK,WAAA,EACJtC,GAAAA,CAAC,KAAE,KAAA,CAAO8B,GAAAA,CAAI,+BAA+B,CAAA,CAAI,SAAAQ,CAAAA,CAAK,WAAA,CAAY,GAEtE,CAEJ,CAEO,SAAS0H,EAAAA,CAAe,CAC7B,KAAA,CAAApH,CAAAA,CACA,MAAArC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,IAAA,CAAAyJ,EACA,MAAA,CAAQjJ,CAAAA,CACR,SAAA,CAAAkC,CAAAA,CACA,GAAGhC,CACL,CAAA,CAAwB,CA/FxB,IAAAgE,EAgGE,IAAMnG,CAAAA,CAAQO,CAAAA,EAAgB,CACxB+B,EAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,MAAM,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CAC3CjC,EAAM,KAAA,CAAM,MAAA,CAEV,CAACmL,CAAAA,CAAWC,CAAY,EAAIhG,QAAAA,CAAS,CAAC,CAAA,CAEtC8B,CAAAA,CAAeF,IAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAkB,CACrC,UAAA,CAAY1E,EAAO,IAAA,CACnB,QAAA,CAAUA,CAAAA,CAAO,QAAA,CACjB,MAAOA,CAAAA,CAAO,KAChB,CAAA,CAAA,CAEM6E,CAAAA,CAAqCD,EACvC,EAAC,CACD,CACE,OAAA,CAAS,EACT,SAAA,CAAW5E,CAAAA,CAAO,IAAA,GAAS,SAAA,CAAY,mBAAqB,MAAA,CAC5D,SAAA,CAAW,CAAA,sBAAA,EAAyBA,CAAAA,CAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,CAAA,CAAA,EAAIA,CAAAA,CAAO,KAAK,CAAA,WAAA,CACxF,CAAA,CAEE+I,CAAAA,CAAeH,CAAAA,CAAOA,EAAKC,CAAS,CAAA,CAAE,KAAA,CAAQtH,CAAAA,CAE9CU,EACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,KAAA,CAAOD,GAAA,IAAA,CAAAA,CAAAA,CAAS,EAAA,CAAI,QAAA,CAAAC,CAAS,CAAA,CAAI,MAAA,CAEzD,OACEqB,IAAAA,CAAC2B,IAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,GAAA,CAAKJ,EAAY,GAAGhC,CAAAA,CAC3C,QAAA,CAAA,CAAAW,IAAAA,CAAC,OACC,GAAA,CAAKoE,CAAAA,EAAA,YAAAA,CAAAA,CAAc,GAAA,CACnB,MAAOjE,GAAAA,CACLF,GAAAA,CAAI,mBAAmB,CAAA,CAAA,CACvBoD,EAAAe,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,KAAA,GAAd,KAAAf,CAAAA,CAAuBgB,CACzB,CAAA,CAGC,QAAA,CAAA,CAAA+D,GAAQA,CAAAA,CAAK,MAAA,CAAS,CAAA,EACrBjK,GAAAA,CAAC,OAAI,KAAA,CAAO8B,GAAAA,CAAI,gCAAgC,CAAA,CAC7C,SAAAmI,CAAAA,CAAK,GAAA,CAAI,CAACI,CAAAA,CAAK5G,IACdzD,GAAAA,CAAC,QAAA,CAAA,CAEC,OAAA,CAAS,IAAMmK,EAAa1G,CAAC,CAAA,CAC7B,MAAO3B,GAAAA,CACL,CAAA,2DAAA,EAA8DoI,IAAczG,CAAAA,CAAI,oCAAA,CAAuC,8DAA8D,CAAA,CACvL,EAEC,QAAA,CAAA4G,CAAAA,CAAI,KAAA,CAAA,CANA5G,CAOP,CACD,CAAA,CACH,CAAA,CAIFzD,GAAAA,CAAC,KAAA,CAAA,CAAI,MAAO8B,GAAAA,CAAI,WAAW,CAAA,CACxB,QAAA,CAAAsI,EAAa,GAAA,CAAI,CAAC9H,CAAAA,CAAMmB,CAAAA,GACvBzD,IAAC0J,EAAAA,CAAA,CAAkB,IAAA,CAAMpH,CAAAA,CAAM,MAAOmB,CAAAA,CAAI,GAAA,CAAA,CAA1BA,CAA+B,CAChD,EACH,CAAA,CAAA,CACF,CAAA,CAEAzD,IAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAAA,CAKV,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CC3JA,IAAM+G,EAAAA,CAAKC,CAAAA,EAAkBC,GAAAA,CAAMD,CAAK,CAAA,CAapCjB,EAAAA,CAGJ,GAAI,CAEFA,EAAAA,CAAkB5D,CAAA,CAAQ,uBAAuB,CAAA,CAAE,gBACrD,CAAA,KAAQ,CAER,CAEO,SAASmI,EAAAA,CAAe,CAC7B,KAAA,CAAA/J,CAAAA,CAAQ,cAAA,CACR,QAAA,CAAAC,CAAAA,CACA,KAAA,CAAA+J,CAAAA,CACA,WAAA,CAAAnC,EACA,MAAA,CAAQpH,CAAAA,CACR,GAAA,CAAKC,CAAAA,CACL,GAAGC,CACL,CAAA,CAAwB,CA3CxB,IAAAgE,CAAAA,CA4CE,IAAMnG,CAAAA,CAAQO,CAAAA,EAAgB,CACxB+B,EAA0CL,CAAAA,CAC5C,CAAE,GAAGjC,CAAAA,CAAM,GAAA,CAAI,MAAA,CAAQ,GAAGiC,CAAe,CAAA,CACzCjC,CAAAA,CAAM,GAAA,CAAI,MAAA,CAERkH,CAAAA,CAAeF,IAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAkB,CACrC,UAAA,CAAY1E,CAAAA,CAAO,IAAA,CACnB,QAAA,CAAUA,CAAAA,CAAO,QAAA,CACjB,KAAA,CAAOA,CAAAA,CAAO,KAChB,CAAA,CAAA,CAEM6E,CAAAA,CAAqCD,EACvC,EAAC,CACD,CACE,OAAA,CAAS,CAAA,CACT,SAAA,CAAW5E,CAAAA,CAAO,IAAA,GAAS,SAAA,CAAY,kBAAA,CAAqB,MAAA,CAC5D,SAAA,CAAW,CAAA,sBAAA,EAAyBA,CAAAA,CAAO,QAAQ,CAAA,GAAA,EAAMA,CAAAA,CAAO,MAAM,CAAA,CAAA,EAAIA,CAAAA,CAAO,KAAK,CAAA,WAAA,CACxF,CAAA,CAEEiC,CAAAA,CACJ/C,CAAAA,EAASC,CAAAA,CAAW,CAAE,KAAA,CAAOD,CAAAA,EAAA,KAAAA,CAAAA,CAAS,EAAA,CAAI,QAAA,CAAAC,CAAS,CAAA,CAAI,MAAA,CAEzD,OACEqB,IAAAA,CAAC2B,GAAAA,CAAA,CAAQ,MAAA,CAAQF,CAAAA,CAAQ,GAAA,CAAKrC,EAAU,GAAGC,CAAAA,CACzC,QAAA,CAAA,CAAAlB,GAAAA,CAACiC,GAAAA,CAAA,CAAU,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,MAAA,CAAO,QAAA,CAAQ,IAAA,CAC1C,QAAA,CAAAJ,IAAAA,CAAC,OACC,GAAA,CAAKoE,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,GAAA,CACnB,KAAA,CAAOjE,GAAAA,CAAAA,CACLkD,CAAAA,CAAAe,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,KAAA,GAAd,IAAA,CAAAf,CAAAA,CAAuBgB,EACvBa,EAAAA,CAAE,aAAa,CACjB,CAAA,CAGC,QAAA,CAAA,CAAAwD,CAAAA,EACCvK,GAAAA,CAAC,GAAA,CAAA,CACC,IAAA,CAAM,CAAA,OAAA,EAAUuK,CAAK,CAAA,CAAA,CACrB,KAAA,CAAOxD,EAAAA,CAAE,8CAA8C,CAAA,CAEtD,QAAA,CAAAwD,CAAAA,CACH,CAAA,CAIDnC,CAAAA,EAAeA,CAAAA,CAAY,OAAS,CAAA,EACnCpI,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO+G,EAAAA,CAAE,2BAA2B,EACtC,QAAA,CAAAqB,CAAAA,CAAY,GAAA,CAAI,CAACE,CAAAA,CAAM7E,GAAAA,GACtBzD,GAAAA,CAAC,GAAA,CAAA,CAEC,IAAA,CAAMsI,CAAAA,CAAK,IAAA,CACX,MAAA,CAAO,QAAA,CACP,GAAA,CAAI,sBACJ,KAAA,CAAOvB,EAAAA,CACL,sFACF,CAAA,CACA,YAAA,CAAYuB,CAAAA,CAAK,KAAA,CAEjB,QAAA,CAAAtI,GAAAA,CAACuI,CAAAA,CAAA,CAAK,IAAA,CAAMD,CAAAA,CAAK,IAAA,CAAa,KAAM,EAAA,CAAI,CAAA,CAAA,CATnC7E,GAUP,CACD,CAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAAA,CAEAzD,GAAAA,CAAC,OAAA,CAAA,CACC,uBAAA,CAAyB,CACvB,MAAA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAAA,CAKV,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,KCrDawK,EAAAA,CAAU,CACrB,QAAA,CAAU7K,EAAAA,CACV,KAAMW,EAAAA,CACN,QAAA,CAAUqC,EAAAA,CACV,KAAA,CAAOgD,GACP,GAAA,CAAKK,EAAAA,CACL,YAAA,CAAcK,EAAAA,CACd,SAAA,CAAWa,EAAAA,CACX,QAAA,CAAUQ,EAAAA,CACV,MAAOK,EAAAA,CACP,QAAA,CAAUc,EAAAA,CACV,MAAA,CAAQS,GACR,UAAA,CAAYE,EAAAA,CACZ,OAAA,CAASQ,EAAAA,CACT,QAASM,EACX","file":"landing.mjs","sourcesContent":["import type { LandingTheme } from '../types'\n\nexport const corporate: LandingTheme = {\n name: 'corporate',\n colors: {\n background: '0 0% 100%',\n foreground: '222 47% 11%',\n muted: '210 40% 96%',\n mutedForeground: '215 16% 47%',\n primary: '217 91% 53%',\n primaryForeground: '0 0% 100%',\n secondary: '215 16% 93%',\n secondaryForeground: '222 47% 11%',\n card: '0 0% 100%',\n cardForeground: '222 47% 11%',\n border: '214 32% 91%',\n sectionAlt: '210 40% 98%',\n },\n hero: {\n background: 'gradient',\n size: 'xl',\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n features: {\n card: 'spotlight',\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n decorator: true,\n },\n stats: {\n numberSize: 'text-4xl',\n countUp: false,\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n logoCloud: {\n variant: 'grid',\n speed: 40,\n },\n showcase: {\n staggerDelay: 150,\n motion: { type: 'fadeIn', duration: 900, easing: 'ease-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const marketing: LandingTheme = {\n name: 'marketing',\n colors: {\n background: '260 100% 4%',\n foreground: '0 0% 100%',\n muted: '270 30% 10%',\n mutedForeground: '240 4% 65%',\n primary: '258 90% 66%',\n primaryForeground: '0 0% 100%',\n secondary: '258 30% 15%',\n secondaryForeground: '0 0% 95%',\n card: '260 40% 10%',\n cardForeground: '0 0% 100%',\n border: '258 40% 20%',\n sectionAlt: '270 50% 6%',\n },\n hero: {\n background: 'animated-gradient',\n size: 'full',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n features: {\n card: 'glow',\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n cta: {\n background: 'animated-gradient',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 60,\n },\n showcase: {\n staggerDelay: 80,\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const product: LandingTheme = {\n name: 'product',\n colors: {\n background: '240 6% 4%',\n foreground: '0 0% 98%',\n muted: '240 5% 11%',\n mutedForeground: '240 4% 64%',\n primary: '188 96% 42%',\n primaryForeground: '0 0% 100%',\n secondary: '188 20% 12%',\n secondaryForeground: '0 0% 98%',\n card: '240 5% 10%',\n cardForeground: '0 0% 98%',\n border: '240 4% 16%',\n sectionAlt: '240 6% 7%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-6xl',\n countUp: true,\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 40,\n },\n showcase: {\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 700, easing: 'ease-in-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const dashboard: LandingTheme = {\n name: 'dashboard',\n colors: {\n background: '222 47% 11%',\n foreground: '214 32% 91%',\n muted: '222 42% 16%',\n mutedForeground: '215 20% 65%',\n primary: '217 91% 60%',\n primaryForeground: '0 0% 100%',\n secondary: '217 30% 18%',\n secondaryForeground: '214 32% 91%',\n card: '222 47% 14%',\n cardForeground: '214 32% 91%',\n border: '217 30% 22%',\n sectionAlt: '222 42% 14%',\n },\n hero: {\n background: 'gradient',\n size: 'xl',\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-4xl',\n countUp: true,\n staggerDelay: 100,\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'fadeIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 45,\n },\n showcase: {\n staggerDelay: 100,\n motion: { type: 'scaleIn', duration: 650, easing: 'ease-out', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const app: LandingTheme = {\n name: 'app',\n colors: {\n background: '0 0% 100%',\n foreground: '215 28% 17%',\n muted: '270 100% 96%',\n mutedForeground: '220 9% 46%',\n primary: '258 90% 66%',\n primaryForeground: '0 0% 100%',\n secondary: '258 20% 93%',\n secondaryForeground: '215 28% 17%',\n card: '0 0% 100%',\n cardForeground: '215 28% 17%',\n border: '220 13% 91%',\n sectionAlt: '270 100% 98%',\n },\n hero: {\n background: 'gradient',\n size: 'full',\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n cta: {\n background: 'gradient-soft',\n motion: { type: 'bounceIn', duration: 500, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'carousel',\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 50,\n },\n showcase: {\n staggerDelay: 120,\n motion: { type: 'slideUp', duration: 600, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const immersive: LandingTheme = {\n name: 'immersive',\n colors: {\n background: '0 0% 0%',\n foreground: '0 0% 100%',\n muted: '0 0% 7%',\n mutedForeground: '0 0% 45%',\n primary: '252 92% 76%',\n primaryForeground: '0 0% 100%',\n secondary: '252 15% 12%',\n secondaryForeground: '0 0% 95%',\n card: '0 0% 5%',\n cardForeground: '0 0% 100%',\n border: '0 0% 10%',\n sectionAlt: '0 0% 4%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n features: {\n card: 'glow',\n staggerDelay: 200,\n motion: { type: 'slideUp', duration: 900, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-6xl',\n countUp: true,\n staggerDelay: 200,\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'marquee',\n staggerDelay: 200,\n motion: { type: 'fadeIn', duration: 1200, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'marquee',\n speed: 30,\n },\n showcase: {\n staggerDelay: 200,\n motion: { type: 'slideUp', duration: 900, easing: 'cubic-bezier(0.16, 1, 0.3, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme } from '../types'\n\nexport const portfolio: LandingTheme = {\n name: 'portfolio',\n colors: {\n background: '0 0% 4%',\n foreground: '0 0% 98%',\n muted: '0 0% 10%',\n mutedForeground: '0 0% 64%',\n primary: '25 95% 53%',\n primaryForeground: '0 0% 100%',\n secondary: '25 20% 12%',\n secondaryForeground: '0 0% 98%',\n card: '0 0% 8%',\n cardForeground: '0 0% 98%',\n border: '25 30% 15%',\n sectionAlt: '0 0% 6%',\n },\n hero: {\n background: 'dark',\n size: 'full',\n motion: { type: 'slideUp', duration: 800, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n features: {\n card: 'feature-glass',\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n decorator: false,\n },\n stats: {\n numberSize: 'text-5xl',\n countUp: true,\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n cta: {\n background: 'dark',\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n testimonials: {\n variant: 'grid',\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n logoCloud: {\n variant: 'grid',\n speed: 40,\n },\n showcase: {\n staggerDelay: 100,\n motion: { type: 'slideUp', duration: 700, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', delay: 0 },\n },\n}\n","import type { LandingTheme, LandingThemeName, DeepPartial } from '../types'\nimport { corporate } from './corporate'\nimport { marketing } from './marketing'\nimport { product } from './product'\nimport { dashboard } from './dashboard'\nimport { app } from './app'\nimport { immersive } from './immersive'\nimport { portfolio } from './portfolio'\n\nconst themeRegistry: Record<LandingThemeName, LandingTheme> = {\n corporate,\n marketing,\n product,\n dashboard,\n app,\n immersive,\n portfolio,\n}\n\nexport function resolveTheme(theme: LandingThemeName | LandingTheme): LandingTheme {\n if (typeof theme === 'string') {\n return themeRegistry[theme]\n }\n return theme\n}\n\n/** 기존 테마를 기반으로 커스텀 테마 생성 */\nexport function createLandingTheme(\n base: LandingThemeName,\n overrides: DeepPartial<Omit<LandingTheme, 'name'>> & { name: string }\n): LandingTheme {\n const baseTheme = themeRegistry[base]\n return {\n ...baseTheme,\n name: overrides.name as LandingThemeName,\n colors: { ...baseTheme.colors, ...overrides.colors },\n hero: { ...baseTheme.hero, ...overrides.hero },\n features: { ...baseTheme.features, ...overrides.features },\n stats: { ...baseTheme.stats, ...overrides.stats },\n cta: { ...baseTheme.cta, ...overrides.cta },\n testimonials: { ...baseTheme.testimonials, ...overrides.testimonials },\n logoCloud: { ...baseTheme.logoCloud, ...overrides.logoCloud },\n showcase: { ...baseTheme.showcase, ...overrides.showcase },\n } as LandingTheme\n}\n\nexport { corporate, marketing, product, dashboard, app, immersive, portfolio }\n","\"use client\"\n\nimport React, { createContext, useContext, useMemo } from 'react'\nimport { resolveTheme } from './themes'\nimport type { LandingProviderProps, LandingTheme, LandingColorTokens } from './types'\n\nconst LandingContext = createContext<LandingTheme | null>(null)\n\nexport function useLandingTheme(): LandingTheme {\n const ctx = useContext(LandingContext)\n if (!ctx) {\n throw new Error('useLandingTheme must be used within <Landing.Provider>')\n }\n return ctx\n}\n\nfunction buildCssVars(c: LandingColorTokens): React.CSSProperties {\n return {\n // Tailwind v4 @theme vars (--color-*)\n '--color-primary': `hsl(${c.primary})`,\n '--color-primary-foreground': `hsl(${c.primaryForeground})`,\n '--color-background': `hsl(${c.background})`,\n '--color-foreground': `hsl(${c.foreground})`,\n '--color-muted': `hsl(${c.muted})`,\n '--color-muted-foreground': `hsl(${c.mutedForeground})`,\n '--color-secondary': `hsl(${c.secondary})`,\n '--color-secondary-foreground': `hsl(${c.secondaryForeground})`,\n '--color-card': `hsl(${c.card})`,\n '--color-card-foreground': `hsl(${c.cardForeground})`,\n '--color-border': `hsl(${c.border})`,\n '--color-input': `hsl(${c.border})`,\n '--color-ring': `hsl(${c.primary})`,\n // Legacy hsl(var(--*)) pattern vars\n '--primary': c.primary,\n '--primary-foreground': c.primaryForeground,\n '--background': c.background,\n '--foreground': c.foreground,\n '--muted': c.muted,\n '--muted-foreground': c.mutedForeground,\n '--secondary': c.secondary,\n '--secondary-foreground': c.secondaryForeground,\n '--card': c.card,\n '--card-foreground': c.cardForeground,\n '--border': c.border,\n '--input': c.border,\n '--ring': c.primary,\n // Landing-specific\n '--landing-section-alt': `hsl(${c.sectionAlt})`,\n } as React.CSSProperties\n}\n\nexport function LandingProvider({ theme, children }: LandingProviderProps) {\n const resolved = useMemo(() => resolveTheme(theme), [theme])\n\n const style = useMemo<React.CSSProperties>(() => ({\n backgroundColor: `hsl(${resolved.colors.background})`,\n color: `hsl(${resolved.colors.foreground})`,\n ...buildCssVars(resolved.colors),\n }), [resolved.colors])\n\n return (\n <LandingContext.Provider value={resolved}>\n <div style={style}>\n {children}\n </div>\n </LandingContext.Provider>\n )\n}\n","\"use client\";\n\nimport React, { useMemo } from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { dotCSS } from \"@hua-labs/dot/class\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Container } from \"../components/Container\";\nimport { AnimatedGradient } from \"../components/advanced/AnimatedGradient\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingHeroProps, LandingMotionOverride } from \"./types\";\n\nfunction resolveMotion(\n themeMotion: Required<LandingMotionOverride>,\n override?: LandingMotionOverride,\n): Required<LandingMotionOverride> {\n if (!override) return themeMotion;\n return { ...themeMotion, ...override };\n}\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case \"slideUp\":\n return \"translateY(32px)\";\n case \"slideLeft\":\n return \"translateX(-32px)\";\n case \"slideRight\":\n return \"translateX(32px)\";\n case \"scaleIn\":\n return \"scale(0.95)\";\n case \"bounceIn\":\n return \"scale(0.75)\";\n default:\n return \"none\";\n }\n}\n\nexport function LandingHero({\n title,\n subtitle,\n description,\n primaryAction,\n secondaryAction,\n size: sizeProp,\n background: bgProp,\n gradientColors,\n scrollIndicator = false,\n motion: motionOverride,\n dot: dotProp,\n ...rest\n}: LandingHeroProps) {\n const theme = useLandingTheme();\n const size = sizeProp ?? theme.hero.size;\n const bg = bgProp ?? theme.hero.background;\n const motion = resolveMotion(theme.hero.motion, motionOverride);\n\n const sectionCls = dotCSS(\n `relative overflow-hidden flex items-center justify-center ${size === \"full\" ? \"min-h-screen\" : \"py-28 sm:py-36\"}${bg === \"dark\" ? \" bg-gray-950 text-white\" : \"\"}${dotProp ? ` ${dotProp}` : \"\"}`,\n );\n const titleCls = dotCSS(\n \"text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-extrabold tracking-tight mb-6\",\n );\n const subtitleCls = dotCSS(\"text-xl sm:text-2xl text-muted-foreground mb-4\");\n const descCls = dotCSS(\n \"text-base sm:text-lg text-muted-foreground/80 max-w-2xl mx-auto mb-8\",\n );\n const actionsCls = dotCSS(\n \"flex flex-col sm:flex-row items-center justify-center gap-4\",\n );\n\n const contentStyle = useMemo<React.CSSProperties>(\n () => ({\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-hero-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n }),\n [motion],\n );\n\n return (\n <section className={sectionCls.className} {...rest}>\n {/* Background layer */}\n {bg === \"gradient\" && (\n <div\n style={{\n ...dot(\"absolute inset-0\"),\n background:\n \"linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 15%, transparent) 0%, color-mix(in srgb, var(--color-accent-foreground) 10%, transparent) 100%)\",\n }}\n aria-hidden=\"true\"\n />\n )}\n {bg === \"animated-gradient\" && (\n <AnimatedGradient\n colors={gradientColors}\n type=\"mesh\"\n dot=\"absolute inset-0 z-0\"\n aria-hidden=\"true\"\n />\n )}\n {bg === \"dark\" && (\n <div\n style={mergeStyles(dot(\"absolute inset-0\"), {\n background:\n \"radial-gradient(ellipse 80% 60% at 50% 40%, rgba(120, 119, 198, 0.08), transparent)\",\n })}\n aria-hidden=\"true\"\n />\n )}\n\n {/* Content */}\n <Container size=\"lg\" padding=\"none\" centered dot=\"relative z-10 px-6\">\n <div\n style={mergeStyles(\n dot(\"text-center max-w-4xl mx-auto\"),\n contentStyle,\n )}\n >\n <h1 className={titleCls.className}>{title}</h1>\n\n {subtitle && <p className={subtitleCls.className}>{subtitle}</p>}\n\n {description && <p className={descCls.className}>{description}</p>}\n\n {(primaryAction || secondaryAction) && (\n <div className={actionsCls.className}>\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </Container>\n\n {/* Scroll indicator */}\n {scrollIndicator && (\n <div\n style={dot(\n \"absolute bottom-8 left-1/2 -translate-x-1/2 animate-bounce\",\n )}\n aria-hidden=\"true\"\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={dot(\"text-muted-foreground\")}\n >\n <path d=\"M12 5v14M5 12l7 7 7-7\" />\n </svg>\n </div>\n )}\n\n {/* Keyframe injection */}\n <style\n dangerouslySetInnerHTML={{\n __html: `${sectionCls.css}${titleCls.css}${subtitleCls.css}${descCls.css}${actionsCls.css}@keyframes landing-hero-enter{to{opacity:1;transform:none}}`,\n }}\n />\n </section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { GlowCard } from \"../components/advanced/GlowCard\";\nimport { SpotlightCard } from \"../components/advanced/SpotlightCard\";\nimport { FeatureCard } from \"../components/FeatureCard\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingFeaturesProps,\n LandingFeatureItem,\n LandingTheme,\n} from \"./types\";\n\n// motion-core optional peer — inline types to avoid DTS resolution\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\n\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core 없으면 stagger 없이 정적 렌더링\n}\n\nconst gridColsMap = {\n 2: \"grid-cols-1 md:grid-cols-2\",\n 3: \"grid-cols-1 md:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 md:grid-cols-2 lg:grid-cols-4\",\n} as const;\n\nfunction renderCard(\n item: LandingFeatureItem,\n cardType: LandingTheme[\"features\"][\"card\"],\n style?: React.CSSProperties,\n) {\n switch (cardType) {\n case \"glow\":\n return (\n <GlowCard style={style} dot=\"p-6\">\n {item.icon && <div style={dot(\"text-4xl mb-4\")}>{item.icon}</div>}\n <h3 style={dot(\"text-xl font-bold mb-2\")}>{item.title}</h3>\n <p style={dot(\"text-muted-foreground text-sm\")}>{item.description}</p>\n </GlowCard>\n );\n case \"spotlight\":\n return (\n <SpotlightCard style={style} dot=\"p-6\">\n {item.icon && <div style={dot(\"text-4xl mb-4\")}>{item.icon}</div>}\n <h3 style={dot(\"text-xl font-bold mb-2\")}>{item.title}</h3>\n <p style={dot(\"text-muted-foreground text-sm\")}>{item.description}</p>\n </SpotlightCard>\n );\n case \"feature-glass\":\n default:\n return (\n <FeatureCard\n style={style}\n icon={undefined}\n title={item.title}\n description={item.description}\n variant=\"glass\"\n hover=\"slide\"\n >\n {item.icon && <div style={dot(\"text-4xl mb-4\")}>{item.icon}</div>}\n </FeatureCard>\n );\n }\n}\n\nexport function LandingFeatures({\n items,\n title,\n subtitle,\n columns: columnsProp,\n card: cardProp,\n sectionProps,\n motion: motionOverride,\n staggerDelay: staggerDelayProp,\n decorator: decoratorProp,\n className,\n ...rest\n}: LandingFeaturesProps) {\n const theme = useLandingTheme();\n const cardType = cardProp ?? theme.features.card;\n const staggerDelay = staggerDelayProp ?? theme.features.staggerDelay;\n const decorator = decoratorProp ?? theme.features.decorator;\n const motion = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion;\n\n const columns =\n columnsProp ??\n ((items.length <= 2 ? 2 : items.length <= 3 ? 3 : 4) as 2 | 3 | 4);\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle, decorator } : undefined;\n\n // useStagger if available\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type as \"fadeIn\" | \"slideUp\" | \"bounceIn\",\n easing: motion.easing,\n });\n\n return (\n <Section\n header={header}\n spacing=\"lg\"\n {...sectionProps}\n dot={className}\n {...rest}\n >\n <div\n ref={stagger?.containerRef}\n style={dot(`grid gap-6 lg:gap-8 ${gridColsMap[columns]}`)}\n >\n {items.map((item, i) => (\n <div key={i}>{renderCard(item, cardType, stagger?.styles[i])}</div>\n ))}\n </div>\n </Section>\n );\n}\n","\"use client\";\n\nimport React, { useState, useEffect, useRef, useCallback } from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingStatsProps, LandingStatItem } from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\n\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core unavailable\n}\n\n// ── Count-up hook ───────────────────────────────\n\nfunction parseStatValue(value: string): {\n numeric: number;\n prefix: string;\n suffix: string;\n} {\n const match = value.match(/^([^0-9]*)([0-9]+(?:\\.[0-9]+)?)(.*)$/);\n if (!match) return { numeric: 0, prefix: \"\", suffix: value };\n return {\n prefix: match[1],\n numeric: parseFloat(match[2]),\n suffix: match[3],\n };\n}\n\nfunction useCountUp(\n target: number,\n isVisible: boolean,\n duration = 1500,\n): number {\n const [current, setCurrent] = useState(0);\n const rafRef = useRef<number>(0);\n\n const animate = useCallback(() => {\n const start = performance.now();\n const step = (now: number) => {\n const elapsed = now - start;\n const progress = Math.min(elapsed / duration, 1);\n // easeOutQuart\n const eased = 1 - Math.pow(1 - progress, 4);\n setCurrent(eased * target);\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step);\n }\n };\n rafRef.current = requestAnimationFrame(step);\n }, [target, duration]);\n\n useEffect(() => {\n if (!isVisible) return;\n animate();\n return () => {\n if (rafRef.current) cancelAnimationFrame(rafRef.current);\n };\n }, [isVisible, animate]);\n\n return current;\n}\n\n// ── StatItem component ──────────────────────────\n\nfunction StatItemDisplay({\n item,\n numberSize,\n countUp,\n isVisible,\n style,\n}: {\n item: LandingStatItem;\n numberSize: string;\n countUp: boolean;\n isVisible: boolean;\n style?: React.CSSProperties;\n}) {\n const {\n numeric,\n prefix: parsedPrefix,\n suffix: parsedSuffix,\n } = parseStatValue(item.value);\n const counted = useCountUp(numeric, countUp && isVisible);\n\n const displayPrefix = item.prefix ?? parsedPrefix;\n const displaySuffix = item.suffix ?? parsedSuffix;\n const displayValue = countUp\n ? `${displayPrefix}${Number.isInteger(numeric) ? Math.round(counted) : counted.toFixed(1)}${displaySuffix}`\n : item.value;\n\n return (\n <div style={{ ...dot(\"text-center\"), ...style }}>\n <div style={dot(`font-extrabold stat-number ${numberSize}`)}>\n {displayValue}\n </div>\n <div style={dot(\"text-muted-foreground mt-2 text-sm sm:text-base\")}>\n {item.label}\n </div>\n </div>\n );\n}\n\n// ── LandingStats ────────────────────────────────\n\nexport function LandingStats({\n items,\n title,\n subtitle,\n countUp: countUpProp,\n numberSize: numberSizeProp,\n sectionProps,\n motion: motionOverride,\n staggerDelay: staggerDelayProp,\n className,\n ...rest\n}: LandingStatsProps) {\n const theme = useLandingTheme();\n const countUp = countUpProp ?? theme.stats.countUp;\n const numberSize = numberSizeProp ?? theme.stats.numberSize;\n const staggerDelay = staggerDelayProp ?? theme.stats.staggerDelay;\n const motion = motionOverride\n ? { ...theme.stats.motion, ...motionOverride }\n : theme.stats.motion;\n\n const header =\n title || subtitle\n ? { title: title ?? \"\", subtitle, decorator: false }\n : undefined;\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type as \"fadeIn\" | \"slideUp\" | \"bounceIn\",\n easing: motion.easing,\n });\n\n const gridCols =\n items.length <= 2\n ? \"grid-cols-1 sm:grid-cols-2\"\n : items.length <= 3\n ? \"grid-cols-1 sm:grid-cols-3\"\n : \"grid-cols-2 sm:grid-cols-4\";\n\n return (\n <Section\n header={header}\n spacing=\"lg\"\n {...sectionProps}\n dot={className}\n {...rest}\n >\n <div\n ref={stagger?.containerRef}\n style={dot(`grid gap-8 lg:gap-12 ${gridCols}`)}\n >\n {items.map((item, i) => (\n <StatItemDisplay\n key={i}\n item={item}\n numberSize={numberSize}\n countUp={countUp}\n isVisible={stagger?.isVisible ?? true}\n style={stagger?.styles[i]}\n />\n ))}\n </div>\n </Section>\n );\n}\n","\"use client\";\n\nimport React, { useMemo } from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { dotCSS } from \"@hua-labs/dot/class\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Container } from \"../components/Container\";\nimport { AnimatedGradient } from \"../components/advanced/AnimatedGradient\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingCTAProps, LandingMotionOverride } from \"./types\";\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case \"slideUp\":\n return \"translateY(32px)\";\n case \"slideLeft\":\n return \"translateX(-32px)\";\n case \"slideRight\":\n return \"translateX(32px)\";\n case \"scaleIn\":\n return \"scale(0.95)\";\n case \"bounceIn\":\n return \"scale(0.75)\";\n default:\n return \"none\";\n }\n}\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>;\n style: React.CSSProperties;\n isVisible: boolean;\n}\n\ninterface ScrollRevealOptions {\n motionType?: string;\n duration?: number;\n delay?: number;\n}\n\nlet useScrollReveal:\n | ((opts: ScrollRevealOptions) => ScrollRevealResult)\n | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require(\"@hua-labs/motion-core\").useScrollReveal;\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingCTA({\n title,\n subtitle,\n primaryAction,\n secondaryAction,\n background: bgProp,\n gradientColors,\n motion: motionOverride,\n dot: dotProp,\n ...rest\n}: LandingCTAProps) {\n const theme = useLandingTheme();\n const bg = bgProp ?? theme.cta.background;\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.cta.motion, ...motionOverride }\n : theme.cta.motion;\n\n const sectionCls = dotCSS(\n `relative overflow-hidden py-20 sm:py-28${bg === \"dark\" ? \" bg-gray-950 text-white\" : \"\"}${dotProp ? ` ${dotProp}` : \"\"}`,\n );\n const titleCls = dotCSS(\n \"text-3xl sm:text-4xl md:text-5xl font-extrabold mb-4\",\n );\n const actionsCls = dotCSS(\n \"flex flex-col sm:flex-row items-center justify-center gap-4\",\n );\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as \"fadeIn\" | \"slideUp\" | \"bounceIn\",\n duration: motion.duration,\n delay: motion.delay,\n });\n\n const fallbackStyle = useMemo<React.CSSProperties>(() => {\n if (scrollReveal) return {};\n return {\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-cta-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n };\n }, [scrollReveal, motion]);\n\n return (\n <section className={sectionCls.className} {...rest}>\n {/* Background */}\n {bg === \"gradient-soft\" && (\n <div\n style={{\n ...dot(\"absolute inset-0\"),\n background:\n \"linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 15%, transparent) 0%, color-mix(in srgb, var(--color-accent-foreground) 10%, transparent) 100%)\",\n }}\n aria-hidden=\"true\"\n />\n )}\n {bg === \"animated-gradient\" && (\n <AnimatedGradient\n colors={gradientColors}\n type=\"mesh\"\n dot=\"absolute inset-0 z-0\"\n aria-hidden=\"true\"\n />\n )}\n {bg === \"dark\" && (\n <div\n style={mergeStyles(dot(\"absolute inset-0\"), {\n background:\n \"radial-gradient(ellipse 80% 60% at 50% 40%, rgba(120, 119, 198, 0.08), transparent)\",\n })}\n aria-hidden=\"true\"\n />\n )}\n\n <Container size=\"md\" padding=\"none\" centered dot=\"relative z-10 px-6\">\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={mergeStyles(\n dot(\"text-center\"),\n scrollReveal?.style ?? fallbackStyle,\n )}\n >\n <h2 className={titleCls.className}>{title}</h2>\n\n {subtitle && (\n <p\n style={dot(\n \"text-lg text-muted-foreground max-w-2xl mx-auto mb-8\",\n )}\n >\n {subtitle}\n </p>\n )}\n\n {(primaryAction || secondaryAction) && (\n <div className={actionsCls.className}>\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </Container>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `${sectionCls.css}${titleCls.css}${actionsCls.css}@keyframes landing-cta-enter{to{opacity:1;transform:none}}`,\n }}\n />\n </section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { Carousel } from \"../components/advanced/Carousel\";\nimport { Marquee } from \"../components/advanced/Marquee\";\nimport { Avatar } from \"../components/Avatar\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingTestimonialsProps,\n LandingTestimonialItem,\n LandingMotionOverride,\n} from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core unavailable\n}\n\nfunction TestimonialCard({\n item,\n style,\n}: {\n item: LandingTestimonialItem;\n style?: React.CSSProperties;\n}) {\n return (\n <div\n style={{\n ...dot(\n \"bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl p-6 flex flex-col gap-4\",\n ),\n ...style,\n }}\n >\n <blockquote style={dot(\"text-foreground/90 leading-relaxed flex-1\")}>\n “{item.quote}”\n </blockquote>\n <div style={dot(\"flex items-center gap-3\")}>\n {item.avatar && (\n <Avatar size=\"sm\" src={item.avatar} alt={item.author} />\n )}\n <div>\n <p style={dot(\"font-semibold text-sm\")}>{item.author}</p>\n {(item.role || item.company) && (\n <p style={dot(\"text-xs text-muted-foreground\")}>\n {item.role}\n {item.role && item.company && \", \"}\n {item.company}\n </p>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nconst gridColsMap = {\n 2: \"md:grid-cols-2\",\n 3: \"md:grid-cols-2 lg:grid-cols-3\",\n} as const;\n\nexport function LandingTestimonials({\n items,\n title,\n subtitle,\n variant: variantProp,\n columns: colsProp,\n autoPlay = true,\n interval = 5000,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingTestimonialsProps) {\n const theme = useLandingTheme();\n const variant = variantProp ?? theme.testimonials.variant;\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.testimonials.motion, ...motionOverride }\n : theme.testimonials.motion;\n const staggerDelay = staggerProp ?? theme.testimonials.staggerDelay;\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n });\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n if (variant === \"marquee\") {\n return (\n <Section header={header} dot={className} {...rest}>\n <Marquee speed={50} pauseOnHover gradient>\n {items.map((item, i) => (\n <div key={i} style={dot(\"w-80 shrink-0\")}>\n <TestimonialCard item={item} />\n </div>\n ))}\n </Marquee>\n </Section>\n );\n }\n\n if (variant === \"carousel\") {\n return (\n <Section header={header} dot={className} {...rest}>\n <Carousel\n autoPlay={autoPlay}\n interval={interval}\n loop\n transition=\"fade\"\n indicators=\"dots\"\n >\n {items.map((item, i) => (\n <div key={i} style={dot(\"flex justify-center px-4\")}>\n <div style={dot(\"max-w-2xl w-full\")}>\n <TestimonialCard item={item} />\n </div>\n </div>\n ))}\n </Carousel>\n </Section>\n );\n }\n\n // grid variant\n const cols = colsProp ?? ((items.length <= 2 ? 2 : 3) as 2 | 3);\n return (\n <Section header={header} dot={className} {...rest}>\n <div\n ref={stagger?.containerRef}\n style={dot(`grid gap-6 ${gridColsMap[cols]}`)}\n >\n {items.map((item, i) => (\n <TestimonialCard key={i} item={item} style={stagger?.styles[i]} />\n ))}\n </div>\n </Section>\n );\n}\n","\"use client\";\n\nimport React, { useMemo } from \"react\";\nimport type { CSSProperties } from \"react\";\nimport { dot as dotFn } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { Marquee } from \"../components/advanced/Marquee\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingLogoCloudProps, LandingMotionOverride } from \"./types\";\n\nconst s = (input: string) => dotFn(input) as CSSProperties;\n\nfunction getInitialTransform(type: string): string {\n switch (type) {\n case \"slideUp\":\n return \"translateY(32px)\";\n case \"slideLeft\":\n return \"translateX(-32px)\";\n case \"slideRight\":\n return \"translateX(32px)\";\n case \"scaleIn\":\n return \"scale(0.95)\";\n case \"bounceIn\":\n return \"scale(0.75)\";\n default:\n return \"none\";\n }\n}\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>;\n style: React.CSSProperties;\n isVisible: boolean;\n}\ninterface ScrollRevealOptions {\n motionType?: string;\n duration?: number;\n delay?: number;\n}\n\nlet useScrollReveal:\n | ((opts: ScrollRevealOptions) => ScrollRevealResult)\n | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require(\"@hua-labs/motion-core\").useScrollReveal;\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingLogoCloud({\n logos,\n title,\n variant: variantProp,\n speed: speedProp,\n logoHeight = 40,\n motion: motionOverride,\n dot: dotProp,\n ...rest\n}: LandingLogoCloudProps) {\n const theme = useLandingTheme();\n const variant = variantProp ?? theme.logoCloud.variant;\n const speed = speedProp ?? theme.logoCloud.speed;\n // fadeIn motion for the section entrance\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : { type: \"fadeIn\", duration: 800, easing: \"ease-out\", delay: 0 };\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type,\n duration: motion.duration,\n delay: motion.delay,\n });\n\n const fallbackStyle = useMemo<React.CSSProperties>(() => {\n if (scrollReveal) return {};\n return {\n opacity: 0,\n transform: getInitialTransform(motion.type),\n animation: `landing-logocloud-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n };\n }, [scrollReveal, motion]);\n\n const logoElements = logos.map((logo, i) => {\n const img = (\n <img\n key={i}\n src={logo.src}\n alt={logo.alt}\n style={{\n ...s(\"object-contain\"),\n height: logoHeight,\n width: \"auto\",\n opacity: 0.6,\n }}\n />\n );\n if (logo.href) {\n return (\n <a\n key={i}\n href={logo.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={s(\"inline-flex\")}\n >\n {img}\n </a>\n );\n }\n return img;\n });\n\n const header = title ? { title, subtitle: undefined } : undefined;\n\n return (\n <Section header={header} spacing=\"sm\" dot={dotProp} {...rest}>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={scrollReveal?.style ?? fallbackStyle}\n >\n {variant === \"marquee\" ? (\n <Marquee speed={speed} pauseOnHover gradient gap={48}>\n {logoElements}\n </Marquee>\n ) : (\n <div style={s(\"flex flex-wrap items-center justify-center gap-8\")}>\n {logoElements}\n </div>\n )}\n </div>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `@keyframes landing-logocloud-enter{to{opacity:1;transform:none}}`,\n }}\n />\n </Section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { dotCSS } from \"@hua-labs/dot/class\";\nimport { Section } from \"../components/Section\";\nimport { Container } from \"../components/Container\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingShowcaseProps, LandingMotionOverride } from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingShowcase({\n items,\n title,\n subtitle,\n motion: motionOverride,\n staggerDelay: staggerProp,\n dot: dotProp,\n ...rest\n}: LandingShowcaseProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.showcase.motion, ...motionOverride }\n : theme.showcase.motion;\n const staggerDelay = staggerProp ?? theme.showcase.staggerDelay;\n\n const containerCls = dotCSS(\"space-y-16 sm:space-y-24\");\n const itemEvenCls = dotCSS(\"flex flex-col md:flex-row gap-8 items-center\");\n const itemOddCls = dotCSS(\n \"flex flex-col md:flex-row-reverse gap-8 items-center\",\n );\n const titleCls = dotCSS(\"text-2xl sm:text-3xl font-bold\");\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n });\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n return (\n <Section header={header} dot={dotProp} {...rest}>\n <div ref={stagger?.containerRef} className={containerCls.className}>\n {items.map((item, i) => {\n const isEven = i % 2 === 0;\n return (\n <Container key={i} size=\"lg\" padding=\"none\" dot=\"px-4\">\n <div\n className={\n isEven ? itemEvenCls.className : itemOddCls.className\n }\n style={stagger?.styles[i]}\n >\n {/* Image */}\n <div style={dot(\"flex-1 w-full\")}>\n <div\n style={dot(\n \"relative overflow-hidden rounded-xl border border-border/30 shadow-lg\",\n )}\n >\n <img\n src={item.image}\n alt={item.title}\n style={dot(\"w-full h-auto object-cover\")}\n />\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n \"linear-gradient(to top, rgba(0,0,0,0.2), transparent)\",\n pointerEvents: \"none\",\n }}\n />\n </div>\n </div>\n\n {/* Text */}\n <div style={dot(\"flex-1 w-full space-y-4\")}>\n <h3 className={titleCls.className}>{item.title}</h3>\n <p style={dot(\"text-muted-foreground leading-relaxed\")}>\n {item.description}\n </p>\n </div>\n </div>\n </Container>\n );\n })}\n </div>\n <style\n dangerouslySetInnerHTML={{\n __html: `${containerCls.css}${itemEvenCls.css}${itemOddCls.css}${titleCls.css}`,\n }}\n />\n </Section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport type { CSSProperties } from \"react\";\nimport { dot as dotFn } from \"@hua-labs/dot\";\nimport { dotCSS } from \"@hua-labs/dot/class\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Section } from \"../components/Section\";\nimport { Container } from \"../components/Container\";\nimport { Avatar } from \"../components/Avatar\";\nimport { Icon } from \"../components/Icon/Icon\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingAboutProps, LandingMotionOverride } from \"./types\";\n\nconst s = (input: string) => dotFn(input) as CSSProperties;\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>;\n style: React.CSSProperties;\n isVisible: boolean;\n}\ninterface ScrollRevealOptions {\n motionType?: string;\n duration?: number;\n delay?: number;\n}\n\nlet useScrollReveal:\n | ((opts: ScrollRevealOptions) => ScrollRevealResult)\n | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require(\"@hua-labs/motion-core\").useScrollReveal;\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingAbout({\n name,\n role,\n bio,\n avatar,\n socialLinks,\n motion: motionOverride,\n dot: dotProp,\n ...rest\n}: LandingAboutProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.hero.motion, ...motionOverride }\n : theme.hero.motion;\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as \"fadeIn\" | \"slideUp\",\n duration: motion.duration,\n delay: motion.delay,\n });\n\n const fallbackStyle: React.CSSProperties = scrollReveal\n ? {}\n : {\n opacity: 0,\n transform: motion.type === \"slideUp\" ? \"translateY(32px)\" : \"none\",\n animation: `landing-about-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n };\n\n const avatarCls = dotCSS(\"w-32 h-32 md:w-40 md:h-40\");\n\n return (\n <Section dot={dotProp} {...rest}>\n <Container size=\"lg\" padding=\"none\" centered>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={mergeStyles(\n scrollReveal?.style ?? fallbackStyle,\n s(\"flex flex-col items-center gap-8\"),\n )}\n >\n {/* Avatar */}\n {avatar && (\n <div className={avatarCls.className} style={{ flexShrink: 0 }}>\n <Avatar size=\"lg\" src={avatar} alt={name} dot=\"w-full h-full\" />\n </div>\n )}\n\n {/* Text Content */}\n <div style={s(\"flex-1 text-center\")}>\n <h2 style={s(\"text-3xl font-bold mb-2\")}>{name}</h2>\n <p style={s(\"text-xl text-muted-foreground mb-4\")}>{role}</p>\n <div style={s(\"leading-relaxed mb-6\")}>\n {typeof bio === \"string\" ? <p>{bio}</p> : bio}\n </div>\n\n {/* Social Links */}\n {socialLinks && socialLinks.length > 0 && (\n <div style={s(\"flex gap-4 justify-center\")}>\n {socialLinks.map((link, i) => (\n <a\n key={i}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={s(\"text-muted-foreground\")}\n aria-label={link.label}\n >\n <Icon name={link.icon as any} size={24} />\n </a>\n ))}\n </div>\n )}\n </div>\n </div>\n </Container>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `${avatarCls.css}@keyframes landing-about-enter{to{opacity:1;transform:none}}`,\n }}\n />\n </Section>\n );\n}\n","\"use client\";\n\nimport React, { useState, useMemo } from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { Card } from \"../components/Card\";\nimport { Icon } from \"../components/Icon/Icon\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingProjectsProps,\n LandingProjectItem,\n LandingMotionOverride,\n} from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\nlet TiltCard: React.ComponentType<any> | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const mc = require(\"@hua-labs/motion-core\");\n useStagger = mc.useStagger;\n TiltCard = mc.TiltCard;\n} catch {\n // motion-core unavailable\n}\n\nconst gridColsMap = {\n 2: \"md:grid-cols-2\",\n 3: \"md:grid-cols-2 lg:grid-cols-3\",\n} as const;\n\nfunction ProjectCard({\n item,\n style,\n}: {\n item: LandingProjectItem;\n style?: React.CSSProperties;\n}) {\n const CardComponent = TiltCard || Card;\n\n return (\n <CardComponent\n dot=\"bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl overflow-hidden group hover:shadow-lg transition-shadow\"\n style={style}\n >\n {item.image && (\n <div style={dot(\"relative overflow-hidden aspect-video\")}>\n <img\n src={item.image}\n alt={item.title}\n style={dot(\n \"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300\",\n )}\n />\n </div>\n )}\n <div style={dot(\"p-6\")}>\n <h3 style={dot(\"text-xl font-bold mb-2\")}>{item.title}</h3>\n <p style={dot(\"text-muted-foreground mb-4 leading-relaxed\")}>\n {item.description}\n </p>\n\n {/* Tags */}\n {item.tags && item.tags.length > 0 && (\n <div style={dot(\"flex flex-wrap gap-2 mb-4\")}>\n {item.tags.map((tag, i) => (\n <span\n key={i}\n style={dot(\n \"px-2 py-1 text-xs rounded-full bg-primary/10 text-primary\",\n )}\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n\n {/* Links */}\n <div style={dot(\"flex gap-3\")}>\n {item.href && (\n <a\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={dot(\n \"text-sm text-primary hover:underline flex items-center gap-1\",\n )}\n >\n View Project <Icon name=\"arrowRight\" size={16} />\n </a>\n )}\n {item.github && (\n <a\n href={item.github}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={dot(\n \"text-sm text-muted-foreground hover:text-foreground flex items-center gap-1\",\n )}\n >\n <Icon name=\"github\" size={16} /> GitHub\n </a>\n )}\n </div>\n </div>\n </CardComponent>\n );\n}\n\nexport function LandingProjects({\n items,\n title,\n subtitle,\n columns = 3,\n filter = false,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingProjectsProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion;\n const staggerDelay = staggerProp ?? theme.features.staggerDelay;\n\n const [selectedTag, setSelectedTag] = useState<string | null>(null);\n\n const allTags = useMemo(() => {\n const tagSet = new Set<string>();\n items.forEach((item) => {\n item.tags?.forEach((tag) => tagSet.add(tag));\n });\n return Array.from(tagSet);\n }, [items]);\n\n const filteredItems = useMemo(() => {\n if (!selectedTag) return items;\n return items.filter((item) => item.tags?.includes(selectedTag));\n }, [items, selectedTag]);\n\n const stagger = useStagger?.({\n count: filteredItems.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n });\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n return (\n <Section header={header} dot={className} {...rest}>\n {/* Tag Filter */}\n {filter && allTags.length > 0 && (\n <div style={dot(\"flex flex-wrap gap-2 mb-8 justify-center\")}>\n <button\n onClick={() => setSelectedTag(null)}\n style={dot(\n `px-4 py-2 rounded-full text-sm font-medium transition-colors ${!selectedTag ? \"bg-primary text-primary-foreground\" : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"}`,\n )}\n >\n All\n </button>\n {allTags.map((tag) => (\n <button\n key={tag}\n onClick={() => setSelectedTag(tag)}\n style={dot(\n `px-4 py-2 rounded-full text-sm font-medium transition-colors ${selectedTag === tag ? \"bg-primary text-primary-foreground\" : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"}`,\n )}\n >\n {tag}\n </button>\n ))}\n </div>\n )}\n\n {/* Projects Grid */}\n <div\n ref={stagger?.containerRef}\n style={dot(`grid gap-6 ${gridColsMap[columns]}`)}\n >\n {filteredItems.map((item, i) => (\n <ProjectCard key={i} item={item} style={stagger?.styles[i]} />\n ))}\n </div>\n </Section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Section } from \"../components/Section\";\nimport { Icon } from \"../components/Icon/Icon\";\nimport { Marquee } from \"../components/advanced/Marquee\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingSkillsProps,\n LandingSkillItem,\n LandingMotionOverride,\n} from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core unavailable\n}\n\nfunction getBarColor(level: number): string {\n if (level >= 90) return \"bg-green-500\";\n if (level >= 70) return \"bg-blue-500\";\n if (level >= 50) return \"bg-yellow-500\";\n return \"bg-gray-500\";\n}\n\nexport function LandingSkills({\n items,\n title,\n subtitle,\n variant = \"grid\",\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingSkillsProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion;\n const staggerDelay = staggerProp ?? theme.features.staggerDelay;\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n });\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n // Marquee variant\n if (variant === \"marquee\") {\n return (\n <Section header={header} dot={className} {...rest}>\n <Marquee speed={50} pauseOnHover gradient>\n {items.map((item, i) => (\n <div\n key={i}\n style={dot(\"w-40 shrink-0 flex items-center gap-3 px-4 py-2\")}\n >\n {item.icon && <Icon name={item.icon as any} size={24} />}\n <span style={dot(\"font-medium\")}>{item.name}</span>\n </div>\n ))}\n </Marquee>\n </Section>\n );\n }\n\n // Grid variant\n if (variant === \"grid\") {\n return (\n <Section header={header} dot={className} {...rest}>\n <div\n ref={stagger?.containerRef}\n style={dot(\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6\")}\n >\n {items.map((item, i) => (\n <div\n key={i}\n style={{\n ...dot(\n \"flex flex-col items-center gap-3 p-6 bg-card/50 backdrop-blur-sm border border-border/30 rounded-xl hover:shadow-lg transition-shadow\",\n ),\n ...stagger?.styles[i],\n }}\n >\n {item.icon && (\n <Icon name={item.icon as any} size={32} variant=\"primary\" />\n )}\n <span style={dot(\"font-semibold text-center\")}>{item.name}</span>\n {item.category && (\n <span style={dot(\"text-xs text-muted-foreground\")}>\n {item.category}\n </span>\n )}\n </div>\n ))}\n </div>\n </Section>\n );\n }\n\n // Bars variant\n return (\n <Section header={header} dot={className} {...rest}>\n <div\n ref={stagger?.containerRef}\n style={dot(\"space-y-6 max-w-3xl mx-auto\")}\n >\n {items.map((item, i) => {\n const level = item.level ?? 100;\n return (\n <div key={i} style={{ ...dot(\"space-y-2\"), ...stagger?.styles[i] }}>\n <div style={dot(\"flex justify-between items-center\")}>\n <div style={dot(\"flex items-center gap-2\")}>\n {item.icon && <Icon name={item.icon as any} size={20} />}\n <span style={dot(\"font-semibold\")}>{item.name}</span>\n </div>\n <span style={dot(\"text-sm text-muted-foreground\")}>\n {level}%\n </span>\n </div>\n <div style={dot(\"h-2 bg-secondary rounded-full overflow-hidden\")}>\n <div\n style={mergeStyles(\n dot(\n `h-full rounded-full transition-all duration-1000 ${getBarColor(level)}`,\n ),\n {\n width: `${level}%`,\n animation: \"skill-bar-fill 1s ease-out forwards\",\n },\n )}\n />\n </div>\n </div>\n );\n })}\n </div>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @keyframes skill-bar-fill {\n from { width: 0; }\n }\n `,\n }}\n />\n </Section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { Section } from \"../components/Section\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingExperienceProps,\n LandingExperienceItem,\n LandingMotionOverride,\n} from \"./types\";\n\ninterface StaggerResult {\n containerRef: React.RefObject<HTMLDivElement | null>;\n styles: React.CSSProperties[];\n isVisible: boolean;\n}\ninterface StaggerOptions {\n count: number;\n staggerDelay?: number;\n duration?: number;\n motionType?: string;\n easing?: string;\n}\n\nlet useStagger: ((opts: StaggerOptions) => StaggerResult) | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useStagger = require(\"@hua-labs/motion-core\").useStagger;\n} catch {\n // motion-core unavailable\n}\n\nfunction ExperienceItem({\n item,\n style,\n}: {\n item: LandingExperienceItem;\n style?: React.CSSProperties;\n}) {\n return (\n <div style={{ ...dot(\"relative pl-8 pb-8\"), ...style }}>\n {/* Timeline dot */}\n <div\n style={dot(\n `absolute left-0 top-1.5 w-3 h-3 rounded-full border-2 ${item.current ? \"bg-primary border-primary animate-pulse\" : \"bg-background border-border\"}`,\n )}\n />\n {/* Timeline line */}\n <div style={dot(\"absolute left-[5px] top-4 bottom-0 w-0.5 bg-border\")} />\n\n {/* Content */}\n <div style={dot(\"space-y-1\")}>\n <div\n style={dot(\n \"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-1\",\n )}\n >\n <h3 style={dot(\"text-lg font-bold\")}>{item.title}</h3>\n <span style={dot(\"text-sm text-muted-foreground\")}>\n {item.period}\n </span>\n </div>\n <p style={dot(\"text-base text-foreground/80 font-medium\")}>\n {item.company}\n </p>\n {item.description && (\n <p style={dot(\"text-sm text-muted-foreground leading-relaxed pt-2\")}>\n {item.description}\n </p>\n )}\n {item.current && (\n <span\n style={dot(\n \"inline-block mt-2 px-2 py-1 text-xs rounded-full bg-primary/10 text-primary\",\n )}\n >\n Current\n </span>\n )}\n </div>\n </div>\n );\n}\n\nexport function LandingExperience({\n items,\n title,\n subtitle,\n motion: motionOverride,\n staggerDelay: staggerProp,\n className,\n ...rest\n}: LandingExperienceProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.features.motion, ...motionOverride }\n : theme.features.motion;\n const staggerDelay = staggerProp ?? theme.features.staggerDelay;\n\n const stagger = useStagger?.({\n count: items.length,\n staggerDelay,\n duration: motion.duration,\n motionType: motion.type,\n easing: motion.easing,\n });\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n return (\n <Section header={header} dot={className} {...rest}>\n <div ref={stagger?.containerRef} style={dot(\"max-w-3xl mx-auto\")}>\n {items.map((item, i) => (\n <ExperienceItem key={i} item={item} style={stagger?.styles[i]} />\n ))}\n </div>\n </Section>\n );\n}\n","\"use client\";\n\nimport React, { useState, useEffect } from \"react\";\nimport { dot } from \"@hua-labs/dot\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Section } from \"../components/Section\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type {\n LandingMetricsProps,\n LandingMetricItem,\n LandingMotionOverride,\n} from \"./types\";\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>;\n style: React.CSSProperties;\n isVisible: boolean;\n}\ninterface ScrollRevealOptions {\n motionType?: string;\n duration?: number;\n delay?: number;\n}\n\nlet useScrollReveal:\n | ((opts: ScrollRevealOptions) => ScrollRevealResult)\n | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require(\"@hua-labs/motion-core\").useScrollReveal;\n} catch {\n // motion-core unavailable\n}\n\nfunction getMetricColor(value: number): { bar: string; text: string } {\n if (value >= 90)\n return { bar: \"bg-green-500\", text: \"text-green-600 dark:text-green-400\" };\n if (value >= 50)\n return {\n bar: \"bg-orange-500\",\n text: \"text-orange-600 dark:text-orange-400\",\n };\n return { bar: \"bg-red-500\", text: \"text-red-600 dark:text-red-400\" };\n}\n\nfunction MetricBar({\n item,\n delay = 0,\n}: {\n item: LandingMetricItem;\n delay?: number;\n}) {\n const [animatedValue, setAnimatedValue] = useState(0);\n const color = getMetricColor(item.value);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setAnimatedValue(item.value);\n }, delay);\n return () => clearTimeout(timer);\n }, [item.value, delay]);\n\n return (\n <div style={dot(\"space-y-2\")}>\n <div style={dot(\"flex justify-between items-center\")}>\n <span style={dot(\"text-sm font-medium\")}>{item.label}</span>\n <span style={dot(`text-2xl font-bold ${color.text}`)}>\n {Math.round(animatedValue)}\n </span>\n </div>\n <div style={dot(\"h-2 bg-secondary rounded-full overflow-hidden\")}>\n <div\n style={mergeStyles(\n dot(\n `h-full rounded-full transition-all duration-1000 ease-out ${color.bar}`,\n ),\n { width: `${animatedValue}%` },\n )}\n />\n </div>\n {item.description && (\n <p style={dot(\"text-xs text-muted-foreground\")}>{item.description}</p>\n )}\n </div>\n );\n}\n\nexport function LandingMetrics({\n items,\n title,\n subtitle,\n tabs,\n motion: motionOverride,\n className,\n ...rest\n}: LandingMetricsProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.stats.motion, ...motionOverride }\n : theme.stats.motion;\n\n const [activeTab, setActiveTab] = useState(0);\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as \"fadeIn\" | \"slideUp\",\n duration: motion.duration,\n delay: motion.delay,\n });\n\n const fallbackStyle: React.CSSProperties = scrollReveal\n ? {}\n : {\n opacity: 0,\n transform: motion.type === \"slideUp\" ? \"translateY(32px)\" : \"none\",\n animation: `landing-metrics-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n };\n\n const displayItems = tabs ? tabs[activeTab].items : items;\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n return (\n <Section header={header} dot={className} {...rest}>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={mergeStyles(\n dot(\"max-w-3xl mx-auto\"),\n scrollReveal?.style ?? fallbackStyle,\n )}\n >\n {/* Tabs */}\n {tabs && tabs.length > 1 && (\n <div style={dot(\"flex gap-2 mb-8 justify-center\")}>\n {tabs.map((tab, i) => (\n <button\n key={i}\n onClick={() => setActiveTab(i)}\n style={dot(\n `px-4 py-2 rounded-lg text-sm font-medium transition-colors ${activeTab === i ? \"bg-primary text-primary-foreground\" : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"}`,\n )}\n >\n {tab.label}\n </button>\n ))}\n </div>\n )}\n\n {/* Metrics */}\n <div style={dot(\"space-y-6\")}>\n {displayItems.map((item, i) => (\n <MetricBar key={i} item={item} delay={i * 100} />\n ))}\n </div>\n </div>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @keyframes landing-metrics-enter {\n to { opacity: 1; transform: none; }\n }\n `,\n }}\n />\n </Section>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport type { CSSProperties } from \"react\";\nimport { dot as dotFn } from \"@hua-labs/dot\";\nimport { mergeStyles } from \"../hooks/useDotMap\";\nimport { Section } from \"../components/Section\";\nimport { Container } from \"../components/Container\";\nimport { Icon } from \"../components/Icon/Icon\";\nimport { useLandingTheme } from \"./LandingProvider\";\nimport type { LandingContactProps, LandingMotionOverride } from \"./types\";\n\nconst s = (input: string) => dotFn(input) as CSSProperties;\n\ninterface ScrollRevealResult {\n ref: React.RefObject<HTMLElement | null>;\n style: React.CSSProperties;\n isVisible: boolean;\n}\ninterface ScrollRevealOptions {\n motionType?: string;\n duration?: number;\n delay?: number;\n}\n\nlet useScrollReveal:\n | ((opts: ScrollRevealOptions) => ScrollRevealResult)\n | undefined;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n useScrollReveal = require(\"@hua-labs/motion-core\").useScrollReveal;\n} catch {\n // motion-core unavailable\n}\n\nexport function LandingContact({\n title = \"Get in Touch\",\n subtitle,\n email,\n socialLinks,\n motion: motionOverride,\n dot: dotProp,\n ...rest\n}: LandingContactProps) {\n const theme = useLandingTheme();\n const motion: Required<LandingMotionOverride> = motionOverride\n ? { ...theme.cta.motion, ...motionOverride }\n : theme.cta.motion;\n\n const scrollReveal = useScrollReveal?.({\n motionType: motion.type as \"fadeIn\" | \"slideUp\",\n duration: motion.duration,\n delay: motion.delay,\n });\n\n const fallbackStyle: React.CSSProperties = scrollReveal\n ? {}\n : {\n opacity: 0,\n transform: motion.type === \"slideUp\" ? \"translateY(32px)\" : \"none\",\n animation: `landing-contact-enter ${motion.duration}ms ${motion.easing} ${motion.delay}ms forwards`,\n };\n\n const header =\n title || subtitle ? { title: title ?? \"\", subtitle } : undefined;\n\n return (\n <Section header={header} dot={dotProp} {...rest}>\n <Container size=\"md\" padding=\"none\" centered>\n <div\n ref={scrollReveal?.ref as React.Ref<HTMLDivElement>}\n style={mergeStyles(\n scrollReveal?.style ?? fallbackStyle,\n s(\"text-center\"),\n )}\n >\n {/* Email */}\n {email && (\n <a\n href={`mailto:${email}`}\n style={s(\"inline-block text-2xl font-bold text-primary\")}\n >\n {email}\n </a>\n )}\n\n {/* Social Links */}\n {socialLinks && socialLinks.length > 0 && (\n <div style={s(\"flex gap-4 justify-center\")}>\n {socialLinks.map((link, i) => (\n <a\n key={i}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={s(\n \"flex items-center justify-center w-12 h-12 rounded-full bg-secondary text-foreground\",\n )}\n aria-label={link.label}\n >\n <Icon name={link.icon as any} size={24} />\n </a>\n ))}\n </div>\n )}\n </div>\n </Container>\n\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @keyframes landing-contact-enter {\n to { opacity: 1; transform: none; }\n }\n `,\n }}\n />\n </Section>\n );\n}\n","export { LandingProvider, useLandingTheme } from './LandingProvider'\nexport { LandingHero } from './LandingHero'\nexport { LandingFeatures } from './LandingFeatures'\nexport { LandingStats } from './LandingStats'\nexport { LandingCTA } from './LandingCTA'\nexport { LandingTestimonials } from './LandingTestimonials'\nexport { LandingLogoCloud } from './LandingLogoCloud'\nexport { LandingShowcase } from './LandingShowcase'\nexport { LandingAbout } from './LandingAbout'\nexport { LandingProjects } from './LandingProjects'\nexport { LandingSkills } from './LandingSkills'\nexport { LandingExperience } from './LandingExperience'\nexport { LandingMetrics } from './LandingMetrics'\nexport { LandingContact } from './LandingContact'\nexport { createLandingTheme, resolveTheme, corporate, marketing, product, dashboard, app, immersive, portfolio } from './themes'\n\nexport type {\n LandingThemeName,\n LandingTheme,\n LandingColorTokens,\n LandingMotionOverride,\n LandingProviderProps,\n LandingHeroProps,\n LandingFeaturesProps,\n LandingFeatureItem,\n LandingStatsProps,\n LandingStatItem,\n LandingCTAProps,\n LandingTestimonialsProps,\n LandingTestimonialItem,\n LandingLogoCloudProps,\n LandingLogoItem,\n LandingShowcaseProps,\n LandingShowcaseItem,\n LandingAboutProps,\n LandingSocialLink,\n LandingProjectsProps,\n LandingProjectItem,\n LandingSkillsProps,\n LandingSkillItem,\n LandingExperienceProps,\n LandingExperienceItem,\n LandingMetricsProps,\n LandingMetricItem,\n LandingMetricsTab,\n LandingContactProps,\n DeepPartial,\n} from './types'\n\n// ── Landing namespace (convenience) ─────────────\n\nimport { LandingProvider } from './LandingProvider'\nimport { LandingHero } from './LandingHero'\nimport { LandingFeatures } from './LandingFeatures'\nimport { LandingStats } from './LandingStats'\nimport { LandingCTA } from './LandingCTA'\nimport { LandingTestimonials } from './LandingTestimonials'\nimport { LandingLogoCloud } from './LandingLogoCloud'\nimport { LandingShowcase } from './LandingShowcase'\nimport { LandingAbout } from './LandingAbout'\nimport { LandingProjects } from './LandingProjects'\nimport { LandingSkills } from './LandingSkills'\nimport { LandingExperience } from './LandingExperience'\nimport { LandingMetrics } from './LandingMetrics'\nimport { LandingContact } from './LandingContact'\n\nexport const Landing = {\n Provider: LandingProvider,\n Hero: LandingHero,\n Features: LandingFeatures,\n Stats: LandingStats,\n CTA: LandingCTA,\n Testimonials: LandingTestimonials,\n LogoCloud: LandingLogoCloud,\n Showcase: LandingShowcase,\n About: LandingAbout,\n Projects: LandingProjects,\n Skills: LandingSkills,\n Experience: LandingExperience,\n Metrics: LandingMetrics,\n Contact: LandingContact,\n} as const\n"]}
|