{"version":3,"sources":["../../src/components/Footer.tsx"],"sourcesContent":["'use client'; // for server side rendering\n\nimport { Link, styled } from '@mui/material';\nimport { Fragment, type ReactNode } from 'react';\n\nexport type FooterVariant = 'full' | 'slimLeft' | 'slimCenter';\nexport type FooterColor = 'default' | 'filled';\n\ninterface FooterProps {\n    variant?: FooterVariant;\n    color?: FooterColor;\n    linksGroup?: ReactNode[];\n    className?: string;\n    linksGroupClassName?: string;\n    copyRightClassName?: string;\n    children?: ReactNode;\n}\n\ninterface StyledFooterProps {\n    footerVariant: FooterVariant;\n    footerColor: FooterColor;\n}\n\nconst StyledFooter = styled('footer')<StyledFooterProps>(\n    ({ theme, footerVariant, footerColor }) => ({\n        padding: theme.spacing(3),\n        backgroundColor:\n            footerColor === 'filled'\n                ? theme.palette.background.reversed\n                : theme.palette.background.paper,\n        color: footerColor === 'filled' ? theme.palette.text.reversed : theme.palette.text.primary,\n        textAlign: footerVariant === 'slimCenter' ? 'center' : 'left',\n        '& a': {\n            color: 'inherit',\n        },\n    })\n);\n\nconst LinksGroupGrid = styled('div')(({ theme }) => ({\n    display: 'grid',\n    gap: theme.spacing(2),\n    marginBottom: theme.spacing(2),\n    gridTemplateColumns: '1fr',\n    [theme.breakpoints.up('md')]: {\n        gridTemplateColumns: 'repeat(2, 1fr)',\n    },\n    [theme.breakpoints.up('lg')]: {\n        gridTemplateColumns: 'repeat(4, 1fr)',\n    },\n}));\n\nexport function FooterLinkSeparator() {\n    return <> | </>;\n}\n\nexport function PrivacyLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/privacy-policy\">\n            Privacy Policy\n        </Link>\n    );\n}\n\nexport function TermsOfUseLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/terms\">\n            Terms of Use\n        </Link>\n    );\n}\n\nexport function BusinessConductLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/business-code-of-conduct\">\n            Business Code of Conduct\n        </Link>\n    );\n}\n\nexport function ResponsibleUseLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/responsible-use\">\n            Responsible Use\n        </Link>\n    );\n}\n\nexport function AI2TermsAndConditionsAllLinks() {\n    return (\n        <>\n            <PrivacyLink />\n            <FooterLinkSeparator />\n            <TermsOfUseLink />\n            <FooterLinkSeparator />\n            <BusinessConductLink />\n        </>\n    );\n}\n\nexport function AI2CopyrightLink() {\n    return (\n        <>\n            <Link color=\"secondary\" href=\"https://allenai.org\">\n                © The Allen Institute for Artificial Intelligence\n            </Link>{' '}\n            - All Rights Reserved\n        </>\n    );\n}\n\nconst defaultLinksGroup = [\n    <PrivacyLink key=\"privacy\" />,\n    <TermsOfUseLink key=\"terms\" />,\n    <ResponsibleUseLink key=\"responsible\" />,\n];\n\nexport function Footer({\n    variant = 'full',\n    color = 'default',\n    linksGroup,\n    className,\n    linksGroupClassName,\n    copyRightClassName,\n    children,\n}: FooterProps) {\n    const resolvedLinks = linksGroup ?? defaultLinksGroup;\n\n    return (\n        <StyledFooter className={className} footerVariant={variant} footerColor={color}>\n            {children || (\n                <>\n                    {variant === 'full' && (\n                        <LinksGroupGrid className={linksGroupClassName}>\n                            {resolvedLinks.map((link, id) => (\n                                <Fragment key={id}>{link}</Fragment>\n                            ))}\n                        </LinksGroupGrid>\n                    )}\n                    <div className={copyRightClassName}>\n                        <AI2CopyrightLink />\n                    </div>\n                </>\n            )}\n        </StyledFooter>\n    );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAA6B;AAC7B,mBAAyC;AAiD9B;AA7BX,IAAM,mBAAe,wBAAO,QAAQ;AAAA,EAChC,CAAC,EAAE,OAAO,eAAe,YAAY,OAAO;AAAA,IACxC,SAAS,MAAM,QAAQ,CAAC;AAAA,IACxB,iBACI,gBAAgB,WACV,MAAM,QAAQ,WAAW,WACzB,MAAM,QAAQ,WAAW;AAAA,IACnC,OAAO,gBAAgB,WAAW,MAAM,QAAQ,KAAK,WAAW,MAAM,QAAQ,KAAK;AAAA,IACnF,WAAW,kBAAkB,eAAe,WAAW;AAAA,IACvD,OAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AACJ;AAEA,IAAM,qBAAiB,wBAAO,KAAK,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACjD,SAAS;AAAA,EACT,KAAK,MAAM,QAAQ,CAAC;AAAA,EACpB,cAAc,MAAM,QAAQ,CAAC;AAAA,EAC7B,qBAAqB;AAAA,EACrB,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG;AAAA,IAC1B,qBAAqB;AAAA,EACzB;AAAA,EACA,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG;AAAA,IAC1B,qBAAqB;AAAA,EACzB;AACJ,EAAE;AAEK,SAAS,sBAAsB;AAClC,SAAO,2EAAE,iBAAG;AAChB;AAEO,SAAS,cAAc;AAC1B,SACI,4CAAC,wBAAK,OAAM,aAAY,MAAK,sCAAqC,4BAElE;AAER;AAEO,SAAS,iBAAiB;AAC7B,SACI,4CAAC,wBAAK,OAAM,aAAY,MAAK,6BAA4B,0BAEzD;AAER;AAEO,SAAS,sBAAsB;AAClC,SACI,4CAAC,wBAAK,OAAM,aAAY,MAAK,gDAA+C,sCAE5E;AAER;AAEO,SAAS,qBAAqB;AACjC,SACI,4CAAC,wBAAK,OAAM,aAAY,MAAK,uCAAsC,6BAEnE;AAER;AAEO,SAAS,gCAAgC;AAC5C,SACI,4EACI;AAAA,gDAAC,eAAY;AAAA,IACb,4CAAC,uBAAoB;AAAA,IACrB,4CAAC,kBAAe;AAAA,IAChB,4CAAC,uBAAoB;AAAA,IACrB,4CAAC,uBAAoB;AAAA,KACzB;AAER;AAEO,SAAS,mBAAmB;AAC/B,SACI,4EACI;AAAA,gDAAC,wBAAK,OAAM,aAAY,MAAK,uBAAsB,kEAEnD;AAAA,IAAQ;AAAA,IAAI;AAAA,KAEhB;AAER;AAEA,IAAM,oBAAoB;AAAA,EACtB,4CAAC,iBAAgB,SAAU;AAAA,EAC3B,4CAAC,oBAAmB,OAAQ;AAAA,EAC5B,4CAAC,wBAAuB,aAAc;AAC1C;AAEO,SAAS,OAAO;AAAA,EACnB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAgB;AACZ,QAAM,gBAAgB,cAAc;AAEpC,SACI,4CAAC,gBAAa,WAAsB,eAAe,SAAS,aAAa,OACpE,sBACG,4EACK;AAAA,gBAAY,UACT,4CAAC,kBAAe,WAAW,qBACtB,wBAAc,IAAI,CAAC,MAAM,OACtB,4CAAC,yBAAmB,kBAAL,EAAU,CAC5B,GACL;AAAA,IAEJ,4CAAC,SAAI,WAAW,oBACZ,sDAAC,oBAAiB,GACtB;AAAA,KACJ,GAER;AAER;","names":[]}