@gardenfi/garden-book 0.2.3-beta.13 → 0.2.3-beta.14
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/dist/BlogCard/BlogCard.js +60 -0
- package/dist/BottomSheet/BottomSheet.js +17 -0
- package/dist/Button/Button.js +108 -0
- package/dist/Button/ClientOnlyLottie.js +27 -0
- package/dist/{Button.js → Button/spinner.json.js} +30 -170
- package/dist/Checkbox/Checkbox.js +7 -0
- package/dist/Chip/Chip.js +20 -0
- package/dist/ClientOnly/ClientOnly.js +6 -0
- package/dist/Container/Container.js +6 -0
- package/dist/Footer/Footer.js +371 -0
- package/dist/Footer/FooterBackgroundAnimation.js +100 -0
- package/dist/Footer/FooterLink.js +86 -0
- package/dist/GradientScroll/GradientScroll.js +73 -0
- package/dist/Icons/APIIcon/APIIcon.js +37 -0
- package/dist/Icons/AddIcon/AddIcon.js +16 -0
- package/dist/Icons/ArrowDownwardIcon/ArrowDownwardIcon.js +16 -0
- package/dist/Icons/ArrowEastIcon/ArrowEastIcon.js +22 -0
- package/dist/Icons/ArrowInwardIcon/ArrowInwardIcon.js +37 -0
- package/dist/Icons/ArrowLeftIcon/ArrowLeftIcon.js +16 -0
- package/dist/Icons/ArrowNorthEastIcon/ArrowNorthEastIcon.js +16 -0
- package/dist/Icons/ArrowNorthWestIcon/ArrowNorthWestIcon.js +16 -0
- package/dist/Icons/ArrowRightIcon/ArrowRightIcon.js +16 -0
- package/dist/Icons/ArrowSouthEastIcon/ArrowSouthEastIcon.js +16 -0
- package/dist/Icons/ArrowSouthWestIcon/ArrowSouthWestIcon.js +16 -0
- package/dist/Icons/ArrowSyncIcon/ArrowSyncIcon.js +16 -0
- package/dist/Icons/ArrowUpwardIcon/ArrowUpwardIcon.js +16 -0
- package/dist/Icons/BlogIcon/BlogIcon.js +37 -0
- package/dist/Icons/BrandKitIcon/BrandKitIcon.js +37 -0
- package/dist/Icons/CancelIcon/CancelIcon.js +22 -0
- package/dist/Icons/ChainflipIcon/ChainflipIcon.js +103 -0
- package/dist/Icons/CheckCircleIcon/CheckCircleIcon.js +22 -0
- package/dist/Icons/CheckIcon/CheckIcon.js +16 -0
- package/dist/Icons/Checked/Checked.js +37 -0
- package/dist/Icons/ClockIcon/ClockIcon.js +16 -0
- package/dist/Icons/CloseIcon/CloseIcon.js +16 -0
- package/dist/Icons/CodeBlockIcon/CodeBlockIcon.js +22 -0
- package/dist/Icons/CompareArrowsIcon/CompareArrowsIcon.js +22 -0
- package/dist/Icons/ConsoleIcon/ConsoleIcon.js +22 -0
- package/dist/Icons/CopyIcon/CopyIcon.js +16 -0
- package/dist/Icons/CopyrightsIcon/CopyrightsIcon.js +22 -0
- package/dist/Icons/DeleteIcon/DeleteIcon.js +16 -0
- package/dist/Icons/DiscordIcon/DiscordIcon.js +22 -0
- package/dist/Icons/DollarChipIcon/DollarChipIcon.js +37 -0
- package/dist/Icons/DraftIcon/DraftIcon.js +37 -0
- package/dist/Icons/EditIcon/EditIcon.js +16 -0
- package/dist/Icons/EncryptedIcon/EncryptedIcon.js +37 -0
- package/dist/Icons/ExchangeIcon/ExchangeIcon.js +19 -0
- package/dist/Icons/FaqIcon/FaqIcon.js +37 -0
- package/dist/Icons/FeesIcon/FeesIcon.js +22 -0
- package/dist/Icons/FingerprintIcon/FingerprintIcon.js +22 -0
- package/dist/Icons/FolderIcon/FolderIcon.js +37 -0
- package/dist/Icons/GasStationIcon/GasStationIcon.js +22 -0
- package/dist/Icons/GiftBoxIcon/GiftBoxIcon.js +37 -0
- package/dist/Icons/{LanguageIcon → GlobeIcon}/GlobeIcon.d.ts +1 -1
- package/dist/Icons/GlobeIcon/GlobeIcon.js +16 -0
- package/dist/Icons/GlobeIcon/index.d.ts +1 -0
- package/dist/Icons/HorizontalSwap/HorizontalSwap.js +37 -0
- package/dist/Icons/HubIcon/HubIcon.js +16 -0
- package/dist/Icons/InfinityIcon/InfinityIcon.js +22 -0
- package/dist/Icons/InfoIcon/InfoIcon.js +16 -0
- package/dist/Icons/KeyboardDownIcon/KeyboardDownIcon.js +16 -0
- package/dist/Icons/KeyboardLeftIcon/KeyboardLeftIcon.js +16 -0
- package/dist/Icons/KeyboardRightIcon/KeyboardRightIcon.js +16 -0
- package/dist/Icons/KeyboardUpIcon/KeyboardUpIcon.js +16 -0
- package/dist/Icons/LinkIcon/LinkIcon.js +16 -0
- package/dist/Icons/LockIcon/LockIcon.js +16 -0
- package/dist/Icons/LogoutIcon/LogoutIcon.js +16 -0
- package/dist/Icons/MenuIcon/MenuIcon.js +16 -0
- package/dist/Icons/MinusIcon/MinusIcon.js +19 -0
- package/dist/Icons/OpenInFullIcon/OpenInFullIcon.js +16 -0
- package/dist/Icons/OpenInNewIcon/OpenInNewIcon.js +22 -0
- package/dist/Icons/OtterSecIcon/OtterSecIcon.js +31 -0
- package/dist/Icons/PageInfoIcon/PageInfoIcon.js +16 -0
- package/dist/Icons/PasskeyIcon/PasskeyIcon.js +22 -0
- package/dist/Icons/PasskeyIcon/index.d.ts +1 -1
- package/dist/Icons/PlusIcon/PlusIcon.js +19 -0
- package/dist/Icons/RadioCheckedIcon/RadioCheckedIcon.js +16 -0
- package/dist/Icons/RadioUncheckedIcon/RadioUncheckedIcon.js +16 -0
- package/dist/Icons/RaiseHandIcon/RaiseHandIcon.js +37 -0
- package/dist/Icons/ReferralIcon/ReferralIcon.js +16 -0
- package/dist/Icons/RelayLinkIcon/RelayLinkIcon.js +88 -0
- package/dist/Icons/RemoveIcon/RemoveIcon.js +16 -0
- package/dist/Icons/Rotate360Icon/Rotate360Icon.js +37 -0
- package/dist/Icons/RoutingIcon/RoutingIcon.js +37 -0
- package/dist/Icons/RowInfoIcon/RowInfoIcon.js +37 -0
- package/dist/Icons/SDKIcon/SDKIcon.js +37 -0
- package/dist/Icons/SearchIcon/SearchIcon.js +16 -0
- package/dist/Icons/SearchIconThin/SearchIconThin.js +37 -0
- package/dist/Icons/Share/Share.js +22 -0
- package/dist/Icons/StakeIcon/StakeIcon.js +37 -0
- package/dist/Icons/StarIcon/StarIcon.js +16 -0
- package/dist/Icons/SwapHorizontalIcon/SwapHorizontalIcon.js +21 -0
- package/dist/Icons/ThorswapIcon/ThorswapIcon.js +55 -0
- package/dist/Icons/TimerIcon/TimerIcon.js +16 -0
- package/dist/Icons/Unchecked/Unchecked.js +37 -0
- package/dist/Icons/WalletIcon/WalletIcon.js +16 -0
- package/dist/Icons/WalletIconRose/WalletIconRose.js +22 -0
- package/dist/Icons/WarningIcon/WarningIcon.js +37 -0
- package/dist/Icons/XIcon/XIcon.js +22 -0
- package/dist/Icons/XSolidIcon/XSolidIcon.js +22 -0
- package/dist/Icons/ZellicIcon/ZellicIcon.js +101 -0
- package/dist/Icons/index.d.ts +1 -1
- package/dist/InfoBadge/InfoBadge.js +16 -0
- package/dist/Logo/ArbitrumLogo/ArbitrumLogo.js +66 -0
- package/dist/Logo/BTCLogo/BTCLogo.js +32 -0
- package/dist/Logo/Camelot/Camelot.js +73 -0
- package/dist/Logo/CatalogLogo/CatalogLogo.js +44 -0
- package/dist/Logo/Coinbase/Coinbase.js +24 -0
- package/dist/Logo/DLCBTC/DLCBTC.js +68 -0
- package/dist/Logo/Debridge/Debridge.js +103 -0
- package/dist/Logo/Dodo/DODO.js +77 -0
- package/dist/Logo/EthereumLogo/EthereumLogo.js +60 -0
- package/dist/Logo/GMX/GMX.js +49 -0
- package/dist/Logo/GMXLogo/GMXLogo.js +40 -0
- package/dist/Logo/GardenDocs/GardenDocs.js +31 -0
- package/dist/Logo/GardenExplorer/GardenExplorer.js +34 -0
- package/dist/Logo/GardenExplorerAlt/GardenExplorerAlt.js +31 -0
- package/dist/Logo/GardenFullLogo/GardenFullLogo.js +66 -0
- package/dist/{GardenIcon-E0OJI-b-.js → Logo/GardenIcon/GardenIcon.js} +11 -13
- package/dist/Logo/GardenIconOutline/GardenIconOutline.js +43 -0
- package/dist/Logo/GardenLogo/GardenLogo.js +33 -0
- package/dist/Logo/GardenLogoDark/GardenLogoDark.js +83 -0
- package/dist/Logo/GardenLogoLight/GardenLogoLight.js +83 -0
- package/dist/Logo/GardenLogoMarkDark/GardenLogoMarkDark.js +41 -0
- package/dist/Logo/GardenLogoMarkLight/GardenLogoMarkLight.js +41 -0
- package/dist/Logo/GardenLogoText/GardenLogoText.js +59 -0
- package/dist/Logo/GardenStrokeIcon/GardenStrokeIcon.js +43 -0
- package/dist/Logo/NFTIcon/NFTIcon.js +37 -0
- package/dist/Logo/PancakeSwap/PancakeSwap.js +134 -0
- package/dist/Logo/PhantomIcon/PhantomIcon.js +23 -0
- package/dist/Logo/PolygonLogo/PolygonLogo.js +31 -0
- package/dist/Logo/Radiant/Radiant.js +31 -0
- package/dist/Logo/RadiantLogo/RadiantLogo.js +40 -0
- package/dist/Logo/Solv/Solv.js +73 -0
- package/dist/Logo/SwellBTC/SwellBTC.js +31 -0
- package/dist/Logo/TraderJoe/TraderJoe.js +98 -0
- package/dist/Logo/TrailOfBits/TrailOfBits.js +190 -0
- package/dist/Logo/TrustWallet/TrustWallet.js +50 -0
- package/dist/Logo/Vertex/Vertex.js +90 -0
- package/dist/Logo/WalletConnect/WalletConnect.js +22 -0
- package/dist/Modal/Modal.js +66 -0
- package/dist/Opacity/Opacity.d.ts +1 -1
- package/dist/Opacity/Opacity.js +25 -0
- package/dist/QuestCard/QuestCard.js +57 -0
- package/dist/Sidebar/Sidebar.js +41 -0
- package/dist/TokenInfo/TokenInfo.js +44 -0
- package/dist/TokenNetworkLogos/TokenNetworkLogos.js +39 -0
- package/dist/{Typography-DX9XpQWB.js → Typography/Typography.js} +23 -25
- package/dist/animations/RollingText/RollingText.d.ts +12 -0
- package/dist/animations/RollingText/RollingText.js +70 -0
- package/dist/animations/ScaleY/ScaleY.d.ts +12 -0
- package/dist/animations/ScaleY/ScaleY.js +32 -0
- package/dist/animations/Shine/Shine.d.ts +11 -0
- package/dist/animations/Shine/Shine.js +6 -0
- package/dist/animations/index.d.ts +5 -0
- package/dist/assets/blogPlaceholder.svg.js +4 -0
- package/dist/assets/maskRect.svg.js +4 -0
- package/dist/hooks/useClientOnly.d.ts +5 -0
- package/dist/hooks/useClientOnly.js +10 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +287 -0
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +9 -0
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -0
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +70 -0
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +257 -0
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +127 -0
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +17 -0
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +137 -0
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +13 -0
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js +16 -0
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +71 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +36 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +50 -0
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +13 -0
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +54 -0
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +14 -0
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +6 -0
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +52 -0
- package/dist/node_modules/vaul/dist/index.js +1038 -0
- package/dist/style.css +1 -17
- package/dist/utils/utils.d.ts +3 -0
- package/dist/utils/utils.js +6 -0
- package/package.json +8 -4
- package/dist/BlogCard.js +0 -820
- package/dist/BlogCard.js.map +0 -1
- package/dist/BottomSheet.js +0 -2801
- package/dist/BottomSheet.js.map +0 -1
- package/dist/Button/spinner.json.d.ts +0 -3
- package/dist/Button.js.map +0 -1
- package/dist/Checkbox.js +0 -9
- package/dist/Checkbox.js.map +0 -1
- package/dist/Chip-DOSAEkS5.js +0 -24
- package/dist/Chip-DOSAEkS5.js.map +0 -1
- package/dist/Chip.js +0 -5
- package/dist/Chip.js.map +0 -1
- package/dist/ClientOnly-CMQEf-Yl.js +0 -13
- package/dist/ClientOnly-CMQEf-Yl.js.map +0 -1
- package/dist/ClientOnly.js +0 -5
- package/dist/ClientOnly.js.map +0 -1
- package/dist/Combination-BN2ESQ8D.js +0 -666
- package/dist/Combination-BN2ESQ8D.js.map +0 -1
- package/dist/Container.js +0 -9
- package/dist/Container.js.map +0 -1
- package/dist/Footer.js +0 -661
- package/dist/Footer.js.map +0 -1
- package/dist/GardenIcon-E0OJI-b-.js.map +0 -1
- package/dist/GradientScroll.js +0 -86
- package/dist/GradientScroll.js.map +0 -1
- package/dist/Icons/LanguageIcon/index.d.ts +0 -1
- package/dist/Icons.js +0 -1936
- package/dist/Icons.js.map +0 -1
- package/dist/InfoBadge.js +0 -19
- package/dist/InfoBadge.js.map +0 -1
- package/dist/KeyboardDownIcon-hh63DdT7.js +0 -19
- package/dist/KeyboardDownIcon-hh63DdT7.js.map +0 -1
- package/dist/Logo.js +0 -2044
- package/dist/Logo.js.map +0 -1
- package/dist/Modal.js +0 -77
- package/dist/Modal.js.map +0 -1
- package/dist/Opacity-DRe3jTZ4.js +0 -29
- package/dist/Opacity-DRe3jTZ4.js.map +0 -1
- package/dist/Opacity.js +0 -5
- package/dist/Opacity.js.map +0 -1
- package/dist/OpenInFullIcon-D2mt0Gjr.js +0 -34
- package/dist/OpenInFullIcon-D2mt0Gjr.js.map +0 -1
- package/dist/QuestCard.js +0 -60
- package/dist/QuestCard.js.map +0 -1
- package/dist/RadioUncheckedIcon-KnzZG6cp.js +0 -34
- package/dist/RadioUncheckedIcon-KnzZG6cp.js.map +0 -1
- package/dist/Sidebar.js +0 -45
- package/dist/Sidebar.js.map +0 -1
- package/dist/TokenInfo.js +0 -47
- package/dist/TokenInfo.js.map +0 -1
- package/dist/TokenNetworkLogos-DZZrRsmI.js +0 -41
- package/dist/TokenNetworkLogos-DZZrRsmI.js.map +0 -1
- package/dist/TokenNetworkLogos.js +0 -5
- package/dist/TokenNetworkLogos.js.map +0 -1
- package/dist/Typography-DX9XpQWB.js.map +0 -1
- package/dist/Typography.js +0 -5
- package/dist/Typography.js.map +0 -1
- package/dist/Unchecked-B7UGXlAZ.js +0 -76
- package/dist/Unchecked-B7UGXlAZ.js.map +0 -1
- package/dist/XIcon-DC822TMq.js +0 -67
- package/dist/XIcon-DC822TMq.js.map +0 -1
- package/dist/fonts/HafferBlack.woff2 +0 -0
- package/dist/fonts/HafferBold.woff2 +0 -0
- package/dist/fonts/HafferHeavy.woff2 +0 -0
- package/dist/fonts/HafferLight.woff2 +0 -0
- package/dist/fonts/HafferMedium.woff2 +0 -0
- package/dist/fonts/HafferRegular.woff2 +0 -0
- package/dist/fonts/HafferSemiBold.woff2 +0 -0
- package/dist/fonts/HafferThin.woff2 +0 -0
- package/dist/index-Ir5YwUO1.js +0 -45
- package/dist/index-Ir5YwUO1.js.map +0 -1
- package/dist/useClientOnly-Bzx92NOa.js +0 -12
- package/dist/useClientOnly-Bzx92NOa.js.map +0 -1
- package/dist/utils-BnsJHiW8.js +0 -2478
- package/dist/utils-BnsJHiW8.js.map +0 -1
- /package/dist/Icons/PasskeyIcon/{Passkey.d.ts → PasskeyIcon.d.ts} +0 -0
package/dist/Footer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sources":["../src/components/Footer/FooterBackgroundAnimation.tsx","../src/animations/RollingText/RollingText.tsx","../src/components/Footer/FooterLink.tsx","../src/assets/maskRect.svg","../src/components/Footer/Footer.tsx"],"sourcesContent":["import {\n AnimatePresence,\n motion,\n useMotionValue,\n useTransform,\n} from \"framer-motion\";\nimport { useEffect, useRef, useState } from \"react\";\n\ntype FooterBackgroundAnimationProps = {\n isMobile: boolean;\n isLogoHovered: boolean;\n maskUrl?: string;\n};\n\ntype AnimationState = \"initial\" | \"visible\" | \"exit\";\n\nexport const FooterBackgroundAnimation = ({\n isMobile,\n isLogoHovered,\n maskUrl,\n}: FooterBackgroundAnimationProps) => {\n const [videoSrc] = useState(\n \"https://garden-bucket-cdn.s3.eu-central-1.amazonaws.com/flowers_bg.mp4\"\n );\n\n const [animationState, setAnimationState] =\n useState<AnimationState>(\"initial\");\n\n const videoRef = useRef<HTMLVideoElement>(null);\n const animatedVideoRef = useRef<HTMLVideoElement>(null);\n\n const maskX = useMotionValue(45);\n const maskPos = useTransform(maskX, (x) => `${x}% center`);\n\n useEffect(() => {\n if (isLogoHovered) {\n setAnimationState(\"visible\");\n } else {\n setAnimationState(\"exit\");\n const timer = setTimeout(() => {\n setAnimationState(\"initial\");\n }, 800);\n\n return () => clearTimeout(timer);\n }\n }, [isLogoHovered]);\n\n return (\n <>\n {/* Hidden video that loads immediately on page load */}\n <video\n key=\"video-flowers\"\n ref={videoRef}\n src={videoSrc}\n autoPlay\n loop\n muted\n controls={false}\n preload=\"metadata\"\n playsInline\n className=\"gf-pointer-events-none gf-absolute gf-left-0 gf-top-0 gf-z-0 gf-h-full gf-w-screen gf-object-cover gf-opacity-0\"\n />\n <AnimatePresence mode=\"wait\">\n <motion.div\n key=\"hovered\"\n animate={animationState}\n variants={{\n initial: { maskPosition: \"45%\", opacity: 0 },\n visible: { maskPosition: \"10%\", opacity: 1 },\n exit: {\n maskPosition: \"-60%\",\n opacity: 0,\n transition: {\n duration: 1.2,\n ease: [0, 0.77, 0.3, 1],\n opacity: {\n delay: 0.4,\n },\n },\n },\n }}\n transition={{\n duration: 1,\n ease: [0.22, 0.68, 0.88, 0.96],\n delay: 0.15,\n opacity: {\n times: [0, 1, 1, 1],\n },\n }}\n style={{\n maskImage: `linear-gradient(black, black), url('${maskUrl}')`,\n maskComposite: \"exclude\",\n maskSize: isMobile ? \"1200% 200%\" : \"820% 600%\",\n maskPosition: maskPos,\n }}\n className=\"gf-pointer-events-none gf-absolute gf-left-0 gf-top-0 gf-z-0 gf-h-full gf-w-full gf-overflow-hidden gf-opacity-0\"\n >\n <video\n key=\"video-flowers-animated\"\n ref={animatedVideoRef}\n src={videoSrc}\n autoPlay\n loop\n muted\n controls={false}\n preload=\"metadata\"\n playsInline\n className=\"gf-pointer-events-none gf-h-full gf-w-screen gf-object-cover\"\n onCanPlayThrough={() => {\n if (animatedVideoRef.current) {\n animatedVideoRef.current.play().catch(console.error);\n }\n }}\n onLoadStart={() => {\n if (animatedVideoRef.current) {\n animatedVideoRef.current.play().catch(console.error);\n }\n }}\n />\n </motion.div>\n </AnimatePresence>\n </>\n );\n};\n","import { stagger, useAnimate } from \"framer-motion\";\nimport { useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport { cn } from \"../../utils/utils\";\n\ntype RollingTextProps = {\n value: string;\n isHovered?: boolean;\n className?: string;\n delay?: number;\n};\n\nexport type RollingTextRef = {\n startAnimation: () => void;\n stopAnimation: () => void;\n};\n\nexport const RollingText = forwardRef<RollingTextRef, RollingTextProps>(\n ({ value, isHovered, className, delay }, ref) => {\n const alphabets = value.split(\"\");\n const [scope, animate] = useAnimate();\n\n const startAnimation = () => {\n animate([\n [\n \".gf-letter\",\n { y: \"-100%\" },\n {\n duration: 0.5,\n delay: delay\n ? stagger(0.014, { startDelay: delay })\n : stagger(0.014),\n ease: [0.76, 0, 0.24, 1],\n },\n ],\n ]);\n };\n\n const stopAnimation = () => {\n animate([\n [\n \".gf-letter\",\n { y: \"0%\" },\n {\n duration: 0.5,\n delay: delay\n ? stagger(0.014, { startDelay: delay })\n : stagger(0.014),\n ease: [0.76, 0, 0.24, 1],\n },\n ],\n ]);\n };\n\n useImperativeHandle(ref, () => ({\n startAnimation,\n stopAnimation,\n }));\n\n useEffect(() => {\n if (isHovered) {\n startAnimation();\n } else {\n stopAnimation();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isHovered]);\n\n useEffect(() => {\n const handleMouseEnter = () => {\n if (!isHovered) {\n startAnimation();\n }\n };\n\n const handleMouseLeave = () => {\n if (!isHovered) {\n stopAnimation();\n }\n };\n\n const buttonElement = scope.current;\n if (buttonElement) {\n buttonElement.addEventListener(\"mouseenter\", handleMouseEnter);\n buttonElement.addEventListener(\"mouseleave\", handleMouseLeave);\n\n return () => {\n buttonElement.removeEventListener(\"mouseenter\", handleMouseEnter);\n buttonElement.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scope, isHovered]);\n\n return (\n <div ref={scope}>\n <span\n className={cn(\n `gf-flex gf-h-5 gf-items-center gf-justify-start gf-overflow-hidden gf-pr-0.5`,\n className\n )}\n >\n {alphabets.map((char, i) => (\n <span\n data-letter={char}\n className=\"gf-letter gf-relative gf-h-5 gf-whitespace-pre gf-leading-5 after:gf-absolute after:gf-left-0 after:gf-top-full after:gf-h-5 after:gf-leading-5 after:gf-content-[attr(data-letter)]\"\n key={`${char}-${i}`}\n >\n {char}\n </span>\n ))}\n </span>\n </div>\n );\n }\n);\n\nRollingText.displayName = \"RollingText\";\n","import { RollingText } from \"../../animations\";\nimport { Typography } from \"../Typography/Typography\";\n\ntype FooterLink = {\n title: string;\n link: string | undefined;\n isExternal: boolean;\n chain?: string;\n inputAsset?: string;\n inputChain?: string;\n};\n\ntype FooterLinksProps = {\n title: string;\n links: Record<string, FooterLink>;\n hoveredIndex?: number | null;\n onHover?: (index: number | null) => void;\n className?: string;\n listClassName?: string;\n isRoutes?: boolean;\n};\n\nexport const FooterLinks: React.FC<FooterLinksProps> = ({\n title,\n links,\n hoveredIndex,\n onHover,\n className = \"gf-flex gf-w-full gf-flex-col gf-gap-3 md:gf-w-fit\",\n listClassName = \"gf-flex gf-flex-col gf-gap-1\",\n isRoutes = false,\n}) => {\n return (\n <div className={className}>\n <Typography\n size=\"h4\"\n weight=\"medium\"\n className=\"gf-flex gf-items-center gf-gap-2 gf-transition-all gf-duration-500 gf-ease-in-out gf-text-inherit\"\n >\n <span>{title}</span>\n </Typography>\n <ul className={listClassName}>\n {Object.values(links).map(\n (link, index) =>\n link.link && (\n <li\n key={index}\n className={isRoutes ? \"gf-w-fit\" : \"\"}\n onMouseEnter={() => {\n onHover?.(index);\n }}\n onMouseLeave={() => {\n onHover?.(null);\n }}\n >\n <Typography\n as=\"a\"\n href={link.link}\n target=\"_blank\"\n size=\"h4\"\n weight=\"regular\"\n className={`gf-cursor-pointer gf-transition-all gf-duration-500 gf-ease-in-out gf-text-inherit ${\n isRoutes\n ? \"gf-flex gf-w-fit gf-gap-0.5 gf-items-end gf-transition-colors gf-duration-500 gf-ease-in-out\"\n : \"\"\n }`}\n >\n {link.inputAsset && (\n <RollingText\n value={link.inputAsset || \"\"}\n isHovered={hoveredIndex === index}\n />\n )}\n {isRoutes && link.inputChain && (\n <RollingText\n delay={0.1}\n className=\"gf-text-xs gf-italic gf-translate-y-[0.6px]\"\n value={link.inputChain}\n isHovered={hoveredIndex === index}\n />\n )}\n <RollingText\n delay={0.15}\n value={link.title}\n isHovered={hoveredIndex === index}\n />\n {isRoutes && link.chain && (\n <RollingText\n delay={0.3}\n className=\"gf-text-xs gf-italic gf-translate-y-[0.6px] -gf-translate-x-[2px]\"\n value={link.chain}\n isHovered={hoveredIndex === index}\n />\n )}\n </Typography>\n </li>\n )\n )}\n </ul>\n </div>\n );\n};\n","export default \"data:image/svg+xml,%3csvg%20width='3956'%20height='906'%20viewBox='0%200%203956%20906'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='3956'%20height='906'%20fill='url(%23paint0_linear_579_2)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_579_2'%20x1='1465.5'%20y1='731.406'%20x2='2604.91'%20y2='227.235'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-opacity='0'/%3e%3cstop%20offset='0.115385'/%3e%3cstop%20offset='0.88'/%3e%3cstop%20offset='1'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","import React, { useState, useRef, useEffect } from \"react\";\nimport { GardenIcon } from \"../Logo\";\nimport { CopyrightsIcon } from \"../Icons/CopyrightsIcon\";\nimport { DiscordIcon } from \"../Icons/DiscordIcon\";\nimport { Typography } from \"../Typography/Typography\";\nimport { XIcon } from \"../Icons/XIcon\";\nimport { cn } from \"../../utils/utils\";\nimport { FooterBackgroundAnimation } from \"./FooterBackgroundAnimation\";\nimport { FooterLinks } from \"./FooterLink\";\nimport MaskURL from \"../../assets/maskRect.svg\";\nimport { useClientOnly } from \"../../hooks/useClientOnly\";\n\ntype FooterProps = React.HTMLAttributes<HTMLDivElement> & {\n network?: string;\n navigate?: (path: string) => void;\n maskUrl?: string;\n};\n\nenum Network {\n MAINNET = \"mainnet\",\n TESTNET = \"testnet\",\n}\n\nexport const Footer: React.FC<FooterProps> = ({\n className,\n network = \"mainnet\",\n maskUrl = MaskURL,\n ...props\n}) => {\n const [isLogoHovered, setIsLogoHovered] = useState(false);\n const [hoveredRouteIndex, setHoveredRouteIndex] = useState<number | null>(\n null\n );\n const isClient = useClientOnly();\n const hoverTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current);\n }\n };\n }, []);\n\n const appLink =\n network && network === Network.TESTNET\n ? \"https://testnet.garden.finance\"\n : \"https://app.garden.finance\";\n\n const homepage = \"https://garden.finance\";\n\n const INTERNAL_ROUTES = {\n Products: {\n swap: {\n title: \"Swap\",\n link:\n network && network === Network.TESTNET\n ? `${appLink}/?input-chain=bitcoin_testnet&input-asset=BTC`\n : `${appLink}/?input-chain=bitcoin&input-asset=BTC`,\n isExternal: true,\n },\n stake: {\n title: \"Stake\",\n link:\n network && network === Network.TESTNET\n ? undefined\n : `${appLink}/stake`,\n isExternal: true,\n },\n explorer: {\n title: \"Explorer\",\n link:\n network && network === Network.TESTNET\n ? \"https://testnet-explorer.garden.finance/\"\n : \"https://explorer.garden.finance/\",\n isExternal: true,\n },\n },\n Resources: {\n blog: {\n title: \"Blog\",\n link: `${homepage}/blog`,\n isExternal: true,\n },\n faq: {\n title: \"FAQs\",\n link: `${homepage}/faq`,\n isExternal: true,\n },\n brandKit: {\n title: \"Brand kit\",\n link: `${homepage}/brand-kit`,\n isExternal: true,\n },\n analytics: {\n title: \"Analytics\",\n link: \"https://dune.com/garden_finance/gardenfinance\",\n isExternal: true,\n },\n Audits: {\n title: \"Audits\",\n link: \"https://github.com/gardenfi/audits\",\n isExternal: true,\n },\n },\n Developers: {\n docs: {\n title: \"Docs\",\n link: \"https://docs.garden.finance/\",\n isExternal: true,\n },\n api: {\n title: \"API\",\n link: \"https://docs.garden.finance/developers/api/overview\",\n isExternal: true,\n },\n sdk: {\n title: \"SDK\",\n link: \"https://docs.garden.finance/developers/sdk/overview\",\n isExternal: true,\n },\n },\n };\n\n const Routes = {\n btcToSol: {\n title: \"BTC to SOL\",\n link: homepage + \"/routes/bridge-btc-to-sol\",\n chain: \"Solana\",\n isExternal: true,\n },\n btcToEth: {\n title: \"BTC to ETH\",\n link: homepage + \"/routes/bridge-btc-to-eth\",\n chain: \"Ethereum\",\n isExternal: true,\n },\n btcToUsdc: {\n title: \"BTC to USDC\",\n link: homepage + \"/routes/bridge-btc-to-usdc-arbitrum\",\n chain: \"Arbitrum\",\n isExternal: true,\n },\n btctoUsdcEth: {\n title: \"BTC to USDC\",\n link: homepage + \"/routes/bridge-btc-to-usdc-ethereum\",\n chain: \"Ethereum\",\n isExternal: true,\n },\n btcToWbtc: {\n title: \"BTC to WBTC\",\n link: homepage + \"/routes/bridge-btc-to-wbtc-ethereum\",\n chain: \"Ethereum\",\n isExternal: true,\n },\n btcTocbBtc: {\n title: \"BTC to cbBtc\",\n link: homepage + \"/routes/bridge-btc-to-cbbtc-base\",\n chain: \"Base\",\n isExternal: true,\n },\n btcToSui: {\n title: \"BTC to SUI\",\n link: homepage + \"/routes/bridge-btc-to-sui\",\n chain: \"Sui\",\n isExternal: true,\n },\n btcToWbtcUni: {\n title: \"BTC to WBTC\",\n link: homepage + \"/routes/bridge-btc-to-wbtc-unichain\",\n chain: \"Unichain\",\n isExternal: true,\n },\n btcToBnb: {\n title: \"BTC to BNB\",\n link: homepage + \"/routes/bridge-btc-to-bnb\",\n chain: \"BNB Chain\",\n isExternal: true,\n },\n btcToMon:{\n title: \"BTC to MON\",\n link: homepage + \"/routes/bridge-btc-to-mon\",\n chain: \"Monad\",\n isExternal: true,\n },\n cbBtcBaseTocbBtcSolana: {\n title: \" to cbBtc\",\n link: homepage + \"/routes/bridge-cbbtc-base-to-cbbtc-solana\",\n inputAsset: \"cbBtc\",\n inputChain: \"Base\",\n chain: \"Solana\",\n isExternal: true,\n },\n usdcBnbToBtc: {\n title: \" to BTC\",\n link: homepage + \"/routes/bridge-usdc-bnb-to-btc\",\n inputAsset: \"USDC\",\n inputChain: \"BNB Chain\",\n isExternal: true,\n },\n btcToUsdtEthereum: {\n title: \" to USDT\",\n link: homepage + \"/routes/bridge-btc-to-usdt-ethereum\",\n inputAsset: \"BTC\",\n chain: \"Ethereum\",\n isExternal: true,\n },\n btcToUsdcSolana: {\n title: \" to USDC\",\n link: homepage + \"/routes/bridge-btc-to-usdc-solana\",\n inputAsset: \"BTC\",\n chain: \"Solana\",\n isExternal: true,\n },\n usdcEthereumToBtc: {\n title: \" to BTC\",\n link: homepage + \"/routes/bridge-usdc-ethereum-to-btc\",\n inputAsset: \"USDC\",\n inputChain: \"Ethereum\",\n isExternal: true,\n },\n solToBtc: {\n title: \" to BTC\",\n link: homepage + \"/routes/bridge-sol-to-btc\",\n inputAsset: \"SOL\",\n inputChain: \"Solana\",\n isExternal: true,\n },\n usdcEthereumToUsdcBase: {\n title: \" to USDC\",\n link: homepage + \"/routes/bridge-usdc-ethereum-to-usdc-base\",\n inputAsset: \"USDC\",\n inputChain: \"Ethereum\",\n chain: \"Base\",\n isExternal: true,\n },\n };\n\n const SOCIAL_LINKS = {\n discord: \"https://discord.gg/7feudTFMXB\",\n x: \"https://x.com/gardenfi\",\n };\n\n const { Products, Resources, Developers } = INTERNAL_ROUTES;\n\n return (\n <footer\n className={cn(\n \"gf-z-10 gf-relative gf-mx-auto gf-flex gf-w-full gf-flex-col gf-items-center gf-justify-center gf-bg-white gf-px-6 gf-pb-10 gf-pt-20 md:gf-px-10\",\n className,\n isLogoHovered ? \"gf-text-white\" : \"gf-text-dark-grey\"\n )}\n {...props}\n >\n <div className=\"gf-z-30 gf-w-full gf-max-w-screen-2xl\">\n <div className=\"gf-mx-auto gf-flex gf-w-full gf-flex-col gf-items-start gf-justify-between gf-gap-8\">\n <div className=\"gf-flex gf-w-full gf-items-center gf-justify-between gf-gap-6\">\n <GardenIcon\n onMouseEnter={() => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current);\n }\n hoverTimeoutRef.current = setTimeout(() => {\n setIsLogoHovered(true);\n }, 300);\n }}\n onMouseLeave={() => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current);\n hoverTimeoutRef.current = null;\n }\n setIsLogoHovered(false);\n }}\n className=\"gf-h-8 gf-w-8 gf-cursor-pointer gf-duration-500 gf-ease-in-out\"\n onClick={(e) => e.preventDefault()}\n />\n <div className=\"gf-flex gf-items-center gf-gap-4\">\n <XIcon\n onClick={() => {\n if (isClient) {\n window.open(SOCIAL_LINKS.x, \"_blank\");\n }\n }}\n className=\"gf-cursor-pointer gf-duration-500 gf-ease-in-out\"\n />\n <DiscordIcon\n onClick={() => {\n if (isClient) {\n window.open(SOCIAL_LINKS.discord, \"_blank\");\n }\n }}\n className=\"gf-cursor-pointer gf-duration-500 gf-ease-in-out\"\n />\n </div>\n </div>\n <div className=\"gf-flex gf-w-full gf-max-w-screen-2xl gf-flex-col-reverse gf-items-start gf-justify-between gf-gap-6 md:gf-flex-row\">\n <div className=\"gf-flex gf-w-full gf-flex-col sm:gf-flex-row gf-gap-6 gf-items-start gf-justify-between sm:gf-gap-3 md:gf-w-fit\">\n <div className=\"gf-w-full md:gf-hidden\">\n <FooterLinks\n title=\"Resources\"\n links={Resources}\n className=\"gf-flex gf-w-full gf-flex-col gf-gap-3\"\n listClassName=\"gf-flex gf-flex-col gf-gap-2\"\n />\n </div>\n <div className=\"gf-flex gf-w-full gf-max-w-[400px] gf-flex-col gf-gap-3 md:gf-w-fit\">\n <FooterLinks\n title=\"Routes\"\n links={Routes}\n hoveredIndex={hoveredRouteIndex}\n onHover={setHoveredRouteIndex}\n className=\"gf-flex gf-w-full gf-max-w-[400px] gf-flex-col gf-gap-3 md:gf-w-fit\"\n listClassName=\"gf-grid gf-w-full gf-grid-cols-1 gf-gap-1 gf-gap-x-8 md:gf-grid-cols-2 md:gf-grid-rows-2\"\n isRoutes={true}\n />\n </div>\n </div>\n <div className=\"gf-flex gf-w-full gf-items-start gf-justify-between gf-gap-3 md:gf-w-fit md:gf-gap-16\">\n <FooterLinks\n title=\"Products\"\n links={Products}\n className=\"gf-flex gf-w-full gf-flex-col gf-gap-3 md:gf-w-fit\"\n listClassName=\"gf-flex gf-w-fit gf-flex-col gf-gap-1 gf-gap-x-6\"\n />\n <FooterLinks\n title=\"Developers\"\n links={Developers}\n className=\"gf-flex gf-w-full gf-flex-col gf-gap-3 md:gf-w-fit\"\n listClassName=\"gf-flex gf-flex-col gf-gap-1\"\n />\n <div className=\"gf-hidden md:gf-flex\">\n <FooterLinks\n title=\"Resources\"\n links={Resources}\n className=\"gf-flex gf-w-full gf-flex-col gf-gap-3\"\n listClassName=\"gf-flex gf-flex-col gf-gap-1\"\n />\n </div>\n </div>\n </div>\n </div>\n <div className=\"gf-relative gf-mt-6 gf-flex gf-w-full gf-max-w-screen-2xl gf-items-center gf-justify-center\">\n <div\n className={`gf-absolute gf-left-0 gf-top-0 gf-h-[1px] gf-w-full gf-transition-all gf-duration-500 gf-ease-in-out ${\n isLogoHovered ? \"gf-bg-white\" : \"gf-bg-dark-grey\"\n }`}\n />\n <div className=\"gf-z-10 gf-my-6 gf-flex gf-w-full gf-items-center gf-justify-between gf-gap-4\">\n <div className=\"gf-flex gf-w-fit gf-items-center gf-justify-start gf-gap-6\">\n <Typography\n size=\"h5\"\n className=\"gf-flex gf-items-center gf-gap-1 gf-transition-all gf-duration-500 gf-ease-in-out gf-text-inherit\"\n weight=\"regular\"\n >\n <CopyrightsIcon />\n <span>Garden</span>\n <span>2025</span>\n </Typography>\n </div>\n <div className=\"gf-flex gf-w-fit gf-items-center gf-justify-end gf-gap-6\">\n <Typography\n size=\"h5\"\n as=\"a\"\n className=\"gf-cursor-pointer gf-underline-offset-2 gf-transition-all gf-duration-500 gf-ease-in-out gf-hover:underline gf-text-inherit\"\n weight=\"regular\"\n href=\"/privacy.pdf\"\n target=\"_blank\"\n >\n Privacy Policy\n </Typography>\n\n <Typography\n as=\"a\"\n size=\"h5\"\n className=\"gf-cursor-pointer gf-underline-offset-2 gf-transition-all gf-duration-500 gf-ease-in-out gf-hover:underline gf-text-inherit\"\n weight=\"regular\"\n href=\"/terms.pdf\"\n target=\"_blank\"\n >\n Terms of Service\n </Typography>\n </div>\n </div>\n </div>\n </div>\n <FooterBackgroundAnimation\n isMobile={false}\n isLogoHovered={isLogoHovered}\n maskUrl={maskUrl}\n />\n </footer>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GardenIcon-E0OJI-b-.js","sources":["../src/components/Logo/GardenIcon/GardenIcon.tsx"],"sourcesContent":["import React from \"react\";\n\ntype GardenIconVariant = \"garden-rose\" | \"iris\" | \"mist\" | \"elderberry\";\n\ntype GardenIconProps = React.SVGProps<SVGSVGElement> & {\n variant?: GardenIconVariant;\n};\n\nconst fillColorVariants: Record<GardenIconVariant, string> = {\n \"garden-rose\": \"#F29FCD\",\n iris: \"#473C75\",\n mist: \"#E4EBF2\",\n elderberry: \"#181325\",\n};\n\nexport const GardenIcon: React.FC<GardenIconProps> = ({\n variant,\n ...props\n}) => {\n const fillColor = variant ? fillColorVariants[variant] : \"currentColor\";\n\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M16 0C20.3629 1.90708e-07 23.9732 3.21759 24.5898 7.40918C28.782 8.02536 32 11.6367 32 16C32 20.3632 28.7819 23.9736 24.5898 24.5898C23.9736 28.7819 20.3632 32 16 32C11.6367 32 8.02536 28.782 7.40918 24.5898C3.21759 23.9732 2.34439e-07 20.3629 0 16C0 11.6371 3.21753 8.02577 7.40918 7.40918C8.02577 3.21753 11.6371 -1.9071e-07 16 0ZM13.5596 7.79395V9.6084H11.1152V11.7129H12.2012V20.2041H11.1152V22.3086H13.5596V24.25H15.2227V22.3086H16.1602V24.25H17.8389V22.2891C18.0718 22.2782 18.3057 22.2608 18.4941 22.2354C19.5069 22.066 20.3152 21.6551 20.918 21.002C21.5326 20.3368 21.8398 19.5265 21.8398 18.5713C21.8398 17.8214 21.6049 17.1557 21.1348 16.5752C20.6647 15.9948 20.0799 15.6141 19.3809 15.4326C19.8871 15.2391 20.3145 14.8997 20.6641 14.416C21.0136 13.9202 21.1884 13.3822 21.1885 12.8018C21.1885 12.0035 20.9416 11.3314 20.4473 10.7871C19.965 10.2309 19.3138 9.86853 18.4941 9.69922C18.31 9.66671 18.0747 9.64539 17.8389 9.63184V7.79395H16.1602V9.6084H15.2227V7.79395H13.5596ZM17.3008 16.6113C17.9033 16.6114 18.3975 16.7807 18.7832 17.1191C19.1811 17.4457 19.3809 17.8695 19.3809 18.3896C19.3808 18.9218 19.181 19.3577 18.7832 19.6963C18.3975 20.0347 17.9033 20.2041 17.3008 20.2041H14.6602V16.6113H17.3008ZM17.1201 11.7129C17.6141 11.7129 18.0177 11.8519 18.3311 12.1299C18.6565 12.3959 18.8193 12.7408 18.8193 13.1641C18.8193 13.5995 18.6566 13.9562 18.3311 14.2344C18.0177 14.5004 17.6142 14.6337 17.1201 14.6338H14.6602V11.7129H17.1201Z\"\n fill={fillColor}\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";AAQA,MAAM,oBAAuD;AAAA,EAC3D,eAAe;AAAA,EACf,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AACd;AAEO,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,YAAY,UAAU,kBAAkB,OAAO,IAAI;AAEzD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAGN;"}
|
package/dist/GradientScroll.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useRef, useEffect } from "react";
|
|
3
|
-
import { c as cn } from "./utils-BnsJHiW8.js";
|
|
4
|
-
const GradientScroll = ({
|
|
5
|
-
children,
|
|
6
|
-
className,
|
|
7
|
-
height,
|
|
8
|
-
gradientHeight = 24,
|
|
9
|
-
onClose = false,
|
|
10
|
-
...props
|
|
11
|
-
}) => {
|
|
12
|
-
const [showGradientBottom, setShowGradientBottom] = useState(true);
|
|
13
|
-
const [showGradientTop, setShowGradientTop] = useState(true);
|
|
14
|
-
const listRef = useRef(null);
|
|
15
|
-
const contentRef = useRef(null);
|
|
16
|
-
const handleScroll = () => {
|
|
17
|
-
if (listRef.current) {
|
|
18
|
-
const { scrollTop, scrollHeight, clientHeight } = listRef.current;
|
|
19
|
-
setShowGradientBottom(scrollTop + clientHeight < scrollHeight);
|
|
20
|
-
setShowGradientTop(scrollTop > 0);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (onClose && listRef.current) {
|
|
25
|
-
listRef.current.scrollTop = 0;
|
|
26
|
-
}
|
|
27
|
-
}, [onClose]);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
const container = listRef.current;
|
|
30
|
-
const content = contentRef.current;
|
|
31
|
-
if (!container || !content) return;
|
|
32
|
-
handleScroll();
|
|
33
|
-
const resizeObserver = new ResizeObserver(() => {
|
|
34
|
-
handleScroll();
|
|
35
|
-
});
|
|
36
|
-
resizeObserver.observe(container);
|
|
37
|
-
resizeObserver.observe(content);
|
|
38
|
-
return () => {
|
|
39
|
-
resizeObserver.disconnect();
|
|
40
|
-
};
|
|
41
|
-
}, []);
|
|
42
|
-
return /* @__PURE__ */ jsxs(
|
|
43
|
-
"div",
|
|
44
|
-
{
|
|
45
|
-
className: cn(
|
|
46
|
-
"gf-w-full gf-bg-white gf-relative gf-overflow-hidden",
|
|
47
|
-
className
|
|
48
|
-
),
|
|
49
|
-
style: { height: typeof height === "number" ? `${height}px` : height },
|
|
50
|
-
...props,
|
|
51
|
-
children: [
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
53
|
-
"div",
|
|
54
|
-
{
|
|
55
|
-
className: "gf-h-full gf-w-full gf-overflow-auto gf-no-scrollbar",
|
|
56
|
-
onScroll: handleScroll,
|
|
57
|
-
ref: listRef,
|
|
58
|
-
children: /* @__PURE__ */ jsx("div", { ref: contentRef, children })
|
|
59
|
-
}
|
|
60
|
-
),
|
|
61
|
-
showGradientTop && /* @__PURE__ */ jsx(
|
|
62
|
-
"div",
|
|
63
|
-
{
|
|
64
|
-
className: " gf-w-full gf-absolute gf-top-0 gf-left-0 gf-z-40 gf-bg-gradient-to-b gf-from-white gf-via-white/80 gf-to-transparent gf-pointer-events-none",
|
|
65
|
-
style: {
|
|
66
|
-
height: typeof gradientHeight === "number" ? `${gradientHeight}px` : gradientHeight
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
),
|
|
70
|
-
showGradientBottom && /* @__PURE__ */ jsx(
|
|
71
|
-
"div",
|
|
72
|
-
{
|
|
73
|
-
className: " gf-w-full gf-absolute gf-bottom-0 gf-left-0 gf-z-40 gf-bg-gradient-to-t gf-from-white gf-via-white/80 gf-to-transparent gf-pointer-events-none",
|
|
74
|
-
style: {
|
|
75
|
-
height: typeof gradientHeight === "number" ? `${gradientHeight}px` : gradientHeight
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
]
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
};
|
|
83
|
-
export {
|
|
84
|
-
GradientScroll
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=GradientScroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GradientScroll.js","sources":["../src/components/GradientScroll/GradientScroll.tsx"],"sourcesContent":["import {\n FC,\n HTMLAttributes,\n ReactNode,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { cn } from \"../../utils/utils\";\ntype GradientScrollProps = HTMLAttributes<HTMLDivElement> & {\n children?: ReactNode;\n className?: string;\n gradientClassName?: string;\n height: number | string;\n gradientHeight?: number | string;\n onClose?: boolean;\n};\n\nconst GradientScroll: FC<GradientScrollProps> = ({\n children,\n className,\n height,\n gradientHeight = 24,\n onClose = false,\n ...props\n}) => {\n const [showGradientBottom, setShowGradientBottom] = useState(true);\n const [showGradientTop, setShowGradientTop] = useState<boolean>(true);\n\n const listRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const handleScroll = () => {\n if (listRef.current) {\n const { scrollTop, scrollHeight, clientHeight } = listRef.current;\n setShowGradientBottom(scrollTop + clientHeight < scrollHeight);\n setShowGradientTop(scrollTop > 0);\n }\n };\n\n useEffect(() => {\n if (onClose && listRef.current) {\n listRef.current.scrollTop = 0;\n }\n }, [onClose]);\n\n useEffect(() => {\n const container = listRef.current;\n const content = contentRef.current;\n if (!container || !content) return;\n\n handleScroll();\n \n const resizeObserver = new ResizeObserver(() => {\n handleScroll();\n });\n\n resizeObserver.observe(container);\n resizeObserver.observe(content);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <div\n className={cn(\n \"gf-w-full gf-bg-white gf-relative gf-overflow-hidden\",\n className\n )}\n style={{ height: typeof height === \"number\" ? `${height}px` : height }}\n {...props}\n >\n <div\n className=\"gf-h-full gf-w-full gf-overflow-auto gf-no-scrollbar\"\n onScroll={handleScroll}\n ref={listRef}\n >\n <div ref={contentRef}>\n {children}\n </div>\n </div>\n {showGradientTop && (\n <div\n className=\" gf-w-full gf-absolute gf-top-0 gf-left-0 gf-z-40 gf-bg-gradient-to-b gf-from-white gf-via-white/80 gf-to-transparent gf-pointer-events-none\"\n style={{\n height:\n typeof gradientHeight === \"number\"\n ? `${gradientHeight}px`\n : gradientHeight,\n }}\n ></div>\n )}\n {showGradientBottom && (\n <div\n className=\" gf-w-full gf-absolute gf-bottom-0 gf-left-0 gf-z-40 gf-bg-gradient-to-t gf-from-white gf-via-white/80 gf-to-transparent gf-pointer-events-none\"\n style={{\n height:\n typeof gradientHeight === \"number\"\n ? `${gradientHeight}px`\n : gradientHeight,\n }}\n ></div>\n )}\n </div>\n );\n};\n\nexport { GradientScroll };\n"],"names":[],"mappings":";;;AAkBA,MAAM,iBAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,IAAI;AACjE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAkB,IAAI;AAEpE,QAAM,UAAU,OAAuB,IAAI;AAC3C,QAAM,aAAa,OAAuB,IAAI;AAE9C,QAAM,eAAe,MAAM;AACzB,QAAI,QAAQ,SAAS;AACnB,YAAM,EAAE,WAAW,cAAc,aAAA,IAAiB,QAAQ;AAC1D,4BAAsB,YAAY,eAAe,YAAY;AAC7D,yBAAmB,YAAY,CAAC;AAAA,IAClC;AAAA,EACF;AAEA,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,SAAS;AAC9B,cAAQ,QAAQ,YAAY;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAU,MAAM;AACd,UAAM,YAAY,QAAQ;AAC1B,UAAM,UAAU,WAAW;AAC3B,QAAI,CAAC,aAAa,CAAC,QAAS;AAE5B,iBAAA;AAEA,UAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,mBAAA;AAAA,IACF,CAAC;AAED,mBAAe,QAAQ,SAAS;AAChC,mBAAe,QAAQ,OAAO;AAE9B,WAAO,MAAM;AACX,qBAAe,WAAA;AAAA,IACjB;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,QAAQ,OAAO,WAAW,WAAW,GAAG,MAAM,OAAO,OAAA;AAAA,MAC7D,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,UAAU;AAAA,YACV,KAAK;AAAA,YAEL,UAAA,oBAAC,OAAA,EAAI,KAAK,YACP,SAAA,CACH;AAAA,UAAA;AAAA,QAAA;AAAA,QAED,mBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,QACE,OAAO,mBAAmB,WACtB,GAAG,cAAc,OACjB;AAAA,YAAA;AAAA,UACR;AAAA,QAAA;AAAA,QAGH,sBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,QACE,OAAO,mBAAmB,WACtB,GAAG,cAAc,OACjB;AAAA,YAAA;AAAA,UACR;AAAA,QAAA;AAAA,MACD;AAAA,IAAA;AAAA,EAAA;AAIT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { LanguageIcon } from './GlobeIcon';
|