{"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":""}