{"version":3,"file":"component---src-templates-page-js-7fd5330c178bb120ddf4.js","mappings":"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","sources":["webpack://imf-2024/./node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs","webpack://imf-2024/./node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs","webpack://imf-2024/./src/components/ParallaxHero/ParallaxHero.js","webpack://imf-2024/./src/components/Hero/Hero.js","webpack://imf-2024/./node_modules/@chakra-ui/icons/dist/chunk-WZ4T2U2Y.mjs","webpack://imf-2024/./src/components/CardTextArea/CardTextArea.js","webpack://imf-2024/./src/components/FeaturedCard/FeaturedCard.js","webpack://imf-2024/./src/components/ImageCard/ImageCard.js","webpack://imf-2024/./src/components/SectionCard/SectionCard.js","webpack://imf-2024/./src/components/ReadNext/ReadNext.js","webpack://imf-2024/./node_modules/@chakra-ui/layout/dist/chunk-7OLJDQMT.mjs","webpack://imf-2024/./src/components/PolicyPapers/PolicyPapers.js","webpack://imf-2024/./node_modules/@chakra-ui/modal/dist/chunk-RAWN7VJ3.mjs","webpack://imf-2024/./node_modules/@chakra-ui/icons/dist/chunk-G6T6CBSV.mjs","webpack://imf-2024/./src/components/PeopleGrid/PeopleGrid.js","webpack://imf-2024/./node_modules/@chakra-ui/react-use-controllable-state/dist/index.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-NXSBASJ3.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-GTRZJDIL.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-BXDFYXZJ.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-IAXSQ4X2.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-4YMKQ5D4.mjs","webpack://imf-2024/./node_modules/@chakra-ui/tabs/dist/chunk-KGTDXOFZ.mjs","webpack://imf-2024/./src/components/TabGroup/TabGroup.js","webpack://imf-2024/./src/components/StatGrid/StatGridItem.js","webpack://imf-2024/./src/components/StatGrid/StatGrid.js","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-RUEU7BLR.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-74QY6M57.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-CRBMUVJA.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-JQ2DNXQ3.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-QCAXGLVH.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-YI3ICT2T.mjs","webpack://imf-2024/./node_modules/@chakra-ui/accordion/dist/chunk-5VAIMVHT.mjs","webpack://imf-2024/./src/components/Accordion/Accordion.js","webpack://imf-2024/./src/hooks/useIsTabbing.js","webpack://imf-2024/./node_modules/@chakra-ui/table/dist/chunk-B5H2YLEF.mjs","webpack://imf-2024/./src/components/BudgetTable/BudgetTable.js","webpack://imf-2024/./src/components/SectionZone/sectionDictionary.js","webpack://imf-2024/./src/components/Section/Section.js","webpack://imf-2024/./src/components/ManagementTeam/ManagementTeam.js","webpack://imf-2024/./src/components/SectionZone/SectionZone.js","webpack://imf-2024/./src/templates/page.js"],"sourcesContent":["import { invariant } from '../../utils/errors.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { animateVisualElement } from '../interfaces/visual-element.mjs';\n\nfunction stopAnimation(visualElement) {\n visualElement.values.forEach((value) => value.stop());\n}\nfunction setVariants(visualElement, variantLabels) {\n const reversedLabels = [...variantLabels].reverse();\n reversedLabels.forEach((key) => {\n const variant = visualElement.getVariant(key);\n variant && setTarget(visualElement, variant);\n if (visualElement.variantChildren) {\n visualElement.variantChildren.forEach((child) => {\n setVariants(child, variantLabels);\n });\n }\n });\n}\nfunction setValues(visualElement, definition) {\n if (Array.isArray(definition)) {\n return setVariants(visualElement, definition);\n }\n else if (typeof definition === \"string\") {\n return setVariants(visualElement, [definition]);\n }\n else {\n setTarget(visualElement, definition);\n }\n}\n/**\n * @public\n */\nfunction animationControls() {\n /**\n * Track whether the host component has mounted.\n */\n let hasMounted = false;\n /**\n * A collection of linked component animation controls.\n */\n const subscribers = new Set();\n const controls = {\n subscribe(visualElement) {\n subscribers.add(visualElement);\n return () => void subscribers.delete(visualElement);\n },\n start(definition, transitionOverride) {\n invariant(hasMounted, \"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.\");\n const animations = [];\n subscribers.forEach((visualElement) => {\n animations.push(animateVisualElement(visualElement, definition, {\n transitionOverride,\n }));\n });\n return Promise.all(animations);\n },\n set(definition) {\n invariant(hasMounted, \"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.\");\n return subscribers.forEach((visualElement) => {\n setValues(visualElement, definition);\n });\n },\n stop() {\n subscribers.forEach((visualElement) => {\n stopAnimation(visualElement);\n });\n },\n mount() {\n hasMounted = true;\n return () => {\n hasMounted = false;\n controls.stop();\n };\n },\n };\n return controls;\n}\n\nexport { animationControls, setValues };\n","import { animationControls } from './animation-controls.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\n/**\n * Creates `AnimationControls`, which can be used to manually start, stop\n * and sequence animations on one or more components.\n *\n * The returned `AnimationControls` should be passed to the `animate` property\n * of the components you want to animate.\n *\n * These components can then be animated with the `start` method.\n *\n * ```jsx\n * import * as React from 'react'\n * import { motion, useAnimation } from 'framer-motion'\n *\n * export function MyComponent(props) {\n * const controls = useAnimation()\n *\n * controls.start({\n * x: 100,\n * transition: { duration: 0.5 },\n * })\n *\n * return <motion.div animate={controls} />\n * }\n * ```\n *\n * @returns Animation controller with `start` and `stop` methods\n *\n * @public\n */\nfunction useAnimationControls() {\n const controls = useConstant(animationControls);\n useIsomorphicLayoutEffect(controls.mount, []);\n return controls;\n}\nconst useAnimation = useAnimationControls;\n\nexport { useAnimation, useAnimationControls };\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Box, chakra, shouldForwardProp, usePrefersReducedMotion } from '@chakra-ui/react';\nimport { motion, useAnimation, isValidMotionProp } from 'framer-motion';\nimport SanityImage from 'gatsby-plugin-sanity-image';\n\nconst MotionBox = chakra(motion.div, {\n shouldForwardProp: (prop) => isValidMotionProp(prop) || shouldForwardProp(prop),\n});\n\nconst HeroImage = ({ image }) => {\n const [scrollY, setScrollY] = useState(0);\n const controls = useAnimation();\n const containerRef = useRef(null);\n const imageRef = useRef(null);\n\n // Use Chakra UI's hook to check for reduced motion preference\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const handleScroll = () => {\n if (!prefersReducedMotion) {\n setScrollY(window.scrollY);\n }\n };\n\n useEffect(() => {\n if (!prefersReducedMotion) {\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }\n }, [prefersReducedMotion]);\n\n useEffect(() => {\n if (!prefersReducedMotion) {\n const updateAnimation = () => {\n const containerHeight = containerRef.current.clientHeight;\n const imageHeight = imageRef.current.clientHeight;\n const maxOffset = imageHeight - containerHeight;\n const yOffset = Math.min(scrollY * 0.2, maxOffset); // Ensure yOffset does not exceed maxOffset\n\n controls.start({\n y: -yOffset,\n transition: { type: 'spring', stiffness: 50, damping: 20 },\n });\n };\n\n updateAnimation(); // Update animation initially\n window.addEventListener('scroll', updateAnimation); // Update on scroll\n\n return () => window.removeEventListener('scroll', updateAnimation);\n }\n }, [scrollY, controls, prefersReducedMotion]);\n\n return (\n <Box\n ref={containerRef}\n position='relative'\n width='100%'\n height={{ base: '300px', md: '600px' }}\n overflow='hidden'\n backgroundColor='gray.100'\n as='figure'\n >\n <MotionBox\n position='absolute'\n width='100%'\n height={{ base: '500px', md: '800px' }}\n // Only apply animate prop when reduced motion is not preferred\n animate={prefersReducedMotion ? undefined : controls}\n ref={imageRef}\n display='flex'\n >\n <SanityImage\n {...image}\n alt={image?.asset?.altText}\n width={900}\n hotspot={image?.hotspot}\n crop={image?.crop}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n />\n </MotionBox>\n {image?.asset?.title && (\n <Box\n position='absolute'\n bottom={20}\n right={20}\n maxWidth='90%'\n fontWeight={600}\n color='white'\n as='figcaption'\n textShadow='2px 2px 12px rgba(0, 0, 0, 0.9), 0 0 5px rgba(0, 0, 0, 0.7)'\n backgroundColor='rgba(0, 0, 0, 0.7)'\n padding='8px 12px'\n borderRadius='8px'\n >\n {image.asset.title}\n </Box>\n )}\n </Box>\n );\n};\n\nexport default HeroImage;\n","import React from 'react';\nimport { Box, Text } from '@chakra-ui/react';\nimport { SectionTag } from '../SectionTag';\nimport { ParallaxCard } from '../ParallaxCard';\nimport { ParallaxHero } from '../ParallaxHero';\nimport { RichText } from '../RichText';\n\nfunction Hero({ data, children, alignItems = 'flex-start', textAlign = 'left' }) {\n const { image, title, section, parallaxHero, imageLocation } = data || {};\n\n return (\n <Box as='section' py={{ base: 30, md: 40 }}>\n <Box px={{ base: 30, lg: 0 }}>\n {section && section !== 'single' && (\n <Box display='flex' alignItems='center' mb={{ base: 10, md: 20 }}>\n <Box\n flex='auto'\n display={{ base: 'none', md: 'flex' }}\n alignItems='center'\n mr={5}\n ml='-10px'\n >\n <Box flex='auto' borderBottom='2px' borderStyle='dotted' />\n <svg\n width='9'\n height='15'\n viewBox='0 0 9 15'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n d='M2 13.5829L8 7.5L2 1.41707'\n stroke='black'\n strokeWidth='2'\n strokeLinecap='square'\n strokeLinejoin='round'\n />\n </svg>\n </Box>\n <Box flex='0 0 container.md' width='container.md' maxWidth='container.md' mx='auto'>\n <SectionTag title={section} />\n </Box>\n <Box flex='1' display={{ base: 'none', md: 'flex' }} />\n </Box>\n )}\n <Box maxWidth='container.md' mx='auto'>\n <Box\n mb={{ base: 20, md: 40 }}\n display='flex'\n flexDirection='column'\n alignItems={alignItems}\n >\n {parallaxHero?.richTitle ? (\n <RichText\n value={parallaxHero.richTitle}\n as='h1'\n textStyle='h1'\n mb={children ? 30 : 0}\n width='100%'\n textAlign='center'\n fontWeight={400}\n />\n ) : (\n <Text\n as='h1'\n textStyle='h1'\n fontWeight={400}\n mb={children ? 30 : 0}\n width='100%'\n textAlign={textAlign}\n >\n {title}\n </Text>\n )}\n {children}\n </Box>\n </Box>\n </Box>\n <Box display='flex' bg='zinc.100' maxHeight='700px'>\n {image && !parallaxHero && <ParallaxHero image={image} imageLocation={imageLocation} />}\n {parallaxHero && (\n <ParallaxCard images={parallaxHero.images} aspectRatio={parallaxHero.aspectRatio} />\n )}\n </Box>\n </Box>\n );\n}\n\nexport default Hero;\n","'use client'\n\n// src/View.tsx\nimport { createIcon } from \"@chakra-ui/icon\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ViewIcon = createIcon({\n displayName: \"ViewIcon\",\n path: /* @__PURE__ */ jsxs(\"g\", { fill: \"currentColor\", children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z\" }),\n /* @__PURE__ */ jsx(\"circle\", { cx: \"12\", cy: \"12\", r: \"2\" })\n ] })\n});\n\nexport {\n ViewIcon\n};\n//# sourceMappingURL=chunk-WZ4T2U2Y.mjs.map","import React from 'react';\nimport { Flex, Text } from '@chakra-ui/react';\nimport { ViewIcon } from '@chakra-ui/icons';\nimport { SectionTag } from '../SectionTag';\n\nfunction CardTextArea({ data, showSectionTag, hideExcerpt, visited }) {\n const { title, section, excerpt } = data;\n\n const VisitedBox = () => (\n <Flex\n color='gray.700'\n textTransform='uppercase'\n fontSize='11px'\n fontWeight='600'\n alignItems='center'\n gap='5px'\n background='zinc.100'\n padding='5px 8px'\n mt={5}\n >\n <ViewIcon /> Viewed\n </Flex>\n );\n\n return (\n <Flex direction='column' alignItems='start' width='100%'>\n <Flex direction='column' alignItems='start' justifyContent='center' gap='5px' width='100%'>\n {showSectionTag && section && <SectionTag title={section} />}\n <Text width='100%' fontSize='xl' fontWeight='700' color='inherit' lineHeight='1'>\n {title}\n </Text>\n {!hideExcerpt && excerpt && (\n <Text\n width='100%'\n fontSize={{ base: 'sm', lg: 'md' }}\n fontWeight='normal'\n color='black'\n lineHeight='base'\n sx={{\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 3,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {excerpt}\n </Text>\n )}\n {visited && <VisitedBox />}\n </Flex>\n </Flex>\n );\n}\n\nexport default CardTextArea;\n","import React from 'react';\nimport { Link as GatsbyLink } from 'gatsby';\nimport { Flex, Link, Text } from '@chakra-ui/react';\nimport { CardMedia } from '../CardMedia';\nimport { RichText } from '../RichText';\n\nfunction FeaturedCard({ data, useWindowMouseEvents }) {\n const { section, aspectRatio } = data;\n const { section: sectionArea, slug, title, excerpt, parallaxHero } = section;\n\n return (\n <Link\n to={`/${sectionArea === 'single' ? '' : `${sectionArea}/`}${slug.current}`}\n as={GatsbyLink}\n _hover={{\n textDecoration: 'none',\n color: 'navy',\n }}\n width='100%'\n height='100%'\n aria-label={title}\n role='group'\n >\n <Flex\n direction='column'\n justifyContent='center'\n alignItems='center'\n gap={4}\n position='relative'\n height='100%'\n >\n <Flex direction='column' alignItems='start' gap={2.5} width='100%'>\n <Flex\n direction='column'\n alignItems='start'\n justifyContent='center'\n gap={2.5}\n width='100%'\n >\n {parallaxHero?.richTitle ? (\n <RichText\n value={parallaxHero.richTitle}\n width='100%'\n fontSize={{ base: '3xl', lg: '5xl' }}\n color='inherit'\n lineHeight='1'\n textAlign='center'\n />\n ) : (\n <Text\n width='100%'\n fontSize={{ base: '3xl', lg: '5xl' }}\n fontWeight='bold'\n color='inherit'\n lineHeight='1'\n textAlign='center'\n >\n {title}\n </Text>\n )}\n {excerpt && (\n <Text\n width='100%'\n fontSize={{ base: 'md', lg: 'lg' }}\n fontWeight='normal'\n color='black'\n lineHeight='base'\n sx={{\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 3,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n textAlign='center'\n >\n {excerpt}\n </Text>\n )}\n </Flex>\n </Flex>\n <CardMedia\n data={section}\n aspectRatio={aspectRatio}\n useWindowMouseEvents={useWindowMouseEvents}\n />\n </Flex>\n </Link>\n );\n}\n\nexport default FeaturedCard;\n","import React, { useMemo } from 'react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\nimport { Link as GatsbyLink } from 'gatsby';\nimport { Flex, Text, Box, Link, usePrefersReducedMotion } from '@chakra-ui/react';\n\nconst MemoizedSanityImage = React.memo(SanityImage);\n\nconst ImageContent = React.memo(({ image, aspectRatio }) => (\n <MemoizedSanityImage\n {...image}\n alt={image?.asset?.altText}\n width={275}\n height={Math.round(275 / aspectRatio)}\n hotspot={image?.hotspot}\n crop={image?.crop}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'top',\n }}\n />\n));\n\nconst CardText = React.memo(({ title, excerpt, hideExcerpt, prefersReducedMotion }) => (\n <Flex\n direction='column'\n alignItems='start'\n justifyContent='center'\n gap='5px'\n width='100%'\n px={20}\n paddingTop={60}\n paddingBottom={20}\n transition='transform 0.4s ease-in-out'\n _groupHover={{\n transform: !prefersReducedMotion ? 'translateY(-10px)' : 'translateY(0)',\n }}\n >\n <Text width='100%' fontSize='xl' fontWeight='bold' color='inherit' lineHeight='1'>\n {title}\n </Text>\n {excerpt && !hideExcerpt && (\n <Text\n width='100%'\n fontSize='md'\n fontWeight='normal'\n color='inherit'\n lineHeight='base'\n sx={{\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 3,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {excerpt}\n </Text>\n )}\n </Flex>\n));\n\nfunction ImageCard({ data, hideExcerpt }) {\n const { section, aspectRatio } = data;\n const { section: sectionArea, slug, title, image, excerpt } = section;\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const linkProps = useMemo(\n () => ({\n to: `/${sectionArea === 'single' ? '' : `${sectionArea}/`}${slug.current}`,\n as: GatsbyLink,\n color: 'white',\n _hover: {\n textDecoration: 'none',\n backgroundColor: prefersReducedMotion ? 'lightBlue' : 'zinc.100',\n },\n role: 'group',\n width: '100%',\n 'aria-label': title,\n padding: 20,\n backgroundColor: 'zinc.100',\n flex: '1',\n minHeight: { base: '250px', lg: 'none' },\n display: 'block',\n transition: 'background-color 0.25s ease-in-out',\n }),\n [sectionArea, slug.current, title, prefersReducedMotion],\n );\n\n const imageContentProps = useMemo(\n () => ({\n image,\n aspectRatio,\n }),\n [image, aspectRatio],\n );\n\n const cardTextProps = useMemo(\n () => ({\n title,\n excerpt,\n hideExcerpt,\n prefersReducedMotion,\n }),\n [title, excerpt, hideExcerpt, prefersReducedMotion],\n );\n\n return (\n <Link {...linkProps}>\n <Flex\n direction='column'\n justifyContent='center'\n alignItems='center'\n gap={4}\n position='relative'\n height='100%'\n minHeight={{ base: '250px', lg: 'none' }}\n overflow='hidden'\n >\n <Box\n as='figure'\n height='100%'\n width='100%'\n position='absolute'\n transition='transform 0.4s ease-in-out'\n _groupHover={{\n transform: !prefersReducedMotion ? 'scale(1.1)' : 'scale(1)',\n }}\n >\n {image && <ImageContent {...imageContentProps} />}\n </Box>\n <Flex\n direction='column'\n justifyContent='flex-end'\n alignItems='start'\n gap={2.5}\n width='100%'\n height='100%'\n zIndex={1}\n marginTop='auto'\n bgGradient='linear(to-b, transparent, black)'\n >\n <CardText {...cardTextProps} />\n </Flex>\n </Flex>\n </Link>\n );\n}\n\nexport default React.memo(ImageCard);\n","import React, { useEffect, useState, useMemo, useCallback } from 'react';\nimport { Link as GatsbyLink } from 'gatsby';\nimport { Flex, Link } from '@chakra-ui/react';\nimport { CardMedia } from '../CardMedia';\nimport { CardTextArea } from '../CardTextArea';\nimport { FeaturedCard } from '../FeaturedCard';\nimport { ImageCard } from '../ImageCard';\n\n// Helper functions for local storage\nconst isVisited = (url) => {\n if (typeof window !== 'undefined') {\n return localStorage.getItem(url) === 'visited';\n }\n return false;\n};\n\nconst markVisited = (url) => {\n if (typeof window !== 'undefined') {\n localStorage.setItem(url, 'visited');\n }\n};\n\nfunction SectionCard({ data, useWindowMouseEvents }) {\n const { section, aspectRatio, layout, largeTitle, largerTitle, showSectionTag, hideExcerpt } =\n data;\n const { section: sectionArea, slug, title } = section;\n const direction = layout === 'horizontal' ? 'row' : 'column';\n\n const linkUrl = useMemo(\n () => `/${sectionArea === 'single' ? '' : `${sectionArea}/`}${slug.current}`,\n [sectionArea, slug],\n );\n const [visited, setVisited] = useState(() => isVisited(linkUrl));\n\n const handleClick = useCallback(() => {\n markVisited(linkUrl);\n setVisited(true);\n }, [linkUrl]);\n\n useEffect(() => {\n setVisited(isVisited(linkUrl));\n }, [linkUrl]);\n\n const cardContent = useMemo(\n () => (\n <Flex\n direction={{ base: 'column', md: direction }}\n justifyContent={{ base: 'flex-start', lg: 'center' }}\n alignItems={{ base: 'flex-start', lg: 'center' }}\n gap={4}\n position='relative'\n height='100%'\n >\n <CardMedia data={section} aspectRatio={aspectRatio} />\n <CardTextArea\n data={section}\n largeTitle={largeTitle}\n largerTitle={largerTitle}\n showSectionTag={showSectionTag}\n hideExcerpt={hideExcerpt}\n visited={visited}\n />\n </Flex>\n ),\n [\n direction,\n section,\n aspectRatio,\n largeTitle,\n largerTitle,\n showSectionTag,\n hideExcerpt,\n visited,\n ],\n );\n\n if (layout === 'featured') {\n return <FeaturedCard data={data} useWindowMouseEvents={useWindowMouseEvents} />;\n }\n\n if (layout === 'imageCard') {\n return <ImageCard data={data} />;\n }\n\n return (\n <Link\n to={linkUrl}\n as={GatsbyLink}\n onClick={handleClick}\n _hover={{\n textDecoration: 'none',\n color: 'navy',\n }}\n width='100%'\n aria-label={title}\n role='group'\n >\n {cardContent}\n </Link>\n );\n}\n\nexport default React.memo(SectionCard);\n","import React from 'react';\nimport { Container, Flex, Text, Box } from '@chakra-ui/react';\nimport { SectionCard } from '../SectionCard';\n\nfunction ReadNext({ data }) {\n return (\n <Box as='section' px={{ base: 20, xl: 0 }} mt={{ base: 30, xl: 60 }}>\n <Container maxW='container.lg' borderTop='2px' borderStyle='dotted' pt={30} px={0}>\n <Text as='h2' textStyle='h2' mb={30}>\n Continue Reading\n </Text>\n <Flex gap={30} direction={{ base: 'column', md: 'row' }}>\n <Flex flex='50%'>\n {data.map((section, index) =>\n index === 0 ? (\n <SectionCard\n data={{\n section,\n aspectRatio: 16 / 9,\n largerTitle: true,\n showSectionTag: true,\n }}\n />\n ) : null,\n )}\n </Flex>\n <Flex flex='50%' direction='column' gap={30}>\n {data.map((section, index) =>\n index !== 0 ? (\n <SectionCard\n data={{\n section,\n aspectRatio: 4 / 3,\n layout: 'horizontal',\n largeTitle: true,\n showSectionTag: true,\n }}\n />\n ) : null,\n )}\n </Flex>\n </Flex>\n </Container>\n </Box>\n );\n}\n\nexport default ReadNext;\n","'use client'\n\n// src/heading.tsx\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n useStyleConfig\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Heading = forwardRef(function Heading2(props, ref) {\n const styles = useStyleConfig(\"Heading\", props);\n const { className, ...rest } = omitThemingProps(props);\n return /* @__PURE__ */ jsx(\n chakra.h2,\n {\n ref,\n className: cx(\"chakra-heading\", props.className),\n ...rest,\n __css: styles\n }\n );\n});\nHeading.displayName = \"Heading\";\n\nexport {\n Heading\n};\n//# sourceMappingURL=chunk-7OLJDQMT.mjs.map","import React, { useState, useEffect, useRef } from 'react';\nimport { useStaticQuery, graphql } from 'gatsby';\nimport {\n Box,\n Heading,\n SimpleGrid,\n Link,\n VStack,\n Container,\n Text,\n Button,\n Select,\n Flex,\n FormLabel,\n} from '@chakra-ui/react';\nimport { ArrowForwardIcon } from '@chakra-ui/icons';\nimport { RichText } from '../RichText';\n\nfunction PolicyPapers() {\n const policyPaperData = useStaticQuery(PAPER_QUERY);\n const [visibilePapers, setVisiblePapers] = useState([]);\n const [selectedCategory, setSelectedCategory] = useState('All Policy Papers');\n const [allVisibile, setAllVisible] = useState(false);\n const papersRef = useRef(null);\n const papersListRef = useRef(null);\n\n const { papers } = policyPaperData.data;\n\n useEffect(() => {\n setVisiblePapers(sortObjectsByDate(papers).slice(0, 3));\n }, [papers]);\n\n useEffect(() => {\n if (selectedCategory === 'All Policy Papers') {\n setVisiblePapers(sortObjectsByDate(papers).slice(0, 3));\n } else {\n const filteredPapers = papers.filter((paper) => paper.categories.includes(selectedCategory));\n setVisiblePapers(sortObjectsByDate(filteredPapers).slice(0, 3));\n papersRef.current.scrollIntoView({ behavior: 'smooth' });\n }\n setAllVisible(false);\n }, [selectedCategory, papers]);\n\n useEffect(() => {\n if (allVisibile) {\n // Set focus to the first link in the fourth paper\n const firstLink = papersListRef?.current?.children[3]?.querySelector('a');\n firstLink?.focus();\n }\n }, [allVisibile]);\n\n const handleClick = () => {\n if (selectedCategory === 'All Policy Papers') {\n setVisiblePapers(sortObjectsByDate(papers));\n } else {\n const filteredPapers = papers.filter((paper) => paper.categories.includes(selectedCategory));\n setVisiblePapers(sortObjectsByDate(filteredPapers));\n }\n setAllVisible(true);\n };\n\n // Split the categories into buttons which can be clicked to filter the papers\n const Categories = ({ categories }) => (\n <Flex gap={5} direction={{ base: 'column', md: 'row' }} alignItems='flex-start' flexWrap='wrap'>\n {categories.map((category, index) => (\n <Flex key={category + index} alignItems='center' width={{ base: '100%', md: 'auto' }}>\n <Button\n textTransform='uppercase'\n letterSpacing='0.5px'\n fontSize='0.875rem'\n variant='link'\n onClick={() => setSelectedCategory(category)}\n aria-label={`Filter papers by ${category}`}\n width={{ base: 'auto', md: 'auto' }}\n textAlign='left'\n >\n {category}\n </Button>\n {index < categories.length - 1 && (\n <Text display='inline' ml='5px'>\n /\n </Text>\n )}\n </Flex>\n ))}\n </Flex>\n );\n\n return (\n <Box\n as='section'\n ref={papersRef}\n scrollMarginTop={60}\n bg='zinc.100'\n padding={{ base: 30, xl: 60 }}\n mx='auto'\n my={30}\n maxWidth='container.lg'\n >\n <Container maxWidth='container.md' px={{ base: 0, xl: 30 }}>\n <Flex\n as='header'\n flexDirection={{ base: 'column', lg: 'row' }}\n align={{ base: 'flex-start', lg: 'center' }}\n justify={{ base: 'flex-start', lg: 'space-between' }}\n gap={10}\n mb={60}\n >\n <Box role='region' id='papersHeader' aria-live='polite'>\n <Text as='h2' textStyle='h2'>\n Policy Papers\n </Text>\n <Text>Filtered by {selectedCategory}</Text>\n </Box>\n <Box>\n <FormLabel htmlFor='category-filter'>Filter</FormLabel>\n <CategoryDropdown\n papers={papers}\n setSelectedCategory={setSelectedCategory}\n selectedCategory={selectedCategory}\n id='category-filter'\n />\n </Box>\n </Flex>\n <SimpleGrid columns='1' ref={papersListRef}>\n {visibilePapers.map(({ title, categories, url, summary, date, press_release }, index) => (\n <VStack\n key={title}\n align='left'\n flex='auto'\n pb={60}\n pl={30}\n borderLeft={index === visibilePapers.length - 1 ? 'none' : '1px dashed darkGray'}\n position='relative'\n >\n <Box\n _before={{\n content: '\"\"',\n color: 'navy',\n fontSize: '60px',\n fontWeight: 'bold',\n display: 'inline-block',\n position: 'absolute',\n left: 0,\n top: '3px',\n height: '15px',\n width: '15px',\n borderRadius: '50%',\n background: 'navy',\n transform: 'translateX(-50%)',\n }}\n >\n <Text fontSize='sm'>{formatDate(date)}</Text>\n </Box>\n <Categories categories={categories} />\n <Link href={url} color='navy'>\n <Heading as='h3' fontSize='2xl'>\n {title}\n </Heading>\n </Link>\n <RichText fontWeight={300} value={summary} />\n {press_release && (\n <Link\n href={press_release}\n textTransform='uppercase'\n letterSpacing='0.5px'\n fontSize='0.875rem'\n color='navy'\n fontWeight={600}\n target='_blank'\n >\n View Press Release\n <ArrowForwardIcon ml={2} mt='-3px' />\n </Link>\n )}\n </VStack>\n ))}\n </SimpleGrid>\n </Container>\n {!allVisibile && visibilePapers.length > 2 && (\n <Container maxWidth='container.md' px={{ base: 0, xl: 60 }}>\n <Button width='100%' variant='primary' onClick={() => handleClick()}>\n View All\n </Button>\n </Container>\n )}\n </Box>\n );\n}\n\nconst CategoryDropdown = ({ papers, setSelectedCategory, selectedCategory, id }) => {\n const categories = [];\n\n papers.forEach((paper) => {\n paper.categories.forEach((category) => {\n const trimmedCategory = category.trim();\n if (!categories.includes(trimmedCategory)) {\n categories.push(trimmedCategory);\n }\n });\n });\n\n return (\n <Select\n value={selectedCategory}\n bg='white'\n size='lg'\n onChange={(event) => setSelectedCategory(event.target.value)}\n aria-controls='papersHeader'\n id={id}\n border='none'\n >\n <option value='All Policy Papers'>All Policy Papers</option>\n {categories.map((category) => (\n <option key={category} value={category}>\n {category}\n </option>\n ))}\n </Select>\n );\n};\n\nfunction formatDate(dateString) {\n if (!dateString) return '';\n const dateParts = dateString.split('-');\n const year = dateParts[0].substring(2); // Extract the last two digits of the year\n const month = parseInt(dateParts[1], 10);\n const day = parseInt(dateParts[2], 10);\n\n return `${month}/${day}/${year}`;\n}\n\nfunction sortObjectsByDate(objects) {\n objects.sort((a, b) => {\n const dateA = new Date(a.date);\n const dateB = new Date(b.date);\n return dateA - dateB;\n });\n return objects;\n}\n\nconst PAPER_QUERY = graphql`\n query PAPERQUERY {\n data: allSanityPolicyPaper {\n papers: nodes {\n title\n summary: _rawSummary\n date\n categories\n url\n press_release\n }\n }\n }\n`;\n\nexport default PolicyPapers;\n","'use client'\nimport {\n useModalStyles\n} from \"./chunk-MSA2NPQT.mjs\";\n\n// src/modal-footer.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ModalFooter = forwardRef(\n (props, ref) => {\n const { className, ...rest } = props;\n const _className = cx(\"chakra-modal__footer\", className);\n const styles = useModalStyles();\n const footerStyles = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n ...styles.footer\n };\n return /* @__PURE__ */ jsx(\n chakra.footer,\n {\n ref,\n ...rest,\n __css: footerStyles,\n className: _className\n }\n );\n }\n);\nModalFooter.displayName = \"ModalFooter\";\n\nexport {\n ModalFooter\n};\n//# sourceMappingURL=chunk-RAWN7VJ3.mjs.map","'use client'\n\n// src/ArrowBack.tsx\nimport { createIcon } from \"@chakra-ui/icon\";\nvar ArrowBackIcon = createIcon({\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\",\n displayName: \"ArrowBackIcon\"\n});\n\nexport {\n ArrowBackIcon\n};\n//# sourceMappingURL=chunk-G6T6CBSV.mjs.map","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\nimport {\n Grid,\n Modal,\n ModalOverlay,\n ModalContent,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n Flex,\n Text,\n Box,\n AspectRatio,\n Button,\n Container,\n} from '@chakra-ui/react';\nimport { ArrowBackIcon, ArrowForwardIcon } from '@chakra-ui/icons';\nimport { useStaticQuery, graphql } from 'gatsby';\nimport { CardMedia } from '../CardMedia';\n\nconst GridItem = ({ index, isFocused, onFocusChange, person, onOpen }) => {\n const handleFocus = () => {\n onFocusChange(index);\n };\n\n const handleItemClick = () => {\n onOpen(index);\n };\n\n return (\n <Box\n tabIndex={isFocused || index === 0 ? 0 : -1}\n onFocus={handleFocus}\n role='gridcell'\n as='button'\n onClick={handleItemClick}\n ref={(el) => {\n if (isFocused && el) {\n el.focus();\n }\n }}\n >\n <Box as='figure' data-group>\n <CardMedia data={{ image: person.image, name: person.name }} aspectRatio={1.6} />\n <Box\n as='figcaption'\n lineHeight='1.2'\n mt='8px'\n fontWeight='300'\n fontSize={{ base: 'xs', lg: 'md' }}\n >\n {person.name}\n </Box>\n </Box>\n </Box>\n );\n};\n\nconst PeopleGrid = () => {\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [instructionsDisplayed, setInstructionsDisplayed] = useState(false);\n const gridRef = useRef(null);\n const data = useStaticQuery(PEOPLE_QUERY);\n let { people } = data.data;\n const finalRef = useRef(null);\n\n people = people.sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n return 1;\n });\n\n const handleModalOpen = () => {\n setIsModalOpen(true);\n };\n\n const handleModalClose = () => {\n setIsModalOpen(false);\n };\n\n const handleModalPrev = () => {\n setFocusedIndex((prevIndex) => Math.max(0, prevIndex - 1));\n };\n\n const handleModalNext = useCallback(() => {\n setFocusedIndex((prevIndex) => Math.min(people.length - 1, prevIndex + 1));\n }, [people.length]);\n\n useEffect(() => {\n finalRef.current = gridRef.current.children[focusedIndex];\n }, [focusedIndex]);\n\n useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === 'ArrowLeft') {\n // Set finalRef to the previous element in the grid\n handleModalPrev();\n } else if (event.key === 'ArrowRight') {\n // Set finalRef to the next element in the grid\n handleModalNext();\n } else if (event.key === 'Tab' && !event.shiftKey) {\n setInstructionsDisplayed(true);\n // If tab without shift, move focus out of the grid\n gridRef.current && gridRef.current.blur();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isModalOpen, handleModalNext, people.length]);\n\n // Set the person to the one at the current modal index\n const person = people[focusedIndex];\n\n const AlternatesText = ({ alternates }) => {\n const alternatesArray = alternates.split(',');\n if (alternatesArray.length === 1) {\n return 'Alternate';\n }\n return 'Alternates';\n };\n\n return (\n <Container maxWidth='container.xl' px={{ base: 20, xl: 60 }} my={{ base: 30, md: 60 }}>\n <Box maxWidth='container.sm' px={4} mx='auto' mb={5}>\n <Text fontSize='sm'>\n Click on a thumbnail below to view the executive directors alternates and constituency.\n </Text>\n </Box>\n {instructionsDisplayed && (\n <Box textAlign='center' padding={4} mb={5} background='grey.light'>\n <Text fontWeight='400'>\n Use the left and right arrow keys on your keyboard to navigate\n </Text>\n </Box>\n )}\n <Grid\n gridTemplateColumns={{\n base: 'repeat(2, 1fr)', // 2 columns on base (small screens)\n md: 'repeat(3, 1fr)', // 3 columns on medium screens\n lg: 'repeat(4, 1fr)', // 4 columns on large screens\n }}\n alignItems='flex-start'\n columnGap={20}\n rowGap={30}\n role='grid'\n ref={gridRef}\n tabIndex={-1}\n >\n <Box role='row' display='contents'>\n {/* Wrapping all grid items in a row */}\n {people.map((person, index) => (\n <GridItem\n key={index}\n index={index}\n isFocused={index === focusedIndex}\n onFocusChange={setFocusedIndex}\n onOpen={handleModalOpen}\n person={person}\n />\n ))}\n </Box>\n </Grid>\n\n <Modal isOpen={isModalOpen} onClose={handleModalClose} size='full' finalFocusRef={finalRef}>\n <ModalOverlay />\n <ModalContent\n background='rgba(255, 255, 255, 0.5)'\n backdropFilter='auto'\n backdropBlur='6px'\n >\n <ModalCloseButton background='white' padding={20} margin={10} borderRadius='100%' />\n <ModalBody padding={4} width='100%' maxWidth='600px' margin='auto'>\n <Box background='white' padding={30}>\n {person && (\n <>\n <AspectRatio maxW='480px' ratio={1.6} background='grey.light' mb={10} mx='auto'>\n <SanityImage\n {...person.image}\n alt={`Image of ${person.name}`}\n width={480}\n height={300}\n hotspot={person.image.hotspot}\n crop={person.image.crop}\n style={{ height: '100%', width: '100%', objectFit: 'cover' }}\n />\n </AspectRatio>\n <Flex flexDirection='column' gap={10}>\n <Text as='h3' textStyle='h3'>\n {person.name}\n </Text>\n <Text as='h4' textStyle='h4'>\n <AlternatesText alternates={person.alternates} />\n </Text>\n <Text>{person.alternates}</Text>\n <Text as='h4' textStyle='h4'>\n Constituency\n </Text>\n <Text>{person.constituency}</Text>\n </Flex>\n </>\n )}\n </Box>\n </ModalBody>\n <ModalFooter padding='0'>\n <Flex justifyContent='space-between' width='100%' background='white' padding={20}>\n <Button\n aria-label='Previous'\n onClick={handleModalPrev}\n isDisabled={focusedIndex === 0}\n >\n <ArrowBackIcon />\n </Button>\n <Button\n aria-label='Next'\n onClick={handleModalNext}\n isDisabled={focusedIndex === people.length - 1}\n >\n <ArrowForwardIcon />\n </Button>\n </Flex>\n </ModalFooter>\n </ModalContent>\n </Modal>\n </Container>\n );\n};\n\nconst PEOPLE_QUERY = graphql`\n query PEOPLEQUERY {\n data: allSanityPerson {\n people: nodes {\n alternates\n constituency\n image: _rawImage\n key: _key\n name\n }\n }\n }\n`;\n\nexport default PeopleGrid;\n","'use client'\n\n// src/index.ts\nimport { useMemo, useState } from \"react\";\nimport { useCallbackRef } from \"@chakra-ui/react-use-callback-ref\";\nfunction useControllableProp(prop, state) {\n const controlled = typeof prop !== \"undefined\";\n const value = controlled ? prop : state;\n return useMemo(() => [controlled, value], [controlled, value]);\n}\nfunction useControllableState(props) {\n const {\n value: valueProp,\n defaultValue,\n onChange,\n shouldUpdate = (prev, next) => prev !== next\n } = props;\n const onChangeProp = useCallbackRef(onChange);\n const shouldUpdateProp = useCallbackRef(shouldUpdate);\n const [uncontrolledState, setUncontrolledState] = useState(defaultValue);\n const controlled = valueProp !== void 0;\n const value = controlled ? valueProp : uncontrolledState;\n const setValue = useCallbackRef(\n (next) => {\n const setter = next;\n const nextValue = typeof next === \"function\" ? setter(value) : next;\n if (!shouldUpdateProp(value, nextValue)) {\n return;\n }\n if (!controlled) {\n setUncontrolledState(nextValue);\n }\n onChangeProp(nextValue);\n },\n [controlled, onChangeProp, value, shouldUpdateProp]\n );\n return [value, setValue];\n}\nexport {\n useControllableProp,\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map","'use client'\n\n// src/use-tabs.ts\nimport { useClickable } from \"@chakra-ui/clickable\";\nimport { createDescendantContext } from \"@chakra-ui/descendant\";\nimport { createContext } from \"@chakra-ui/react-context\";\nimport { useSafeLayoutEffect } from \"@chakra-ui/react-use-safe-layout-effect\";\nimport { useControllableState } from \"@chakra-ui/react-use-controllable-state\";\nimport { getValidChildren } from \"@chakra-ui/react-children-utils\";\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\";\nimport { lazyDisclosure } from \"@chakra-ui/lazy-utils\";\nimport { callAllHandlers } from \"@chakra-ui/shared-utils\";\nimport {\n useCallback,\n useEffect,\n useRef,\n useState,\n useId,\n createElement\n} from \"react\";\nvar [\n TabsDescendantsProvider,\n useTabsDescendantsContext,\n useTabsDescendants,\n useTabsDescendant\n] = createDescendantContext();\nfunction useTabs(props) {\n var _a;\n const {\n defaultIndex,\n onChange,\n index,\n isManual,\n isLazy,\n lazyBehavior = \"unmount\",\n orientation = \"horizontal\",\n direction = \"ltr\",\n ...htmlProps\n } = props;\n const [focusedIndex, setFocusedIndex] = useState(defaultIndex != null ? defaultIndex : 0);\n const [selectedIndex, setSelectedIndex] = useControllableState({\n defaultValue: defaultIndex != null ? defaultIndex : 0,\n value: index,\n onChange\n });\n useEffect(() => {\n if (index != null) {\n setFocusedIndex(index);\n }\n }, [index]);\n const descendants = useTabsDescendants();\n const uuid = useId();\n const uid = (_a = props.id) != null ? _a : uuid;\n const id = `tabs-${uid}`;\n return {\n id,\n selectedIndex,\n focusedIndex,\n setSelectedIndex,\n setFocusedIndex,\n isManual,\n isLazy,\n lazyBehavior,\n orientation,\n descendants,\n direction,\n htmlProps\n };\n}\nvar [TabsProvider, useTabsContext] = createContext({\n name: \"TabsContext\",\n errorMessage: \"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within <Tabs />\"\n});\nfunction useTabList(props) {\n const { focusedIndex, orientation, direction } = useTabsContext();\n const descendants = useTabsDescendantsContext();\n const onKeyDown = useCallback(\n (event) => {\n const nextTab = () => {\n var _a;\n const next = descendants.nextEnabled(focusedIndex);\n if (next)\n (_a = next.node) == null ? void 0 : _a.focus();\n };\n const prevTab = () => {\n var _a;\n const prev = descendants.prevEnabled(focusedIndex);\n if (prev)\n (_a = prev.node) == null ? void 0 : _a.focus();\n };\n const firstTab = () => {\n var _a;\n const first = descendants.firstEnabled();\n if (first)\n (_a = first.node) == null ? void 0 : _a.focus();\n };\n const lastTab = () => {\n var _a;\n const last = descendants.lastEnabled();\n if (last)\n (_a = last.node) == null ? void 0 : _a.focus();\n };\n const isHorizontal = orientation === \"horizontal\";\n const isVertical = orientation === \"vertical\";\n const eventKey = event.key;\n const ArrowStart = direction === \"ltr\" ? \"ArrowLeft\" : \"ArrowRight\";\n const ArrowEnd = direction === \"ltr\" ? \"ArrowRight\" : \"ArrowLeft\";\n const keyMap = {\n [ArrowStart]: () => isHorizontal && prevTab(),\n [ArrowEnd]: () => isHorizontal && nextTab(),\n ArrowDown: () => isVertical && nextTab(),\n ArrowUp: () => isVertical && prevTab(),\n Home: firstTab,\n End: lastTab\n };\n const action = keyMap[eventKey];\n if (action) {\n event.preventDefault();\n action(event);\n }\n },\n [descendants, focusedIndex, orientation, direction]\n );\n return {\n ...props,\n role: \"tablist\",\n \"aria-orientation\": orientation,\n onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n };\n}\nfunction useTab(props) {\n const { isDisabled = false, isFocusable = false, ...htmlProps } = props;\n const { setSelectedIndex, isManual, id, setFocusedIndex, selectedIndex } = useTabsContext();\n const { index, register } = useTabsDescendant({\n disabled: isDisabled && !isFocusable\n });\n const isSelected = index === selectedIndex;\n const onClick = () => {\n setSelectedIndex(index);\n };\n const onFocus = () => {\n setFocusedIndex(index);\n const isDisabledButFocusable = isDisabled && isFocusable;\n const shouldSelect = !isManual && !isDisabledButFocusable;\n if (shouldSelect) {\n setSelectedIndex(index);\n }\n };\n const clickableProps = useClickable({\n ...htmlProps,\n ref: mergeRefs(register, props.ref),\n isDisabled,\n isFocusable,\n onClick: callAllHandlers(props.onClick, onClick)\n });\n const type = \"button\";\n return {\n ...clickableProps,\n id: makeTabId(id, index),\n role: \"tab\",\n tabIndex: isSelected ? 0 : -1,\n type,\n \"aria-selected\": isSelected,\n \"aria-controls\": makeTabPanelId(id, index),\n onFocus: isDisabled ? void 0 : callAllHandlers(props.onFocus, onFocus)\n };\n}\nvar [TabPanelProvider, useTabPanelContext] = createContext({});\nfunction useTabPanels(props) {\n const context = useTabsContext();\n const { id, selectedIndex } = context;\n const validChildren = getValidChildren(props.children);\n const children = validChildren.map(\n (child, index) => createElement(\n TabPanelProvider,\n {\n key: index,\n value: {\n isSelected: index === selectedIndex,\n id: makeTabPanelId(id, index),\n tabId: makeTabId(id, index),\n selectedIndex\n }\n },\n child\n )\n );\n return { ...props, children };\n}\nfunction useTabPanel(props) {\n const { children, ...htmlProps } = props;\n const { isLazy, lazyBehavior } = useTabsContext();\n const { isSelected, id, tabId } = useTabPanelContext();\n const hasBeenSelected = useRef(false);\n if (isSelected) {\n hasBeenSelected.current = true;\n }\n const shouldRenderChildren = lazyDisclosure({\n wasSelected: hasBeenSelected.current,\n isSelected,\n enabled: isLazy,\n mode: lazyBehavior\n });\n return {\n // Puts the tabpanel in the page `Tab` sequence.\n tabIndex: 0,\n ...htmlProps,\n children: shouldRenderChildren ? children : null,\n role: \"tabpanel\",\n \"aria-labelledby\": tabId,\n hidden: !isSelected,\n id\n };\n}\nfunction useTabIndicator() {\n const context = useTabsContext();\n const descendants = useTabsDescendantsContext();\n const { selectedIndex, orientation } = context;\n const isHorizontal = orientation === \"horizontal\";\n const isVertical = orientation === \"vertical\";\n const [rect, setRect] = useState(() => {\n if (isHorizontal)\n return { left: 0, width: 0 };\n if (isVertical)\n return { top: 0, height: 0 };\n return void 0;\n });\n const [hasMeasured, setHasMeasured] = useState(false);\n useSafeLayoutEffect(() => {\n if (selectedIndex == null)\n return;\n const tab = descendants.item(selectedIndex);\n if (tab == null)\n return;\n if (isHorizontal) {\n setRect({ left: tab.node.offsetLeft, width: tab.node.offsetWidth });\n }\n if (isVertical) {\n setRect({ top: tab.node.offsetTop, height: tab.node.offsetHeight });\n }\n const id = requestAnimationFrame(() => {\n setHasMeasured(true);\n });\n return () => {\n if (id) {\n cancelAnimationFrame(id);\n }\n };\n }, [selectedIndex, isHorizontal, isVertical, descendants]);\n return {\n position: \"absolute\",\n transitionProperty: \"left, right, top, bottom, height, width\",\n transitionDuration: hasMeasured ? \"200ms\" : \"0ms\",\n transitionTimingFunction: \"cubic-bezier(0, 0, 0.2, 1)\",\n ...rect\n };\n}\nfunction makeTabId(id, index) {\n return `${id}--tab-${index}`;\n}\nfunction makeTabPanelId(id, index) {\n return `${id}--tabpanel-${index}`;\n}\n\nexport {\n TabsDescendantsProvider,\n useTabsDescendantsContext,\n useTabsDescendants,\n useTabsDescendant,\n useTabs,\n TabsProvider,\n useTabsContext,\n useTabList,\n useTab,\n useTabPanels,\n useTabPanel,\n useTabIndicator\n};\n//# sourceMappingURL=chunk-NXSBASJ3.mjs.map","'use client'\nimport {\n TabsDescendantsProvider,\n TabsProvider,\n useTabs\n} from \"./chunk-NXSBASJ3.mjs\";\n\n// src/tabs.tsx\nimport { createContext } from \"@chakra-ui/react-context\";\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n useMultiStyleConfig\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { useMemo } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar [TabsStylesProvider, useTabsStyles] = createContext({\n name: `TabsStylesContext`,\n errorMessage: `useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in \"<Tabs />\" `\n});\nvar Tabs = forwardRef(function Tabs2(props, ref) {\n const styles = useMultiStyleConfig(\"Tabs\", props);\n const { children, className, ...rest } = omitThemingProps(props);\n const { htmlProps, descendants, ...ctx } = useTabs(rest);\n const context = useMemo(() => ctx, [ctx]);\n const { isFitted: _, ...rootProps } = htmlProps;\n const tabsStyles = {\n position: \"relative\",\n ...styles.root\n };\n return /* @__PURE__ */ jsx(TabsDescendantsProvider, { value: descendants, children: /* @__PURE__ */ jsx(TabsProvider, { value: context, children: /* @__PURE__ */ jsx(TabsStylesProvider, { value: styles, children: /* @__PURE__ */ jsx(\n chakra.div,\n {\n className: cx(\"chakra-tabs\", className),\n ref,\n ...rootProps,\n __css: tabsStyles,\n children\n }\n ) }) }) });\n});\nTabs.displayName = \"Tabs\";\n\nexport {\n useTabsStyles,\n Tabs\n};\n//# sourceMappingURL=chunk-GTRZJDIL.mjs.map","'use client'\nimport {\n useTabsStyles\n} from \"./chunk-GTRZJDIL.mjs\";\nimport {\n useTabList\n} from \"./chunk-NXSBASJ3.mjs\";\n\n// src/tab-list.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TabList = forwardRef(function TabList2(props, ref) {\n const tablistProps = useTabList({ ...props, ref });\n const styles = useTabsStyles();\n const tablistStyles = {\n display: \"flex\",\n ...styles.tablist\n };\n return /* @__PURE__ */ jsx(\n chakra.div,\n {\n ...tablistProps,\n className: cx(\"chakra-tabs__tablist\", props.className),\n __css: tablistStyles\n }\n );\n});\nTabList.displayName = \"TabList\";\n\nexport {\n TabList\n};\n//# sourceMappingURL=chunk-BXDFYXZJ.mjs.map","'use client'\nimport {\n useTabsStyles\n} from \"./chunk-GTRZJDIL.mjs\";\nimport {\n useTab\n} from \"./chunk-NXSBASJ3.mjs\";\n\n// src/tab.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Tab = forwardRef(function Tab2(props, ref) {\n const styles = useTabsStyles();\n const tabProps = useTab({ ...props, ref });\n const tabStyles = {\n outline: \"0\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...styles.tab\n };\n return /* @__PURE__ */ jsx(\n chakra.button,\n {\n ...tabProps,\n className: cx(\"chakra-tabs__tab\", props.className),\n __css: tabStyles\n }\n );\n});\nTab.displayName = \"Tab\";\n\nexport {\n Tab\n};\n//# sourceMappingURL=chunk-IAXSQ4X2.mjs.map","'use client'\nimport {\n useTabsStyles\n} from \"./chunk-GTRZJDIL.mjs\";\nimport {\n useTabPanels\n} from \"./chunk-NXSBASJ3.mjs\";\n\n// src/tab-panels.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TabPanels = forwardRef(function TabPanels2(props, ref) {\n const panelsProps = useTabPanels(props);\n const styles = useTabsStyles();\n return /* @__PURE__ */ jsx(\n chakra.div,\n {\n ...panelsProps,\n width: \"100%\",\n ref,\n className: cx(\"chakra-tabs__tab-panels\", props.className),\n __css: styles.tabpanels\n }\n );\n});\nTabPanels.displayName = \"TabPanels\";\n\nexport {\n TabPanels\n};\n//# sourceMappingURL=chunk-4YMKQ5D4.mjs.map","'use client'\nimport {\n useTabsStyles\n} from \"./chunk-GTRZJDIL.mjs\";\nimport {\n useTabPanel\n} from \"./chunk-NXSBASJ3.mjs\";\n\n// src/tab-panel.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TabPanel = forwardRef(function TabPanel2(props, ref) {\n const panelProps = useTabPanel({ ...props, ref });\n const styles = useTabsStyles();\n return /* @__PURE__ */ jsx(\n chakra.div,\n {\n outline: \"0\",\n ...panelProps,\n className: cx(\"chakra-tabs__tab-panel\", props.className),\n __css: styles.tabpanel\n }\n );\n});\nTabPanel.displayName = \"TabPanel\";\n\nexport {\n TabPanel\n};\n//# sourceMappingURL=chunk-KGTDXOFZ.mjs.map","import React, { useEffect, useState } from 'react';\nimport {\n Container,\n Box,\n Tab,\n TabList,\n TabPanel,\n TabPanels,\n Tabs,\n Text,\n Flex,\n} from '@chakra-ui/react';\nimport { Chart } from '../Chart';\nimport { Divider } from '../Divider';\n\nconst TabGroup = ({ data }) => {\n const { tabs, title } = data;\n const [selectedTab, setSelectedTab] = useState(0);\n\n useEffect(() => {\n // Reset the selected tab when the tabs data changes\n setSelectedTab(0);\n }, [tabs]);\n\n return (\n <Container maxWidth='container.xl' mt={30}>\n <Divider />\n\n <Tabs\n index={selectedTab}\n onChange={(index) => setSelectedTab(index)}\n isLazy\n display='flex'\n flexDirection={{ base: 'column', md: 'row' }}\n gap={{ base: 2, md: 30 }}\n >\n <Flex\n direction='column'\n flex={{ base: 1, md: 2 }}\n borderRight='1px solid'\n borderColor={{ base: 'transparent', md: 'lightGrey' }}\n pr={{ base: 0, md: 30 }}\n mb={{ base: 4, md: 0 }}\n >\n <Text textStyle='h2' as='h2' mb={2}>\n {title}\n </Text>\n <TabList borderBottom='none' flexDirection='column' gap={10}>\n <Box>By:</Box>\n {tabs.map((tab, index) => (\n <Tab\n _selected={{ bg: 'navy', color: 'white' }}\n _hover={{ bg: 'orange', color: 'black' }}\n bg='grey.light'\n color='navy'\n textStyle='navItem'\n fontSize='0.875rem'\n letterSpacing='1px'\n key={index}\n padding={10}\n borderRadius='5px'\n justifyContent='flex-start'\n >\n {tab.title}\n </Tab>\n ))}\n </TabList>\n </Flex>\n\n <TabPanels flex={{ base: 1, md: 9 }}>\n {tabs.map(({ _key, chart }) => (\n <TabPanel key={_key} padding='0'>\n <Box>{chart && <Chart data={chart} />}</Box>\n </TabPanel>\n ))}\n </TabPanels>\n </Tabs>\n </Container>\n );\n};\n\nexport default TabGroup;\n","import React from 'react';\nimport CountUp from 'react-countup';\nimport { Flex, Text, Box } from '@chakra-ui/react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\nimport { ImageWithCaption } from '../ImageWithCaption';\n\nfunction StatGridItem({ item }) {\n const { number, afterText, prefix, suffix, icon, image } = item || {};\n return (\n <Flex direction='column' textAlign='left' height='100%' gap={10}>\n <Flex width='100%' direction='column' gap={10} alignItems='flex-start'>\n {icon && (\n <Flex alignItems='center' height='100%' width='50px'>\n <SanityImage {...icon} alt={icon?.asset?.altText} width={100} height={100} />\n </Flex>\n )}\n {image && <ImageWithCaption image={image} width={300} height={175} />}\n </Flex>\n <Box>\n {/* <Box color='black'>\n {number ? (\n <CountUp\n end={number}\n duration={1.5}\n delay={0}\n prefix={prefix !== undefined ? prefix : ''}\n suffix={suffix !== undefined ? suffix : ''}\n separator=','\n enableScrollSpy\n scrollSpyOnce\n >\n {({ countUpRef }) => (\n <Text fontSize='5xl' lineHeight={1.1} fontWeight={600} ref={countUpRef} mt={0} />\n )}\n </CountUp>\n ) : (\n <Text fontSize='6xl' lineHeight={1.1} fontWeight={600} mt={0}>\n {prefix !== undefined ? prefix : ''}\n {suffix !== undefined ? suffix : ''}\n </Text>\n )}\n </Box> */}\n <Box color='black'>\n {number ? (\n <>\n {/* This Text is visually hidden but will be read by screen readers */}\n <Text\n fontSize='5xl'\n lineHeight={1.1}\n fontWeight={600}\n mt={0}\n style={{\n position: 'absolute',\n clip: 'rect(1px, 1px, 1px, 1px)',\n overflow: 'hidden',\n }}\n aria-live='polite'\n >\n {`${prefix}${number.toLocaleString()}${suffix}`}\n </Text>\n {/* The CountUp component is hidden from screen readers */}\n <Box aria-hidden='true'>\n <CountUp\n end={number}\n duration={1.5}\n delay={0}\n prefix={prefix !== undefined ? prefix : ''}\n suffix={suffix !== undefined ? suffix : ''}\n separator=','\n enableScrollSpy\n scrollSpyOnce\n >\n {({ countUpRef }) => (\n <Text\n fontSize='5xl'\n lineHeight={1.1}\n fontWeight={600}\n ref={countUpRef}\n mt={0}\n />\n )}\n </CountUp>\n </Box>\n </>\n ) : (\n <Text fontSize='6xl' lineHeight={1.1} fontWeight={600} mt={0}>\n {prefix !== undefined ? prefix : ''}\n {suffix !== undefined ? suffix : ''}\n </Text>\n )}\n </Box>\n <Box width='100%'>\n {afterText && (\n <Text fontWeight={500} marginTop={0} maxWidth='18.75rem' textStyle='h5'>\n {afterText}\n </Text>\n )}\n </Box>\n </Box>\n </Flex>\n );\n}\n\nexport default StatGridItem;\n","import React from 'react';\nimport { Grid, GridItem, Flex, Text, Container } from '@chakra-ui/react';\nimport StatGridItem from './StatGridItem';\nimport { Divider } from '../Divider';\n\nfunction StatGrid({ data }) {\n const { items, title, subtitle } = data || {};\n return (\n <Container maxW='container.xl' direction='column' alignItems='flex-start'>\n <Divider />\n {title && (\n <Flex direction='column' color='black' gap={10} mb={30}>\n <Text fontSize='4xl' fontWeight={700} lineHeight='1' letterSpacing='-0.03em'>\n {title}\n </Text>\n {subtitle && (\n <Text fontSize='md' fontWeight={600} lineHeight={1.1} mb={2}>\n {subtitle}\n </Text>\n )}\n </Flex>\n )}\n <Grid\n templateColumns={{ base: 'repeat(1, 1fr)', md: 'repeat(2, 1fr)', lg: 'repeat(3, 1fr)' }}\n gap={30}\n alignItems='stretch'\n >\n {items.map((item) => (\n <GridItem key={item._key}>\n <StatGridItem item={item} />\n </GridItem>\n ))}\n </Grid>\n </Container>\n );\n}\n\nexport default StatGrid;\n","'use client'\n\n// src/accordion-context.ts\nimport { createDescendantContext } from \"@chakra-ui/descendant\";\nimport { createContext } from \"@chakra-ui/react-context\";\nvar [AccordionStylesProvider, useAccordionStyles] = createContext({\n name: \"AccordionStylesContext\",\n hookName: \"useAccordionStyles\",\n providerName: \"<Accordion />\"\n});\nvar [AccordionItemProvider, useAccordionItemContext] = createContext({\n name: \"AccordionItemContext\",\n hookName: \"useAccordionItemContext\",\n providerName: \"<AccordionItem />\"\n});\nvar [\n AccordionDescendantsProvider,\n useAccordionDescendantsContext,\n useAccordionDescendants,\n useAccordionDescendant\n] = createDescendantContext();\n\nexport {\n AccordionStylesProvider,\n useAccordionStyles,\n AccordionItemProvider,\n useAccordionItemContext,\n AccordionDescendantsProvider,\n useAccordionDescendantsContext,\n useAccordionDescendants,\n useAccordionDescendant\n};\n//# sourceMappingURL=chunk-RUEU7BLR.mjs.map","'use client'\nimport {\n useAccordionDescendant,\n useAccordionDescendants\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/use-accordion.ts\nimport { createContext } from \"@chakra-ui/react-context\";\nimport { useControllableState } from \"@chakra-ui/react-use-controllable-state\";\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\";\nimport { callAllHandlers, warn } from \"@chakra-ui/shared-utils\";\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\";\nfunction useAccordion(props) {\n const {\n onChange,\n defaultIndex,\n index: indexProp,\n allowMultiple,\n allowToggle,\n ...htmlProps\n } = props;\n allowMultipleWarning(props);\n allowMultipleAndAllowToggleWarning(props);\n const descendants = useAccordionDescendants();\n const [focusedIndex, setFocusedIndex] = useState(-1);\n useEffect(() => {\n return () => {\n setFocusedIndex(-1);\n };\n }, []);\n const [index, setIndex] = useControllableState({\n value: indexProp,\n defaultValue() {\n if (allowMultiple)\n return defaultIndex != null ? defaultIndex : [];\n return defaultIndex != null ? defaultIndex : -1;\n },\n onChange\n });\n const getAccordionItemProps = (idx) => {\n let isOpen = false;\n if (idx !== null) {\n isOpen = Array.isArray(index) ? index.includes(idx) : index === idx;\n }\n const onChange2 = (isOpen2) => {\n if (idx === null)\n return;\n if (allowMultiple && Array.isArray(index)) {\n const nextState = isOpen2 ? index.concat(idx) : index.filter((i) => i !== idx);\n setIndex(nextState);\n } else if (isOpen2) {\n setIndex(idx);\n } else if (allowToggle) {\n setIndex(-1);\n }\n };\n return { isOpen, onChange: onChange2 };\n };\n return {\n index,\n setIndex,\n htmlProps,\n getAccordionItemProps,\n focusedIndex,\n setFocusedIndex,\n descendants\n };\n}\nvar [AccordionProvider, useAccordionContext] = createContext({\n name: \"AccordionContext\",\n hookName: \"useAccordionContext\",\n providerName: \"Accordion\"\n});\nfunction useAccordionItem(props) {\n const { isDisabled, isFocusable, id, ...htmlProps } = props;\n const { getAccordionItemProps, setFocusedIndex } = useAccordionContext();\n const buttonRef = useRef(null);\n const reactId = useId();\n const uid = id != null ? id : reactId;\n const buttonId = `accordion-button-${uid}`;\n const panelId = `accordion-panel-${uid}`;\n focusableNotDisabledWarning(props);\n const { register, index, descendants } = useAccordionDescendant({\n disabled: isDisabled && !isFocusable\n });\n const { isOpen, onChange } = getAccordionItemProps(\n index === -1 ? null : index\n );\n warnIfOpenAndDisabled({ isOpen, isDisabled });\n const onOpen = () => {\n onChange == null ? void 0 : onChange(true);\n };\n const onClose = () => {\n onChange == null ? void 0 : onChange(false);\n };\n const onClick = useCallback(() => {\n onChange == null ? void 0 : onChange(!isOpen);\n setFocusedIndex(index);\n }, [index, setFocusedIndex, isOpen, onChange]);\n const onKeyDown = useCallback(\n (event) => {\n const keyMap = {\n ArrowDown: () => {\n const next = descendants.nextEnabled(index);\n next == null ? void 0 : next.node.focus();\n },\n ArrowUp: () => {\n const prev = descendants.prevEnabled(index);\n prev == null ? void 0 : prev.node.focus();\n },\n Home: () => {\n const first = descendants.firstEnabled();\n first == null ? void 0 : first.node.focus();\n },\n End: () => {\n const last = descendants.lastEnabled();\n last == null ? void 0 : last.node.focus();\n }\n };\n const action = keyMap[event.key];\n if (action) {\n event.preventDefault();\n action(event);\n }\n },\n [descendants, index]\n );\n const onFocus = useCallback(() => {\n setFocusedIndex(index);\n }, [setFocusedIndex, index]);\n const getButtonProps = useCallback(\n function getButtonProps2(props2 = {}, ref = null) {\n return {\n ...props2,\n type: \"button\",\n ref: mergeRefs(register, buttonRef, ref),\n id: buttonId,\n disabled: !!isDisabled,\n \"aria-expanded\": !!isOpen,\n \"aria-controls\": panelId,\n onClick: callAllHandlers(props2.onClick, onClick),\n onFocus: callAllHandlers(props2.onFocus, onFocus),\n onKeyDown: callAllHandlers(props2.onKeyDown, onKeyDown)\n };\n },\n [\n buttonId,\n isDisabled,\n isOpen,\n onClick,\n onFocus,\n onKeyDown,\n panelId,\n register\n ]\n );\n const getPanelProps = useCallback(\n function getPanelProps2(props2 = {}, ref = null) {\n return {\n ...props2,\n ref,\n role: \"region\",\n id: panelId,\n \"aria-labelledby\": buttonId,\n hidden: !isOpen\n };\n },\n [buttonId, isOpen, panelId]\n );\n return {\n isOpen,\n isDisabled,\n isFocusable,\n onOpen,\n onClose,\n getButtonProps,\n getPanelProps,\n htmlProps\n };\n}\nfunction allowMultipleWarning(props) {\n const index = props.index || props.defaultIndex;\n const condition = index != null && !Array.isArray(index) && props.allowMultiple;\n warn({\n condition: !!condition,\n message: `If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof index},`\n });\n}\nfunction allowMultipleAndAllowToggleWarning(props) {\n warn({\n condition: !!(props.allowMultiple && props.allowToggle),\n message: `If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not`\n });\n}\nfunction focusableNotDisabledWarning(props) {\n warn({\n condition: !!(props.isFocusable && !props.isDisabled),\n message: `Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n `\n });\n}\nfunction warnIfOpenAndDisabled(props) {\n warn({\n condition: props.isOpen && !!props.isDisabled,\n message: \"Cannot open a disabled accordion item\"\n });\n}\n\nexport {\n useAccordion,\n AccordionProvider,\n useAccordionContext,\n useAccordionItem\n};\n//# sourceMappingURL=chunk-74QY6M57.mjs.map","'use client'\nimport {\n AccordionProvider,\n useAccordion\n} from \"./chunk-74QY6M57.mjs\";\nimport {\n AccordionDescendantsProvider,\n AccordionStylesProvider\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/accordion.tsx\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n useMultiStyleConfig\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { useMemo } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Accordion = forwardRef(function Accordion2({ children, reduceMotion, ...props }, ref) {\n const styles = useMultiStyleConfig(\"Accordion\", props);\n const ownProps = omitThemingProps(props);\n const { htmlProps, descendants, ...context } = useAccordion(ownProps);\n const ctx = useMemo(\n () => ({ ...context, reduceMotion: !!reduceMotion }),\n [context, reduceMotion]\n );\n return /* @__PURE__ */ jsx(AccordionDescendantsProvider, { value: descendants, children: /* @__PURE__ */ jsx(AccordionProvider, { value: ctx, children: /* @__PURE__ */ jsx(AccordionStylesProvider, { value: styles, children: /* @__PURE__ */ jsx(\n chakra.div,\n {\n ref,\n ...htmlProps,\n className: cx(\"chakra-accordion\", props.className),\n __css: styles.root,\n children\n }\n ) }) }) });\n});\nAccordion.displayName = \"Accordion\";\n\nexport {\n Accordion\n};\n//# sourceMappingURL=chunk-CRBMUVJA.mjs.map","'use client'\nimport {\n useAccordionItem\n} from \"./chunk-74QY6M57.mjs\";\nimport {\n AccordionItemProvider,\n useAccordionStyles\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/accordion-item.tsx\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { useMemo } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AccordionItem = forwardRef(\n function AccordionItem2(props, ref) {\n const { children, className } = props;\n const { htmlProps, ...context } = useAccordionItem(props);\n const styles = useAccordionStyles();\n const containerStyles = {\n ...styles.container,\n overflowAnchor: \"none\"\n };\n const ctx = useMemo(() => context, [context]);\n return /* @__PURE__ */ jsx(AccordionItemProvider, { value: ctx, children: /* @__PURE__ */ jsx(\n chakra.div,\n {\n ref,\n ...htmlProps,\n className: cx(\"chakra-accordion__item\", className),\n __css: containerStyles,\n children: typeof children === \"function\" ? children({\n isExpanded: !!context.isOpen,\n isDisabled: !!context.isDisabled\n }) : children\n }\n ) });\n }\n);\nAccordionItem.displayName = \"AccordionItem\";\n\nexport {\n AccordionItem\n};\n//# sourceMappingURL=chunk-JQ2DNXQ3.mjs.map","'use client'\nimport {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/accordion-button.tsx\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AccordionButton = forwardRef(\n function AccordionButton2(props, ref) {\n const { getButtonProps } = useAccordionItemContext();\n const buttonProps = getButtonProps(props, ref);\n const styles = useAccordionStyles();\n const buttonStyles = {\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n outline: 0,\n ...styles.button\n };\n return /* @__PURE__ */ jsx(\n chakra.button,\n {\n ...buttonProps,\n className: cx(\"chakra-accordion__button\", props.className),\n __css: buttonStyles\n }\n );\n }\n);\nAccordionButton.displayName = \"AccordionButton\";\n\nexport {\n AccordionButton\n};\n//# sourceMappingURL=chunk-QCAXGLVH.mjs.map","'use client'\nimport {\n useAccordionContext\n} from \"./chunk-74QY6M57.mjs\";\nimport {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/accordion-icon.tsx\nimport { Icon } from \"@chakra-ui/icon\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction AccordionIcon(props) {\n const { isOpen, isDisabled } = useAccordionItemContext();\n const { reduceMotion } = useAccordionContext();\n const _className = cx(\"chakra-accordion__icon\", props.className);\n const styles = useAccordionStyles();\n const iconStyles = {\n opacity: isDisabled ? 0.4 : 1,\n transform: isOpen ? \"rotate(-180deg)\" : void 0,\n transition: reduceMotion ? void 0 : \"transform 0.2s\",\n transformOrigin: \"center\",\n ...styles.icon\n };\n return /* @__PURE__ */ jsx(\n Icon,\n {\n viewBox: \"0 0 24 24\",\n \"aria-hidden\": true,\n className: _className,\n __css: iconStyles,\n ...props,\n children: /* @__PURE__ */ jsx(\n \"path\",\n {\n fill: \"currentColor\",\n d: \"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n }\n )\n }\n );\n}\nAccordionIcon.displayName = \"AccordionIcon\";\n\nexport {\n AccordionIcon\n};\n//# sourceMappingURL=chunk-YI3ICT2T.mjs.map","'use client'\nimport {\n useAccordionContext\n} from \"./chunk-74QY6M57.mjs\";\nimport {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-RUEU7BLR.mjs\";\n\n// src/accordion-panel.tsx\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { Collapse } from \"@chakra-ui/transition\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AccordionPanel = forwardRef(\n function AccordionPanel2(props, ref) {\n const { className, motionProps, ...rest } = props;\n const { reduceMotion } = useAccordionContext();\n const { getPanelProps, isOpen } = useAccordionItemContext();\n const panelProps = getPanelProps(rest, ref);\n const _className = cx(\"chakra-accordion__panel\", className);\n const styles = useAccordionStyles();\n if (!reduceMotion) {\n delete panelProps.hidden;\n }\n const child = /* @__PURE__ */ jsx(chakra.div, { ...panelProps, __css: styles.panel, className: _className });\n if (!reduceMotion) {\n return /* @__PURE__ */ jsx(Collapse, { in: isOpen, ...motionProps, children: child });\n }\n return child;\n }\n);\nAccordionPanel.displayName = \"AccordionPanel\";\n\nexport {\n AccordionPanel\n};\n//# sourceMappingURL=chunk-5VAIMVHT.mjs.map","import React, { useState } from 'react';\nimport {\n Accordion as ChakraAccordion,\n AccordionItem,\n AccordionButton,\n AccordionPanel,\n AccordionIcon,\n Box,\n Text,\n Flex,\n Container,\n Button,\n} from '@chakra-ui/react';\nimport { RichText } from '../RichText';\nimport { useIsTabbing } from '../../hooks/useIsTabbing';\nimport { Divider } from '../Divider';\n\nfunction Accordion({ data }) {\n const isTabbing = useIsTabbing();\n const { items, heading, source, tableNumber, narrowColumn } = data || {};\n // State to track the expanded state of the accordion items\n const [expandedIndexes, setExpandedIndexes] = useState([]); // Initially, no items are expanded.\n\n // Function to toggle the expanded state of all accordion items\n const toggleExpandAll = () => {\n if (expandedIndexes.length === items.length) {\n // If all items are expanded, collapse all.\n setExpandedIndexes([]);\n } else {\n // If not all items are expanded, expand all.\n setExpandedIndexes(items.map((_, index) => index));\n }\n };\n\n // Function to handle expanding/collapsing an accordion item\n const handleAccordionItemToggle = (index) => {\n if (expandedIndexes.includes(index)) {\n setExpandedIndexes(expandedIndexes.filter((i) => i !== index)); // Collapse the item\n } else {\n setExpandedIndexes([...expandedIndexes, index]); // Expand the item\n }\n };\n\n return (\n <Container as='section' maxWidth={narrowColumn ? 'container.md' : 'container.xl'}>\n <Divider />\n <Flex\n as='header'\n mb={20}\n gap={20}\n direction={{ base: 'column', xl: 'row' }}\n justifyContent='space-between'\n >\n <Box>\n {tableNumber && (\n <Text fontSize='xs' textTransform='uppercase' fontWeight={500} letterSpacing={1}>\n Table {tableNumber}\n </Text>\n )}\n <Text textStyle='h3' as='h2'>\n {heading}\n </Text>\n </Box>\n <Button onClick={toggleExpandAll} mb={4}>\n {expandedIndexes.length === items.length ? 'Collapse All' : 'Expand All'}\n </Button>\n </Flex>\n <ChakraAccordion index={expandedIndexes} allowMultiple>\n {items.map(({ _key, heading, content }, index) => (\n <AccordionItem\n key={_key}\n _focusWithin={{\n boxShadow: isTabbing ? 'var(--chakra-shadows-outline)' : null,\n }}\n >\n <AccordionButton\n _expanded={{\n boxShadow: 'inset 0px 3px 0px 0 navy',\n bg: 'lightBlue',\n }}\n py={20}\n onClick={() => handleAccordionItemToggle(index)}\n >\n <Box flex='1' textAlign='left'>\n <Text fontSize='md' fontWeight={600}>\n {heading}\n </Text>\n </Box>\n <AccordionIcon />\n </AccordionButton>\n <AccordionPanel py={20}>\n <Flex gap={20} flexDirection={{ base: 'column', md: 'row' }}>\n {content.map(({ _key, content, heading }) => (\n <Box key={_key} flex='1' textAlign='left'>\n <Text\n fontSize='xs'\n letterSpacing='0.5px'\n fontWeight={600}\n textTransform='uppercase'\n >\n {heading}\n </Text>\n <RichText value={content} />\n </Box>\n ))}\n </Flex>\n </AccordionPanel>\n </AccordionItem>\n ))}\n </ChakraAccordion>\n <Box as='footer' mt={20}>\n {source && <RichText flex='1' value={source} fontSize='sm' mt={5} lineHeight={1.1} />}\n </Box>\n </Container>\n );\n}\n\nexport default Accordion;\n","import { useState, useEffect } from 'react';\n\n/* Track whether user is interacting via keyboard.\n This is used to determine if we should show focus rings.\n Focus rings should only display on focus when isTabbing is true.\n*/\nexport const useIsTabbing = () => {\n const [isTabbing, setIsTabbing] = useState(false);\n\n useEffect(() => {\n // When a click occurs, set isTabbing false.\n function handleClick() {\n setIsTabbing(false);\n }\n\n // When a tab occurs, set isTabbing true.\n function handleKeydown(e) {\n const isTabEvent = e.keyCode === 9;\n if (isTabEvent) setIsTabbing(true);\n }\n\n window.addEventListener('keydown', handleKeydown);\n window.addEventListener('click', handleClick);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n window.removeEventListener('click', handleClick);\n };\n }, []);\n\n return isTabbing;\n};\n","'use client'\nimport {\n useTableStyles\n} from \"./chunk-GEJVU65N.mjs\";\n\n// src/tfooter.tsx\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Tfoot = forwardRef((props, ref) => {\n const styles = useTableStyles();\n return /* @__PURE__ */ jsx(chakra.tfoot, { ...props, ref, __css: styles.tfoot });\n});\n\nexport {\n Tfoot\n};\n//# sourceMappingURL=chunk-B5H2YLEF.mjs.map","import React from 'react';\nimport {\n TableContainer,\n Table,\n Thead,\n Tbody,\n Tr,\n Th as ChakraTh,\n Td as ChakraTd,\n Tfoot,\n Container,\n Text,\n Flex,\n} from '@chakra-ui/react';\nimport { RichText } from '../RichText';\n\nconst TdIndent = ({ children, ...restProps }) => (\n <ChakraTd\n fontWeight={300}\n paddingLeft={50}\n {...restProps}\n borderBottom='1px solid'\n borderColor='zinc.200'\n >\n {children}\n </ChakraTd>\n);\n\nconst TdBold = ({ children, ...restProps }) => (\n <ChakraTd\n fontWeight={600}\n fontSize={{ base: 'sm', xl: 'md' }}\n {...restProps}\n borderBottom='1px solid'\n borderColor='zinc.200'\n >\n {children}\n </ChakraTd>\n);\n\nconst Td = ({ children, ...restProps }) => (\n <ChakraTd\n fontWeight={300}\n fontSize={{ base: 'sm', xl: 'md' }}\n {...restProps}\n borderBottom='1px solid'\n borderColor='zinc.200'\n >\n {children}\n </ChakraTd>\n);\n\nconst ThFooter = ({ children, ...restProps }) => (\n <ChakraTh\n fontWeight={300}\n fontSize={{ base: 'sm', xl: 'md' }}\n {...restProps}\n padding={10}\n color='black'\n textTransform='none'\n >\n {children}\n </ChakraTh>\n);\n\nconst Th = ({ children, ...restProps }) => (\n <ChakraTh fontWeight={600} fontSize='xs' padding={10} color='black' {...restProps}>\n {children}\n </ChakraTh>\n);\n\nconst BudgetTable = ({ data }) => {\n const { title, subtitle, tableNumber, source } = data;\n\n return (\n <Container maxW='container.xl' padding={{ base: 30, xl: 60 }}>\n <Flex\n flexDirection={{ base: 'column', xl: 'row' }}\n gap={{ base: 0, xl: 30 }}\n p={20}\n background='zinc.100'\n >\n <Flex flexDirection='column' mb={20} alignItems='flex-start' spacing='2px' flex='1'>\n {tableNumber && (\n <Text fontSize='xs' textTransform='uppercase' fontWeight={500} letterSpacing={1}>\n {tableNumber}\n </Text>\n )}\n {title && (\n <Text as='h2' textStyle='h4' fontWeight={600}>\n {title}\n </Text>\n )}\n {subtitle && (\n <RichText value={subtitle} fontSize='14px' fontWeight={500} lineHeight={1.1} />\n )}\n </Flex>\n <TableContainer flex='4'>\n <Table variant='simple' size='sm'>\n <Thead>\n <Tr>\n <Th borderBottom='1px solid black' />\n <Th borderBottom='1px solid black'>FY23 Total Budget</Th>\n <Th borderBottom='1px solid black'>FY23 Outturn</Th>\n <Th borderBottom='1px solid black'>FY24 Structural</Th>\n <Th borderBottom='1px solid black'>FY24 Temporary</Th>\n <Th borderBottom='1px solid black'>FY24 Total Budget</Th>\n <Th borderBottom='1px solid black'>FY24 Outturn</Th>\n <Th borderBottom='1px solid black'>FY25 Total Budget</Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr>\n <TdBold>Gross Fund Financed</TdBold>\n <TdBold>1,432</TdBold>\n <TdBold>1,327</TdBold>\n <TdBold>1,455</TdBold>\n <TdBold>95</TdBold>\n <TdBold>1,551</TdBold>\n <TdBold>1,450</TdBold>\n <TdBold>1,642</TdBold>\n </Tr>\n <Tr>\n <TdIndent>Net administrative budget</TdIndent>\n <Td>1,295</Td>\n <Td>1,294</Td>\n <Td>1,411</Td>\n <Td>-</Td>\n <Td>1,411</Td>\n <Td>1,410</Td>\n <Td>1,501</Td>\n </Tr>\n <Tr>\n <TdIndent>o/w FY augmentation</TdIndent>\n <Td>23</Td>\n <Td>-</Td>\n <Td>29</Td>\n <Td>-</Td>\n <Td>29</Td>\n <Td>-</Td>\n <Td>30</Td>\n </Tr>\n <Tr>\n <TdIndent>o/w OED budget increase</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>9</Td>\n </Tr>\n <Tr>\n <TdIndent>o/w Annual Meetings</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>7</Td>\n <Td>-</Td>\n <Td>7</Td>\n <Td>7</Td>\n <Td>-</Td>\n </Tr>\n <Tr>\n <TdIndent>General Receipts¹</TdIndent>\n <Td>36</Td>\n <Td>33</Td>\n <Td>44</Td>\n <Td>-1</Td>\n <Td>44</Td>\n <Td>40</Td>\n <Td>48</Td>\n </Tr>\n <Tr>\n <TdIndent>Carryforward and Other</TdIndent>\n <Td>102</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>96</Td>\n <Td>96</Td>\n <Td>-</Td>\n <Td>94</Td>\n </Tr>\n <Tr>\n <TdBold>Gross Externally Financed²</TdBold>\n <TdBold>236</TdBold>\n <TdBold>195</TdBold>\n <TdBold>250</TdBold>\n <TdBold>7</TdBold>\n <TdBold>257</TdBold>\n <TdBold>216</TdBold>\n <TdBold>283</TdBold>\n </Tr>\n <Tr>\n <TdIndent>Receipts (largely CD-related)</TdIndent>\n <Td>230</Td>\n <Td>195</Td>\n <Td>250</Td>\n <Td>-</Td>\n <Td>250</Td>\n <Td>219</Td>\n <Td>276</Td>\n </Tr>\n <Tr>\n <TdIndent>Carryforward (limit)</TdIndent>\n <Td>6</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>7</Td>\n <Td>7</Td>\n <Td>-</Td>\n <Td>8</Td>\n </Tr>\n <Tr>\n <TdBold>Gross Administrative Envelope</TdBold>\n <TdBold>1,668</TdBold>\n <TdBold>1,522</TdBold>\n <TdBold>1,706</TdBold>\n <TdBold>102</TdBold>\n <TdBold>1,808</TdBold>\n <TdBold>1,666</TdBold>\n <TdBold>1,925</TdBold>\n </Tr>\n <Tr>\n <TdBold>Capital³</TdBold>\n <TdBold>78</TdBold>\n <TdBold>96</TdBold>\n <TdBold>108</TdBold>\n <TdBold>-</TdBold>\n <TdBold>108</TdBold>\n <TdBold>110</TdBold>\n <TdBold>122</TdBold>\n </Tr>\n <Tr>\n <TdIndent>Facilities</TdIndent>\n <Td>19</Td>\n <Td>38</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>47</Td>\n <Td>49</Td>\n <Td>54</Td>\n </Tr>\n <Tr>\n <TdIndent>IT Intensive - Direct</TdIndent>\n <Td>44</Td>\n <Td>45</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>41</Td>\n <Td>42</Td>\n <Td>45</Td>\n </Tr>\n <Tr>\n <TdIndent>IT Intensive - Cloud Capital Equivalent</TdIndent>\n <Td>15</Td>\n <Td>13</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>20</Td>\n <Td>19</Td>\n <Td>23</Td>\n </Tr>\n </Tbody>\n <Tfoot borderTop='2px solid black'>\n <Tr>\n <ThFooter>Carryforward</ThFooter>\n <TdBold>93</TdBold>\n <TdBold>-</TdBold>\n <TdBold>-</TdBold>\n <TdBold>87</TdBold>\n <TdBold>87</TdBold>\n <TdBold>-</TdBold>\n <TdBold>79</TdBold>\n </Tr>\n </Tfoot>\n </Table>\n </TableContainer>\n </Flex>\n {source && (\n <RichText value={source} fontSize='xs' fontWeight={300} mt={10} lineHeight={1.3} />\n )}\n </Container>\n );\n};\n\nexport default BudgetTable;\n","import { LendingMap } from '../LendingMap';\nimport { Figure } from '../Figure';\nimport { Chart } from '../Chart';\nimport { StatBlock } from '../StatBlock';\nimport { Section } from '../Section';\nimport { PolicyPapers } from '../PolicyPapers';\nimport { PeopleGrid } from '../PeopleGrid';\nimport { ManagementTeam } from '../ManagementTeam';\nimport { CalloutBox } from '../CalloutBox';\nimport { SectionLink } from '../SectionLink';\nimport { TabGroup } from '../TabGroup';\nimport { Columns } from '../Columns';\nimport { StatGrid } from '../StatGrid';\nimport { Accordion } from '../Accordion';\nimport { BudgetTable } from '../BudgetTable';\n\nexport const sectionDictionary = {\n lendingMap: LendingMap,\n figure: Figure,\n section: Section,\n chart: Chart,\n statBlock: StatBlock,\n policyPaperBlock: PolicyPapers,\n peopleBlock: PeopleGrid,\n managementTeamBlock: ManagementTeam,\n calloutBox: CalloutBox,\n sectionLink: SectionLink,\n tabGroup: TabGroup,\n columnGroup: Columns,\n statGrid: StatGrid,\n accordion: Accordion,\n budgetTable: BudgetTable,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { PortableText } from '@portabletext/react';\nimport { Grid, GridItem } from '@chakra-ui/react';\nimport { SectionZone } from '../SectionZone';\nimport { components } from '../RichText/components';\n\nexport default function Section({ data, children }) {\n const { body, rightColumn, leftColumn, alignItems, singleColumn, dropCap, textCentered } =\n data || {};\n const rightColumnRef = useRef(null);\n const leftColumnRef = useRef(null);\n const [isRightSticky, setIsRightSticky] = useState(false);\n const [isLeftSticky, setIsLeftSticky] = useState(false);\n\n useEffect(() => {\n const checkSticky = () => {\n const windowHeight = window.innerHeight - 100;\n const windowWidth = window.innerWidth;\n const rightColumnHeight = rightColumnRef?.current?.clientHeight;\n const leftColumnHeight = leftColumnRef?.current?.clientHeight;\n\n if (windowWidth >= 1280) {\n setIsRightSticky(rightColumnHeight < windowHeight);\n setIsLeftSticky(leftColumnHeight < windowHeight);\n } else {\n setIsRightSticky(false);\n setIsLeftSticky(false);\n }\n };\n\n checkSticky();\n\n window.addEventListener('resize', checkSticky);\n return () => {\n window.removeEventListener('resize', checkSticky);\n };\n }, []);\n\n return (\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n xl: singleColumn ? '1fr' : 'minmax(0, 3fr) minmax(0, 7fr) minmax(0, 3fr)',\n }}\n gap={{ base: 30, xl: 60 }}\n alignItems={alignItems || 'flex-start'}\n maxWidth={singleColumn ? 'container.md' : 'none'}\n mx='auto'\n textAlign={textCentered && 'center'}\n >\n <GridItem\n display='flex'\n flexDirection='column'\n gap={30}\n position={isLeftSticky ? 'sticky' : 'static'}\n top='7.1875rem'\n px={{ base: 30, xl: 0 }}\n className='leftColumn'\n ref={leftColumnRef}\n >\n {leftColumn &&\n leftColumn.map((section) => (\n <SectionZone key={section._key || section._id} section={section} side />\n ))}\n </GridItem>\n\n <GridItem\n background='white'\n px={{ base: 30, xl: 0 }}\n className={`section ${dropCap ? 'dropCap' : ''}`}\n >\n {children}\n <PortableText value={body} components={components} />\n </GridItem>\n\n <GridItem\n display='flex'\n flexDirection='column'\n gap={30}\n position={isRightSticky ? 'sticky' : 'static'}\n top='7.1875rem'\n px={{ base: 30, xl: 0 }}\n className='rightColumn'\n ref={rightColumnRef}\n >\n {rightColumn &&\n rightColumn.map((section) => (\n <SectionZone key={section._key || section._id} section={section} side />\n ))}\n </GridItem>\n </Grid>\n );\n}\n","import React, { useState } from 'react';\nimport { Box, Text } from '@chakra-ui/react';\nimport { withPrefix } from 'gatsby';\n\nexport default function ManagementTeam() {\n const [activeArea, setActiveArea] = useState(null);\n const people = [\n 'Gita Gopinath',\n 'Bo Li',\n 'Kristalina Georgieva',\n 'Kenji Okamura',\n 'Antoinette Sayeh',\n ];\n\n const peopleTitle = [\n 'First Deputy Managing Director',\n 'Deputy Managing Director',\n 'Managing Director',\n 'Deputy Managing Director',\n 'Deputy Managing Director',\n ];\n\n const mapArea = [\n {\n width: '10%',\n height: '65%',\n left: '13%',\n top: '17%',\n },\n {\n width: '10%',\n height: '65%',\n left: '27%',\n top: '17%',\n },\n {\n width: '10%',\n height: '65%',\n left: '44%',\n top: '17%',\n },\n {\n width: '10%',\n height: '65%',\n left: '59%',\n top: '17%',\n },\n {\n width: '10%',\n height: '65%',\n left: '76%',\n top: '17%',\n },\n ];\n\n return (\n <Box as='figure' px={{ base: 30, xl: 60 }} mb={{ base: 30, md: 60 }}>\n <Box padding={20} backgroundColor='zinc.100'>\n <Box position='relative' overflow='hidden'>\n {mapArea.map((area, index) => (\n <Box\n as='div'\n key={index}\n position='absolute'\n width={area.width}\n height={area.height}\n left={area.left}\n top={area.top}\n zIndex='1'\n onMouseOver={() => setActiveArea(index)}\n onMouseOut={() => setActiveArea(null)}\n aria-controls='person-info'\n cursor='pointer'\n />\n ))}\n <img src={`${withPrefix('/')}management-team.jpg`} alt='Management Team' />\n <Box\n position='absolute'\n bottom='0'\n left='0'\n width='100%'\n padding={20}\n background='rgba(0,0,0,.5)'\n color='white'\n zIndex='2'\n textAlign='center'\n transform={activeArea !== null ? 'translateY(0)' : 'translateY(100%)'}\n transition='transform 0.25s ease-in'\n id='person-info'\n aria-live='polite'\n >\n <Text fontSize='md' fontWeight='600' textTransform='uppercase'>\n {people[activeArea] || ' '}\n </Text>\n <Text fontSize='sm' fontWeight='normal'>\n {peopleTitle[activeArea] || ' '}\n </Text>\n </Box>\n </Box>\n </Box>\n <Box maxWidth='container.sm' px={20} mx='auto' mt={20}>\n <Box as='figcaption'>\n <Text fontSize='sm'>\n From left to right: First Deputy Managing Director: GITA GOPINATH, Deputy Managing\n Director: BO LI, Managing Director: KRISTALINA GEORGIEVA, Deputy Managing Director:\n KENJI OKAMURA, Deputy Managing Director: ANTOINETTE SAYEH.\n </Text>\n </Box>\n </Box>\n </Box>\n );\n}\n","import React from 'react';\nimport { sectionDictionary } from './sectionDictionary';\n\nfunction SectionZone({ section, side, index, children }) {\n const { _type } = section;\n let Component;\n\n if (sectionDictionary.hasOwnProperty(_type)) {\n Component = sectionDictionary[section._type];\n } else {\n return null;\n }\n\n return (\n <Component data={section} side={side || false} index={index}>\n {children}\n </Component>\n );\n}\n\nexport default SectionZone;\n","import * as React from 'react';\nimport { Box, Container } from '@chakra-ui/react';\nimport { Hero } from '../components/Hero';\nimport { ReadNext } from '../components/ReadNext';\nimport { Layout } from '../components/Layout';\nimport { SectionZone } from '../components/SectionZone';\nimport { SEO } from '../components/SEO';\n\nexport default function Page({ pageContext }) {\n const { sections, readNext, slug, section, image, title, parallaxHero, imageLocation } =\n pageContext || {};\n\n return (\n <Layout>\n <Hero data={{ image, title, section, slug, parallaxHero, imageLocation }} />\n <Box position='relative' zIndex='1' width='100%' background='white'>\n <Container\n display='flex'\n flexDirection='column'\n maxWidth='container.xl'\n gap={18}\n pb={{ base: 30, md: 60 }}\n px={{ base: 0 }}\n >\n {sections &&\n sections.map((section, index) => (\n <Box as='section' key={section._key || section._id}>\n <SectionZone section={section} index={index} />\n </Box>\n ))}\n {readNext.length ? <ReadNext data={readNext} /> : null}\n </Container>\n </Box>\n </Layout>\n );\n}\n\nexport const Head = ({ pageContext }) => {\n const { title } = pageContext || {};\n return <SEO title={title} />;\n};\n"],"names":["setVariants","visualElement","variantLabels","reverse","forEach","key","variant","getVariant","variantChildren","child","animationControls","hasMounted","subscribers","Set","controls","subscribe","add","delete","start","definition","transitionOverride","animations","push","Promise","all","set","Array","isArray","setValues","stop","values","value","stopAnimation","mount","useAnimation","MotionBox","chakra","motion","div","shouldForwardProp","prop","isValidMotionProp","_ref","_image$asset","_image$asset2","image","scrollY","setScrollY","useState","containerRef","useRef","imageRef","prefersReducedMotion","usePrefersReducedMotion","handleScroll","window","useEffect","addEventListener","removeEventListener","updateAnimation","containerHeight","current","clientHeight","maxOffset","yOffset","Math","min","y","transition","type","stiffness","damping","React","Box","ref","position","width","height","base","md","overflow","backgroundColor","as","animate","undefined","display","SanityImage","Object","assign","alt","asset","altText","hotspot","crop","style","objectFit","title","bottom","right","maxWidth","fontWeight","color","textShadow","padding","borderRadius","data","children","alignItems","textAlign","section","parallaxHero","imageLocation","py","px","lg","mb","flex","mr","ml","borderBottom","borderStyle","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","mx","SectionTag","flexDirection","richTitle","RichText","textStyle","Text","bg","maxHeight","ParallaxHero","ParallaxCard","images","aspectRatio","ViewIcon","displayName","path","jsxs","jsx","cx","cy","r","showSectionTag","hideExcerpt","visited","excerpt","VisitedBox","Flex","textTransform","fontSize","gap","background","mt","direction","justifyContent","lineHeight","sx","WebkitBoxOrient","WebkitLineClamp","textOverflow","useWindowMouseEvents","sectionArea","slug","Link","to","GatsbyLink","_hover","textDecoration","role","CardMedia","MemoizedSanityImage","ImageContent","round","objectPosition","CardText","_ref2","paddingTop","paddingBottom","_groupHover","transform","ImageCard","_ref3","linkProps","useMemo","minHeight","imageContentProps","cardTextProps","zIndex","marginTop","bgGradient","isVisited","url","localStorage","getItem","SectionCard","layout","largeTitle","largerTitle","linkUrl","setVisited","handleClick","useCallback","setItem","cardContent","CardTextArea","FeaturedCard","onClick","xl","Container","maxW","borderTop","pt","map","index","Heading","props","styles","className","rest","h2","__css","CategoryDropdown","papers","setSelectedCategory","selectedCategory","id","categories","paper","category","trimmedCategory","trim","includes","Select","size","onChange","event","target","border","sortObjectsByDate","objects","sort","a","b","Date","date","PAPER_QUERY","policyPaperData","useStaticQuery","visibilePapers","setVisiblePapers","allVisibile","setAllVisible","papersRef","papersListRef","slice","filteredPapers","filter","scrollIntoView","behavior","_papersListRef$curren","_papersListRef$curren2","firstLink","querySelector","focus","Categories","flexWrap","Button","letterSpacing","length","scrollMarginTop","my","align","justify","FormLabel","htmlFor","SimpleGrid","columns","summary","press_release","VStack","pb","pl","borderLeft","_before","content","left","top","dateString","dateParts","split","year","substring","month","parseInt","day","formatDate","href","ArrowForwardIcon","ModalFooter","_className","footerStyles","footer","ArrowBackIcon","GridItem","isFocused","onFocusChange","person","onOpen","tabIndex","onFocus","handleFocus","handleItemClick","el","name","PEOPLE_QUERY","PeopleGrid","focusedIndex","setFocusedIndex","isModalOpen","setIsModalOpen","instructionsDisplayed","setInstructionsDisplayed","gridRef","people","finalRef","handleModalOpen","handleModalPrev","prevIndex","max","handleModalNext","handleKeyDown","shiftKey","blur","AlternatesText","alternates","Grid","gridTemplateColumns","columnGap","rowGap","Modal","isOpen","onClose","handleModalClose","finalFocusRef","ModalOverlay","ModalContent","backdropFilter","backdropBlur","ModalCloseButton","margin","ModalBody","AspectRatio","ratio","constituency","isDisabled","useControllableState","valueProp","defaultValue","shouldUpdate","prev","next","onChangeProp","shouldUpdateProp","uncontrolledState","setUncontrolledState","controlled","setValue","nextValue","TabsDescendantsProvider","useTabsDescendantsContext","useTabsDescendants","useTabsDescendant","TabsProvider","useTabsContext","errorMessage","TabPanelProvider","useTabPanelContext","makeTabId","makeTabPanelId","TabsStylesProvider","useTabsStyles","Tabs","htmlProps","descendants","ctx","_a","defaultIndex","isManual","isLazy","lazyBehavior","orientation","selectedIndex","setSelectedIndex","uuid","useId","useTabs","context","isFitted","_","rootProps","tabsStyles","root","TabList","tablistProps","onKeyDown","nextTab","nextEnabled","node","prevTab","prevEnabled","isHorizontal","isVertical","eventKey","ArrowStart","ArrowEnd","action","ArrowDown","ArrowUp","Home","first","firstEnabled","End","last","lastEnabled","preventDefault","useTabList","tablistStyles","tablist","Tab","tabProps","isFocusable","register","disabled","isSelected","useTab","tabStyles","outline","tab","button","TabPanels","panelsProps","createElement","tabId","useTabPanels","tabpanels","TabPanel","panelProps","hasBeenSelected","wasSelected","enabled","mode","hidden","useTabPanel","tabpanel","tabs","selectedTab","setSelectedTab","Divider","borderRight","borderColor","pr","_selected","_key","chart","Chart","_icon$asset","item","number","afterText","prefix","suffix","icon","ImageWithCaption","clip","toLocaleString","CountUp","end","duration","delay","separator","enableScrollSpy","scrollSpyOnce","countUpRef","items","subtitle","templateColumns","StatGridItem","AccordionStylesProvider","useAccordionStyles","hookName","providerName","AccordionItemProvider","useAccordionItemContext","AccordionDescendantsProvider","useAccordionDescendantsContext","useAccordionDescendants","useAccordionDescendant","useAccordion","indexProp","allowMultiple","allowToggle","condition","message","allowMultipleWarning","allowMultipleAndAllowToggleWarning","setIndex","getAccordionItemProps","idx","isOpen2","nextState","concat","i","AccordionProvider","useAccordionContext","useAccordionItem","buttonRef","reactId","uid","buttonId","panelId","focusableNotDisabledWarning","warnIfOpenAndDisabled","getButtonProps","props2","getPanelProps","Accordion","reduceMotion","ownProps","AccordionItem","containerStyles","container","overflowAnchor","isExpanded","AccordionButton","buttonProps","buttonStyles","AccordionIcon","iconStyles","opacity","transformOrigin","I","AccordionPanel","motionProps","panel","in","isTabbing","useIsTabbing","setIsTabbing","handleKeydown","e","keyCode","heading","source","tableNumber","narrowColumn","expandedIndexes","setExpandedIndexes","toggleExpandAll","ChakraAccordion","_focusWithin","boxShadow","_expanded","_toConsumableArray","handleAccordionItemToggle","Tfoot","tfoot","TdIndent","restProps","ChakraTd","paddingLeft","TdBold","Td","ThFooter","_ref4","ChakraTh","Th","_ref5","_ref6","p","spacing","TableContainer","Table","Thead","Tr","Tbody","sectionDictionary","lendingMap","LendingMap","figure","Figure","body","rightColumn","leftColumn","singleColumn","dropCap","textCentered","rightColumnRef","leftColumnRef","isRightSticky","setIsRightSticky","isLeftSticky","setIsLeftSticky","checkSticky","_rightColumnRef$curre","_leftColumnRef$curren","windowHeight","innerHeight","windowWidth","innerWidth","rightColumnHeight","leftColumnHeight","SectionZone","_id","side","PortableText","components","statBlock","StatBlock","policyPaperBlock","PolicyPapers","peopleBlock","managementTeamBlock","activeArea","setActiveArea","area","onMouseOver","onMouseOut","cursor","src","withPrefix","calloutBox","CalloutBox","sectionLink","SectionLink","tabGroup","TabGroup","columnGroup","Columns","statGrid","StatGrid","accordion","budgetTable","BudgetTable","_type","Component","hasOwnProperty","Page","pageContext","sections","readNext","Layout","Hero","ReadNext","Head","SEO"],"sourceRoot":""}