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