{"version":3,"file":"component---src-templates-page-js-3181ee0ad4455daa3dfe.js","mappings":"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","sources":["webpack://imf-2023/./src/components/ReadNext/ReadNext.js","webpack://imf-2023/./src/components/Hero/Hero.js","webpack://imf-2023/./node_modules/@chakra-ui/layout/dist/chunk-B2MGPQRJ.mjs","webpack://imf-2023/./node_modules/@chakra-ui/layout/dist/chunk-QJDVAY5Z.mjs","webpack://imf-2023/./src/components/PolicyPapers/PolicyPapers.js","webpack://imf-2023/./node_modules/@chakra-ui/modal/dist/chunk-YI7XFFAC.mjs","webpack://imf-2023/./node_modules/@chakra-ui/icons/dist/chunk-UESP75NN.mjs","webpack://imf-2023/./src/components/PeopleGrid/PeopleGrid.js","webpack://imf-2023/./node_modules/@chakra-ui/clickable/dist/chunk-XHZNOLJR.mjs","webpack://imf-2023/./node_modules/@chakra-ui/clickable/dist/chunk-YGQKU5RK.mjs","webpack://imf-2023/./node_modules/@chakra-ui/descendant/dist/chunk-N7WDF4QK.mjs","webpack://imf-2023/./node_modules/@chakra-ui/descendant/dist/chunk-D5UZ3RNN.mjs","webpack://imf-2023/./node_modules/@chakra-ui/descendant/dist/chunk-P6SLLHUK.mjs","webpack://imf-2023/./node_modules/@chakra-ui/react-use-controllable-state/dist/index.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-ROBISDLO.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-ZWUY3VWT.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-ZWLVZLKQ.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-TPBRUKW6.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-45U2LZ4E.mjs","webpack://imf-2023/./node_modules/@chakra-ui/tabs/dist/chunk-7W5ZCZ76.mjs","webpack://imf-2023/./src/components/TabGroup/TabGroup.js","webpack://imf-2023/./src/components/Columns/Columns.js","webpack://imf-2023/./src/components/StatGrid/StatGridItem.js","webpack://imf-2023/./src/components/StatGrid/StatGrid.js","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-JST25EWU.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-JDQBKIKM.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-3VH7AMBV.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-I3JYRBXX.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-APVWO53B.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-IXS34X2E.mjs","webpack://imf-2023/./node_modules/@chakra-ui/accordion/dist/chunk-WA4Q3J7T.mjs","webpack://imf-2023/./src/components/Accordion/Accordion.js","webpack://imf-2023/./src/hooks/useIsTabbing.js","webpack://imf-2023/./node_modules/@chakra-ui/table/dist/chunk-PEV6T2J3.mjs","webpack://imf-2023/./src/components/BudgetTable/BudgetTable.js","webpack://imf-2023/./src/components/SectionZone/sectionDictionary.js","webpack://imf-2023/./src/components/Section/Section.js","webpack://imf-2023/./src/components/ManagementTeam/ManagementTeam.js","webpack://imf-2023/./src/components/SectionZone/SectionZone.js","webpack://imf-2023/./src/templates/page.js","webpack://imf-2023/./node_modules/@chakra-ui/media-query/dist/chunk-VNAUZPVA.mjs","webpack://imf-2023/./node_modules/@chakra-ui/media-query/dist/chunk-MG6WC47T.mjs"],"sourcesContent":["import React from 'react';\nimport { Link as GatsbyLink } from 'gatsby';\nimport { Link, AspectRatio, Text, Flex, Box, Container } from '@chakra-ui/react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\nimport { ArrowForwardIcon } from '@chakra-ui/icons';\n\nfunction ReadNext({ data }) {\n const { section, slug, title, hero } = data;\n return (\n <Container\n maxW='container.xl'\n borderTop='1px solid'\n borderBottom='px solid'\n borderColor='gray.300'\n pt={30}\n px={{ base: 0, xl: 60 }}\n as='section'\n >\n <Link\n to={`/${section === 'single' ? '' : `${section}/`}${slug.current}`}\n as={GatsbyLink}\n _hover={{\n textDecoration: 'none',\n }}\n data-group\n display='flex'\n flexDirection={{ base: 'column', xl: 'row' }}\n gap={{ base: 20, xl: 0 }}\n alignItems='center'\n px={{ base: 30, xl: 0 }}\n >\n <Flex\n flex={{ base: '0 0 100%', xl: '0 0 50%' }}\n width='100%'\n align='center'\n direction='column'\n gap={{ base: 20, xl: 60 }}\n alignItems='center'\n order={{ base: 2, xl: 1 }}\n >\n <AspectRatio ratio={{ base: 1.8, xl: 1.8 }} width='100%' overflow='hidden'>\n <Box\n transition='transform 1s ease-in-out'\n width='100%'\n height='100%'\n _groupHover={{\n transform: 'scale(1.1)',\n }}\n >\n <SanityImage\n {...hero.image}\n alt={hero?.image?.asset?.altText}\n width={690}\n height={383}\n hotspot={hero.image.hotspot}\n crop={hero.image.crop}\n style={{ height: '100%', width: '100%', objectFit: 'cover' }}\n />\n </Box>\n </AspectRatio>\n </Flex>\n <Flex\n flex='50%'\n direction='column'\n gap={10}\n px={{ base: 0, xl: 60 }}\n order={{ base: 1, xl: 2 }}\n >\n <Text\n textStyle='h3'\n textTransform='uppercase'\n transition='color 0.2s ease-in-out'\n flex='50%'\n _before={{\n content: '\"\"',\n display: 'inline-block',\n width: '15px',\n height: '15px',\n marginRight: '10px',\n background: 'navy',\n }}\n >\n Read Next\n </Text>\n <Flex direction='row' gap={10} alignItems='center'>\n <Text textStyle='h2' transition='color 0.2s ease-in-out' flex='50%' color='navy'>\n {title}\n </Text>\n <ArrowForwardIcon\n _groupHover={{\n transform: 'translateX(10px)',\n }}\n transition='transform 1s ease-in-out'\n boxSize={8}\n color='navy'\n />\n </Flex>\n <Text textStyle='body' transition='color 0.2s ease-in-out' flex='50%' paddingRight={30}>\n {hero?.subtitle}\n </Text>\n </Flex>\n </Link>\n </Container>\n );\n}\n\nexport default ReadNext;\n","import React from 'react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\nimport {\n AspectRatio,\n Box,\n chakra,\n shouldForwardProp,\n Text,\n usePrefersReducedMotion,\n} from '@chakra-ui/react';\nimport { motion, isValidMotionProp } from 'framer-motion';\nimport { withPrefix } from 'gatsby';\n\nconst AnimatedBox = chakra(motion.div, {\n shouldForwardProp: (prop) => isValidMotionProp(prop) || shouldForwardProp(prop),\n});\n\nconst AnimatedRevealBox = chakra(motion.div, {\n shouldForwardProp: (prop) => isValidMotionProp(prop) || shouldForwardProp(prop),\n});\n\nconst AnimatedLocationBox = chakra(motion.figcaption, {\n shouldForwardProp: (prop) => isValidMotionProp(prop) || shouldForwardProp(prop),\n});\n\nfunction Hero({ data }) {\n const prefersReducedMotion = usePrefersReducedMotion();\n const { image, useVideo, location, slug } = data || {};\n\n return (\n <Box as='section' position='sticky' top={{ base: '4.375rem', xl: '5.5rem' }}>\n <figure>\n {image && (\n <AspectRatio ratio={2.5} overflow='hidden'>\n <AnimatedBox\n animate={{\n opacity: [0, 1],\n transform: ['scale(1.1)', 'scale(1)'],\n }}\n transition={{\n duration: 2,\n ease: 'easeInOut',\n delay: 1,\n }}\n >\n {useVideo && !prefersReducedMotion ? (\n <Box\n as='video'\n autoPlay\n loop\n muted\n playsInline\n width='100%'\n height='100%'\n objectFit='cover'\n >\n <source src={`${withPrefix('/')}${slug.current}.mp4`} type='video/mp4' />\n </Box>\n ) : (\n <SanityImage\n {...image}\n alt={image?.asset?.altText}\n width={1200}\n height={800}\n hotspot={image?.hotspot}\n crop={image?.crop}\n style={{\n width: '100%',\n height: 'auto',\n objectFit: 'cover',\n }}\n />\n )}\n </AnimatedBox>\n </AspectRatio>\n )}\n {image && (\n <AnimatedRevealBox\n animate={{\n transform: ['scaleX(0)', 'scaleX(1)', 'scaleX(1)', 'scaleX(0)'],\n transformOrigin: ['0% 50%', '0% 50%', '100% 50%', '100% 50%'],\n }}\n transition={{\n duration: 2,\n ease: 'easeInOut',\n }}\n position='absolute'\n top='0'\n left='0'\n right='0'\n bottom='0'\n zIndex='1'\n background='navy'\n />\n )}\n {location && (\n <AnimatedLocationBox\n animate={{\n opacity: [0, 1],\n }}\n transition={{\n duration: 2,\n ease: 'easeInOut',\n delay: 1,\n }}\n position='absolute'\n top='10'\n right='20'\n padding={5}\n background='rgba(0,0,0,.5)'\n >\n <Text color='white' fontSize='sm'>\n {location}\n </Text>\n </AnimatedLocationBox>\n )}\n </figure>\n </Box>\n );\n}\n\nexport default Hero;\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","import {\n Grid\n} from \"./chunk-5FO2ZLZM.mjs\";\n\n// src/simple-grid.tsx\nimport {\n forwardRef,\n getToken,\n useTheme\n} from \"@chakra-ui/system\";\nimport { mapResponsive } from \"@chakra-ui/breakpoint-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SimpleGrid = forwardRef(\n function SimpleGrid2(props, ref) {\n const { columns, spacingX, spacingY, spacing, minChildWidth, ...rest } = props;\n const theme = useTheme();\n const templateColumns = minChildWidth ? widthToColumns(minChildWidth, theme) : countToColumns(columns);\n return /* @__PURE__ */ jsx(\n Grid,\n {\n ref,\n gap: spacing,\n columnGap: spacingX,\n rowGap: spacingY,\n templateColumns,\n ...rest\n }\n );\n }\n);\nSimpleGrid.displayName = \"SimpleGrid\";\nfunction toPx(n) {\n return typeof n === \"number\" ? `${n}px` : n;\n}\nfunction widthToColumns(width, theme) {\n return mapResponsive(width, (value) => {\n const _value = getToken(\"sizes\", value, toPx(value))(theme);\n return value === null ? null : `repeat(auto-fit, minmax(${_value}, 1fr))`;\n });\n}\nfunction countToColumns(count) {\n return mapResponsive(\n count,\n (value) => value === null ? null : `repeat(${value}, minmax(0, 1fr))`\n );\n}\n\nexport {\n SimpleGrid\n};\n","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} 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 const Categories = ({ categories }) => (\n // Split the categories into buttons which can be clicked to filter the papers\n <Flex gap={5}>\n {categories.map((category, index) => (\n <React.Fragment key={category + index}>\n <Button\n textTransform='uppercase'\n letterSpacing='0.5px'\n fontSize='0.875rem'\n key={category}\n variant='link'\n onClick={() => setSelectedCategory(category)}\n aria-label={`Filter papers by ${category}`}\n >\n {category}\n </Button>\n {index < categories.length - 1 && <Text>/</Text>}\n </React.Fragment>\n ))}\n </Flex>\n );\n\n return (\n <Box\n as='section'\n ref={papersRef}\n scrollMarginTop={60}\n bg='grey.light'\n padding={{ base: 30, xl: 60 }}\n mx={{ base: 30, xl: 60 }}\n >\n <Container maxWidth='container.md' px={{ base: 0, xl: 60 }}>\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 <Heading as='h2' textStyle='h2' fontWeight={600}>\n Policy Papers\n </Heading>\n <Text>Filtered by {selectedCategory}</Text>\n </Box>\n <Box>\n <Text>Filter</Text>\n <CategoryDropdown\n papers={papers}\n setSelectedCategory={setSelectedCategory}\n selectedCategory={selectedCategory}\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 }) => {\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 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 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","import {\n useModalStyles\n} from \"./chunk-UUGUEMMH.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","// 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","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';\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 padding={5}\n onClick={handleItemClick}\n ref={(el) => {\n if (isFocused && el) {\n el.focus();\n }\n }}\n >\n <Box as='figure' data-group>\n <AspectRatio\n ratio={1.6}\n width='100%'\n transition='transform 0.2s ease-in-out'\n overflow='hidden'\n >\n <Box\n transition='transform 1s ease-in-out'\n width='100%'\n height='100%'\n _groupHover={{\n transform: 'scale(1.1)',\n }}\n >\n <SanityImage\n {...person.image}\n alt={`Image of ${person.name}`}\n width={330}\n height={206}\n hotspot={person.image.hotspot}\n crop={person.image.crop}\n style={{ height: '100%', width: '100%', objectFit: 'cover' }}\n />\n </Box>\n </AspectRatio>\n <Box\n as='figcaption'\n lineHeight='1.2'\n mt={5}\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 }}>\n {instructionsDisplayed && (\n <Box textAlign='center' padding={10} mb={20} 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={['repeat(2, 1fr)', 'repeat(3, 1fr)', 'repeat(4, 1fr)']}\n alignItems='flex-start'\n gap={20}\n role='grid'\n ref={gridRef}\n tabIndex={-1}\n >\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 </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} borderRadius='100%' />\n <ModalBody padding={30} 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}>\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","import {\n useEventListeners\n} from \"./chunk-YGQKU5RK.mjs\";\n\n// src/use-clickable.ts\nimport { dataAttr } from \"@chakra-ui/shared-utils\";\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\";\nimport { useCallback, useState } from \"react\";\nfunction isValidElement(event) {\n const element = event.target;\n const { tagName, isContentEditable } = element;\n return tagName !== \"INPUT\" && tagName !== \"TEXTAREA\" && isContentEditable !== true;\n}\nfunction useClickable(props = {}) {\n const {\n ref: htmlRef,\n isDisabled,\n isFocusable,\n clickOnEnter = true,\n clickOnSpace = true,\n onMouseDown,\n onMouseUp,\n onClick,\n onKeyDown,\n onKeyUp,\n tabIndex: tabIndexProp,\n onMouseOver,\n onMouseLeave,\n ...htmlProps\n } = props;\n const [isButton, setIsButton] = useState(true);\n const [isPressed, setIsPressed] = useState(false);\n const listeners = useEventListeners();\n const refCallback = (node) => {\n if (!node)\n return;\n if (node.tagName !== \"BUTTON\") {\n setIsButton(false);\n }\n };\n const tabIndex = isButton ? tabIndexProp : tabIndexProp || 0;\n const trulyDisabled = isDisabled && !isFocusable;\n const handleClick = useCallback(\n (event) => {\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n const self = event.currentTarget;\n self.focus();\n onClick == null ? void 0 : onClick(event);\n },\n [isDisabled, onClick]\n );\n const onDocumentKeyUp = useCallback(\n (e) => {\n if (isPressed && isValidElement(e)) {\n e.preventDefault();\n e.stopPropagation();\n setIsPressed(false);\n listeners.remove(document, \"keyup\", onDocumentKeyUp, false);\n }\n },\n [isPressed, listeners]\n );\n const handleKeyDown = useCallback(\n (event) => {\n onKeyDown == null ? void 0 : onKeyDown(event);\n if (isDisabled || event.defaultPrevented || event.metaKey) {\n return;\n }\n if (!isValidElement(event.nativeEvent) || isButton)\n return;\n const shouldClickOnEnter = clickOnEnter && event.key === \"Enter\";\n const shouldClickOnSpace = clickOnSpace && event.key === \" \";\n if (shouldClickOnSpace) {\n event.preventDefault();\n setIsPressed(true);\n }\n if (shouldClickOnEnter) {\n event.preventDefault();\n const self = event.currentTarget;\n self.click();\n }\n listeners.add(document, \"keyup\", onDocumentKeyUp, false);\n },\n [\n isDisabled,\n isButton,\n onKeyDown,\n clickOnEnter,\n clickOnSpace,\n listeners,\n onDocumentKeyUp\n ]\n );\n const handleKeyUp = useCallback(\n (event) => {\n onKeyUp == null ? void 0 : onKeyUp(event);\n if (isDisabled || event.defaultPrevented || event.metaKey)\n return;\n if (!isValidElement(event.nativeEvent) || isButton)\n return;\n const shouldClickOnSpace = clickOnSpace && event.key === \" \";\n if (shouldClickOnSpace) {\n event.preventDefault();\n setIsPressed(false);\n const self = event.currentTarget;\n self.click();\n }\n },\n [clickOnSpace, isButton, isDisabled, onKeyUp]\n );\n const onDocumentMouseUp = useCallback(\n (event) => {\n if (event.button !== 0)\n return;\n setIsPressed(false);\n listeners.remove(document, \"mouseup\", onDocumentMouseUp, false);\n },\n [listeners]\n );\n const handleMouseDown = useCallback(\n (event) => {\n if (event.button !== 0)\n return;\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n if (!isButton) {\n setIsPressed(true);\n }\n const target = event.currentTarget;\n target.focus({ preventScroll: true });\n listeners.add(document, \"mouseup\", onDocumentMouseUp, false);\n onMouseDown == null ? void 0 : onMouseDown(event);\n },\n [isDisabled, isButton, onMouseDown, listeners, onDocumentMouseUp]\n );\n const handleMouseUp = useCallback(\n (event) => {\n if (event.button !== 0)\n return;\n if (!isButton) {\n setIsPressed(false);\n }\n onMouseUp == null ? void 0 : onMouseUp(event);\n },\n [onMouseUp, isButton]\n );\n const handleMouseOver = useCallback(\n (event) => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n onMouseOver == null ? void 0 : onMouseOver(event);\n },\n [isDisabled, onMouseOver]\n );\n const handleMouseLeave = useCallback(\n (event) => {\n if (isPressed) {\n event.preventDefault();\n setIsPressed(false);\n }\n onMouseLeave == null ? void 0 : onMouseLeave(event);\n },\n [isPressed, onMouseLeave]\n );\n const ref = mergeRefs(htmlRef, refCallback);\n if (isButton) {\n return {\n ...htmlProps,\n ref,\n type: \"button\",\n \"aria-disabled\": trulyDisabled ? void 0 : isDisabled,\n disabled: trulyDisabled,\n onClick: handleClick,\n onMouseDown,\n onMouseUp,\n onKeyUp,\n onKeyDown,\n onMouseOver,\n onMouseLeave\n };\n }\n return {\n ...htmlProps,\n ref,\n role: \"button\",\n \"data-active\": dataAttr(isPressed),\n \"aria-disabled\": isDisabled ? \"true\" : void 0,\n tabIndex: trulyDisabled ? void 0 : tabIndex,\n onClick: handleClick,\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onKeyUp: handleKeyUp,\n onKeyDown: handleKeyDown,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n };\n}\n\nexport {\n useClickable\n};\n","// src/use-event-listeners.ts\nimport { useCallback, useEffect, useRef } from \"react\";\nfunction useEventListeners() {\n const listeners = useRef(/* @__PURE__ */ new Map());\n const currentListeners = listeners.current;\n const add = useCallback((el, type, listener, options) => {\n listeners.current.set(listener, { type, el, options });\n el.addEventListener(type, listener, options);\n }, []);\n const remove = useCallback(\n (el, type, listener, options) => {\n el.removeEventListener(type, listener, options);\n listeners.current.delete(listener);\n },\n []\n );\n useEffect(\n () => () => {\n currentListeners.forEach((value, key) => {\n remove(value.el, value.type, key, value.options);\n });\n },\n [remove, currentListeners]\n );\n return { add, remove };\n}\n\nexport {\n useEventListeners\n};\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/utils.ts\nimport { useEffect, useLayoutEffect } from \"react\";\nfunction sortNodes(nodes) {\n return nodes.sort((a, b) => {\n const compare = a.compareDocumentPosition(b);\n if (compare & Node.DOCUMENT_POSITION_FOLLOWING || compare & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (compare & Node.DOCUMENT_POSITION_PRECEDING || compare & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n if (compare & Node.DOCUMENT_POSITION_DISCONNECTED || compare & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC) {\n throw Error(\"Cannot sort the given nodes.\");\n } else {\n return 0;\n }\n });\n}\nvar isElement = (el) => typeof el == \"object\" && \"nodeType\" in el && el.nodeType === Node.ELEMENT_NODE;\nfunction getNextIndex(current, max, loop) {\n let next = current + 1;\n if (loop && next >= max)\n next = 0;\n return next;\n}\nfunction getPrevIndex(current, max, loop) {\n let next = current - 1;\n if (loop && next < 0)\n next = max;\n return next;\n}\nvar useSafeLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nvar cast = (value) => value;\n\nexport {\n __publicField,\n sortNodes,\n isElement,\n getNextIndex,\n getPrevIndex,\n useSafeLayoutEffect,\n cast\n};\n","import {\n DescendantsManager\n} from \"./chunk-P6SLLHUK.mjs\";\nimport {\n cast,\n useSafeLayoutEffect\n} from \"./chunk-N7WDF4QK.mjs\";\n\n// src/use-descendant.ts\nimport { createContext } from \"@chakra-ui/react-context\";\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\";\nimport { useRef, useState } from \"react\";\nfunction useDescendants() {\n const descendants = useRef(new DescendantsManager());\n useSafeLayoutEffect(() => {\n return () => descendants.current.destroy();\n });\n return descendants.current;\n}\nvar [DescendantsContextProvider, useDescendantsContext] = createContext({\n name: \"DescendantsProvider\",\n errorMessage: \"useDescendantsContext must be used within DescendantsProvider\"\n});\nfunction useDescendant(options) {\n const descendants = useDescendantsContext();\n const [index, setIndex] = useState(-1);\n const ref = useRef(null);\n useSafeLayoutEffect(() => {\n return () => {\n if (!ref.current)\n return;\n descendants.unregister(ref.current);\n };\n }, []);\n useSafeLayoutEffect(() => {\n if (!ref.current)\n return;\n const dataIndex = Number(ref.current.dataset[\"index\"]);\n if (index != dataIndex && !Number.isNaN(dataIndex)) {\n setIndex(dataIndex);\n }\n });\n const refCallback = options ? cast(descendants.register(options)) : cast(descendants.register);\n return {\n descendants,\n index,\n enabledIndex: descendants.enabledIndexOf(ref.current),\n register: mergeRefs(refCallback, ref)\n };\n}\nfunction createDescendantContext() {\n const ContextProvider = cast(DescendantsContextProvider);\n const _useDescendantsContext = () => cast(useDescendantsContext());\n const _useDescendant = (options) => useDescendant(options);\n const _useDescendants = () => useDescendants();\n return [\n ContextProvider,\n _useDescendantsContext,\n _useDescendants,\n _useDescendant\n ];\n}\n\nexport {\n createDescendantContext\n};\n","import {\n __publicField,\n getNextIndex,\n getPrevIndex,\n isElement,\n sortNodes\n} from \"./chunk-N7WDF4QK.mjs\";\n\n// src/descendant.ts\nvar DescendantsManager = class {\n constructor() {\n __publicField(this, \"descendants\", /* @__PURE__ */ new Map());\n __publicField(this, \"register\", (nodeOrOptions) => {\n if (nodeOrOptions == null)\n return;\n if (isElement(nodeOrOptions)) {\n return this.registerNode(nodeOrOptions);\n }\n return (node) => {\n this.registerNode(node, nodeOrOptions);\n };\n });\n __publicField(this, \"unregister\", (node) => {\n this.descendants.delete(node);\n const sorted = sortNodes(Array.from(this.descendants.keys()));\n this.assignIndex(sorted);\n });\n __publicField(this, \"destroy\", () => {\n this.descendants.clear();\n });\n __publicField(this, \"assignIndex\", (descendants) => {\n this.descendants.forEach((descendant) => {\n const index = descendants.indexOf(descendant.node);\n descendant.index = index;\n descendant.node.dataset[\"index\"] = descendant.index.toString();\n });\n });\n __publicField(this, \"count\", () => this.descendants.size);\n __publicField(this, \"enabledCount\", () => this.enabledValues().length);\n __publicField(this, \"values\", () => {\n const values = Array.from(this.descendants.values());\n return values.sort((a, b) => a.index - b.index);\n });\n __publicField(this, \"enabledValues\", () => {\n return this.values().filter((descendant) => !descendant.disabled);\n });\n __publicField(this, \"item\", (index) => {\n if (this.count() === 0)\n return void 0;\n return this.values()[index];\n });\n __publicField(this, \"enabledItem\", (index) => {\n if (this.enabledCount() === 0)\n return void 0;\n return this.enabledValues()[index];\n });\n __publicField(this, \"first\", () => this.item(0));\n __publicField(this, \"firstEnabled\", () => this.enabledItem(0));\n __publicField(this, \"last\", () => this.item(this.descendants.size - 1));\n __publicField(this, \"lastEnabled\", () => {\n const lastIndex = this.enabledValues().length - 1;\n return this.enabledItem(lastIndex);\n });\n __publicField(this, \"indexOf\", (node) => {\n var _a, _b;\n if (!node)\n return -1;\n return (_b = (_a = this.descendants.get(node)) == null ? void 0 : _a.index) != null ? _b : -1;\n });\n __publicField(this, \"enabledIndexOf\", (node) => {\n if (node == null)\n return -1;\n return this.enabledValues().findIndex((i) => i.node.isSameNode(node));\n });\n __publicField(this, \"next\", (index, loop = true) => {\n const next = getNextIndex(index, this.count(), loop);\n return this.item(next);\n });\n __publicField(this, \"nextEnabled\", (index, loop = true) => {\n const item = this.item(index);\n if (!item)\n return;\n const enabledIndex = this.enabledIndexOf(item.node);\n const nextEnabledIndex = getNextIndex(\n enabledIndex,\n this.enabledCount(),\n loop\n );\n return this.enabledItem(nextEnabledIndex);\n });\n __publicField(this, \"prev\", (index, loop = true) => {\n const prev = getPrevIndex(index, this.count() - 1, loop);\n return this.item(prev);\n });\n __publicField(this, \"prevEnabled\", (index, loop = true) => {\n const item = this.item(index);\n if (!item)\n return;\n const enabledIndex = this.enabledIndexOf(item.node);\n const prevEnabledIndex = getPrevIndex(\n enabledIndex,\n this.enabledCount() - 1,\n loop\n );\n return this.enabledItem(prevEnabledIndex);\n });\n __publicField(this, \"registerNode\", (node, options) => {\n if (!node || this.descendants.has(node))\n return;\n const keys = Array.from(this.descendants.keys()).concat(node);\n const sorted = sortNodes(keys);\n if (options == null ? void 0 : options.disabled) {\n options.disabled = !!options.disabled;\n }\n const descendant = { node, index: -1, ...options };\n this.descendants.set(node, descendant);\n this.assignIndex(sorted);\n });\n }\n};\n\nexport {\n DescendantsManager\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","// 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, isFocusable, ...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 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","import {\n TabsDescendantsProvider,\n TabsProvider,\n useTabs\n} from \"./chunk-ROBISDLO.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 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: styles.root,\n children\n }\n ) }) }) });\n});\nTabs.displayName = \"Tabs\";\n\nexport {\n useTabsStyles,\n Tabs\n};\n","import {\n useTabsStyles\n} from \"./chunk-ZWUY3VWT.mjs\";\nimport {\n useTabList\n} from \"./chunk-ROBISDLO.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","import {\n useTabsStyles\n} from \"./chunk-ZWUY3VWT.mjs\";\nimport {\n useTab\n} from \"./chunk-ROBISDLO.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","import {\n useTabsStyles\n} from \"./chunk-ZWUY3VWT.mjs\";\nimport {\n useTabPanels\n} from \"./chunk-ROBISDLO.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","import {\n useTabsStyles\n} from \"./chunk-ZWUY3VWT.mjs\";\nimport {\n useTabPanel\n} from \"./chunk-ROBISDLO.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","import React, { useEffect, useState } from 'react';\nimport { Container, Box, Tab, TabList, TabPanel, TabPanels, Tabs, Text } from '@chakra-ui/react';\nimport { Chart } from '../Chart';\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' padding='0' px={{ base: 30, xl: 60 }}>\n <Text textStyle='h2' as='h2' mb={2}>\n {title}\n </Text>\n <Tabs index={selectedTab} onChange={(index) => setSelectedTab(index)} isLazy>\n <TabList borderBottom='none'>\n <Box py={{ base: 10, xl: 20 }} pr={10}>\n By:\n </Box>\n {tabs.map((tab, index) => (\n <Tab\n _selected={{ bg: 'grey.light', color: 'black' }}\n _hover={{ bg: 'grey.light' }}\n bg='grey.lightest'\n color='navy'\n textStyle='navItem'\n fontSize='0.875rem'\n letterSpacing='1px'\n key={index}\n padding={{ base: 10, xl: 20 }}\n margin='0 2px'\n >\n {tab.title}\n </Tab>\n ))}\n </TabList>\n\n <TabPanels>\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 { Grid, GridItem, Box, Container } from '@chakra-ui/react';\nimport { RichText } from '../RichText';\n\nfunction Columns({ data }) {\n const { columns, title, subTitle, masonryGrid } = data || {};\n return (\n <Box>\n {title && (\n <Container\n as='header'\n maxWidth='container.md'\n px={{ base: 0, xl: 50 }}\n textAlign='center'\n mb={{ base: 30, xl: 40 }}\n >\n <RichText value={title} as='h2' textStyle='h2' />\n {subTitle && <RichText value={subTitle} />}\n </Container>\n )}\n <Box\n as={masonryGrid ? 'div' : Grid}\n templateColumns={masonryGrid ? null : { base: 'repeat(1, 1fr)', lg: 'repeat(3, 1fr)' }}\n columnGap={30}\n rowGap={{ base: 30, xl: 50 }}\n px={{ base: 30, xl: 80 }}\n sx={masonryGrid ? { columnCount: [1, 2, 3], columnGap: 60 } : null}\n >\n {columns?.map((column) => (\n <Box\n as={masonryGrid ? 'div' : GridItem}\n key={column._key}\n marginBottom={{ base: 30, lg: 50 }}\n sx={masonryGrid ? { breakInside: 'avoid-column' } : null}\n >\n {column.content && <RichText value={column.content} textStyle='body' />}\n </Box>\n ))}\n </Box>\n </Box>\n );\n}\n\nexport default Columns;\n","import React from 'react';\nimport CountUp from 'react-countup';\nimport VisibilitySensor from 'react-visibility-sensor';\nimport { Flex, Text, Box } from '@chakra-ui/react';\nimport SanityImage from 'gatsby-plugin-sanity-image';\n\nfunction StatGridItem({ item }) {\n const { number, afterText, prefix, suffix, icon } = item || {};\n return (\n <Flex direction='column' padding={30} textAlign='left' background='grey.light' height='100%'>\n <Flex width='100%' gap={10} alignItems='center'>\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 <Box color='navy'>\n {number ? (\n <VisibilitySensor>\n {({ isVisible }) => (\n <CountUp\n end={number}\n duration={1.5}\n start={isVisible}\n delay={0}\n prefix={prefix !== undefined ? prefix : ''}\n suffix={suffix !== undefined ? suffix : ''}\n separator=','\n >\n {({ countUpRef }) => (\n <Text\n fontSize='6xl'\n lineHeight={1.1}\n fontWeight={600}\n ref={countUpRef}\n mt={0}\n />\n )}\n </CountUp>\n )}\n </VisibilitySensor>\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 </Flex>\n <Box width='100%'>\n {afterText && (\n <Text fontWeight={500} marginTop={0}>\n {afterText}\n </Text>\n )}\n </Box>\n </Flex>\n );\n}\n\nexport default StatGridItem;\n","import React from 'react';\nimport { Grid, GridItem } from '@chakra-ui/react';\nimport StatGridItem from './StatGridItem';\n\nfunction StatGrid({ data }) {\n const { items } = data || {};\n return (\n <Grid\n templateColumns={{ base: 'repeat(1, 1fr)', md: 'repeat(2, 1fr)', lg: 'repeat(3, 1fr)' }}\n gap={30}\n alignItems='stretch'\n px={{ base: 30, xl: 60 }}\n >\n {items.map((item) => (\n <GridItem key={item._key}>\n <StatGridItem item={item} />\n </GridItem>\n ))}\n </Grid>\n );\n}\n\nexport default StatGrid;\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","import {\n useAccordionDescendant,\n useAccordionDescendants\n} from \"./chunk-JST25EWU.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","import {\n AccordionProvider,\n useAccordion\n} from \"./chunk-JDQBKIKM.mjs\";\nimport {\n AccordionDescendantsProvider,\n AccordionStylesProvider\n} from \"./chunk-JST25EWU.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","import {\n useAccordionItem\n} from \"./chunk-JDQBKIKM.mjs\";\nimport {\n AccordionItemProvider,\n useAccordionStyles\n} from \"./chunk-JST25EWU.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","import {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-JST25EWU.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","import {\n useAccordionContext\n} from \"./chunk-JDQBKIKM.mjs\";\nimport {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-JST25EWU.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","import {\n useAccordionContext\n} from \"./chunk-JDQBKIKM.mjs\";\nimport {\n useAccordionItemContext,\n useAccordionStyles\n} from \"./chunk-JST25EWU.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","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';\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\n as='section'\n maxWidth={narrowColumn ? 'container.md' : 'container.xl'}\n padding='0'\n px={{ base: 30, xl: 60 }}\n >\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","import {\n useTableStyles\n} from \"./chunk-B3MS3L3D.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","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 fontWeight={300} paddingLeft={50} {...restProps}>\n {children}\n </ChakraTd>\n);\n\nconst TdBold = ({ children, ...restProps }) => (\n <ChakraTd fontWeight={600} fontSize={{ base: 'sm', xl: 'md' }} {...restProps}>\n {children}\n </ChakraTd>\n);\n\nconst Td = ({ children, ...restProps }) => (\n <ChakraTd fontWeight={300} fontSize={{ base: 'sm', xl: 'md' }} {...restProps}>\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 >\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='grey.light'\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'>\n FY 2022 <br /> Budget\n </Th>\n <Th borderBottom='1px solid black' paddingRight={30}>\n FY 2022 <br /> Outturn\n </Th>\n <Th borderBottom='1px solid black'>\n FY 2023 <br /> Budget\n </Th>\n <Th borderBottom='1px solid black' paddingRight={30}>\n FY 2023 <br /> Outturn\n </Th>\n <Th borderBottom='1px solid black'>\n FY 2024 <br /> Budget\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr>\n <TdBold>Net administrative budget</TdBold>\n <TdBold>1,214</TdBold>\n <TdBold>1,180</TdBold>\n <TdBold>1,295</TdBold>\n <TdBold>1,294</TdBold>\n <TdBold>1,411</TdBold>\n </Tr>\n <Tr>\n <TdIndent>Annual augmentation</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>23</Td>\n <Td>-</Td>\n <Td>29</Td>\n </Tr>\n <Tr>\n <TdIndent>Overseas Annual Meetings</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>7</Td>\n </Tr>\n <Tr>\n <TdBold>Receipts</TdBold>\n <TdBold>246</TdBold>\n <TdBold>166</TdBold>\n <TdBold>268</TdBold>\n <TdBold>229</TdBold>\n <TdBold>295</TdBold>\n </Tr>\n <Tr>\n <TdIndent>RST Externally financed</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>5</Td>\n </Tr>\n <Tr>\n <TdIndent>Externally financed¹</TdIndent>\n <Td>210</Td>\n <Td>141</Td>\n <Td>230</Td>\n <Td>195</Td>\n <Td>250</Td>\n </Tr>\n <Tr>\n <TdBold>Gross administrative budget (excl. carryforward)</TdBold>\n <TdBold>1,460</TdBold>\n <TdBold>1,346</TdBold>\n <TdBold>1,562</TdBold>\n <TdBold>1,522</TdBold>\n <TdBold>1,706</TdBold>\n </Tr>\n <Tr>\n <TdIndent>FY23 Fund-financed carryforward²</TdIndent>\n <Td>102</Td>\n <Td>-</Td>\n <Td>93</Td>\n <Td>-</Td>\n <Td>87</Td>\n </Tr>\n <Tr>\n <TdIndent>FY23 externally financed carryforward</TdIndent>\n <Td>-</Td>\n <Td>-</Td>\n <Td>5</Td>\n <Td>-</Td>\n <Td>5</Td>\n </Tr>\n <Tr>\n <TdIndent>Other Fund-financed transitional resources³</TdIndent>\n <Td>8</Td>\n <Td>-</Td>\n <Td>9</Td>\n <Td>-</Td>\n <Td>9</Td>\n </Tr>\n <Tr>\n <TdBold>Total gross available resources</TdBold>\n <TdBold>1,569</TdBold>\n <TdBold>1,346</TdBold>\n <TdBold>1,669</TdBold>\n <TdBold>1,522</TdBold>\n <TdBold>1,807</TdBold>\n </Tr>\n <Tr>\n <TdBold>Capital budget</TdBold>\n <TdBold>79</TdBold>\n <TdBold>90</TdBold>\n <TdBold>78</TdBold>\n <TdBold>96</TdBold>\n <TdBold>108</TdBold>\n </Tr>\n <Tr>\n <TdIndent>Building facilities</TdIndent>\n <Td>24</Td>\n <Td>22</Td>\n <Td>19</Td>\n <Td>38</Td>\n <Td>47</Td>\n </Tr>\n <Tr>\n <TdIndent>HQ1 renewal</TdIndent>\n <Td>-</Td>\n <Td>-1</Td>\n <Td>-</Td>\n <Td>-</Td>\n <Td>-</Td>\n </Tr>\n <Tr>\n <TdIndent>Information technology</TdIndent>\n <Td>46</Td>\n <Td>60</Td>\n <Td>44</Td>\n <Td>45</Td>\n <Td>41</Td>\n </Tr>\n <Tr>\n <TdIndent>Cloud capital equivalent</TdIndent>\n <Td>10</Td>\n <Td>9</Td>\n <Td>15</Td>\n <Td>13</Td>\n <Td>20</Td>\n </Tr>\n </Tbody>\n <Tfoot borderTop='2px solid black'>\n <Tr>\n <ChakraTh\n padding={10}\n fontWeight={600}\n fontSize={{ base: 'sm', xl: 'md' }}\n textTransform='none'\n color='black'\n >\n Net administrative budget in mil. of FY23 dollars\n </ChakraTh>\n <ThFooter fontWeight={600}>1,272</ThFooter>\n <ThFooter fontWeight={600}>1,236</ThFooter>\n <ThFooter fontWeight={600}>1,295</ThFooter>\n <ThFooter fontWeight={600}>1,294</ThFooter>\n <ThFooter fontWeight={600}>1,328</ThFooter>\n </Tr>\n <Tr>\n <ChakraTh\n padding={10}\n fontWeight={600}\n fontSize={{ base: 'sm', xl: 'md' }}\n textTransform='none'\n color='black'\n >\n Overseas Annual Meetings budget in mil. of FY23 dollars\n </ChakraTh>\n <ThFooter>-</ThFooter>\n <ThFooter>-</ThFooter>\n <ThFooter>-</ThFooter>\n <ThFooter>-</ThFooter>\n <ThFooter>7</ThFooter>\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, Flex } from '@chakra-ui/react';\nimport { SectionZone } from '../SectionZone';\nimport { components } from '../RichText/components';\n\nexport default function Section({ data, index, children }) {\n const { body, rightColumn, alignItems, singleColumn, dropCap, textCentered } = data || {};\n const rightColumnRef = useRef(null);\n const [isSticky, setIsSticky] = useState(false);\n\n useEffect(() => {\n const checkSticky = () => {\n const windowHeight = window.innerHeight - 100;\n const rightColumnHeight = rightColumnRef?.current?.clientHeight;\n\n setIsSticky(rightColumnHeight < windowHeight);\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' : '4fr 2fr',\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 background='white'\n px={{ base: 30, xl: 60 }}\n pt={index === 0 && { base: 30, xl: 60 }}\n className='section'\n >\n {children}\n <Flex flexDirection='column' gap={20} className={dropCap && 'dropCap'}>\n <PortableText value={body} components={components} />\n </Flex>\n </GridItem>\n\n {rightColumn && (\n <GridItem\n display='flex'\n flexDirection='column'\n gap={30}\n position={isSticky ? 'sticky' : 'static'}\n top='7.1875rem'\n pr={{ base: 30, xl: 60 }}\n pl={{ base: 30, xl: 0 }}\n className='rightColumn'\n ref={rightColumnRef}\n >\n {rightColumn.map((section) => (\n <SectionZone key={section._key || section._id} section={section} side />\n ))}\n </GridItem>\n )}\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 'Kenji Okamura',\n 'Kristalina Georgieva',\n 'Bo Li',\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: '14.44759206798867%',\n height: '67.14628297362111%',\n left: '2.9180683427761975%',\n top: '18.705035971222674%',\n },\n {\n width: '12.039660056657226%',\n height: '63.54916067146284%',\n left: '23.45631196883853%',\n top: '21.82254196642672%',\n },\n {\n width: '12.03966005665722%',\n height: '64.02877697841727%',\n left: '48.38549043909349%',\n top: '21.822541966426904%',\n },\n {\n width: '11.756373937677052%',\n height: '66.42685851318946%',\n left: '66.79908817280452%',\n top: '19.664268585131893%',\n },\n {\n width: '14.44759206798867%',\n height: '65.70743405275779%',\n left: '83.65461225212466%',\n top: '20.623501199041215%',\n },\n ];\n\n return (\n <Box as='figure' px={{ base: 30, xl: 60 }}>\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 my={10} as='figcaption'>\n <Text>\n From left to right: First Deputy Managing Director: GITA GOPINATH, Deputy Managing\n Director: KENJI OKAMURA, Managing Director: KRISTALINA GEORGIEVA, Deputy Managing\n Director: BO LI, Deputy Managing Director: ANTOINETTE SAYEH.\n </Text>\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, Text, 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 { page } = pageContext;\n const { hero, sections, readNext, slug } = page?.node || {};\n\n return (\n <Layout>\n {hero && <Hero data={{ ...hero, slug }} />}\n <Box position='relative' zIndex='1' width='100%' background='white'>\n <Container\n display='flex'\n flexDirection='column'\n maxWidth='container.xl'\n gap={[30, 60]}\n pb={30}\n px={{ base: 0 }}\n >\n {sections &&\n sections.map((section, index) => (\n <Box\n as='section'\n marginTop={index === 0 && hero?.image && { base: '0', md: '-100px', xl: '-200px' }}\n key={section._key || section._id}\n >\n <SectionZone section={section} index={index}>\n {index === 0 && hero.title && (\n <Box mb={{ base: 20, md: 40 }}>\n {hero?.title && (\n <Text\n as='h1'\n textStyle='h1'\n textTransform='uppercase'\n fontWeight={600}\n mb={0}\n >\n {hero.title}\n </Text>\n )}\n {hero?.subtitle && (\n <Text textStyle='h3' fontWeight={500} mt={10}>\n {hero.subtitle}\n </Text>\n )}\n </Box>\n )}\n </SectionZone>\n </Box>\n ))}\n {readNext && <ReadNext data={readNext} />}\n </Container>\n </Box>\n </Layout>\n );\n}\n\nexport const Head = ({ pageContext }) => {\n const { page } = pageContext;\n const { title } = page?.node || {};\n return <SEO title={title} />;\n};\n","import {\n useMediaQuery\n} from \"./chunk-MG6WC47T.mjs\";\n\n// src/media-query.hook.ts\nfunction usePrefersReducedMotion(options) {\n const [prefersReducedMotion] = useMediaQuery(\n \"(prefers-reduced-motion: reduce)\",\n options\n );\n return prefersReducedMotion;\n}\nfunction useColorModePreference(options) {\n const [isLight, isDark] = useMediaQuery(\n [\"(prefers-color-scheme: light)\", \"(prefers-color-scheme: dark)\"],\n options\n );\n if (isLight)\n return \"light\";\n if (isDark)\n return \"dark\";\n return void 0;\n}\n\nexport {\n usePrefersReducedMotion,\n useColorModePreference\n};\n","// src/use-media-query.ts\nimport { useEnvironment } from \"@chakra-ui/react-env\";\nimport { useEffect, useState } from \"react\";\nfunction useMediaQuery(query, options = {}) {\n const { ssr = true, fallback } = options;\n const { getWindow } = useEnvironment();\n const queries = Array.isArray(query) ? query : [query];\n let fallbackValues = Array.isArray(fallback) ? fallback : [fallback];\n fallbackValues = fallbackValues.filter((v) => v != null);\n const [value, setValue] = useState(() => {\n return queries.map((query2, index) => ({\n media: query2,\n matches: ssr ? !!fallbackValues[index] : getWindow().matchMedia(query2).matches\n }));\n });\n useEffect(() => {\n const win = getWindow();\n setValue(\n queries.map((query2) => ({\n media: query2,\n matches: win.matchMedia(query2).matches\n }))\n );\n const mql = queries.map((query2) => win.matchMedia(query2));\n const handler = (evt) => {\n setValue((prev) => {\n return prev.slice().map((item) => {\n if (item.media === evt.media)\n return { ...item, matches: evt.matches };\n return item;\n });\n });\n };\n mql.forEach((mql2) => {\n if (typeof mql2.addListener === \"function\") {\n mql2.addListener(handler);\n } else {\n mql2.addEventListener(\"change\", handler);\n }\n });\n return () => {\n mql.forEach((mql2) => {\n if (typeof mql2.removeListener === \"function\") {\n mql2.removeListener(handler);\n } else {\n mql2.removeEventListener(\"change\", handler);\n }\n });\n };\n }, [getWindow]);\n return value.map((item) => item.matches);\n}\n\nexport {\n useMediaQuery\n};\n"],"names":["_ref","_hero$image","_hero$image$asset","data","section","slug","title","hero","React","Container","maxW","borderTop","borderBottom","borderColor","pt","px","base","xl","as","Link","to","current","GatsbyLink","_hover","textDecoration","display","flexDirection","gap","alignItems","Flex","flex","width","align","direction","order","AspectRatio","ratio","overflow","Box","transition","height","_groupHover","transform","SanityImage","Object","assign","image","alt","asset","altText","hotspot","crop","style","objectFit","Text","textStyle","textTransform","_before","content","marginRight","background","color","ArrowForwardIcon","boxSize","paddingRight","subtitle","AnimatedBox","chakra","motion","shouldForwardProp","prop","isValidMotionProp","AnimatedRevealBox","AnimatedLocationBox","_image$asset","prefersReducedMotion","usePrefersReducedMotion","useVideo","location","position","top","animate","opacity","duration","ease","delay","autoPlay","loop","muted","playsInline","src","withPrefix","type","transformOrigin","left","right","bottom","zIndex","padding","fontSize","Heading","props","ref","styles","className","rest","jsx","cx","__css","displayName","SimpleGrid","columns","spacingX","spacingY","spacing","minChildWidth","theme","templateColumns","value","_value","n","widthToColumns","count","columnGap","rowGap","CategoryDropdown","_ref3","papers","setSelectedCategory","selectedCategory","categories","forEach","paper","category","trimmedCategory","trim","includes","push","Select","bg","size","onChange","event","target","border","map","key","sortObjectsByDate","objects","sort","a","b","Date","date","PAPER_QUERY","policyPaperData","useStaticQuery","visibilePapers","setVisiblePapers","useState","allVisibile","setAllVisible","papersRef","useRef","papersListRef","useEffect","slice","filteredPapers","filter","scrollIntoView","behavior","_papersListRef$curren","_papersListRef$curren2","firstLink","children","querySelector","focus","Categories","index","Button","letterSpacing","variant","onClick","length","scrollMarginTop","mx","maxWidth","lg","justify","mb","role","id","fontWeight","_ref2","url","summary","press_release","VStack","pb","pl","borderLeft","borderRadius","dateString","dateParts","split","year","substring","month","parseInt","day","formatDate","href","RichText","ml","mt","handleClick","ModalFooter","_className","footerStyles","justifyContent","footer","ArrowBackIcon","d","GridItem","isFocused","onFocusChange","person","onOpen","tabIndex","onFocus","handleFocus","handleItemClick","el","name","lineHeight","PEOPLE_QUERY","PeopleGrid","focusedIndex","setFocusedIndex","isModalOpen","setIsModalOpen","instructionsDisplayed","setInstructionsDisplayed","gridRef","people","finalRef","handleModalOpen","handleModalPrev","prevIndex","Math","max","handleModalNext","useCallback","min","handleKeyDown","shiftKey","blur","window","addEventListener","removeEventListener","AlternatesText","alternates","textAlign","Grid","gridTemplateColumns","Modal","isOpen","onClose","handleModalClose","finalFocusRef","ModalOverlay","ModalContent","backdropFilter","backdropBlur","ModalCloseButton","ModalBody","margin","constituency","isDisabled","isValidElement","element","tagName","isContentEditable","useClickable","htmlRef","isFocusable","clickOnEnter","clickOnSpace","onMouseDown","onMouseUp","onKeyDown","onKeyUp","tabIndexProp","onMouseOver","onMouseLeave","htmlProps","isButton","setIsButton","isPressed","setIsPressed","listeners","Map","currentListeners","add","listener","options","set","remove","delete","useEventListeners","trulyDisabled","stopPropagation","preventDefault","currentTarget","onDocumentKeyUp","e","document","defaultPrevented","metaKey","nativeEvent","shouldClickOnEnter","click","handleKeyUp","onDocumentMouseUp","button","handleMouseDown","preventScroll","handleMouseUp","handleMouseOver","handleMouseLeave","node","disabled","__defProp","defineProperty","__publicField","obj","enumerable","configurable","writable","__defNormalProp","sortNodes","nodes","compare","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","Error","getNextIndex","next","getPrevIndex","useLayoutEffect","useDescendants","descendants","constructor","this","nodeOrOptions","nodeType","ELEMENT_NODE","registerNode","sorted","Array","from","keys","assignIndex","clear","descendant","indexOf","dataset","toString","enabledValues","values","enabledCount","item","enabledItem","lastIndex","_a","_b","get","findIndex","i","isSameNode","nextEnabledIndex","enabledIndexOf","prev","prevEnabledIndex","has","concat","destroy","DescendantsContextProvider","useDescendantsContext","errorMessage","createDescendantContext","setIndex","unregister","dataIndex","Number","isNaN","refCallback","register","enabledIndex","useDescendant","useControllableState","valueProp","defaultValue","shouldUpdate","onChangeProp","shouldUpdateProp","uncontrolledState","setUncontrolledState","controlled","setValue","nextValue","TabsDescendantsProvider","useTabsDescendantsContext","useTabsDescendants","useTabsDescendant","TabsProvider","useTabsContext","TabPanelProvider","useTabPanelContext","makeTabId","makeTabPanelId","TabsStylesProvider","useTabsStyles","Tabs","ctx","defaultIndex","isManual","isLazy","lazyBehavior","orientation","selectedIndex","setSelectedIndex","uuid","useId","useTabs","context","useMemo","isFitted","_","rootProps","root","TabList","tablistProps","nextTab","nextEnabled","prevTab","prevEnabled","isHorizontal","isVertical","eventKey","action","ArrowDown","ArrowUp","Home","first","firstEnabled","End","last","lastEnabled","useTabList","tablistStyles","tablist","Tab","tabProps","isSelected","useTab","tabStyles","outline","tab","TabPanels","panelsProps","child","createElement","tabId","useTabPanels","tabpanels","TabPanel","panelProps","hasBeenSelected","wasSelected","enabled","mode","hidden","useTabPanel","tabpanel","tabs","selectedTab","setSelectedTab","py","pr","_selected","_key","chart","Chart","subTitle","masonryGrid","sx","columnCount","column","marginBottom","breakInside","_icon$asset","number","afterText","prefix","suffix","icon","VisibilitySensor","isVisible","CountUp","end","start","undefined","separator","countUpRef","marginTop","items","md","StatGridItem","AccordionStylesProvider","useAccordionStyles","hookName","providerName","AccordionItemProvider","useAccordionItemContext","AccordionDescendantsProvider","useAccordionDescendantsContext","useAccordionDescendants","useAccordionDescendant","useAccordion","indexProp","allowMultiple","allowToggle","condition","isArray","message","allowMultipleWarning","allowMultipleAndAllowToggleWarning","getAccordionItemProps","idx","isOpen2","nextState","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","viewBox","fill","AccordionPanel","motionProps","panel","in","isTabbing","useIsTabbing","setIsTabbing","handleKeydown","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","TableContainer","Table","Thead","Tr","Tbody","sectionDictionary","lendingMap","LendingMap","figure","Figure","body","rightColumn","singleColumn","dropCap","textCentered","rightColumnRef","isSticky","setIsSticky","checkSticky","_rightColumnRef$curre","windowHeight","innerHeight","rightColumnHeight","clientHeight","PortableText","components","SectionZone","_id","side","statBlock","StatBlock","policyPaperBlock","PolicyPapers","peopleBlock","managementTeamBlock","activeArea","setActiveArea","area","onMouseOut","cursor","my","calloutBox","CalloutBox","sectionLink","SectionLink","tabGroup","TabGroup","columnGroup","Columns","statGrid","StatGrid","accordion","budgetTable","BudgetTable","_type","Component","hasOwnProperty","Page","pageContext","page","sections","readNext","Layout","Hero","ReadNext","Head","SEO","query","ssr","fallback","getWindow","queries","fallbackValues","v","query2","media","matches","matchMedia","win","mql","handler","evt","mql2","addListener","removeListener"],"sourceRoot":""}