{"version":3,"file":"static/js/6427.87d5c4ac.chunk.js","mappings":"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","sources":["components/meta/Helmet.tsx","components/mui-wrappers/MuiRouterLinkButton.tsx","statics/Homepage/BorderBand.tsx","utils/window-scroll/window-scroll.ts","statics/partners-landing-page/common/SignUpButton.tsx","statics/partners-landing-page/find-more-readers/FindMoreReaders.tsx","statics/partners-landing-page/why-bookraid/pay-per-click-graphics/MouseCord.tsx","statics/partners-landing-page/why-bookraid/pay-per-click-graphics/Mouse.tsx","statics/partners-landing-page/why-bookraid/pay-per-click-graphics/MoneySvg.tsx","statics/partners-landing-page/why-bookraid/pay-per-click-graphics/SpinningSparkles.tsx","statics/partners-landing-page/why-bookraid/pay-per-click-graphics/SpinningMoneyBall.tsx","statics/partners-landing-page/why-bookraid/WhyBookRaidSection.tsx","statics/partners-landing-page/why-bookraid/PayPerClick.tsx","statics/partners-landing-page/why-bookraid/AccessReaderList.tsx","statics/partners-landing-page/why-bookraid/MaximumSpend.tsx","statics/partners-landing-page/why-bookraid/WhyBookRaid.tsx","statics/partners-landing-page/start-promoting/PromoteTo.tsx","statics/partners-landing-page/benefits/BenefitsGraphSvg.tsx","statics/partners-landing-page/benefits/BenefitsGroup.tsx","statics/partners-landing-page/benefits/BenefitsMoneyBagSvg.tsx","statics/partners-landing-page/benefits/BenefitsReadersSvg.tsx","statics/partners-landing-page/benefits/Benefits.tsx","statics/partners-landing-page/trusted-by/Testimonial.tsx","statics/partners-landing-page/trusted-by/TrustedBy.tsx","statics/partners-landing-page/ready-to-begin/BlurSphere.tsx","statics/partners-landing-page/ready-to-begin/ReadyToBegin.tsx","statics/partners-landing-page/PartnersLandingPage.tsx"],"sourcesContent":["import React from 'react';\nimport { Helmet as ReactHelmet } from 'react-helmet';\n\ninterface HelmetInput {\n title: string;\n url: string;\n description?: string;\n // Provide if there's a better image than the default\n ogImage?: string;\n}\n\nexport default function Helmet({ metaContent, schema }: { metaContent: HelmetInput, schema?: Array<Object> }) {\n const { title, url, description, ogImage } = metaContent;\n const defaultOgImage =\n 'https://website-assets-public.s3.us-west-2.amazonaws.com/opengraph/girl-in-hammock.jpg';\n const currentOgImage = ogImage || defaultOgImage;\n // Recent OG Images generated from Canva are 1200 x 600\n // So if one was set from Helmet, we use the smaller 600 size.\n // These will have to be redone and this discrepancy removed.\n const height = ogImage ? '600' : '630';\n return (\n <ReactHelmet>\n <title>{title}</title>\n <meta property=\"og:title\" content={title} />\n <link rel=\"canonical\" href={url} />\n <meta property=\"og:url\" content={url} />\n <meta property=\"og:description\" content={description} />\n <meta property=\"og:image\" content={currentOgImage} />\n <meta property=\"og:image:url\" content={currentOgImage} />\n <meta property=\"og:image:width\" content=\"1200\" />\n <meta property=\"og:image:height\" content={height} />\n\n <script type=\"application/ld+json\">\n {JSON.stringify({\n \"@context\": \"https://schema.org\",\n \"@type\": \"Organization\",\n \"url\": \"https://bookraid.com\",\n \"logo\": \"https://bookraid.com/logo.png\",\n \"description\": \"BookRaid is a website and newsletter that lets you download free & bestselling discount eBooks for your Kindle, Nook, Kobo, or other eReader\"\n })}\n </script>\n {schema && (\n schema.map(sch => <script type=\"application/ld+json\">{JSON.stringify(sch)}</script>)\n )}\n </ReactHelmet>\n );\n}\n\nHelmet.defaultProps = {\n schema: [],\n};\n","import React from 'react';\nimport { LinkProps } from '@mui/material';\nimport { SxProps, Theme } from '@mui/material/styles';\nimport theme from '../../theme/theme';\nimport MuiRouterLink from './MuiRouterLink';\n\ninterface RouterLinkProps extends LinkProps {\n to: string;\n}\n\n/**\n * Shows a link styled as a button which uses the\n * react router under the hood.\n *\n * @param props the props for the component\n * @returns\n */\nconst MuiRouterLinkButton = function ({\n children,\n icon,\n sx,\n to,\n ...props\n}: {\n children: React.ReactNode;\n to: string;\n icon?: React.ReactNode;\n sx?: SxProps<Theme>;\n props?: RouterLinkProps;\n}) {\n return (\n <MuiRouterLink\n to={to}\n sx={{\n color: 'white',\n bgcolor: theme.palette.secondary.main,\n py: 1,\n px: 4,\n fontSize: '1.3rem',\n borderRadius: 2,\n fontWeight: 'bold',\n boxShadow: '3px 3px 3px rgba(0, 0, 0, 0.2)',\n transition: 'all 100ms',\n '&:hover': {\n boxShadow: '1px 1px 1px rgba(0, 0, 0, 0.4)',\n color: 'white',\n bgcolor: theme.palette.secondary.light,\n },\n ...sx,\n ...(icon ? { display: 'flex', alignItems: 'center' } : {}),\n }}\n {...props}\n >\n {icon ? <>{icon} </> : null}\n {children}\n </MuiRouterLink>\n );\n};\n\nMuiRouterLinkButton.defaultProps = {\n icon: null,\n sx: {},\n props: {},\n};\n\nexport default MuiRouterLinkButton;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst BorderBand = function ({\n borderColor,\n borderHeight,\n}: {\n borderColor: string;\n borderHeight?: string;\n}) {\n return (\n <Box\n sx={{\n backgroundColor: borderColor,\n height: borderHeight,\n }}\n />\n );\n};\n\nBorderBand.defaultProps = {\n borderHeight: '20px',\n};\n\nexport default BorderBand;\n","// Allow referencing height on the window object\ndeclare global {\n interface Window {\n height: string;\n }\n}\n\n/**\n * See the README.md for info about how this class works!\n *\n * @param debug\n * @returns\n */\nfunction percentageMotion(debug: boolean) {\n // In case debugging was turned on, we allow console logs\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const conlog = (string: string) => {\n if (!debug) return;\n // eslint-disable-next-line no-console\n console.log(string);\n };\n\n function getPercentageMotion(element: any) {\n if (!element.current) return 0.5;\n\n // The element's defining rectangle\n const boundingRect = element.current.getBoundingClientRect();\n // The y coordinate of the top of the scroll viewport.\n const viewportTopY = window.pageYOffset || window.scrollY;\n const totalPageHeight = window.document.documentElement.scrollHeight;\n // The height of the scroll viewport\n const viewportHeight =\n window.visualViewport?.height || parseInt(window.height, 10);\n // The y coordinate of the start of the element\n const elementTopY = viewportTopY + boundingRect.top;\n\n // The point at which the element begins scrolling\n // through the viewport.\n const topYTrackingThreshold = Math.max(elementTopY - viewportHeight, 0);\n\n // The pixels through which the element scrolls through view.\n // The least of:\n // 1. The viewport height plus the element height.\n // 2. The distance from the start of the page to the element's top.\n // 3. The distance from the element's top to the top of the page.\n const activeScrollAreaHeight = Math.min(\n viewportHeight + boundingRect.height,\n elementTopY + boundingRect.height,\n totalPageHeight - elementTopY\n );\n\n // Some early exits\n let ratio;\n if (viewportTopY < topYTrackingThreshold) {\n ratio = 0;\n } else if (viewportTopY > topYTrackingThreshold + activeScrollAreaHeight) {\n ratio = 1;\n } else {\n ratio = (viewportTopY - topYTrackingThreshold) / activeScrollAreaHeight;\n }\n\n // Get the % progress of the element from the point of entry\n // to the point of exit.\n conlog(`ratio: ${ratio}`);\n return ratio;\n }\n\n return {\n getPercentageMotion,\n };\n}\n\nexport default percentageMotion;\n","import React from 'react';\nimport FacebookPixel from 'react-facebook-pixel';\nimport theme from '../../../theme/theme';\nimport MuiRouterLinkButton from '../../../components/mui-wrappers/MuiRouterLinkButton';\n\nconst trackSignUpClick = () => {\n FacebookPixel.trackCustom('PartnerLandingPageSignupClicked');\n};\n\n/**\n * Consolidates partner page signup buttons to ensure that the\n * custom event is tracked for partner page sign-up button clicks.\n *\n * @param props the props for the component\n * @returns\n */\nconst SignUpButton = function (props: any) {\n const { children, sx, ...restOfProps } = props;\n\n return (\n <MuiRouterLinkButton\n sx={{\n color: 'white',\n bgcolor: theme.palette.secondary.main,\n fontSize: '14pt',\n '&:hover': {\n boxShadow: '1px 1px 1px rgba(0, 0, 0, 0.4)',\n bgcolor: theme.palette.secondary.light,\n },\n ...sx,\n }}\n className=\"sign-up-button\"\n {...restOfProps}\n onClick={() => trackSignUpClick()}\n to=\"/partners/sign-up\"\n >\n {children || 'SIGN UP'}\n </MuiRouterLinkButton>\n );\n};\n\nexport default SignUpButton;\n","import React from 'react';\nimport { Box, Typography } from '@mui/material';\nimport percentageMotion from '../../../utils/window-scroll/window-scroll';\nimport SignUpButton from '../common/SignUpButton';\n\nconst pm = percentageMotion(false);\nconst defaultProgress = 0;\nconst textShadow =\n '3px 3px 0px white, 3px 3px 3px white, 1px 1px 6px white, 2px 2px 9px white';\n\nconst handleScroll = (event: any, ref: any) => pm.getPercentageMotion(ref);\n\nconst FindMoreReaders = function () {\n const ref = React.useRef<any>(null);\n const [progress, setProgress] = React.useState(defaultProgress);\n\n React.useEffect(() => {\n // Get global mouse coordinates\n window.addEventListener('scroll', (event) =>\n setProgress(handleScroll(event, ref))\n );\n\n return () => {\n window.removeEventListener('scroll', (event) => handleScroll(event, ref));\n setProgress(defaultProgress);\n };\n }, []);\n\n const baseOpacity = 0.3;\n const opacitySurge = 0.8;\n\n return (\n <Box\n sx={{\n py: 10,\n overflow: 'hidden',\n position: 'relative',\n }}\n ref={ref}\n >\n <Box\n sx={{\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n opacity: baseOpacity + progress * opacitySurge,\n // Image sets for optimal formats and fallbacks\n backgroundImage:\n 'image-set(url(https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/hero-image-writing-on-laptop.avif) 1x, url(https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/hero-image-writing-on-laptop.jpg) 1x)',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n zIndex: -1,\n }}\n />\n <Box sx={{ px: 4 }}>\n <Typography\n variant=\"h2\"\n align=\"center\"\n sx={{ fontSize: '5rem', textShadow }}\n >\n Find More Readers.\n </Typography>\n <Typography\n variant=\"h2\"\n align=\"center\"\n sx={{ fontSize: '5rem', mb: 6, textShadow }}\n >\n Boost Your Sales.\n </Typography>\n <Typography\n variant=\"h4\"\n align=\"center\"\n sx={{ mb: 2, textShadow: '2px 2px 1px white' }}\n >\n Promote your eBook to 50,000+ readers.\n </Typography>\n <Typography\n variant=\"h4\"\n align=\"center\"\n sx={{ textShadow: '2px 2px 1px white' }}\n >\n Get started with BookRaid today!\n </Typography>\n <Box sx={{ textAlign: 'center', my: 3 }}>\n <SignUpButton />\n </Box>\n\n <Typography\n variant=\"h5\"\n align=\"center\"\n sx={{ textShadow: '2px 2px 1px white' }}\n >\n No flat fees and nothing up front.\n </Typography>\n <Typography\n variant=\"h5\"\n align=\"center\"\n sx={{ textShadow: '2px 2px 1px white' }}\n >\n Pay per click\n </Typography>\n </Box>\n </Box>\n );\n};\n\nexport default FindMoreReaders;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst MouseCord = function ({ progress }: { progress: number }) {\n return (\n <Box\n sx={{\n '& svg': {\n width: '70%',\n height: 'auto',\n margin: '0 auto',\n display: 'block',\n },\n '& #curved-line': {\n fill: 'none',\n stroke: '#429bd9',\n strokeWidth: '12.76px',\n fillRule: 'evenodd',\n },\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 441.8 444.35\">\n <path\n id=\"curved-line\"\n d=\"M1697.69,2202.04v196.69s-4.8,49.18,49.08,49.18,50.86-48.89,50.86-48.89v-82.11s3.65-34.32,35.61-34.32,36.46,34.32,36.46,34.32v154.66s2.56,31.44,37.3,31.44,34.76-31.44,34.76-31.44V2158.6s8-74.4,85.63-74.4,86.47,74.4,86.47,74.4l-0.45,36.27\"\n // No compression, separators only move\n pathLength=\"50\"\n strokeDasharray=\"1px 0.05px\"\n strokeDashoffset={`${progress * 20}px`}\n transform=\"translate(-1678.46 -2077.81)\"\n // The path gradually appears over time\n // pathLength=\"1\"\n // strokeDasharray={`1px ${prog}px`}\n // strokeDashoffset={1}\n // Light separators between dashes\n // pathLength=\"20\"\n // strokeDasharray={`${progress}px ${progress * 0.05}px`}\n // strokeDashoffset=\"1px\"\n />\n </svg>\n </Box>\n );\n};\n\nexport default MouseCord;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport { colors } from '../../../../theme/theme';\n\nconst borderRadiusBreakpoints = ['15px', '20px', '30px'];\n\nconst mouseButtonColours = ['white', 'black', 'red', 'none', 'none'];\n\nconst Mouse = function () {\n const [mouseButtonClicks, setMouseButtonClicks] = React.useState(0);\n\n if (mouseButtonClicks >= mouseButtonColours.length * 3) {\n return (\n <Box\n sx={{\n position: 'absolute',\n right: '6%',\n top: '25%',\n width: '20%',\n height: '50%',\n fontSize: ['2rem', '3rem', '6rem', '7rem'],\n }}\n >\n 💩\n </Box>\n );\n }\n return (\n <Box\n sx={{\n position: 'absolute',\n right: '6%',\n top: '25%',\n width: '20%',\n height: '50%',\n }}\n >\n <Box\n sx={{\n bgcolor: colors.payPerClickGraphic.mouse,\n borderRadius: borderRadiusBreakpoints,\n width: '100%',\n height: '100%',\n position: 'relative',\n }}\n >\n <Box\n sx={{\n position: 'absolute',\n top: '15%',\n left: '0',\n right: '0',\n mx: 'auto',\n cursor: 'pointer',\n bgcolor:\n mouseButtonColours[mouseButtonClicks % mouseButtonColours.length],\n borderRadius: '50%',\n width: borderRadiusBreakpoints,\n height: borderRadiusBreakpoints,\n }}\n onClick={() => setMouseButtonClicks(mouseButtonClicks + 1)}\n />\n </Box>\n </Box>\n );\n};\n\nexport default Mouse;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst MoneySvg = function ({ color }: { color: string }) {\n return (\n <Box\n sx={{\n svg: {\n width: '29%',\n height: 'auto',\n display: 'block',\n margin: '0 auto',\n },\n '& #money-sign': {\n fillRule: 'evenodd',\n fill: color,\n },\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 400 600\"\n >\n a\n <path\n id=\"money-sign\"\n d=\"M217.545,0.041V46.035c78,4.454,116.931,63.183,125.436,137.98H246.814c-2.268-22.706-5.01-28.749-20.906-37.631-28.481-23.666-107.222-12.683-121.255,0S87.477,189.76,96.29,204.919a54.065,54.065,0,0,0,33.45,25.089c10.864,2.82,131.965-17.111,183.973,58.535,64.674,94.072-1.924,208.32-96.168,221.6v41.812H121.378V510.147C94.052,509.134,3.881,466.476.123,372.167H92.109c8.768,52.415,72.624,55.5,129.617,41.812,8.362-8.361,14.18-5.552,25.088-25.086s2.65-38.78-16.725-58.538c-16.626-16.952-115.026-1.155-164.8-29.229C-40.688,241.346-14.946,58.574,125.559,41.853c-0.358-15.236-1.394-26.483,0-41.812h91.986Z\"\n transform=\"translate(-0.125 -0.031)\"\n />\n </svg>\n </Box>\n );\n};\n\nexport default MoneySvg;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport { colors } from '../../../../theme/theme';\n\nconst numSparkles = 16;\nconst radius = 0.5;\nconst Sparkle = styled(Box)<{\n left: number;\n top: number;\n rotation: number;\n}>(({ left, top, rotation }) => ({\n display: 'inline-block',\n width: '5px',\n height: '10px',\n position: 'absolute',\n backgroundColor: colors.payPerClickGraphic.mouse,\n left: `calc(${left}% - 2px)`,\n top: `calc(${top}% - 5px)`,\n transform: `rotate(${-rotation}deg)`,\n}));\n\nconst SpinningSparkles = function ({ progress }: { progress: number }) {\n const sparkles = [];\n const degreesPerStep = 360 / numSparkles;\n for (let i = 0; i < numSparkles; i += 1) {\n const degrees = i * degreesPerStep;\n sparkles[i] = {\n left: (radius * Math.sin((Math.PI * 2 * degrees) / 360) + radius) * 100,\n top: (radius * Math.cos((Math.PI * 2 * degrees) / 360) + radius) * 100,\n rotation: degrees,\n };\n }\n\n return (\n <Box\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: '0',\n left: '0',\n borderRadius: '50%',\n transform: `rotate(${progress * 720}deg)`,\n }}\n >\n {sparkles.map((sparkle) => (\n <Sparkle\n key={sparkle.rotation}\n left={sparkle.left}\n top={sparkle.top}\n rotation={sparkle.rotation}\n />\n ))}\n </Box>\n );\n};\n\nexport default SpinningSparkles;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport MoneySvg from './MoneySvg';\nimport SpinningSparkles from './SpinningSparkles';\nimport { colors } from '../../../../theme/theme';\n\nconst SpinningMoneyBall = function ({ progress }: { progress: number }) {\n return (\n // Container for all\n <Box\n sx={{\n position: 'absolute',\n left: '3%',\n top: '0',\n width: '30%',\n // 30 / 42.62 is the aspect ratio of the SVG\n // element that dictates the container div's\n // dimensions. Since we want this circle\n // to scale proportionally, we represent those\n // dimensions here.\n height: '42.62%',\n }}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n position: 'relative',\n }}\n >\n <Box\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: '0%',\n left: '0%',\n }}\n >\n <SpinningSparkles progress={progress} />\n </Box>\n <Box\n sx={{\n position: 'absolute',\n width: '74%',\n height: '74%',\n top: '13%',\n left: '13%',\n bgcolor: colors.payPerClickGraphic.money,\n borderRadius: '50%',\n }}\n />\n <Box\n sx={{\n position: 'absolute',\n width: '60%',\n height: '60%',\n top: '20%',\n left: '20%',\n bgcolor: 'white',\n borderRadius: '50%',\n }}\n />\n <Box\n sx={{\n position: 'absolute',\n pl: '4%',\n top: '31%',\n left: '0',\n right: '0',\n mx: 'auto',\n }}\n >\n <MoneySvg color={colors.payPerClickGraphic.money} />\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport default SpinningMoneyBall;\n","import React from 'react';\nimport { Box, Grid, Typography } from '@mui/material';\n\nconst wordingSection = (\n title: string,\n subtitle: string,\n wordingOnRight: boolean\n) => (\n <Grid\n item\n xs={12}\n sm={6}\n sx={{ px: 3 }}\n order={{ xs: 3, sm: wordingOnRight ? 3 : 2 }}\n >\n <Box\n sx={{\n display: 'flex',\n height: '100%',\n alignContent: 'center',\n flexWrap: 'wrap',\n }}\n >\n <Typography\n variant=\"h4\"\n align=\"center\"\n sx={{ width: '100%', mt: { xs: 4, sm: 0 } }}\n >\n {title}\n </Typography>\n <Typography align=\"center\" sx={{ mt: 1, mb: 1, fontSize: '16pt' }}>\n {subtitle}\n </Typography>\n </Box>\n </Grid>\n);\n\nconst WhyBookRaidSection = function ({\n title,\n subtitle,\n graphicsContent,\n wordingOnRight,\n}: {\n title: string;\n subtitle: string;\n graphicsContent: React.ReactNode;\n wordingOnRight?: boolean;\n}) {\n return (\n <Grid container sx={{ mb: '80px' }}>\n {!wordingOnRight\n ? wordingSection(title, subtitle, wordingOnRight || false)\n : null}\n <Grid\n item\n xs={12}\n sm={6}\n sx={{ px: 3 }}\n order={{ xs: 2, sm: wordingOnRight ? 2 : 3 }}\n >\n {graphicsContent}\n </Grid>\n {wordingOnRight ? wordingSection(title, subtitle, wordingOnRight) : null}\n </Grid>\n );\n};\n\nWhyBookRaidSection.defaultProps = {\n wordingOnRight: false,\n};\n\nexport default WhyBookRaidSection;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport CurvedLineSvg from './pay-per-click-graphics/MouseCord';\nimport Mouse from './pay-per-click-graphics/Mouse';\nimport SpinningMoneyBall from './pay-per-click-graphics/SpinningMoneyBall';\nimport WhyBookRaidSection from './WhyBookRaidSection';\nimport percentageMotion from '../../../utils/window-scroll/window-scroll';\n\nconst pm = percentageMotion(false);\nconst defaultProgress = 0.5;\n\nconst handleScroll = (event: any, ref: any) => pm.getPercentageMotion(ref);\n\nconst PayPerClick = function () {\n const ref = React.useRef<any>(null);\n const [progress, setProgress] = React.useState(defaultProgress);\n\n React.useEffect(() => {\n // Get global mouse coordinates\n window.addEventListener('scroll', (event) =>\n setProgress(handleScroll(event, ref))\n );\n\n return () => {\n window.removeEventListener('scroll', (event) => handleScroll(event, ref));\n setProgress(defaultProgress);\n };\n }, []);\n\n return (\n <WhyBookRaidSection\n title=\"Pay per click; no flat fees\"\n subtitle=\"With BookRaid, partners only pay for clicks through the newsletter, guaranteeing that your money is spent on engagement with your books.\"\n graphicsContent={\n <Box sx={{ position: 'relative' }} ref={ref}>\n <CurvedLineSvg progress={progress} />\n <Mouse />\n <SpinningMoneyBall progress={progress} />\n </Box>\n }\n />\n );\n};\n\nexport default PayPerClick;\n","import React from 'react';\nimport { styled } from '@mui/material';\nimport WhyBookRaidSection from './WhyBookRaidSection';\n\nconst Image = styled('img')(() => ({\n maxWidth: '100%',\n height: 'auto',\n}));\n\nconst AccessReaderList = function () {\n return (\n <WhyBookRaidSection\n wordingOnRight\n title=\"Access our growing reader list\"\n subtitle=\"Our newsletter sends to over 50,000 active subscribers, ensuring lots\n of eyes and exposure on your eBook!\"\n graphicsContent={\n // Provide fallback for avif images to jpg\n <picture>\n <source\n srcSet=\"https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/book-in-newsletter.avif\"\n type=\"image/avif\"\n />\n <Image\n src=\"https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/book-in-newsletter.jpg\"\n width=\"995\"\n height=\"1105\"\n alt=\"BookRaid Newsletter\"\n />\n </picture>\n }\n />\n );\n};\n\nexport default AccessReaderList;\n","import React from 'react';\nimport { styled } from '@mui/material';\nimport WhyBookRaidSection from './WhyBookRaidSection';\n\nconst Image = styled('img')(() => ({\n maxWidth: '100%',\n height: 'auto',\n}));\n\nconst MaximumSpend = function () {\n return (\n <WhyBookRaidSection\n title=\"Maximum spend\"\n subtitle=\"All promotions have a maximum spend of $60, even if the value of your\n clicks is higher! Never worry about breaking the bank on a runaway\n success.\"\n graphicsContent={\n // Provide fallback for avif images to jpg\n <picture>\n <source\n srcSet=\"https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/free-clicks-graph.avif\"\n type=\"image/avif\"\n />\n <Image\n src=\"https://website-assets-public.s3.us-west-2.amazonaws.com/partners-landing-page/free-clicks-graph.jpg\"\n width=\"918\"\n height=\"410\"\n alt=\"Graph of free clicks\"\n />\n </picture>\n }\n />\n );\n};\n\nexport default MaximumSpend;\n","import React from 'react';\nimport { Box, Container, Typography } from '@mui/material';\nimport PayPerClick from './PayPerClick';\nimport AccessReaderList from './AccessReaderList';\nimport MaximumSpend from './MaximumSpend';\nimport theme from '../../../theme/theme';\n\nconst WhyBookRaid = function () {\n return (\n <Box sx={{ mt: 8, mb: 8 }}>\n <Container maxWidth=\"lg\">\n <Typography variant=\"h2\" sx={{ mb: 2 }}>\n Why{' '}\n <Box component=\"span\" sx={{ color: theme.palette.primary.main }}>\n BookRaid\n </Box>\n ?\n </Typography>\n <Typography variant=\"h4\" sx={{ mb: 12 }}>\n An{' '}\n <Box\n component=\"span\"\n sx={{ fontStyle: 'italic', whiteSpace: 'nowrap' }}\n >\n affordable solution\n </Box>{' '}\n for promoting your eBook\n </Typography>\n <PayPerClick />\n <AccessReaderList />\n <MaximumSpend />\n </Container>\n </Box>\n );\n};\n\nexport default WhyBookRaid;\n","import React from 'react';\nimport { Box, Typography } from '@mui/material';\nimport theme from '../../../theme/theme';\nimport SignUpButton from '../common/SignUpButton';\n\nconst headerClasses = { textShadow: '2px 2px 2px rgba(0, 0, 0, 0.2)' };\n\nconst PromoteTo = function () {\n return (\n <Box\n sx={{\n background: `linear-gradient(111deg, ${theme.palette.secondary.main} 0%, ${theme.palette.secondary.light} 100%)`,\n pt: 15,\n pb: 15,\n px: 5,\n }}\n >\n <Typography color=\"white\" variant=\"h2\" align=\"center\" sx={headerClasses}>\n Promote to thousands of readers.\n </Typography>\n <Typography color=\"white\" variant=\"h2\" align=\"center\" sx={headerClasses}>\n Get started for free today!\n </Typography>\n <Box sx={{ textAlign: 'center', mt: 4 }}>\n <SignUpButton\n sx={{\n color: theme.palette.secondary.main,\n bgcolor: 'white',\n '&:hover': {\n color: 'white',\n bgcolor: theme.palette.secondary.dark,\n },\n }}\n />\n </Box>\n </Box>\n );\n};\n\nexport default PromoteTo;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst maxSway = 1.5;\n\nconst BenefitsGraphSvg = function ({ progress }: { progress: number }) {\n const sway = maxSway * progress;\n return (\n <Box\n sx={{\n '& .svg-path': {\n fillRule: 'evenodd',\n width: '100%',\n height: 'auto',\n },\n '& #arrow-graph-icon': {\n fill: 'url(#graph-svg-gradient) #ff703b',\n },\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n width=\"352\"\n height=\"252\"\n viewBox=\"0 0 352 400\"\n >\n <defs>\n <linearGradient\n id=\"graph-svg-gradient\"\n gradientTransform={`rotate(-45) translate(${-0.9 + sway} 0)`}\n >\n <stop offset=\"0%\" stopColor=\"#ffa038\" />\n <stop offset=\"50%\" stopColor=\"#ff703b\" />\n </linearGradient>\n </defs>\n <path\n id=\"arrow-graph-icon\"\n className=\"benefits-svgs\"\n d=\"M2262.11,5701.1l-3.39,108.21-25.99-23.32v227.22h-46.9V5820.13l-12.43,10.82v182.26h-46.9V5872.53l-12.99,10.82v129.86h-45.77V5889.62l-12.43-10.82v134.41h-46.9V5845.19l-4.52-3.98-8.48,8.54v163.46h-46.89V5891.9l-12.43,11.96v109.35h-47.47V5883.92l108.49-107.64,76.84,59.8,108.34-95.34-26.41-23.7Z\"\n transform=\"translate(-1888.62 -5701.09)\"\n />\n </svg>\n </Box>\n );\n};\n\nexport default BenefitsGraphSvg;\n","import React from 'react';\nimport { Box, Typography } from '@mui/material';\n\nconst contentStyles = { fontSize: '1.5rem' };\n\nconst BenefitsGroup = function ({\n header,\n content,\n svgWidth,\n svg,\n}: {\n header: string;\n content: string;\n svgWidth?: number;\n svg: React.ReactNode;\n}) {\n return (\n <Box>\n <Box\n sx={{\n textAlign: 'center',\n pl: 10,\n pr: 10,\n '& svg': {\n width: `${svgWidth}%`,\n },\n }}\n >\n {svg}\n </Box>\n <Box sx={{ p: 2 }}>\n <Typography sx={contentStyles} align=\"center\">\n <strong>{header}</strong>\n </Typography>\n <Typography sx={contentStyles} align=\"center\">\n {content}\n </Typography>\n </Box>\n </Box>\n );\n};\n\nBenefitsGroup.defaultProps = {\n svgWidth: 100,\n};\n\nexport default BenefitsGroup;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst maxSway = 1.5;\n\nconst BenefitsMoneyBagSvg = function ({ progress }: { progress: number }) {\n const sway = maxSway * progress;\n return (\n <Box\n sx={{\n '& .svg-path': {\n fillRule: 'evenodd',\n width: '100%',\n height: 'auto',\n },\n '& #money-bag-svg': {\n fill: 'url(#money-bag-svg-gradient) #ff703b',\n },\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n width=\"352\"\n height=\"252\"\n viewBox=\"0 0 352 400\"\n >\n <defs>\n <linearGradient\n id=\"money-bag-svg-gradient\"\n gradientTransform={`rotate(-45) translate(${-0.9 + sway} 0)`}\n >\n <stop offset=\"0%\" stopColor=\"#ff703b\" />\n <stop offset=\"50%\" stopColor=\"#ffa038\" />\n </linearGradient>\n </defs>\n <path\n id=\"money-bag-svg\"\n className=\"svg-path\"\n d=\"M1327.23,5780.38s-107.12,35.52-108.33,154.53c0,46.07,27.25,82,87.09,84.97s83.66,5.18,118.96,3.72,116.83-7.67,116.83-89.75-62.92-139.07-109.93-151.88c0,0,41.5-70.3,36.64-84.44s-10.33-22.62-36.64-21.77c0,0-18.21-34.52-52.04-34.52s-52.58,29.38-52.58,34.52l-13.27.53s-32.45,8.32-22.84,29.21,21.77,44.61,21.77,44.61-21.67-9.15-44.61,1.59c0,0-8.17,11.68,4.25,10.62,0,0,37.07-9.66,40.89,2.66-7.29,2.6-19.11-3.42-41.95,18.05,0,0,.1,14.73,10.62,5.84C1293.98,5778.83,1319.1,5772.02,1327.23,5780.38Zm61.61,69.03v-9.02s-1.45-7.97-7.97-7.97-7.44,6-7.44,6.9v9.56s-27.61,2.68-27.61,28.68,23.64,29.52,30.27,32.4,24.96,6.76,24.96,19.11-12.1,13.81-20.71,13.81-17.8-4.82-26.02-13.81c-4.73-4.72-19.27,3.35-12.75,11.69s17.18,19.62,31.86,19.11v8.5s-0.64,7.97,6.91,7.97,7.43-9.03,7.43-9.03v-7.44s31.34-.6,31.34-31.33-34.86-34.46-38.77-36.11-16.96-4.18-17-15.4,9.78-12.46,18.06-11.68,18.4,6.21,22.3,9.55a7.31,7.31,0,0,0,10.63-.53c2.2-2.65,3.99-6.91.53-11.15S1404.7,5851.6,1388.84,5849.41Zm-73.82-44.61s-83.95,38.82-75.94,122.68C1239.08,5927.48,1256.41,5847.07,1315.02,5804.8Zm214.24,127.52s7.71,73.28-74.71,73.28C1454.55,6005.6,1516.01,5991.51,1529.26,5932.32Zm-229.64-236.38s3.96-10.71,27.08-12.75l9.56-.53s11.87-32.3,42.48-30.8,43.55,32.39,43.55,32.39,33.41-2.68,37.71,11.69C1460,5695.94,1391.84,5718,1299.62,5695.94Z\"\n transform=\"translate(-1218.91 -5641.25)\"\n />\n </svg>\n </Box>\n );\n};\n\nexport default BenefitsMoneyBagSvg;\n","import React from 'react';\nimport { Box } from '@mui/material';\n\nconst maxSway = 1.5;\n\nconst BenefitsReadersSvg = function ({ progress }: { progress: number }) {\n const sway = maxSway * progress;\n return (\n <Box\n sx={{\n '& .benefits-svgs': {\n fillRule: 'evenodd',\n width: '100%',\n height: 'auto',\n },\n '& #reader-svg': {\n fill: 'url(#reader-svg-gradient) #ff703b',\n },\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n width=\"352\"\n height=\"252\"\n viewBox=\"0 0 352 400\"\n >\n <defs>\n <linearGradient\n id=\"reader-svg-gradient\"\n gradientTransform={`rotate(-45) translate(${-0.9 + sway} 0)`}\n >\n <stop offset=\"0%\" stopColor=\"#ffa038\" />\n <stop offset=\"50%\" stopColor=\"#ff703b\" />\n </linearGradient>\n </defs>\n <path\n id=\"reader-svg\"\n className=\"benefits-svgs\"\n d=\"M605.161,5775.85s47.7,33.57,101.622,0c0,0,29.295,12.22,44.183,26.23,0,0-54.939,17.37-94.257,33.14,0,0-59.423-21.87-95.731-33.14C560.978,5802.08,575.945,5787.45,605.161,5775.85Zm51.551-138.09c38.231,0,69.223,29.06,69.223,64.9s-30.992,64.91-69.223,64.91-69.224-29.06-69.224-64.91S618.481,5637.76,656.712,5637.76Zm11.779,218.18v172.61L792.2,5985.74s7.363-4.31,7.363-11.04v-23.48s-41.237,3.55-41.237-29v-40.04s3.39-31.77,41.237-31.77v-22.09s-3.921-18.44-17.673-12.43S668.491,5855.94,668.491,5855.94Zm114.876,27.62v33.14s1.183,11.05,10.309,11.05H808.4s23.564-3.67,23.564-27.62-22.091-26.24-22.091-26.24h-16.2S783.367,5876.77,783.367,5883.56Zm-139.913-27.62v172.61l-123.713-42.81s-7.364-4.31-7.364-11.04v-23.48s41.238,3.55,41.238-29v-40.04s-3.391-31.77-41.238-31.77v-22.09s3.921-18.44,17.673-12.43S643.454,5855.94,643.454,5855.94Zm-114.876,27.62v33.14s-1.183,11.05-10.31,11.05H503.54s-23.564-3.67-23.564-27.62,22.092-26.24,22.092-26.24h16.2S528.578,5876.77,528.578,5883.56Z\"\n transform=\"translate(-479.969 -5637.75)\"\n />\n </svg>\n </Box>\n );\n};\n\nexport default BenefitsReadersSvg;\n","import React from 'react';\nimport { Box, Container, Grid, Typography } from '@mui/material';\nimport BenefitsGraphSvg from './BenefitsGraphSvg';\nimport BenefitsGroup from './BenefitsGroup';\nimport BenefitsMoneyBagSvg from './BenefitsMoneyBagSvg';\nimport BenefitsReadersSvg from './BenefitsReadersSvg';\nimport percentageMotion from '../../../utils/window-scroll/window-scroll';\n\nconst pm = percentageMotion(false);\nconst defaultProgress = 0.5;\n\nconst handleScroll = (event: any, ref: any) => pm.getPercentageMotion(ref);\n\nconst Benefits = function () {\n const ref = React.useRef<any>(null);\n const [progress, setProgress] = React.useState(defaultProgress);\n\n React.useEffect(() => {\n window.addEventListener('scroll', (event) =>\n setProgress(handleScroll(event, ref))\n );\n\n return () => {\n window.removeEventListener('scroll', (event) => handleScroll(event, ref));\n setProgress(defaultProgress);\n };\n }, []);\n\n return (\n <Box sx={{ mt: 8, mb: 8 }} ref={ref}>\n <Container maxWidth=\"lg\">\n <Typography variant=\"h2\">Benefits</Typography>\n <Typography variant=\"h4\" sx={{ mb: 8 }}>\n How BookRaid can help you{' '}\n <Box\n component=\"span\"\n sx={{ fontStyle: 'italic', whiteSpace: 'nowrap' }}\n >\n achieve your goals\n </Box>\n </Typography>\n\n <Grid container>\n <Grid item xs={12} sm={4}>\n <BenefitsGroup\n header=\"Find More Readers\"\n content=\"Reach new readers and grow your fanbase\"\n svg={<BenefitsReadersSvg progress={progress} />}\n />\n </Grid>\n <Grid item xs={12} sm={4}>\n <BenefitsGroup\n header=\"Promote an eBook Launch\"\n content=\"Get more visibility and drive sales for your new eBook or series\"\n svgWidth={90}\n svg={<BenefitsMoneyBagSvg progress={progress} />}\n />\n </Grid>\n\n <Grid item xs={12} sm={4}>\n <BenefitsGroup\n header=\"Climb Amazon Rankings\"\n content=\"Grab the #1 spot in your category\"\n svg={<BenefitsGraphSvg progress={progress} />}\n />\n </Grid>\n </Grid>\n </Container>\n </Box>\n );\n};\n\nexport default Benefits;\n","import React from 'react';\nimport { Box, Grid, Typography } from '@mui/material';\n\nconst Testimonial = function ({\n testimonial,\n reviewerName,\n}: {\n testimonial: string;\n reviewerName: string;\n}) {\n return (\n <Grid item xs={12} sm={6} md={4}>\n <Box sx={{ px: 3, py: 4 }}>\n <Typography\n align=\"center\"\n color=\"white\"\n sx={{ fontStyle: 'italic', mb: 2, fontSize: '1.3rem' }}\n >\n {testimonial}\n </Typography>\n <Typography align=\"center\" color=\"white\">\n <strong>{reviewerName}</strong>\n </Typography>\n </Box>\n </Grid>\n );\n};\n\nexport default Testimonial;\n","import React from 'react';\nimport { Box, Container, darken, Grid, Typography } from '@mui/material';\nimport theme from '../../../theme/theme';\nimport Testimonial from './Testimonial';\n\nconst TrustedBy = function () {\n return (\n <Box\n sx={{\n background: `linear-gradient(180deg, ${darken(\n theme.palette.primary.main,\n 0.1\n )} 0%, ${theme.palette.primary.main} 100%)`,\n py: 10,\n }}\n >\n <Container maxWidth=\"lg\">\n <Typography\n align=\"center\"\n color=\"white\"\n sx={{ pb: 4, textShadow: '2px 2px 2px rgba(0, 0, 0, 0.2)' }}\n variant=\"h2\"\n >\n Trusted by over 6,000 partners and counting\n </Typography>\n <Grid container>\n <Testimonial\n testimonial=\"You definitely move the needle for me!! I had more traffic and book sales in one day than I had in the last 90 days!!\"\n reviewerName=\"Mary B.\"\n />\n <Testimonial\n testimonial=\"I've had over 1500 downloads so far and am now listed as #1 in YA time travel novels. So yes, you did help me move the needle of my book in a big way and I'm very grateful. Thank you so much!\"\n reviewerName=\"Isa Briarwood\"\n />\n <Testimonial\n testimonial=\"My promotion with BookRaid helped propel me from #36 on the Amazon Best-Seller List to #4!\"\n reviewerName=\"Brett Nelson\"\n />\n\n <Testimonial\n testimonial=\"Mine sold almost 400 units on the 22nd, and I am absolutely thrilled to death.\"\n reviewerName=\"Denise Camille Frye\"\n />\n\n <Testimonial\n testimonial=\"You offered the most transparency for the most reasonable rates (actually tied to results!), which stands out in the crowd!\"\n reviewerName=\"K.A. Wiggins\"\n />\n\n <Testimonial\n testimonial=\"I learned about your fantastic service through Mark Dawson's 'Self-Publishing Formula 101'. BookRaid is an awesome affordable alternative.\"\n reviewerName=\"Trisha Messmer\"\n />\n </Grid>\n </Container>\n </Box>\n );\n};\n\nexport default TrustedBy;\n","import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Box } from '@mui/material';\nimport theme from '../../../theme/theme';\n\nconst baseBlur = 20;\nconst randomBlurAmount = 10;\nconst maxBlur = baseBlur + Math.random() * randomBlurAmount;\n\nconst maxMovement = 100;\n\nconst FloatingSphere = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'bgcolor',\n})<{\n left?: number;\n right?: number;\n top: number;\n radius: number;\n bgcolor: string;\n}>(({ left, right, top, radius, bgcolor }) => {\n const opacityThreshold = 300;\n const distanceFromSide = (left || 0) + (right || 0);\n\n const opacity = (opacityThreshold - distanceFromSide) / opacityThreshold;\n\n const baseProperties: any = {\n borderRadius: '50%',\n display: 'inline-block',\n width: `${radius}px`,\n height: `${radius}px`,\n position: 'absolute',\n backgroundColor: bgcolor,\n opacity: opacity * 0.15,\n [theme.breakpoints.up('sm')]: {\n opacity: opacity * 0.4,\n },\n top,\n };\n\n if (left) {\n baseProperties.left = left;\n } else {\n baseProperties.right = right;\n }\n\n return baseProperties;\n});\n\nconst BlurSphere = function ({\n x,\n y,\n radius,\n progress,\n}: {\n x: number;\n y: number;\n radius: number;\n progress: number;\n}) {\n const blurAmount = -maxBlur + progress * maxBlur * 2;\n const movementAmountX = progress * maxMovement * 2;\n const movementAmountY = (progress * maxMovement) / 4;\n const startX = 50 + x + maxMovement / 2;\n\n return (\n <Box sx={{ width: '100%', height: 0, position: 'relative' }}>\n {/* The main bubble */}\n <FloatingSphere\n left={startX - movementAmountX}\n top={y - movementAmountY}\n radius={radius}\n bgcolor=\"#b35ec2\"\n >\n \n </FloatingSphere>\n {/* The first bubble copy, right next to the original */}\n <FloatingSphere\n left={startX - movementAmountX - blurAmount}\n top={y - movementAmountY - blurAmount}\n radius={radius}\n bgcolor=\"#56b6ff\"\n >\n \n </FloatingSphere>\n <FloatingSphere\n right={startX - movementAmountX}\n top={y - movementAmountY}\n radius={radius}\n bgcolor=\"#b35ec2\"\n >\n \n </FloatingSphere>\n <FloatingSphere\n right={startX - movementAmountX - blurAmount}\n top={y - movementAmountY - blurAmount}\n radius={radius}\n bgcolor=\"#56b6ff\"\n >\n \n </FloatingSphere>\n </Box>\n );\n};\n\nexport default BlurSphere;\n","import React from 'react';\nimport { Box, Container, Typography } from '@mui/material';\nimport BlurSphere from './BlurSphere';\nimport percentageMotion from '../../../utils/window-scroll/window-scroll';\nimport SignUpButton from '../common/SignUpButton';\n\nconst pm = percentageMotion(false);\nconst defaultProgress = 0.5;\n\nconst handleScroll = (event: any, ref: any) => pm.getPercentageMotion(ref);\n\ninterface Sphere {\n x: number;\n y: number;\n r: number;\n}\n\nconst spheres: Sphere[] = [\n { x: 100, y: 0, r: 20 },\n { x: 5, y: 80, r: 50 },\n { x: 60, y: 160, r: 22 },\n { x: 120, y: 220, r: 36 },\n { x: 0, y: 280, r: 52 },\n { x: 220, y: 260, r: 32 },\n { x: 170, y: 340, r: 80 },\n];\n\nconst ReadyToBegin = function () {\n const ref = React.useRef<any>(null);\n const [progress, setProgress] = React.useState(defaultProgress);\n\n React.useEffect(() => {\n // Get global mouse coordinates\n window.addEventListener('scroll', (event) =>\n setProgress(handleScroll(event, ref))\n );\n\n return () => {\n window.removeEventListener('scroll', (event) => handleScroll(event, ref));\n setProgress(defaultProgress);\n };\n }, []);\n\n return (\n <Box ref={ref} sx={{ py: 12, overflow: 'hidden' }}>\n {spheres.map((sphere) => (\n <BlurSphere\n key={`${sphere.x}-${sphere.y}`}\n x={sphere.x}\n y={sphere.y}\n radius={sphere.r}\n progress={progress}\n />\n ))}\n <Container maxWidth=\"lg\">\n <Typography\n variant=\"h3\"\n color=\"secondary.dark\"\n align=\"center\"\n sx={{ mb: 2 }}\n >\n Ready to begin your journey?\n </Typography>\n <Typography variant=\"h3\" color=\"secondary.dark\" align=\"center\">\n Sign up for free and start promoting!\n </Typography>\n\n <Box sx={{ mt: 12 }} textAlign=\"center\">\n <SignUpButton />\n </Box>\n </Container>\n </Box>\n );\n};\n\nexport default ReadyToBegin;\n","import React from 'react';\nimport { Box, darken, lighten } from '@mui/material';\n\nimport FindMoreReaders from './find-more-readers/FindMoreReaders';\nimport theme from '../../theme/theme';\nimport BorderBand from '../Homepage/BorderBand';\nimport WhyBookRaid from './why-bookraid/WhyBookRaid';\nimport PromoteTo from './start-promoting/PromoteTo';\nimport Benefits from './benefits/Benefits';\nimport TrustedBy from './trusted-by/TrustedBy';\nimport ReadyToBegin from './ready-to-begin/ReadyToBegin';\nimport Helmet from '../../components/meta/Helmet';\n\nconst PartnersLandingPage = function () {\n return (\n <Box>\n <FindMoreReaders />\n <BorderBand\n borderColor={lighten(theme.palette.info.light, 0.7)}\n borderHeight=\"1px\"\n />\n <WhyBookRaid />\n <BorderBand\n borderColor={darken(theme.palette.secondary.main, 0.2)}\n borderHeight=\"10px\"\n />\n <PromoteTo />\n <BorderBand\n borderColor={darken(theme.palette.secondary.main, 0.2)}\n borderHeight=\"10px\"\n />\n <Benefits />\n <BorderBand\n borderColor={lighten(theme.palette.primary.dark, 0.1)}\n borderHeight=\"10px\"\n />\n <TrustedBy />\n <BorderBand\n borderColor={lighten(theme.palette.primary.dark, 0.1)}\n borderHeight=\"10px\"\n />\n <ReadyToBegin />\n <Helmet\n metaContent={{\n title: 'Find Readers, Boost Sales - BookRaid',\n url: 'https://bookraid.com/partners',\n description:\n 'Promote your eBook to 50,000+ readers. Get started with BookRaid today!',\n ogImage:\n 'https://website-assets-public.s3.us-west-2.amazonaws.com/opengraph/partners.jpg',\n }}\n />\n </Box>\n );\n};\n\nexport default PartnersLandingPage;\n"],"names":["Helmet","metaContent","schema","title","url","description","ogImage","currentOgImage","height","property","content","rel","href","type","JSON","stringify","map","sch","defaultProps","MuiRouterLinkButton","children","icon","sx","to","props","color","bgcolor","theme","py","px","fontSize","borderRadius","fontWeight","boxShadow","transition","display","alignItems","BorderBand","borderColor","borderHeight","backgroundColor","debug","conlog","string","console","log","getPercentageMotion","element","current","ratio","boundingRect","getBoundingClientRect","viewportTopY","window","pageYOffset","scrollY","totalPageHeight","document","documentElement","scrollHeight","viewportHeight","visualViewport","parseInt","elementTopY","top","topYTrackingThreshold","Math","max","activeScrollAreaHeight","min","restOfProps","className","onClick","FacebookPixel","pm","percentageMotion","textShadow","handleScroll","event","ref","React","progress","setProgress","addEventListener","removeEventListener","Box","overflow","position","left","width","opacity","backgroundImage","backgroundRepeat","backgroundSize","zIndex","Typography","variant","align","mb","textAlign","my","margin","fill","stroke","strokeWidth","fillRule","xmlns","viewBox","id","d","pathLength","strokeDasharray","strokeDashoffset","transform","borderRadiusBreakpoints","mouseButtonColours","mouseButtonClicks","setMouseButtonClicks","length","right","colors","mx","cursor","svg","xmlnsXlink","radius","Sparkle","styled","rotation","sparkles","i","degrees","sin","PI","cos","sparkle","pl","wordingSection","subtitle","wordingOnRight","Grid","item","xs","sm","order","alignContent","flexWrap","mt","WhyBookRaidSection","graphicsContent","container","Image","maxWidth","srcSet","src","alt","Container","component","fontStyle","whiteSpace","headerClasses","background","pt","pb","sway","gradientTransform","offset","stopColor","contentStyles","BenefitsGroup","header","svgWidth","pr","p","testimonial","reviewerName","md","darken","maxBlur","random","FloatingSphere","shouldForwardProp","prop","baseProperties","x","y","blurAmount","movementAmountX","movementAmountY","startX","maxMovement","spheres","r","sphere","lighten"],"sourceRoot":""}