@carbonplan/components 12.6.3 → 12.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dst/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/avatar.js","../src/row.js","../src/column.js","../src/group.js","../src/avatar-group.js","../src/badge.js","../src/blockquote.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/caption.js","../src/colorbar.js","../src/colors.js","../src/meta.js","../src/logo.js","../src/menu.js","../src/header.js","../src/monogram.js","../src/footer.js","../src/dimmer.js","../src/gitsha.js","../src/metadata.js","../src/fade-in.js","../src/utils/get-scrollbar-width.js","../src/scrollbar.js","../src/guide.js","../src/settings.js","../src/layout.js","../src/tag.js","../src/filter.js","../src/sidenote.js","../src/input.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/utils/format-date.js","../src/custom-404.js","../src/expander.js","../src/figure.js","../src/figure-caption.js","../src/heading.js","../src/link-group.js","../src/select.js","../src/utils/get-props.js","../src/table-caption.js","../src/tracking.js","../src/tray.js","../src/utils/use-scrollbar-class.js"],"sourcesContent":["import React from 'react'\nimport { Box, Image } from 'theme-ui'\n\nconst Avatar = ({\n color = 'transparent',\n width = '90px',\n maxWidth,\n name,\n github,\n alt,\n src,\n sx,\n ...props\n}) => {\n if (!name && !src && !github) {\n console.warn('must specify either name, github, or src')\n }\n\n let srcProp, altProp\n if (name) {\n srcProp = `https://images.carbonplan.org/team/${name\n .toLowerCase()\n .replaceAll(' ', '-')}.png`\n altProp = alt || name\n } else if (github) {\n srcProp = `https://github.com/${github}.png`\n altProp = alt || github\n } else {\n srcProp = src\n altProp = alt\n }\n\n return (\n <Box\n sx={{\n width: width,\n maxWidth: maxWidth,\n height: 'auto',\n borderRadius: '50%',\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'top',\n bg: color,\n ...sx,\n }}\n {...props}\n >\n <Image\n alt={altProp}\n src={srcProp}\n sx={{\n opacity: color && color !== 'transparent' ? 0.25 : 1,\n filter:\n color && color !== 'transparent'\n ? 'grayscale(100%) contrast(200%) brightness(100%)'\n : 'none',\n width: '100%',\n borderRadius: '50%',\n display: 'block',\n }}\n />\n </Box>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { Grid } from 'theme-ui'\n\nconst Row = ({ children, sx, columns, gap, ...props }) => {\n const makeArray = (input) => {\n if (!Array.isArray(input)) {\n input = [input, input, input, input]\n }\n if (Array.isArray(input) && ![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d]).flat()\n }\n if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n return input\n }\n\n let columnGap, rowGap\n if (Number.isInteger(gap) || Array.isArray(gap)) {\n gap = makeArray(gap)\n columnGap = gap\n rowGap = gap\n } else {\n columnGap = [4, 5, 5, 6]\n rowGap = [0, 0, 0, 0]\n }\n\n if (Number.isInteger(columns) || Array.isArray(columns)) {\n columns = makeArray(columns)\n } else {\n columns = [6, 8, 12, 12]\n }\n\n return (\n <Grid\n {...props}\n columns={columns}\n sx={{\n columnGap: columnGap,\n rowGap: rowGap,\n ...sx,\n }}\n >\n {children}\n </Grid>\n )\n}\n\nexport default Row\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Column = ({ start, width, dl, dr, children, sx, ...props }) => {\n start = start || 'auto'\n width = width || 'auto'\n\n const makeArray = (input) => {\n if (input && !Array.isArray(input)) {\n input = [input]\n }\n\n if (![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d, d, d, d]).flat()\n } else if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n\n return input\n }\n\n start = makeArray(start)\n width = makeArray(width)\n\n const end = start.map((d, i) => {\n if (d == 'auto') return 'auto'\n return d + width[i]\n })\n\n let ml, mr\n\n if (dl) {\n if (![0.5, 1].includes(dl)) {\n throw new Error('dl must be 0.5 or 1')\n }\n if (dl === 0.5) {\n ml = ['-12px', -3, -3, -4]\n }\n if (dl === 1) {\n ml = [-4, -5, -5, -6]\n }\n }\n\n if (dr) {\n if (![0.5, 1].includes(dr)) {\n throw new Error('dr must be 0.5 or 1')\n }\n if (dr === 0.5) {\n mr = ['-12px', -3, -3, -4]\n }\n if (dr === 1) {\n mr = [-4, -5, -5, -6]\n }\n }\n\n return (\n <Box\n {...props}\n sx={{\n gridColumnStart: start,\n gridColumnEnd: end,\n ml: ml,\n mr: mr,\n ...sx,\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default Column\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\nconst Group = ({ children, direction = 'vertical', spacing = 'md', sx }) => {\n let marginValue\n if (typeof spacing === 'string' && sizes.hasOwnProperty(spacing)) {\n marginValue = sizes[spacing]\n } else {\n marginValue = spacing\n }\n\n if (!['horizontal', 'vertical'].includes(direction)) {\n throw new Error(\n 'Invalid direction value. Must be either horizontal or vertical'\n )\n }\n\n const marginProperty = direction === 'vertical' ? 'mb' : 'mr'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box sx={sx}>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i < children.length - 1 ? marginValue : 0,\n ...additionalStyles,\n }}\n >\n {child}\n </Box>\n )\n })}\n </Box>\n )\n}\n\nexport default Group\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Avatar from './avatar'\nimport Row from './row'\nimport Column from './column'\nimport Group from './group'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\n\nconst Blank = ({ overflow, maxWidth }) => {\n return (\n <Box\n sx={{\n bg: 'muted',\n height: '100%',\n maxWidth: maxWidth,\n borderRadius: '50%',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Box\n sx={{\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [3, 3, 3, 4],\n }}\n >\n +{overflow}\n </Box>\n </Box>\n </Box>\n )\n}\n\nconst AvatarGroup = ({\n members,\n direction = 'horizontal',\n align,\n spacing = 'md',\n limit,\n width,\n maxWidth,\n fixedCount,\n sx,\n ...props\n}) => {\n let gap\n if (sizes.hasOwnProperty(spacing)) {\n gap = sizes[spacing]\n } else {\n gap = spacing\n }\n\n let start = (idx) => 'auto'\n if (align) {\n if (!Array.isArray(align)) {\n align = [align]\n }\n start = (idx) =>\n align.map((d) => {\n if (d === 'left') {\n return 'auto'\n } else if (d === 'right') {\n const offset = Math.max(1, fixedCount - members.length + 1)\n return (offset + idx) % fixedCount\n } else {\n throw Error(`alignment '${align}' not recognized`)\n }\n })\n }\n\n const excess = members.length > limit\n const overflow = members.length - limit + 1\n\n return (\n <>\n {fixedCount && (\n <Row columns={fixedCount} gap={gap} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Column key={idx} start={start(idx)}>\n {(!excess || idx < limit - 1) && (\n <Avatar {...props} width={width} maxWidth={maxWidth} />\n )}\n {excess && idx === limit - 1 && (\n <Blank overflow={overflow} maxWidth={maxWidth} />\n )}\n </Column>\n ))}\n </Row>\n )}\n {!fixedCount && (\n <Group direction={direction} spacing={spacing} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Avatar key={idx} {...props} width={width} maxWidth={maxWidth} />\n ))}\n </Group>\n )}\n </>\n )\n}\n\nexport default AvatarGroup\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Badge = ({ sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n return (\n <Box\n sx={{\n display: 'inline-block',\n width: 'fit-content',\n height: ['24px', '24px', '24px', '26px'],\n borderRadius: '5px',\n backgroundColor:\n color == 'primary' || color == 'secondary'\n ? 'muted'\n : transparentize(color, 0.7),\n textAlign: 'center',\n userSelect: 'none',\n fontSize: [2, 2, 2, 3],\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n letterSpacing: '0.02em',\n fontFamily: 'mono',\n mt: ['1px', '1px', '1px', '0px'],\n px: [1, 1, 1, '5px'],\n color: color,\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n\nexport default Badge\n","import React, { Children } from 'react'\nimport { Box } from 'theme-ui'\n\nconst specialChars = ['“', '\"', \"'\", '‘']\n\nconst Blockquote = ({ children }) => {\n return (\n <Box variant='styles.blockquote'>\n {Children.map(children, (d, i) => {\n let firstChar = ''\n let remaining = children\n\n if (d.props && typeof d.props.children === 'string') {\n firstChar = d.props.children.slice(0, 1)\n remaining = d.props.children.slice(1)\n } else if (typeof d === 'string') {\n firstChar = d.slice(0, 1)\n remaining = d.slice(1)\n }\n\n return (\n <>\n {specialChars.includes(firstChar) && (\n <Box as='span' sx={{ position: 'absolute', ml: '-0.4em' }}>\n {firstChar}\n </Box>\n )}\n {specialChars.includes(firstChar) ? remaining : d}\n </>\n )\n })}\n </Box>\n )\n}\n\nexport default Blockquote\n","import React, { forwardRef } from 'react'\nimport { Link as ThemedLink } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\n\nconst event = ({ action, category, label, value }) => {\n if (typeof window.gtag !== 'function') {\n console.warn(`Missing window.gtag, skipping analytics action: '${action}'.`)\n return\n }\n\n window.gtag('event', action, {\n event_category: category,\n event_label: label,\n value: value,\n })\n}\n\nconst Link = (\n { href, children, internal = false, tracking = false, ...props },\n ref\n) => {\n if (internal || (href && href.startsWith('/'))) {\n return (\n <NextLink href={href} passHref>\n <ThemedLink ref={ref} {...props}>\n {children}\n </ThemedLink>\n </NextLink>\n )\n } else if (tracking) {\n let action\n let category\n if (href && href.includes('pdf')) {\n action = 'PDF'\n category = 'download'\n } else {\n action = 'website'\n category = 'external'\n }\n const track = (e) => {\n event({\n action: action,\n category: category,\n label: href,\n })\n }\n return (\n <ThemedLink\n ref={ref}\n onClick={track}\n onContextMenu={track}\n href={href}\n {...props}\n >\n {children}\n </ThemedLink>\n )\n } else {\n return (\n <ThemedLink ref={ref} href={href} {...props}>\n {children}\n </ThemedLink>\n )\n }\n}\n\nexport default forwardRef(Link)\n","const getSizeStyles = (size) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let fontSize, fontFamily, letterSpacing, lineHeight\n\n if (size === 'xs') {\n fontSize = [2, 2, 2, 3]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'sm') {\n fontSize = [3, 3, 3, 4]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'md') {\n fontSize = [4, 4, 4, 5]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'lg') {\n fontSize = [5, 5, 6, 7]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.2, 1.2, 1.25, 1.25]\n }\n\n if (size === 'xl') {\n fontSize = [6, 7, 8, 9]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.25]\n }\n\n return { fontSize, fontFamily, letterSpacing, lineHeight }\n}\n\nexport default getSizeStyles\n","import React, { forwardRef, cloneElement } from 'react'\nimport { Box } from 'theme-ui'\nimport Link from './link'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Button = (\n {\n size = 'sm',\n prefix,\n suffix,\n inverted,\n sx,\n children,\n align,\n href,\n internal,\n tracking,\n ...props\n },\n ref\n) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let offset, margin, top, height, width, strokeWidth\n\n const { color, ...sxProp } = sx || {}\n\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n if (size === 'xs') {\n margin = ['6px', '6px', '6px', '6px']\n height = [12, 12, 12, 13]\n width = [12, 12, 12, 13]\n strokeWidth = [1.5, 1.5, 1.5, 1.5]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'sm') {\n margin = ['7px', '7px', '7px', '7px']\n height = [13, 13, 13, 18]\n width = [13, 13, 13, 18]\n strokeWidth = [1.5, 1.5, 1.5, 2]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'md') {\n margin = ['8px', '8px', '8px', '8px']\n height = [18, 18, 18, 24]\n width = [18, 18, 18, 24]\n strokeWidth = [2, 2, 2, 3]\n }\n\n if (size === 'lg') {\n margin = ['10px', '10px', '12px', '16px']\n height = [24, 24, 34, 46]\n width = [24, 24, 34, 46]\n strokeWidth = [3, 3, 4, 5]\n }\n\n if (size === 'xl') {\n margin = ['12px', '16px', '18px', '20px']\n height = [34, 46, 56, 68]\n width = [34, 46, 56, 68]\n strokeWidth = [4, 5, 6, 7]\n }\n\n let prefixHover,\n suffixHover,\n prefixAlign,\n suffixAlign,\n prefixOffset,\n suffixOffset\n\n if (align) {\n prefixAlign = align\n suffixAlign = align\n } else {\n if (prefix && suffix) {\n prefixAlign = 'initial'\n suffixAlign = 'initial'\n } else if (prefix) {\n prefixAlign = 'initial'\n } else if (suffix) {\n suffixAlign = 'middle'\n }\n }\n\n if (prefixAlign === 'middle') {\n prefixOffset = {}\n } else {\n prefixOffset = offset\n }\n\n if (suffixAlign === 'middle') {\n suffixOffset = {}\n } else {\n suffixOffset = offset\n }\n\n if (prefix) {\n prefixHover = {\n '&:hover > #prefix-span > #prefix': {\n color: hoverColor,\n ...prefix.type.hover,\n },\n }\n prefix = cloneElement(prefix, {\n id: 'prefix',\n sx: {\n position: 'relative',\n height: height,\n width: width,\n mr: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: prefixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...prefix.props.sx,\n },\n })\n }\n\n if (suffix) {\n suffixHover = {\n '&:hover > #suffix-span >#suffix': {\n color: hoverColor,\n ...suffix.type.hover,\n },\n }\n suffix = cloneElement(suffix, {\n id: 'suffix',\n sx: {\n height: height,\n width: width,\n ml: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: suffixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...suffix.props.sx,\n },\n })\n }\n\n let sizeStyles = getSizeStyles(size)\n\n const style = {\n ...sizeStyles,\n lineHeight: 1.05,\n border: 'none',\n background: 'transparent',\n display: 'block',\n color: baseColor,\n padding: [0],\n textAlign: 'left',\n cursor: 'pointer',\n width: 'fit-content',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n color: hoverColor,\n },\n ...suffixHover,\n ...prefixHover,\n },\n ...sxProp,\n }\n\n const Inner = (\n <>\n <Box\n as='span'\n id='prefix-span'\n sx={{ display: 'inline-block', ...prefixOffset }}\n >\n {prefix && prefix}\n </Box>\n <Box as='span' sx={{ transition: 'color 0.15s' }}>\n {children}\n </Box>\n <Box\n as='span'\n id='suffix-span'\n sx={{ display: 'inline-block', ...suffixOffset }}\n >\n {suffix && suffix}\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={{\n ...style,\n textDecoration: 'none',\n }}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Button)\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Link from './link'\n\nconst Callout = (\n { label, children, inverted, color, href, internal, tracking, sx, ...props },\n ref\n) => {\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n const style = {\n border: 'none',\n padding: [0],\n fontSize: [3, 3, 3, 4],\n color: baseColor,\n background: 'transparent',\n textDecoration: 'none',\n fontFamily: 'body',\n lineHeight: 'h3',\n letterSpacing: 'body',\n width: 'fit-content',\n cursor: 'pointer',\n textAlign: 'left',\n mb: [1],\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #container > #arrow': {\n transform: 'rotate(45deg)',\n fill: hoverColor,\n },\n '&:hover': {\n color: hoverColor,\n },\n },\n ...sx,\n }\n\n const Inner = (\n <>\n <Box sx={{ transition: '0.15s', letterSpacing: 'body', pb: ['6px'] }}>\n {children}\n </Box>\n <Box\n sx={{\n transition: '0.15s',\n display: 'inline-block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n }}\n >\n {label}\n </Box>\n <Box\n as='span'\n id='container'\n sx={{\n ml: [2],\n display: 'inline-block',\n }}\n >\n <Arrow\n id='arrow'\n sx={{\n transition: 'fill 0.15s, transform 0.15s',\n position: 'relative',\n top: ['2px'],\n color: baseColor,\n height: [15, 15, 15, 17],\n width: [15, 15, 15, 17],\n }}\n />\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={style}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Callout)\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Caption = ({ as = 'figcaption', number, children, label = 'figure' }) => {\n return (\n <Box\n as={as}\n sx={{\n color: 'secondary',\n display: 'block',\n textAlign: 'left',\n fontSize: [2, 2, 2, 3],\n '& a': { color: 'secondary' },\n '& a:hover': { color: 'primary' },\n '& > p': {\n display: 'inline',\n fontSize: [2, 2, 2, 3],\n },\n }}\n >\n {number && (\n <>\n <Box\n sx={{\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n display: 'inline-block',\n }}\n >\n {label} {number}\n </Box>{' '}\n <Box sx={{ display: 'inline-block', mx: [1], pr: [1] }}>/</Box>\n </>\n )}\n {children}\n </Box>\n )\n}\n\nexport default Caption\n","import React, { useState, useEffect, useRef } from 'react'\nimport { Box, Flex } from 'theme-ui'\n\nconst styles = {\n clim: (setClim) => {\n return {\n bg: 'unset',\n border: 'none',\n color: 'primary',\n px: 0,\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n transition: 'border 0.15s',\n userSelect: setClim ? 'none !important' : 'unset',\n width: 'fit-content',\n minWidth: 'fit-content',\n }\n },\n}\n\nconst DIMENSIONS = {\n width: ['10px', '16px', '16px', '17px'],\n height: ['80px', '110px', '110px', '130px'],\n}\n\nconst hexToRgb = (hex) => {\n let result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result\n ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(\n result[3],\n 16\n )}`\n : null\n}\n\nconst Gradient = ({ colormap, discrete, horizontal, width, height }) => {\n const step = (1 / colormap.length) * 100\n const isHex = String(colormap[0]).startsWith('#')\n const values = colormap.map((color, i) => {\n const rgbColor = isHex ? hexToRgb(color) : color\n const position = `${i * step}% ${\n discrete && i < colormap.length - 1 ? `${(i + 1) * step}%` : ''\n }`\n return `rgb(${rgbColor}) ${position}`\n })\n\n const css = `linear-gradient(to ${\n horizontal ? 'right' : 'top'\n }, ${values.join(',')})`\n\n return (\n <Box\n sx={{\n ...(horizontal\n ? {\n width: width || DIMENSIONS.height,\n height: height || DIMENSIONS.width,\n }\n : {\n width: width || DIMENSIONS.width,\n minHeight: height || DIMENSIONS.height,\n }),\n mt: horizontal ? ['1px', '1px', '1px', 0] : 0,\n border: ({ colors }) => `solid 1px ${colors.hinted}`,\n background: css,\n }}\n />\n )\n}\n\nconst Label = ({ label, units, horizontal }) => (\n <Box\n sx={\n !horizontal && {\n width: ['13px', '17px', '17px', '19px'],\n alignSelf: 'flex-end',\n }\n }\n >\n <Box\n sx={{\n mb: horizontal ? 0 : ['-4px', '-4px', '-4px', '-3px'],\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n ...(horizontal\n ? {}\n : {\n writingMode: 'vertical-rl',\n transform: 'rotate(180deg)',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n overflow: 'visible',\n }),\n }}\n >\n {label}{' '}\n <Box\n as='span'\n sx={{\n textTransform: 'none',\n color: 'secondary',\n display: 'inline-block',\n }}\n >\n {units}\n </Box>\n </Box>\n </Box>\n)\n\nconst Colorbar = ({\n colormap,\n label,\n clim,\n setClim,\n setClimStep = 1,\n discrete,\n units,\n width,\n height,\n format = (d) => d,\n horizontal = false,\n bottom = false,\n sx,\n sxClim,\n ...props\n}) => {\n if (!Array.isArray(colormap)) {\n throw new Error(`expected array for colormap, got '${colormap}'.`)\n }\n\n const climRef = [useRef(), useRef()]\n const [climMinDragging, setClimMinDragging] = useState(false)\n const [climMaxDragging, setClimMaxDragging] = useState(false)\n\n let x,\n y,\n dx,\n dy = 0\n let id = null\n let init = [0, 0]\n let scale = setClimStep\n\n const draggingFunction = (e) => {\n if (id === 'min' && !climMinDragging) setClimMinDragging(true)\n if (id === 'max' && !climMaxDragging) setClimMaxDragging(true)\n dx = e.pageX - x\n dy = e.pageY - y\n if (horizontal) {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] + dx * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] + dx * scale, init[0])])\n } else {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] - dy * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] - dy * scale, init[0])])\n }\n }\n\n const handleMouseDown = (e) => {\n y = e.pageY\n x = e.pageX\n id = e.target.id\n init = clim\n\n document.body.setAttribute(\n 'style',\n horizontal\n ? 'cursor: ew-resize !important'\n : 'cursor: ns-resize !important'\n )\n document.addEventListener('mousemove', draggingFunction)\n const updater = () => {\n document.body.setAttribute('style', 'cursor: unset')\n document.removeEventListener('mousemove', draggingFunction)\n window.removeEventListener('mouseup', updater)\n if (id === 'min') setClimMinDragging(false)\n if (id === 'max') setClimMaxDragging(false)\n }\n window.addEventListener('mouseup', updater)\n }\n\n const increment = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] + scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] + scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n const decrement = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] - scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] - scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n useEffect(() => {\n const listener = (e) => {\n if (\n ['ArrowUp', 'ArrowRight'].includes(e.code) ||\n ['ArrowUp', 'ArrowRight'].includes(e.key)\n ) {\n increment(e)\n }\n if (\n ['ArrowDown', 'ArrowLeft'].includes(e.code) ||\n ['ArrowDown', 'ArrowLeft'].includes(e.key)\n ) {\n decrement(e)\n }\n }\n window.addEventListener('keydown', listener)\n\n return () => {\n window.removeEventListener('keydown', listener)\n }\n }, [clim])\n\n const ClimMin = () => {\n return (\n <Box\n id='min'\n as={setClim ? 'button' : 'div'}\n ref={climRef[0]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: label\n ? horizontal\n ? bottom\n ? '0px'\n : '10px'\n : ['2px', '1px', '1px', '2px']\n : 0,\n mr: horizontal ? ['2px', '1px', '1px', '2px'] : 0,\n mb: horizontal ? 0 : ['-2px', '-2px', '-2px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[0].current.focus()}\n >\n {format(clim[0])}\n </Box>\n )\n }\n\n const ClimMax = () => {\n return (\n <Box\n id='max'\n as={setClim ? 'button' : 'div'}\n ref={climRef[1]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: horizontal\n ? ['2px', '1px', '1px', '2px']\n : ['2px', '1px', '1px', '2px'],\n mt: horizontal ? 0 : ['-2px', '-3px', '-3px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[1].current.focus()}\n >\n {format(clim[1])}\n </Box>\n )\n }\n\n return (\n <Flex\n {...props}\n sx={{\n flexDirection: 'row',\n alignItems: 'start',\n justifyContent: 'flex-start',\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n ...sx,\n }}\n >\n {label && <Label label={label} units={units} horizontal={horizontal} />}\n <Flex\n sx={{\n flexGrow: horizontal ? 1 : 'unset',\n flexDirection: 'column',\n ml: bottom && label ? '4px' : '0px',\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n <Flex\n sx={{\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n {horizontal && clim && !bottom && <ClimMin />}\n <Gradient\n colormap={colormap}\n horizontal={horizontal}\n discrete={discrete}\n width={width}\n height={height}\n />\n {horizontal && clim && !bottom && <ClimMax />}\n </Flex>\n {horizontal && clim && bottom && (\n <Flex sx={{ justifyContent: 'space-between' }}>\n <ClimMin />\n <ClimMax />\n </Flex>\n )}\n </Flex>\n\n {!horizontal && (\n <Flex\n sx={{\n flexDirection: 'column-reverse',\n justifyContent: 'space-between',\n height: height || DIMENSIONS.height,\n }}\n >\n {clim && <ClimMin />}\n {clim && <ClimMax />}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Colorbar\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst InlineColor = ({ sx, color, children, ...props }) => {\n return (\n <Box\n as='span'\n sx={{ display: 'inline-block', color: color, ...sx }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst Colors = {}\n\nColors.Primary = (props) => {\n return <InlineColor color='primary' {...props} />\n}\n\nColors.Secondary = (props) => {\n return <InlineColor color='secondary' {...props} />\n}\n\nColors.Background = (props) => {\n return <InlineColor color='background' {...props} />\n}\n\nColors.Red = (props) => {\n return <InlineColor color='red' {...props} />\n}\n\nColors.Orange = (props) => {\n return <InlineColor color='orange' {...props} />\n}\n\nColors.Yellow = (props) => {\n return <InlineColor color='yellow' {...props} />\n}\n\nColors.Green = (props) => {\n return <InlineColor color='green' {...props} />\n}\n\nColors.Teal = (props) => {\n return <InlineColor color='teal' {...props} />\n}\n\nColors.Blue = (props) => {\n return <InlineColor color='blue' {...props} />\n}\n\nColors.Purple = (props) => {\n return <InlineColor color='purple' {...props} />\n}\n\nColors.Pink = (props) => {\n return <InlineColor color='pink' {...props} />\n}\n\nColors.Grey = (props) => {\n return <InlineColor color='grey' {...props} />\n}\n\nexport default Colors\n","import React from 'react'\nimport Head from 'next/head'\nimport { useThemeUI } from 'theme-ui'\n\nconst Meta = ({ title, description, card, url }) => {\n const { theme, colorMode } = useThemeUI()\n if (!description) {\n console.warn(\n 'a custom description should be used for search engine optimization'\n )\n }\n if (!title) {\n console.warn('a custom title should be used for search engine optimization')\n }\n const titleProp = title || 'CarbonPlan'\n const descriptionProp =\n description ||\n 'Improving the transparency and scientific integrity of climate solutions with open data and tools.'\n const cardProp = card || 'https://images.carbonplan.org/social/homepage.png'\n const urlProp = url || 'https://carbonplan.org'\n\n return (\n <Head>\n <title>{titleProp}</title>\n <meta name='description' content={descriptionProp} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n {url && <link rel='canonical' href={url} />}\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\n />\n <link\n rel='icon'\n type='image/svg+xml'\n href='https://images.carbonplan.org/favicon.svg'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-medium-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link rel='manifest' href='https://images.carbonplan.org/manifest.json' />\n <meta name='theme-color' content={theme.colors.background} />\n <meta\n name='color-scheme'\n content={colorMode === 'light' ? 'light' : 'dark'}\n />\n <link\n rel='mask-icon'\n href='https://images.carbonplan.org/safari-pinned-tab.svg'\n color='#000000'\n />\n <link\n rel='apple-touch-icon'\n sizes='180x180'\n href='https://images.carbonplan.org/apple-touch-icon.png'\n />\n <meta name='msapplication-TileColor' content={theme.colors.background} />\n <meta\n name='msapplication-TileImage'\n content='https://images.carbonplan.org/mstile-144x144.png'\n />\n <meta\n name='msapplication-config'\n content='https://images.carbonplan.org/browserconfig.xml'\n />\n <meta property='og:title' content={titleProp} />\n <meta property='og:description' content={descriptionProp} />\n <meta property='og:image' content={cardProp} />\n <meta property='og:url' content={urlProp} />\n <meta name='twitter:title' content={titleProp} />\n <meta name='twitter:description' content={descriptionProp} />\n <meta name='twitter:image' content={cardProp} />\n <meta name='twitter:card' content='summary_large_image' />\n <meta name='format-detection' content='telephone=no' />\n </Head>\n )\n}\n\nexport default Meta\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Logo = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='150'\n fill='currentColor'\n stroke='none'\n viewBox='0 0 151.1 28.8'\n {...props}\n >\n <g>\n <g>\n <path\n d='M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3\n c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8\n c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2\n c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3\n c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z'\n />\n </g>\n <g>\n <path\n d='M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z'\n />\n </g>\n <g>\n <path\n d='M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6\n c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8\n c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z'\n />\n </g>\n <g>\n <path\n d='M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1\n c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3\n s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3\n C52.9,10.2,51.9,10.7,51.2,11.5z'\n />\n </g>\n <g>\n <path\n d='M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2\n c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5\n c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4\n c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z'\n />\n </g>\n <g>\n <path\n d='M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z'\n />\n </g>\n <g>\n <path\n d='M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3\n H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3\n c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z'\n />\n </g>\n <g>\n <path\n d='M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2\n C117.3,21.8,117.2,21.7,117.2,21.6z'\n />\n </g>\n <g>\n <path\n d='M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z'\n />\n </g>\n <g>\n <path\n d='M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z'\n />\n </g>\n <path\n d='M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2\n s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z'\n />\n <path\n d='M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2\n s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z'\n />\n </g>\n </Box>\n )\n}\n\nexport default Logo\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Menu = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='52' y1='29.9' x2='16' y2='29.9' />\n <line x1='52' y1='6.1' x2='16' y2='6.1' />\n <line x1='52' y1='18' x2='16' y2='18' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Menu\n","import React, { useState } from 'react'\nimport { default as NextLink } from 'next/link'\nimport { Box, Flex, Container, Link } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Logo from './logo'\nimport Row from './row'\nimport Column from './column'\nimport Menu from './menu'\n\nconst sx = {\n link: (current, label, first = false) => {\n return {\n width: 'auto',\n color: current === label ? 'secondary' : 'text',\n fontSize: [6, 6, 7, 8],\n fontFamily: 'heading',\n letterSpacing: 'heading',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderTopWidth: first ? '1px' : '0px',\n py: [3, 3, 4, 5],\n textDecoration: 'none',\n display: 'block',\n position: 'relative',\n transition: 'color 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #arrow': {\n opacity: 1,\n },\n },\n '&:hover': {\n color: current == label ? 'secondary' : 'text',\n },\n }\n },\n}\n\nconst links = [\n { url: 'about', display: 'About' },\n { url: 'research', display: 'Research' },\n { url: 'blog', display: 'Blog' },\n { url: 'press', display: 'Press' },\n]\n\nconst HoverArrow = () => {\n return (\n <Arrow\n id='arrow'\n sx={{\n pointerEvents: 'none',\n display: 'inline-block',\n position: 'absolute',\n left: ['-60px', '-68px', '-80px', '-104px'],\n top: ['32px', '32px', '46px', '62px'],\n opacity: 0,\n transition: 'opacity 0.2s ease-out',\n transform: 'rotate(45deg)',\n width: [36, 36, 48, 56],\n height: [36, 36, 48, 56],\n }}\n />\n )\n}\n\nconst Nav = ({ link, mode, nav, first, setExpanded }) => {\n const { url, display } = link\n const href = mode === 'remote' ? 'https://carbonplan.org/' + url : '/' + url\n\n if (mode === 'homepage' || (mode === 'local' && nav === url)) {\n return (\n <NextLink href={href} passHref>\n <Link\n onClick={() => {\n if (nav === url) setExpanded(false)\n }}\n sx={sx.link(nav, url, first)}\n >\n <HoverArrow />\n {display}\n </Link>\n </NextLink>\n )\n } else {\n return (\n <Link href={href} sx={sx.link(nav, url, first)}>\n <HoverArrow />\n {display}\n </Link>\n )\n }\n}\n\nconst NavGroup = ({ links, nav, mode, setExpanded }) => {\n return links.map((d, i) => {\n return (\n <Nav\n key={i}\n link={d}\n mode={mode}\n nav={nav}\n first={i === 0}\n setExpanded={setExpanded}\n />\n )\n })\n}\n\nconst Header = ({ status, mode, nav, menuItems }) => {\n const [expanded, setExpanded] = useState(false)\n\n const toggle = (e) => {\n setExpanded(!expanded)\n }\n\n return (\n <Row\n sx={{\n pt: ['12px'],\n pb: [3],\n }}\n >\n <Column start={[1]} width={[2]}>\n <Box\n sx={{ pointerEvents: 'all', display: 'block', width: 'fit-content' }}\n >\n {(mode == 'homepage' || mode == 'local') && (\n <NextLink href='/' passHref>\n <Link\n aria-label='CarbonPlan Homepage'\n sx={{\n display: 'block',\n }}\n >\n <Logo\n id='logo'\n sx={{\n cursor: 'pointer',\n color: 'primary',\n }}\n />\n </Link>\n </NextLink>\n )}\n {(mode == null || mode == 'remote') && (\n <Link\n href='https://carbonplan.org'\n aria-label='CarbonPlan Homepage'\n sx={{ display: 'block' }}\n >\n <Logo sx={{ cursor: 'pointer', color: 'primary' }} />\n </Link>\n )}\n </Box>\n </Column>\n <Column\n start={[4, 9]}\n width={[2, 2]}\n dr={1}\n sx={{\n display: [status ? 'flex' : 'none', 'flex', 'flex', 'flex'],\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n fontSize: [1, 2, 3],\n position: 'relative',\n top: ['-2px', '-3px', '-3px'],\n }}\n >\n {status ? `(${status})` : ''}\n </Box>\n </Column>\n <Column\n start={[status ? 6 : 4, 6, 11, 11]}\n width={[status ? 1 : 3, 3, 2, 2]}\n sx={{ zIndex: 5000 }}\n >\n <Flex sx={{ pointerEvents: 'all', justifyContent: 'flex-end' }}>\n <Box\n sx={{\n display: [status ? 'none' : 'flex', 'flex', 'flex', 'flex'],\n mr: '18px',\n gap: '18px',\n opacity: expanded ? 0 : 1,\n transition: 'opacity 0.15s',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {menuItems}\n </Box>\n <Menu\n sx={{\n flexShrink: 0,\n mr: ['-2px'],\n }}\n value={expanded}\n onClick={toggle}\n />\n </Flex>\n </Column>\n <Box\n sx={{\n opacity: expanded ? 1 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n minWidth: '0px',\n maxHeight: '100vh',\n width: '100vw',\n backgroundColor: 'background',\n zIndex: 4000,\n pt: ['79px'],\n transition: 'opacity 0.25s',\n }}\n >\n <Container>\n <Row>\n <Column start={[2, 4, 7, 7]} width={[5, 4, 5, 5]}>\n <Box\n as='nav'\n sx={{\n display: expanded ? 'inherit' : 'none',\n mt: [5, 5, 5, 6],\n }}\n >\n <NavGroup\n links={links}\n nav={nav}\n mode={mode}\n setExpanded={setExpanded}\n />\n </Box>\n </Column>\n </Row>\n </Container>\n </Box>\n </Row>\n )\n}\n\nexport default Header\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Monogram = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='80'\n stroke='none'\n fill='currentColor'\n viewBox='0 0 32 32'\n {...props}\n >\n <path d='M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z'></path>\n <path d='M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4'></path>\n <path d='M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15'></path>\n </Box>\n )\n}\n\nexport default Monogram\n","import React from 'react'\nimport { Box, Link } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\nimport Monogram from './monogram'\nimport Row from './row'\nimport Column from './column'\n\nconst getCurrentYear = () => new Date().getFullYear()\n\nconst Footer = () => {\n return (\n <Box\n sx={{\n mt: [7, 7, 7, 8],\n mb: [7, 7, 7, 8],\n pb: [2, 1, 0, 0],\n }}\n >\n <Row sx={{ mb: [0, 0, 4, 5] }}>\n <Column start={[1, 2]} width={[3, 3]}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n EMAIL\n </Box>\n <Link\n href='mailto:hello@carbonplan.org'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n hello@carbonplan.org\n </Link>\n </Box>\n </Column>\n <Column\n start={[5]}\n width={[1]}\n dl={1}\n dr={1}\n sx={{\n display: ['flex', 'none', 'none', 'none'],\n justifyContent: ['center'],\n }}\n >\n <Monogram sx={{ mt: ['-4px'], width: '60px', height: '60px' }} />\n </Column>\n <Column start={[1, 5, 5, 5]} width={[3, 3]} sx={{ mt: [3, 0, 0, 0] }}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n NEWSLETTER\n </Box>\n <Link\n href='https://carbonplan.org/newsletter'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n Subscribe\n </Link>\n </Box>\n </Column>\n <Column\n start={[1, 9]}\n width={[5, 4, 3, 3]}\n sx={{ mt: ['42px', '42px', 0, 0], mb: [3, 3, 0, 0] }}\n >\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'body',\n color: 'secondary',\n }}\n >\n CarbonPlan is a registered nonprofit public benefit corporation in\n California with 501(c)(3) status.\n </Box>\n </Box>\n </Column>\n </Row>\n <Row sx={{ mb: ['2px'], mt: [5, 5, 4] }}>\n <Column\n start={[1, 1, 2, 2]}\n width={[3, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n pt: [2],\n }}\n >\n <Box\n sx={{\n color: 'secondary',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n }}\n >\n (c) {getCurrentYear()} CARBONPLAN\n </Box>\n </Box>\n </Column>\n <Column\n start={[4, 3, 5, 5]}\n width={[2, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n mt: [0, 0, 0, 0],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n width: ['100%', 'auto', 'auto', 'auto'],\n pt: [2],\n }}\n >\n <NextLink href='/terms' passHref>\n <Box\n as='a'\n sx={{\n textDecoration: 'none',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n display: 'block',\n }}\n >\n READ OUR TERMS\n </Box>\n </NextLink>\n </Box>\n </Column>\n <Column\n start={[5, 7, 9, 9]}\n width={[2, 3, 3, 3]}\n sx={{ display: ['none', 'initial', 'initial', 'initial'] }}\n >\n <Monogram\n sx={{\n width: 80,\n height: 80,\n mt: [0, '-10px', 4, 5],\n mb: ['-12px'],\n }}\n />\n </Column>\n </Row>\n </Box>\n )\n}\n\nexport default Footer\n","import React from 'react'\nimport { Box, IconButton, useColorMode } from 'theme-ui'\nimport { useCallback } from 'react'\nimport { Sun } from '@carbonplan/icons'\n\nconst Dimmer = ({ sx, ...props }) => {\n const [colorMode, setColorMode] = useColorMode()\n\n const toggle = useCallback(() => {\n setColorMode(colorMode === 'light' ? 'dark' : 'light')\n }, [colorMode])\n\n return (\n <IconButton\n aria-label='Toggle dark mode'\n onClick={toggle}\n role='checkbox'\n sx={{\n width: 32,\n height: 32,\n display: 'inline-block',\n cursor: 'pointer',\n color: 'secondary',\n ...sx,\n }}\n {...props}\n >\n <Sun\n sx={{\n strokeWidth: '1.75',\n transition: 'stroke 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n stroke: 'primary',\n },\n },\n }}\n />\n </IconButton>\n )\n}\n\nexport default Dimmer\n","import React from 'react'\nimport { Box, Text, Link, useThemeUI } from 'theme-ui'\n\nconst GitSha = () => {\n const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\n const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER\n const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG\n\n const { theme } = useThemeUI()\n\n const color = theme.rawColors.secondary\n\n if (sha && owner && slug) {\n const shortSha = sha.substring(0, 7)\n const href = 'https://github.com/' + owner + '/' + slug + '/tree/' + sha\n\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Link\n href={href}\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n textDecoration: 'none',\n }}\n >\n {shortSha}\n </Link>\n </Box>\n )\n } else {\n // fallback\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {color}\n </Text>\n </Box>\n )\n }\n}\n\nconst Separator = ({ color }) => {\n return (\n <svg fill={color} opacity='0.8' viewBox='0 0 24 24' width='24' height='24'>\n <circle r={5} cx={19} cy={19} />\n </svg>\n )\n}\n\nexport default GitSha\n","import React from 'react'\nimport { Box, Text } from 'theme-ui'\nimport { useState, useEffect } from 'react'\nimport GitSha from './gitsha'\n\nconst Value = ({ mode }) => {\n const [display, setDisplay] = useState(init(mode))\n\n useEffect(() => {\n if (mode === 'mouse') {\n const setFromEvent = (e) => {\n const x = format(e.clientX, 4)\n const y = format(e.clientY, 4)\n setDisplay(`X,Y: ${x},${y}`)\n }\n window.addEventListener('mousemove', setFromEvent)\n return () => {\n window.removeEventListener('mousemove', setFromEvent)\n }\n }\n if (mode === 'scroll') {\n const setFromEvent = (e) => {\n const y = scrollFraction(window, document)\n setDisplay(`SCROLL: 0.${format((y * 100).toFixed(0), 2)}`)\n }\n window.addEventListener('scroll', setFromEvent)\n const y = scrollFraction(window, document)\n return () => {\n window.removeEventListener('scroll', setFromEvent)\n }\n }\n }, [])\n\n return (\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n mr: '-6px',\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: 'secondary',\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {display}\n </Text>\n )\n}\n\nconst Metadata = ({ mode }) => {\n return (\n <Box\n sx={{\n userSelect: 'none',\n position: 'fixed',\n bottom: '42px',\n right: '24px',\n transformOrigin: 'right',\n transform: 'rotate(90deg)',\n display: ['none', 'none', 'initial'],\n }}\n >\n <Value mode={mode} />\n <GitSha />\n </Box>\n )\n}\n\nfunction init(mode) {\n if (mode === 'mouse') {\n return `X,Y: ${format(0, 4)},${format(0, 4)}`\n } else if (mode === 'scroll') {\n return `SCROLL: 0.${format((0).toFixed(0), 2)}`\n } else {\n return mode\n }\n}\n\nfunction format(num, pad) {\n return num.toString().padStart(pad, '0')\n}\n\nfunction scrollFraction(window, documnt) {\n return Math.min(window.scrollY / (document.body.offsetHeight - 770), 0.99)\n}\n\nexport default Metadata\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { keyframes } from '@emotion/react'\n\nconst fade = keyframes({\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n})\n\nconst FadeIn = ({ duration = 300, delay = 0, children, ...delegated }) => {\n return (\n <Box\n {...delegated}\n sx={{\n animationDuration: duration + 'ms',\n animationDelay: delay + 'ms',\n animationName: fade.toString(),\n animationFillMode: 'backwards',\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default FadeIn\n","const getScrollbarWidth = (document) => {\n const outer = document.createElement('div')\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n document.body.appendChild(outer)\n outer.style.overflow = 'scroll'\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n const delta = outer.offsetWidth - inner.offsetWidth\n outer.parentNode.removeChild(outer)\n return delta\n}\n\nexport default getScrollbarWidth\n","import React, { useEffect } from 'react'\nimport getScrollbarWidth from './utils/get-scrollbar-width'\n\nconst Scrollbar = () => {\n useEffect(() => {\n if (typeof document !== 'undefined') {\n const delta = getScrollbarWidth(document)\n if (delta > 0) {\n document.body.classList.add('custom-scrollbar')\n document\n .getElementsByTagName('html')[0]\n .classList.add('custom-scrollbar')\n }\n }\n }, [])\n return null\n}\n\nexport default Scrollbar\n","import React, { useState, useEffect } from 'react'\nimport { Box, Container } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Guide = ({ color = 'muted' }) => {\n const [display, setDisplay] = useState(false)\n\n useEffect(() => {\n function handler(event) {\n const { key, keyCode, metaKey } = event\n if (key === ';' && metaKey) {\n setDisplay((prev) => !prev)\n }\n }\n\n document.addEventListener('keydown', handler)\n return () => {\n document.removeEventListener('keydown', handler)\n }\n }, [])\n\n return (\n <Box\n sx={{\n position: 'fixed',\n width: '100%',\n left: 0,\n top: 0,\n zIndex: color === 'teal' ? 5000 : -1,\n pointerEvents: 'none',\n display: display ? 'initial' : 'none',\n }}\n >\n <Container>\n <Box sx={{ display: ['none', 'none', 'initial', 'initial'] }}>\n <GuideColumns\n indices={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]}\n color={color}\n />\n </Box>\n <Box sx={{ display: ['none', 'initial', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6, 7, 8]} color={color} />\n </Box>\n <Box sx={{ display: ['initial', 'none', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6]} color={color} />\n </Box>\n </Container>\n </Box>\n )\n}\n\nconst colorCycle = [\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'teal',\n 'blue',\n 'purple',\n 'pink',\n]\n\nfunction GuideColumns({ indices, color }) {\n const sx = {\n outerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: color === 'teal' ? '0px' : '1px',\n borderRightWidth: color === 'teal' ? '0px' : '1px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n innerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: '0px',\n borderRightWidth: '0px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n }\n\n return (\n <Row>\n {indices.map((i) => {\n return (\n <Column\n key={i}\n start={[i]}\n width={[1, 1]}\n dl={0.5}\n dr={0.5}\n sx={{\n bg: color === 'teal' ? 'teal' : 'transparent',\n height: '100vh',\n ...sx.innerGuideColumn,\n }}\n >\n <Box\n sx={{\n mx: ['12px', 3, 3, 4],\n bg: color === 'teal' ? 'background' : 'transparent',\n height: '100%',\n borderLeftColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n borderRightColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n ...sx.outerGuideColumn,\n }}\n ></Box>\n </Column>\n )\n })}\n </Row>\n )\n}\n\nexport default Guide\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Settings = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='24' y1='2.1' x2='24' y2='6.1' />\n <line x1='24' y1='24.1' x2='24' y2='33.9' />\n <line x1='44' y1='2.1' x2='44' y2='12.1' />\n <line x1='44' y1='30.1' x2='44' y2='33.9' />\n <circle cx='24' cy='15.1' r='5' />\n <circle cx='44' cy='21.1' r='5' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Settings\n","import React, { useEffect } from 'react'\nimport { useThemeUI, Container, Flex, Box } from 'theme-ui'\nimport Meta from './meta'\nimport Header from './header'\nimport Footer from './footer'\nimport Dimmer from './dimmer'\nimport Metadata from './metadata'\nimport FadeIn from './fade-in'\nimport Scrollbar from './scrollbar'\nimport Guide from './guide'\nimport Settings from './settings'\n\nconst Layout = ({\n title,\n description,\n url,\n card,\n children,\n status,\n nav,\n settings,\n footer = true,\n header = true,\n metadata = 'mouse',\n links = 'remote',\n dimmer = 'bottom',\n guide = true,\n scrollbar = false,\n fade = true,\n container = true,\n printable = false,\n}) => {\n let content = children\n\n if (fade) {\n content = <FadeIn duration={250}>{content}</FadeIn>\n }\n if (container) {\n content = (\n <Box sx={{ mb: [8, 8, 9, 10] }}>\n <Container>{content}</Container>\n </Box>\n )\n }\n\n const { theme } = useThemeUI()\n\n const hideOnPrint = printable\n ? {\n '@media print': {\n display: 'none',\n },\n }\n : {}\n\n useEffect(() => {\n if (!theme) return\n\n const handler = (e) => {\n if (e.matches && settings?.value && settings?.onClick) {\n settings?.onClick()\n }\n }\n\n const query = window.matchMedia(`(min-width: ${theme.breakpoints[1]})`)\n query.onchange = handler\n\n return () => {\n query.onchange = null\n }\n }, [theme?.breakpoints, settings?.value, settings?.onClick])\n\n const menuItems = [\n <Dimmer\n key='dimmer'\n sx={{\n color: 'primary',\n mt: '-2px',\n display: [\n 'block',\n 'block',\n dimmer === 'top' ? 'block' : 'none',\n dimmer === 'top' ? 'block' : 'none',\n ],\n }}\n />,\n ]\n\n if (settings) {\n menuItems.push(\n <Settings\n key='settings'\n sx={{ mr: ['2px'], display: ['inherit', 'inherit', 'none', 'none'] }}\n {...settings}\n />\n )\n }\n\n return (\n <>\n {guide && <Guide color={guide} />}\n {scrollbar && <Scrollbar />}\n <Meta card={card} description={description} title={title} url={url} />\n <Flex\n sx={{\n flexDirection: 'column',\n minHeight: '100vh',\n }}\n >\n {header && (\n <Box\n as='header'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n position: 'sticky',\n top: 0,\n bg: 'background',\n height: '56px',\n zIndex: 2000,\n ...hideOnPrint,\n }}\n >\n <Container>\n <Header\n mode={links}\n status={status}\n nav={nav}\n menuItems={menuItems}\n />\n </Container>\n </Box>\n )}\n <Box\n sx={{\n width: '100%',\n flex: '1 1 auto',\n }}\n >\n {content}\n </Box>\n {footer && (\n <Box\n as='footer'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n ...hideOnPrint,\n }}\n >\n <Container>\n <Footer />\n </Container>\n </Box>\n )}\n {dimmer === 'bottom' && (\n <Box\n sx={{\n display: ['none', 'none', 'initial', 'initial'],\n position: ['fixed'],\n right: [13],\n bottom: [17, 17, 15, 15],\n }}\n >\n <Dimmer />\n </Box>\n )}\n {metadata && <Metadata mode={metadata} />}\n </Flex>\n </>\n )\n}\n\nexport default Layout\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Tag = ({ label, value, sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const isClickable = props && (props.onClick || props.onDoubleClick)\n\n return (\n <Box\n as={isClickable ? 'button' : 'span'}\n role='checkbox'\n aria-checked={value}\n aria-label={label}\n sx={{\n display: 'inline-block',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n cursor: isClickable ? 'pointer' : 'inherit',\n color: color,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderColor: color,\n lineHeight: 'body',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n textTransform: 'uppercase',\n userSelect: 'none',\n transition: 'opacity 0.05s',\n pt: ['1px'],\n pb: ['2px'],\n px: [0],\n m: [0],\n opacity: value == null || value ? 1 : color == 'primary' ? 0.24 : 0.33,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nexport default Tag\n","import React, { useMemo } from 'react'\nimport { Box } from 'theme-ui'\nimport Tag from './tag'\n\nconst sx = {\n label: {\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n userSelect: 'none',\n textTransform: 'uppercase',\n },\n}\n\nconst duplicateOptions = (options, defaultValue, overrides = {}) => {\n return Object.keys(options).reduce(\n (o, key) => Object.assign(o, { [key]: overrides[key] || defaultValue }),\n {}\n )\n}\n\nconst isAll = (option) => {\n return (\n Object.keys(option).filter((d) => option[d]).length ==\n Object.keys(option).length\n )\n}\n\nconst updateValues = ({ values, multiSelect, setValues, value }) => {\n const isAllAlreadySelected = isAll(values)\n const isSelectingAll = value === 'all'\n\n let updatedToggle\n\n if (multiSelect) {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // deselect all\n updatedToggle = duplicateOptions(values, false)\n } else {\n // de/select value, inherit other values\n updatedToggle = { ...values, [value]: !values[value] }\n }\n } else {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // do nothing\n } else {\n // select only value\n updatedToggle = duplicateOptions(values, false, { [value]: true })\n }\n }\n\n if (updatedToggle) {\n setValues(updatedToggle)\n }\n}\n\nconst Filter = ({\n values,\n setValues,\n label,\n colors,\n order,\n labels,\n showAll = false,\n multiSelect = false,\n ...props\n}) => {\n const keys = useMemo(() => {\n if (order) {\n return order\n } else {\n return Object.keys(values)\n }\n }, [order, ...Object.keys(values).sort()])\n\n return (\n <Box {...props}>\n {label && <Box sx={sx.label}>{label}</Box>}\n <Box sx={{ mt: label ? [3] : 0 }}>\n {showAll && (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: 'all',\n })\n }\n value={isAll(values)}\n sx={{ mr: [2] }}\n >\n All\n </Tag>\n )}\n {keys.map((d, i) => (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: d,\n })\n }\n onDoubleClick={() =>\n updateValues({\n values: values,\n multiSelect: false,\n setValues: setValues,\n value: d,\n })\n }\n key={i}\n value={values[d]}\n sx={{\n width: 'max-content',\n color: colors ? colors[d] : 'primary',\n mr: [2],\n mb: [1],\n }}\n >\n {labels ? labels[d] : d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Column from './column'\n\nconst Sidenote = ({ children, variant = 'h1' }) => {\n let mt\n if (variant === 'h1') mt = [4, '27px', '42px', '54px']\n if (variant === 'h2') mt = [4, 4, '14px', '25px']\n return (\n <>\n <Column start={[1, 4, 8, 8]} width={[1, 1, 1, 1]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n textAlign: 'right',\n }}\n >\n /\n </Box>\n </Column>\n <Column start={[2, 5, 9, 9]} width={[3, 3, 2, 2]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n height: ['100%', '0px', '0px', '0px'],\n }}\n >\n {children}\n </Box>\n </Column>\n </>\n )\n}\n\nexport default Sidenote\n","import React, { forwardRef } from 'react'\nimport { Input as ThemedInput } from 'theme-ui'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Input = ({ size = 'sm', inverted, sx, ...props }, ref) => {\n const defaultColor = inverted ? 'secondary' : 'primary'\n\n const styles = {\n color: defaultColor,\n borderColor: 'secondary',\n borderStyle: 'solid',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderRadius: '0px',\n transition: 'border 0.15s',\n borderBottomWidth: '1px',\n width: 'calc(min(15ch, 100%))',\n p: [0],\n py: ['2px'],\n 'input::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n 'input::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n ':focus': {\n borderColor: 'primary',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: 'none !important',\n },\n ...getSizeStyles(size),\n ...sx,\n }\n return <ThemedInput {...props} ref={ref} sx={styles} />\n}\n\nexport default forwardRef(Input)\n","import React, { forwardRef } from 'react'\nimport { useThemeUI, Slider as ThemeSlider } from 'theme-ui'\n\nconst Slider = ({ sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const {\n theme: { rawColors: colors },\n } = useThemeUI()\n\n return (\n <ThemeSlider\n ref={ref}\n sx={{\n '&::-webkit-slider-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n '&::-moz-range-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: `${colors.secondary} !important`,\n },\n ':focus': {\n color: color,\n '&::-webkit-slider-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n '&::-moz-range-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n },\n color: color,\n ...sx,\n }}\n {...props}\n />\n )\n}\n\nexport default forwardRef(Slider)\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst styles = {\n reset: {\n verticalAlign: 'baseline',\n border: 0,\n outline: 0,\n margin: 0,\n padding: 0,\n },\n row: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderTopWidth: '1px',\n borderColor: 'muted',\n pt: [3, 3, 3, '20px'],\n pb: [3, 3, 3, '20px'],\n mb: ['2px'],\n },\n header: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n index: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n entry: {\n display: 'block',\n fontSize: [2, 2, 2, 3],\n fontFamily: 'faux',\n letterSpacing: 'faux',\n mb: ['1px'],\n mt: [2, 0, 0, 0],\n },\n}\n\nconst Table = ({\n data,\n sx,\n color,\n header,\n columns,\n start,\n width,\n index = true,\n borderBottom = true,\n borderTop = true,\n}) => {\n if (!start || !columns || !width) {\n throw new Error('Must provide columns, start, and width')\n }\n return (\n <Box as='table' sx={{ display: 'block', ...sx }}>\n <Box as='tbody' sx={{ display: 'block' }}>\n {header && (\n <Row\n as='tr'\n sx={{\n ...styles.reset,\n ...styles.header,\n ...styles.row,\n color: color,\n borderTopWidth: !borderTop ? '0px' : '1px',\n }}\n >\n <Column as='td' start={[1]} width={columns} sx={styles.index}>\n {header}\n </Column>\n </Row>\n )}\n {data.map((row, i) => {\n return (\n <Row\n as='tr'\n columns={columns}\n key={i}\n sx={{\n ...styles.reset,\n ...styles.row,\n pb:\n borderBottom && i === data.length - 1\n ? ['18px', '18px', '18px', '22px']\n : [3, 3, 3, '20px'],\n borderBottomWidth:\n borderBottom && i === data.length - 1 ? '1px' : '0px',\n borderTopWidth:\n !borderTop && i === 0 && !header ? '0px' : '1px',\n }}\n >\n {row.map((column, j) => {\n return (\n <Column\n as='td'\n key={j}\n start={start[j]}\n width={width[j]}\n sx={\n j == 0 && index\n ? { ...styles.reset, ...styles.index }\n : { ...styles.reset, ...styles.entry }\n }\n >\n {column}\n </Column>\n )\n })}\n </Row>\n )\n })}\n </Box>\n </Box>\n )\n}\n\nexport default Table\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Toggle = ({ value, onClick, disabled, sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n value = disabled ? false : value\n return (\n <Box\n ref={ref}\n as='button'\n onClick={onClick}\n role='checkbox'\n aria-checked={value}\n aria-label='Toggle'\n sx={{\n border: 'none',\n background: 'none',\n cursor: disabled ? 'default' : 'pointer',\n p: [0],\n m: [0],\n display: 'inline-block',\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n width: '50px',\n height: '20px',\n borderRadius: '20px',\n backgroundColor: value\n ? transparentize(color, color == 'primary' ? 0.5 : 0.45)\n : 'muted',\n position: 'relative',\n transition: '0.15s',\n display: 'inline-block',\n }}\n >\n <Box\n sx={{\n width: '14px',\n height: '14px',\n borderRadius: '7px',\n position: 'absolute',\n left: value ? '32px' : '4px',\n top: '3px',\n backgroundColor: value ? color : 'secondary',\n transition: '0.15s',\n }}\n ></Box>\n </Box>\n </Box>\n )\n}\n\nexport default forwardRef(Toggle)\n","const defaultOptions = {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n}\n\nconst formatDateElement = (date, element, option) => {\n if (!option) {\n return null\n }\n\n const format = typeof option === 'string' ? option : defaultOptions[element]\n\n const result = date.toLocaleString('default', {\n [element]: format,\n })\n\n if (format === 'numeric' && ['day', 'month'].includes(element)) {\n return result.padStart(2, '0')\n } else {\n return result\n }\n}\nconst formatDate = (date, options = defaultOptions) => {\n const d = new Date(date.replace(/-/g, '/'))\n\n const month = formatDateElement(d, 'month', options.month)\n const day = formatDateElement(d, 'day', options.day)\n const year = formatDateElement(d, 'year', options.year)\n\n return [month, day, year].filter(Boolean).join(options.separator ?? ' ')\n}\n\nexport default formatDate\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { PoopSad } from '@carbonplan/emoji'\nimport Layout from './layout'\nimport Row from './row'\nimport Column from './column'\n\nconst Custom404 = () => {\n return (\n <Layout\n footer={false}\n title={'404 – CarbonPlan'}\n description={\n \"Sorry but we can't seem to find the page you are looking for.\"\n }\n >\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Box as='h1' variant='styles.h1'>\n Oops!\n </Box>\n <Box\n sx={{\n fontSize: [4, 4, 4, 5],\n lineHeight: 'h3',\n mt: [3, 4, 4],\n mb: [2, 3, 3],\n maxWidth: ['90%', '90%', '400px'],\n }}\n >\n Sorry but we can't seem to find the page you are looking for.\n </Box>\n <Box\n sx={{\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [2, 2, 2, 3],\n mt: [4, 5, 5],\n }}\n >\n ERROR CODE 404\n </Box>\n </Column>\n <Column start={[2, 5, 7, 7]} width={[4, 4, 4, 4]}>\n <Box\n sx={{\n width: ['100%'],\n mt: [2, 4, 4, 5],\n fill: 'primary',\n }}\n >\n <PoopSad sx={{ width: '100%', height: 'auto' }} />\n </Box>\n </Column>\n </Row>\n </Layout>\n )\n}\n\nexport default Custom404\n","import React from 'react'\nimport { Box, IconButton } from 'theme-ui'\n\nconst Expander = ({ value, id, onClick, sx }) => {\n return (\n <IconButton\n onClick={onClick}\n id={id}\n role='checkbox'\n aria-checked={value}\n aria-label='Expand'\n sx={{\n display: 'inline-block',\n width: 24,\n height: 24,\n p: [1],\n cursor: 'pointer',\n fill: 'secondary',\n stroke: 'secondary',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n fill: 'primary',\n stroke: 'primary',\n },\n },\n ...sx,\n }}\n >\n <svg viewBox='0 0 16 16'>\n <path\n d='M8,0 V16 M0,8 H16'\n style={{\n strokeWidth: 2,\n transition: '0.25s all',\n transformOrigin: '8px 8px',\n transform: value ? 'rotate(45deg)' : '',\n }}\n />\n </svg>\n </IconButton>\n )\n}\n\nexport default Expander\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nimport Group from './group'\n\nconst Figure = ({ as = 'figure', children, sx }) => {\n return (\n <Box\n as={as}\n sx={{\n my: [6, 6, 6, 7],\n '@media print': {\n breakInside: 'avoid',\n },\n ...sx,\n }}\n >\n <Group spacing={[4, 4, 4, 5]}>{children}</Group>\n </Box>\n )\n}\n\nexport default Figure\n","import React from 'react'\nimport Caption from './caption'\n\nconst FigureCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='figure'>\n {children}\n </Caption>\n )\n}\n\nexport default FigureCaption\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\nimport Sidenote from './sidenote'\n\nconst Heading = ({\n children,\n sidenote,\n variant = 'h1',\n description,\n descriptionStart = [1, 3, 5, 5],\n descriptionWidth = [5, 5, 5, 4],\n sx,\n}) => {\n let titleWidth = [6, 6, 6, 6]\n if (description) {\n titleWidth[1] = descriptionStart[1] - 1\n titleWidth[2] = descriptionStart[2] - 2\n titleWidth[3] = descriptionStart[3] - 2\n }\n\n if (!['h1', 'h2'].includes(variant)) {\n throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`)\n }\n\n return (\n <Row sx={{ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8], ...sx }}>\n <Column start={[1, 1, 2, 2]} width={titleWidth}>\n {variant === 'h1' && (\n <Box as='h1' variant='styles.h1' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n {variant === 'h2' && (\n <Box as='h2' variant='styles.h2' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n </Column>\n {sidenote && <Sidenote variant={variant}>{sidenote}</Sidenote>}\n {description && (\n <Column start={descriptionStart} width={descriptionWidth}>\n <Box\n sx={{\n mt: [4, '5px', '20px', '31px'],\n fontSize: [2, 2, 2, 3],\n }}\n >\n {description}\n </Box>\n </Column>\n )}\n </Row>\n )\n}\n\nexport default Heading\n","import React from 'react'\nimport { Flex } from 'theme-ui'\nimport { RotatingArrow } from '@carbonplan/icons'\nimport Button from './button'\n\nconst LinkGroup = ({\n members,\n color,\n inverted,\n tracking,\n size = 'xs',\n rowGap = [2, 2, 2, 3],\n columnGap = [3, 3, 3, 4],\n direction = 'horizontal',\n sx,\n}) => {\n return (\n <Flex\n sx={{\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n rowGap,\n columnGap,\n flexWrap: 'wrap',\n ...sx,\n }}\n >\n {members.map((d, i) => {\n return (\n <Button\n key={i}\n href={d.href}\n label={d.label}\n size={size}\n sx={{ color: color }}\n inverted={inverted}\n suffix={<RotatingArrow />}\n tracking={tracking}\n >\n {d.label}\n </Button>\n )\n })}\n </Flex>\n )\n}\n\nexport default LinkGroup\n","import React, { useRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport getProps from './utils/get-props'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Select = ({ children, size = 'sm', sx, sxSelect, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const sizeStyles = getSizeStyles(size)\n const ref = useRef(null)\n\n const { onChange } = props\n const omitOnChange = getProps((k) => k !== 'onChange')(props)\n\n if (!['xs', 'sm', 'md'].includes(size)) {\n throw new Error('Size must be xs, sm, or md')\n }\n\n let pr, height, width, ml, top\n\n if (size === 'xs') {\n height = [14, 14, 14, 16]\n width = [14, 14, 14, 14]\n top = ['1px']\n ml = ['-14px', '-14px', '-14px', '-16px']\n }\n\n if (size === 'sm') {\n height = [15, 15, 15, 20]\n width = [15, 15, 15, 20]\n top = ['1px']\n ml = ['-16px', '-16px', '-16px', '-20px']\n }\n\n if (size === 'md') {\n height = [20, 20, 20, 20]\n width = [20, 20, 20, 20]\n top = ['2px']\n ml = ['-20px', '-20px', '-20px', '-20px']\n }\n\n pr = width.map((d) => d + 12)\n\n return (\n <Box\n sx={{\n display: 'inline-block',\n ...sx,\n }}\n >\n <Box\n as='select'\n ref={ref}\n onChange={(e) => {\n ref.current.blur()\n if (onChange) onChange(e)\n }}\n sx={{\n ...sizeStyles,\n lineHeight: 'normal',\n cursor: 'pointer',\n WebkitAppearance: 'none',\n MozAppearance: 'none',\n pb: ['5px'],\n bg: 'background',\n pr: pr,\n border: 'none',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderBottomColor: 'primary',\n borderRadius: '0px',\n color: 'text',\n width: 'fit-content',\n color: color,\n userSelect: 'none',\n '@media (hover: none) and (pointer: coarse)': {\n '&:focus-visible': {\n outline: 'none !important',\n background: 'transparent !important',\n },\n },\n ...sxSelect,\n }}\n {...omitOnChange}\n >\n {children}\n </Box>\n <Arrow\n sx={{\n width: width,\n height: height,\n position: 'relative',\n ml: ml,\n top: top,\n fill: 'secondary',\n transform: 'rotate(135deg)',\n pointerEvents: 'none',\n }}\n />\n </Box>\n )\n}\n\nexport default Select\n","const getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nexport default getProps\n","import React from 'react'\nimport Caption from './caption'\n\nconst TableCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='table'>\n {children}\n </Caption>\n )\n}\n\nexport default TableCaption\n","import React from 'react'\n\nconst Tracking = ({ id }) => {\n if (!id) {\n return null\n }\n return (\n <>\n <script async src={`https://www.googletagmanager.com/gtag/js?id=${id}`} />\n <script\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}', {\n page_path: window.location.pathname,\n });\n `,\n }}\n />\n </>\n )\n}\n\nexport default Tracking\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Tray = ({ expanded, sx, children }) => {\n return (\n <>\n <Box\n sx={{\n position: 'fixed',\n top: '56px',\n bottom: '0px',\n left: '0px',\n width: 'calc(100vw)',\n mt: ['56px'],\n bg: 'background',\n zIndex: 1000,\n transition: 'opacity 0.15s',\n opacity: expanded ? 0.9 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n }}\n />\n <Box\n sx={{\n position: 'fixed',\n width: 'calc(100vw)',\n top: '0px',\n mt: ['56px'],\n pb: [6, 7, 7, 8],\n pt: [5, 6, 7, 8],\n bg: 'background',\n zIndex: 1100,\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n transition: 'transform 0.15s',\n ml: [-3, -4, -5, -6],\n pl: [3, 4, 5, 6],\n pr: [3, 4, 5, 6],\n transform: expanded ? 'translateY(0)' : 'translateY(-100%)',\n ...sx,\n }}\n >\n <Row>\n <Column start={[1, 1, 1, 1]} width={[6, 8, 10, 10]}>\n {children}\n </Column>\n </Row>\n </Box>\n </>\n )\n}\n\nexport default Tray\n","import { useEffect, useState } from 'react'\n\nimport getScrollbarWidth from './get-scrollbar-width'\n\nconst useScrollbarClass = () => {\n const [className, setClassName] = useState(null)\n\n useEffect(() => {\n if (document && getScrollbarWidth(document) > 0) {\n setClassName('custom-scrollbar')\n }\n }, [])\n\n return className\n}\n\nexport default useScrollbarClass\n"],"names":["_ref","color","srcProp","altProp","_ref$color","width","_ref$width","maxWidth","name","github","alt","src","sx","props","_objectWithoutPropertiesLoose","_excluded","console","warn","toLowerCase","replaceAll","React","createElement","Box","_extends","height","borderRadius","position","display","verticalAlign","bg","Image","opacity","filter","Row","columnGap","rowGap","children","columns","gap","makeArray","input","Array","isArray","includes","length","Error","map","d","flat","Number","isInteger","Grid","start","dl","dr","mr","end","i","ml","gridColumnStart","gridColumnEnd","xs","sm","md","lg","xl","Group","marginValue","_ref$direction","direction","spacing","_ref$spacing","sizes","hasOwnProperty","marginProperty","additionalStyles","Children","child","_extends2","Blank","justifyContent","alignItems","fontFamily","letterSpacing","fontSize","overflow","forwardRef","_ref2","ref","href","_ref2$internal","internal","_ref2$tracking","tracking","startsWith","NextLink","passHref","ThemedLink","action","category","track","e","window","gtag","event_category","event_label","label","value","event","Link","onClick","onContextMenu","getSizeStyles","size","lineHeight","Button$1","offset","margin","strokeWidth","_ref$size","prefix","suffix","inverted","align","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","sxProp","_excluded2","baseColor","hoverColor","transform","type","hover","cloneElement","id","transition","style","border","background","padding","textAlign","cursor","Inner","Fragment","as","textDecoration","mb","fill","pb","textTransform","Arrow","top","_ref$as","number","_ref$label","mx","pr","styles","setClim","px","userSelect","minWidth","DIMENSIONS","Gradient","colormap","discrete","horizontal","step","isHex","String","values","result","exec","parseInt","css","join","minHeight","mt","colors","hinted","Label","_ref3","units","alignSelf","writingMode","whiteSpace","InlineColor","Colors","Meta","title","description","card","url","_useThemeUI","useThemeUI","theme","colorMode","titleProp","descriptionProp","cardProp","urlProp","Head","content","rel","crossOrigin","property","Logo","_objectDestructuringEmpty","stroke","viewBox","Menu","IconButton","marginTop","flexShrink","xmlns","x1","y1","x2","y2","className","current","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","HoverArrow","pointerEvents","left","Nav","link","mode","nav","setExpanded","NavGroup","key","Header","status","menuItems","_useState","useState","expanded","pt","Column","zIndex","Flex","right","bottom","maxHeight","backgroundColor","Container","Monogram","Footer","getFullYear","Dimmer","useColorMode","setColorMode","_useColorMode","toggle","useCallback","role","Sun","GitSha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","rawColors","secondary","sha","shortSha","substring","Separator","Text","r","cx","cy","format","toFixed","init","setDisplay","useEffect","setFromEvent","x","clientX","clientY","y","addEventListener","removeEventListener","_setFromEvent","documnt","Math","min","scrollY","document","body","offsetHeight","scrollFraction","transformOrigin","Value","num","pad","toString","padStart","fade","keyframes","from","to","FadeIn","duration","_ref$duration","delay","_ref$delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","visibility","appendChild","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","metaKey","prev","GuideColumns","indices","colorCycle","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","borderLeftColor","borderRightColor","Settings","Layout","settings","footer","_ref$footer","_ref$header","header","_ref$metadata","metadata","_ref$links","dimmer","_ref$dimmer","guide","_ref$guide","_ref$scrollbar","scrollbar","container","_ref$container","printable","_ref$printable","_ref$fade","hideOnPrint","query","matchMedia","breakpoints","onchange","matches","push","flexDirection","flex","Metadata","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","keys","reduce","o","_Object$assign","Object","assign","isAll","option","updateValues","updatedToggle","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","_duplicateOptions","Sidenote","variant","_ref$variant","p","WebkitAppearance","outline","ThemedInput","Input","ThemeSlider","boxShadow","reset","row","index","entry","disabled","transparentize","defaultOptions","month","day","year","formatDateElement","date","element","_date$toLocaleString","toLocaleString","members","_ref2$direction","_ref2$spacing","limit","fixedCount","idx","max","excess","Avatar","remaining","firstChar","slice","specialChars","_ref4","clim","_ref4$setClimStep","setClimStep","_ref4$format","_ref4$horizontal","_ref4$bottom","sxClim","dx","climRef","useRef","climMinDragging","setClimMinDragging","climMaxDragging","_useState2","setClimMaxDragging","dy","scale","draggingFunction","pageX","pageY","handleMouseDown","target","setAttribute","updater","listener","code","activeElement","preventDefault","focus","increment","decrement","ClimMin","tabIndex","borderBottom","primary","onMouseDown","ClimMax","_ref6","flexGrow","PoopSad","my","breakInside","Caption","order","labels","showAll","_ref2$showAll","_ref2$multiSelect","useMemo","concat","sort","sidenote","descriptionStart","_ref$descriptionStart","_ref$descriptionWidth","descriptionWidth","titleWidth","_ref$rowGap","_ref$columnGap","flexWrap","Button","RotatingArrow","test","sxSelect","sizeStyles","onChange","omitOnChange","k","next","blur","MozAppearance","borderBottomStyle","borderBottomColor","data","_ref$index","_ref$borderBottom","borderTop","_ref$borderTop","column","j","async","dangerouslySetInnerHTML","__html","pl","Date","replace","Boolean","separator","_options$separator","setClassName"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/avatar.js","../src/row.js","../src/column.js","../src/group.js","../src/avatar-group.js","../src/badge.js","../src/blockquote.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/caption.js","../src/colorbar.js","../src/colors.js","../src/meta.js","../src/logo.js","../src/menu.js","../src/header.js","../src/monogram.js","../src/footer.js","../src/dimmer.js","../src/gitsha.js","../src/metadata.js","../src/fade-in.js","../src/utils/get-scrollbar-width.js","../src/scrollbar.js","../src/guide.js","../src/settings.js","../src/layout.js","../src/tag.js","../src/filter.js","../src/sidenote.js","../src/input.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/utils/format-date.js","../src/custom-404.js","../src/expander.js","../src/figure.js","../src/figure-caption.js","../src/heading.js","../src/link-group.js","../src/select.js","../src/utils/get-props.js","../src/table-caption.js","../src/tracking.js","../src/tray.js","../src/utils/use-scrollbar-class.js"],"sourcesContent":["import React from 'react'\nimport { Box, Image } from 'theme-ui'\n\nconst Avatar = ({\n color = 'transparent',\n width = '90px',\n maxWidth,\n name,\n github,\n alt,\n src,\n sx,\n ...props\n}) => {\n if (!name && !src && !github) {\n console.warn('must specify either name, github, or src')\n }\n\n let srcProp, altProp\n if (name) {\n srcProp = `https://images.carbonplan.org/team/${name\n .toLowerCase()\n .replaceAll(' ', '-')}.png`\n altProp = alt || name\n } else if (github) {\n srcProp = `https://github.com/${github}.png`\n altProp = alt || github\n } else {\n srcProp = src\n altProp = alt\n }\n\n return (\n <Box\n sx={{\n width: width,\n maxWidth: maxWidth,\n height: 'auto',\n borderRadius: '50%',\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'top',\n bg: color,\n ...sx,\n }}\n {...props}\n >\n <Image\n alt={altProp}\n src={srcProp}\n sx={{\n opacity: color && color !== 'transparent' ? 0.25 : 1,\n filter:\n color && color !== 'transparent'\n ? 'grayscale(100%) contrast(200%) brightness(100%)'\n : 'none',\n width: '100%',\n borderRadius: '50%',\n display: 'block',\n }}\n />\n </Box>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { Grid } from 'theme-ui'\n\nconst Row = ({ children, sx, columns, gap, ...props }) => {\n const makeArray = (input) => {\n if (!Array.isArray(input)) {\n input = [input, input, input, input]\n }\n if (Array.isArray(input) && ![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d]).flat()\n }\n if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n return input\n }\n\n let columnGap, rowGap\n if (Number.isInteger(gap) || Array.isArray(gap)) {\n gap = makeArray(gap)\n columnGap = gap\n rowGap = gap\n } else {\n columnGap = [4, 5, 5, 6]\n rowGap = [0, 0, 0, 0]\n }\n\n if (Number.isInteger(columns) || Array.isArray(columns)) {\n columns = makeArray(columns)\n } else {\n columns = [6, 8, 12, 12]\n }\n\n return (\n <Grid\n {...props}\n columns={columns}\n sx={{\n columnGap: columnGap,\n rowGap: rowGap,\n ...sx,\n }}\n >\n {children}\n </Grid>\n )\n}\n\nexport default Row\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Column = ({ start, width, dl, dr, children, sx, ...props }) => {\n start = start || 'auto'\n width = width || 'auto'\n\n const makeArray = (input) => {\n if (input && !Array.isArray(input)) {\n input = [input]\n }\n\n if (![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d, d, d, d]).flat()\n } else if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n\n return input\n }\n\n start = makeArray(start)\n width = makeArray(width)\n\n const end = start.map((d, i) => {\n if (d == 'auto') return 'auto'\n return d + width[i]\n })\n\n let ml, mr\n\n if (dl) {\n if (![0.5, 1].includes(dl)) {\n throw new Error('dl must be 0.5 or 1')\n }\n if (dl === 0.5) {\n ml = ['-12px', -3, -3, -4]\n }\n if (dl === 1) {\n ml = [-4, -5, -5, -6]\n }\n }\n\n if (dr) {\n if (![0.5, 1].includes(dr)) {\n throw new Error('dr must be 0.5 or 1')\n }\n if (dr === 0.5) {\n mr = ['-12px', -3, -3, -4]\n }\n if (dr === 1) {\n mr = [-4, -5, -5, -6]\n }\n }\n\n return (\n <Box\n {...props}\n sx={{\n gridColumnStart: start,\n gridColumnEnd: end,\n ml: ml,\n mr: mr,\n ...sx,\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default Column\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\nconst Group = ({ children, direction = 'vertical', spacing = 'md', sx }) => {\n let marginValue\n if (typeof spacing === 'string' && sizes.hasOwnProperty(spacing)) {\n marginValue = sizes[spacing]\n } else {\n marginValue = spacing\n }\n\n if (!['horizontal', 'vertical'].includes(direction)) {\n throw new Error(\n 'Invalid direction value. Must be either horizontal or vertical'\n )\n }\n\n const marginProperty = direction === 'vertical' ? 'mb' : 'mr'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box sx={sx}>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i < children.length - 1 ? marginValue : 0,\n ...additionalStyles,\n }}\n >\n {child}\n </Box>\n )\n })}\n </Box>\n )\n}\n\nexport default Group\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Avatar from './avatar'\nimport Row from './row'\nimport Column from './column'\nimport Group from './group'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\n\nconst Blank = ({ overflow, maxWidth }) => {\n return (\n <Box\n sx={{\n bg: 'muted',\n height: '100%',\n maxWidth: maxWidth,\n borderRadius: '50%',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Box\n sx={{\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [3, 3, 3, 4],\n }}\n >\n +{overflow}\n </Box>\n </Box>\n </Box>\n )\n}\n\nconst AvatarGroup = ({\n members,\n direction = 'horizontal',\n align,\n spacing = 'md',\n limit,\n width,\n maxWidth,\n fixedCount,\n sx,\n ...props\n}) => {\n let gap\n if (sizes.hasOwnProperty(spacing)) {\n gap = sizes[spacing]\n } else {\n gap = spacing\n }\n\n let start = (idx) => 'auto'\n if (align) {\n if (!Array.isArray(align)) {\n align = [align]\n }\n start = (idx) =>\n align.map((d) => {\n if (d === 'left') {\n return 'auto'\n } else if (d === 'right') {\n const offset = Math.max(1, fixedCount - members.length + 1)\n return (offset + idx) % fixedCount\n } else {\n throw Error(`alignment '${align}' not recognized`)\n }\n })\n }\n\n const excess = members.length > limit\n const overflow = members.length - limit + 1\n\n return (\n <>\n {fixedCount && (\n <Row columns={fixedCount} gap={gap} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Column key={idx} start={start(idx)}>\n {(!excess || idx < limit - 1) && (\n <Avatar {...props} width={width} maxWidth={maxWidth} />\n )}\n {excess && idx === limit - 1 && (\n <Blank overflow={overflow} maxWidth={maxWidth} />\n )}\n </Column>\n ))}\n </Row>\n )}\n {!fixedCount && (\n <Group direction={direction} spacing={spacing} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Avatar key={idx} {...props} width={width} maxWidth={maxWidth} />\n ))}\n </Group>\n )}\n </>\n )\n}\n\nexport default AvatarGroup\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Badge = ({ sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n return (\n <Box\n sx={{\n display: 'inline-block',\n width: 'fit-content',\n height: ['24px', '24px', '24px', '26px'],\n borderRadius: '5px',\n backgroundColor:\n color == 'primary' || color == 'secondary'\n ? 'muted'\n : transparentize(color, 0.7),\n textAlign: 'center',\n userSelect: 'none',\n fontSize: [2, 2, 2, 3],\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n letterSpacing: '0.02em',\n fontFamily: 'mono',\n mt: ['1px', '1px', '1px', '0px'],\n px: [1, 1, 1, '5px'],\n color: color,\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n\nexport default Badge\n","import React, { Children } from 'react'\nimport { Box } from 'theme-ui'\n\nconst specialChars = ['“', '\"', \"'\", '‘']\n\nconst Blockquote = ({ children }) => {\n return (\n <Box variant='styles.blockquote'>\n {Children.map(children, (d, i) => {\n let firstChar = ''\n let remaining = children\n\n if (d.props && typeof d.props.children === 'string') {\n firstChar = d.props.children.slice(0, 1)\n remaining = d.props.children.slice(1)\n } else if (typeof d === 'string') {\n firstChar = d.slice(0, 1)\n remaining = d.slice(1)\n }\n\n return (\n <>\n {specialChars.includes(firstChar) && (\n <Box as='span' sx={{ position: 'absolute', ml: '-0.4em' }}>\n {firstChar}\n </Box>\n )}\n {specialChars.includes(firstChar) ? remaining : d}\n </>\n )\n })}\n </Box>\n )\n}\n\nexport default Blockquote\n","import React, { forwardRef } from 'react'\nimport { Link as ThemedLink } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\n\nconst event = ({ action, category, label, value }) => {\n if (typeof window.gtag !== 'function') {\n console.warn(`Missing window.gtag, skipping analytics action: '${action}'.`)\n return\n }\n\n window.gtag('event', action, {\n event_category: category,\n event_label: label,\n value: value,\n })\n}\n\nconst Link = (\n { href, children, internal = false, tracking = false, ...props },\n ref\n) => {\n if (internal || (href && href.startsWith('/'))) {\n return (\n <NextLink href={href} passHref legacyBehavior>\n <ThemedLink ref={ref} {...props}>\n {children}\n </ThemedLink>\n </NextLink>\n )\n } else if (tracking) {\n let action\n let category\n if (href && href.includes('pdf')) {\n action = 'PDF'\n category = 'download'\n } else {\n action = 'website'\n category = 'external'\n }\n const track = (e) => {\n event({\n action: action,\n category: category,\n label: href,\n })\n }\n return (\n <ThemedLink\n ref={ref}\n onClick={track}\n onContextMenu={track}\n href={href}\n {...props}\n >\n {children}\n </ThemedLink>\n )\n } else {\n return (\n <ThemedLink ref={ref} href={href} {...props}>\n {children}\n </ThemedLink>\n )\n }\n}\n\nexport default forwardRef(Link)\n","const getSizeStyles = (size) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let fontSize, fontFamily, letterSpacing, lineHeight\n\n if (size === 'xs') {\n fontSize = [2, 2, 2, 3]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'sm') {\n fontSize = [3, 3, 3, 4]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'md') {\n fontSize = [4, 4, 4, 5]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'lg') {\n fontSize = [5, 5, 6, 7]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.2, 1.2, 1.25, 1.25]\n }\n\n if (size === 'xl') {\n fontSize = [6, 7, 8, 9]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.25]\n }\n\n return { fontSize, fontFamily, letterSpacing, lineHeight }\n}\n\nexport default getSizeStyles\n","import React, { forwardRef, cloneElement } from 'react'\nimport { Box } from 'theme-ui'\nimport Link from './link'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Button = (\n {\n size = 'sm',\n prefix,\n suffix,\n inverted,\n sx,\n children,\n align,\n href,\n internal,\n tracking,\n ...props\n },\n ref\n) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let offset, margin, top, height, width, strokeWidth\n\n const { color, ...sxProp } = sx || {}\n\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n if (size === 'xs') {\n margin = ['6px', '6px', '6px', '6px']\n height = [12, 12, 12, 13]\n width = [12, 12, 12, 13]\n strokeWidth = [1.5, 1.5, 1.5, 1.5]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'sm') {\n margin = ['7px', '7px', '7px', '7px']\n height = [13, 13, 13, 18]\n width = [13, 13, 13, 18]\n strokeWidth = [1.5, 1.5, 1.5, 2]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'md') {\n margin = ['8px', '8px', '8px', '8px']\n height = [18, 18, 18, 24]\n width = [18, 18, 18, 24]\n strokeWidth = [2, 2, 2, 3]\n }\n\n if (size === 'lg') {\n margin = ['10px', '10px', '12px', '16px']\n height = [24, 24, 34, 46]\n width = [24, 24, 34, 46]\n strokeWidth = [3, 3, 4, 5]\n }\n\n if (size === 'xl') {\n margin = ['12px', '16px', '18px', '20px']\n height = [34, 46, 56, 68]\n width = [34, 46, 56, 68]\n strokeWidth = [4, 5, 6, 7]\n }\n\n let prefixHover,\n suffixHover,\n prefixAlign,\n suffixAlign,\n prefixOffset,\n suffixOffset\n\n if (align) {\n prefixAlign = align\n suffixAlign = align\n } else {\n if (prefix && suffix) {\n prefixAlign = 'initial'\n suffixAlign = 'initial'\n } else if (prefix) {\n prefixAlign = 'initial'\n } else if (suffix) {\n suffixAlign = 'middle'\n }\n }\n\n if (prefixAlign === 'middle') {\n prefixOffset = {}\n } else {\n prefixOffset = offset\n }\n\n if (suffixAlign === 'middle') {\n suffixOffset = {}\n } else {\n suffixOffset = offset\n }\n\n if (prefix) {\n prefixHover = {\n '&:hover > #prefix-span > #prefix': {\n color: hoverColor,\n ...prefix.type.hover,\n },\n }\n prefix = cloneElement(prefix, {\n id: 'prefix',\n sx: {\n position: 'relative',\n height: height,\n width: width,\n mr: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: prefixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...prefix.props.sx,\n },\n })\n }\n\n if (suffix) {\n suffixHover = {\n '&:hover > #suffix-span >#suffix': {\n color: hoverColor,\n ...suffix.type.hover,\n },\n }\n suffix = cloneElement(suffix, {\n id: 'suffix',\n sx: {\n height: height,\n width: width,\n ml: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: suffixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...suffix.props.sx,\n },\n })\n }\n\n let sizeStyles = getSizeStyles(size)\n\n const style = {\n ...sizeStyles,\n lineHeight: 1.05,\n border: 'none',\n background: 'transparent',\n display: 'block',\n color: baseColor,\n padding: [0],\n textAlign: 'left',\n cursor: 'pointer',\n width: 'fit-content',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n color: hoverColor,\n },\n ...suffixHover,\n ...prefixHover,\n },\n ...sxProp,\n }\n\n const Inner = (\n <>\n <Box\n as='span'\n id='prefix-span'\n sx={{ display: 'inline-block', ...prefixOffset }}\n >\n {prefix && prefix}\n </Box>\n <Box as='span' sx={{ transition: 'color 0.15s' }}>\n {children}\n </Box>\n <Box\n as='span'\n id='suffix-span'\n sx={{ display: 'inline-block', ...suffixOffset }}\n >\n {suffix && suffix}\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={{\n ...style,\n textDecoration: 'none',\n }}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Button)\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Link from './link'\n\nconst Callout = (\n { label, children, inverted, color, href, internal, tracking, sx, ...props },\n ref\n) => {\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n const style = {\n border: 'none',\n padding: [0],\n fontSize: [3, 3, 3, 4],\n color: baseColor,\n background: 'transparent',\n textDecoration: 'none',\n fontFamily: 'body',\n lineHeight: 'h3',\n letterSpacing: 'body',\n width: 'fit-content',\n cursor: 'pointer',\n textAlign: 'left',\n mb: [1],\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #container > #arrow': {\n transform: 'rotate(45deg)',\n fill: hoverColor,\n },\n '&:hover': {\n color: hoverColor,\n },\n },\n ...sx,\n }\n\n const Inner = (\n <>\n <Box sx={{ transition: '0.15s', letterSpacing: 'body', pb: ['6px'] }}>\n {children}\n </Box>\n <Box\n sx={{\n transition: '0.15s',\n display: 'inline-block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n }}\n >\n {label}\n </Box>\n <Box\n as='span'\n id='container'\n sx={{\n ml: [2],\n display: 'inline-block',\n }}\n >\n <Arrow\n id='arrow'\n sx={{\n transition: 'fill 0.15s, transform 0.15s',\n position: 'relative',\n top: ['2px'],\n color: baseColor,\n height: [15, 15, 15, 17],\n width: [15, 15, 15, 17],\n }}\n />\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={style}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Callout)\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Caption = ({ as = 'figcaption', number, children, label = 'figure' }) => {\n return (\n <Box\n as={as}\n sx={{\n color: 'secondary',\n display: 'block',\n textAlign: 'left',\n fontSize: [2, 2, 2, 3],\n '& a': { color: 'secondary' },\n '& a:hover': { color: 'primary' },\n '& > p': {\n display: 'inline',\n fontSize: [2, 2, 2, 3],\n },\n }}\n >\n {number && (\n <>\n <Box\n sx={{\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n display: 'inline-block',\n }}\n >\n {label} {number}\n </Box>{' '}\n <Box sx={{ display: 'inline-block', mx: [1], pr: [1] }}>/</Box>\n </>\n )}\n {children}\n </Box>\n )\n}\n\nexport default Caption\n","import React, { useState, useEffect, useRef } from 'react'\nimport { Box, Flex } from 'theme-ui'\n\nconst styles = {\n clim: (setClim) => {\n return {\n bg: 'unset',\n border: 'none',\n color: 'primary',\n px: 0,\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n transition: 'border 0.15s',\n userSelect: setClim ? 'none !important' : 'unset',\n width: 'fit-content',\n minWidth: 'fit-content',\n }\n },\n}\n\nconst DIMENSIONS = {\n width: ['10px', '16px', '16px', '17px'],\n height: ['80px', '110px', '110px', '130px'],\n}\n\nconst hexToRgb = (hex) => {\n let result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result\n ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(\n result[3],\n 16\n )}`\n : null\n}\n\nconst Gradient = ({ colormap, discrete, horizontal, width, height }) => {\n const step = (1 / colormap.length) * 100\n const isHex = String(colormap[0]).startsWith('#')\n const values = colormap.map((color, i) => {\n const rgbColor = isHex ? hexToRgb(color) : color\n const position = `${i * step}% ${\n discrete && i < colormap.length - 1 ? `${(i + 1) * step}%` : ''\n }`\n return `rgb(${rgbColor}) ${position}`\n })\n\n const css = `linear-gradient(to ${\n horizontal ? 'right' : 'top'\n }, ${values.join(',')})`\n\n return (\n <Box\n sx={{\n ...(horizontal\n ? {\n width: width || DIMENSIONS.height,\n height: height || DIMENSIONS.width,\n }\n : {\n width: width || DIMENSIONS.width,\n minHeight: height || DIMENSIONS.height,\n }),\n mt: horizontal ? ['1px', '1px', '1px', 0] : 0,\n border: ({ colors }) => `solid 1px ${colors.hinted}`,\n background: css,\n }}\n />\n )\n}\n\nconst Label = ({ label, units, horizontal }) => (\n <Box\n sx={\n !horizontal && {\n width: ['13px', '17px', '17px', '19px'],\n alignSelf: 'flex-end',\n }\n }\n >\n <Box\n sx={{\n mb: horizontal ? 0 : ['-4px', '-4px', '-4px', '-3px'],\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n ...(horizontal\n ? {}\n : {\n writingMode: 'vertical-rl',\n transform: 'rotate(180deg)',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n overflow: 'visible',\n }),\n }}\n >\n {label}{' '}\n <Box\n as='span'\n sx={{\n textTransform: 'none',\n color: 'secondary',\n display: 'inline-block',\n }}\n >\n {units}\n </Box>\n </Box>\n </Box>\n)\n\nconst Colorbar = ({\n colormap,\n label,\n clim,\n setClim,\n setClimStep = 1,\n discrete,\n units,\n width,\n height,\n format = (d) => d,\n horizontal = false,\n bottom = false,\n sx,\n sxClim,\n ...props\n}) => {\n if (!Array.isArray(colormap)) {\n throw new Error(`expected array for colormap, got '${colormap}'.`)\n }\n\n const climRef = [useRef(), useRef()]\n const [climMinDragging, setClimMinDragging] = useState(false)\n const [climMaxDragging, setClimMaxDragging] = useState(false)\n\n let x,\n y,\n dx,\n dy = 0\n let id = null\n let init = [0, 0]\n let scale = setClimStep\n\n const draggingFunction = (e) => {\n if (id === 'min' && !climMinDragging) setClimMinDragging(true)\n if (id === 'max' && !climMaxDragging) setClimMaxDragging(true)\n dx = e.pageX - x\n dy = e.pageY - y\n if (horizontal) {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] + dx * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] + dx * scale, init[0])])\n } else {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] - dy * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] - dy * scale, init[0])])\n }\n }\n\n const handleMouseDown = (e) => {\n y = e.pageY\n x = e.pageX\n id = e.target.id\n init = clim\n\n document.body.setAttribute(\n 'style',\n horizontal\n ? 'cursor: ew-resize !important'\n : 'cursor: ns-resize !important'\n )\n document.addEventListener('mousemove', draggingFunction)\n const updater = () => {\n document.body.setAttribute('style', 'cursor: unset')\n document.removeEventListener('mousemove', draggingFunction)\n window.removeEventListener('mouseup', updater)\n if (id === 'min') setClimMinDragging(false)\n if (id === 'max') setClimMaxDragging(false)\n }\n window.addEventListener('mouseup', updater)\n }\n\n const increment = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] + scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] + scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n const decrement = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] - scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] - scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n useEffect(() => {\n const listener = (e) => {\n if (\n ['ArrowUp', 'ArrowRight'].includes(e.code) ||\n ['ArrowUp', 'ArrowRight'].includes(e.key)\n ) {\n increment(e)\n }\n if (\n ['ArrowDown', 'ArrowLeft'].includes(e.code) ||\n ['ArrowDown', 'ArrowLeft'].includes(e.key)\n ) {\n decrement(e)\n }\n }\n window.addEventListener('keydown', listener)\n\n return () => {\n window.removeEventListener('keydown', listener)\n }\n }, [clim])\n\n const ClimMin = () => {\n return (\n <Box\n id='min'\n as={setClim ? 'button' : 'div'}\n ref={climRef[0]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: label\n ? horizontal\n ? bottom\n ? '0px'\n : '10px'\n : ['2px', '1px', '1px', '2px']\n : 0,\n mr: horizontal ? ['2px', '1px', '1px', '2px'] : 0,\n mb: horizontal ? 0 : ['-2px', '-2px', '-2px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[0].current.focus()}\n >\n {format(clim[0])}\n </Box>\n )\n }\n\n const ClimMax = () => {\n return (\n <Box\n id='max'\n as={setClim ? 'button' : 'div'}\n ref={climRef[1]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: horizontal\n ? ['2px', '1px', '1px', '2px']\n : ['2px', '1px', '1px', '2px'],\n mt: horizontal ? 0 : ['-2px', '-3px', '-3px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[1].current.focus()}\n >\n {format(clim[1])}\n </Box>\n )\n }\n\n return (\n <Flex\n {...props}\n sx={{\n flexDirection: 'row',\n alignItems: 'start',\n justifyContent: 'flex-start',\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n ...sx,\n }}\n >\n {label && <Label label={label} units={units} horizontal={horizontal} />}\n <Flex\n sx={{\n flexGrow: horizontal ? 1 : 'unset',\n flexDirection: 'column',\n ml: bottom && label ? '4px' : '0px',\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n <Flex\n sx={{\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n {horizontal && clim && !bottom && <ClimMin />}\n <Gradient\n colormap={colormap}\n horizontal={horizontal}\n discrete={discrete}\n width={width}\n height={height}\n />\n {horizontal && clim && !bottom && <ClimMax />}\n </Flex>\n {horizontal && clim && bottom && (\n <Flex sx={{ justifyContent: 'space-between' }}>\n <ClimMin />\n <ClimMax />\n </Flex>\n )}\n </Flex>\n\n {!horizontal && (\n <Flex\n sx={{\n flexDirection: 'column-reverse',\n justifyContent: 'space-between',\n height: height || DIMENSIONS.height,\n }}\n >\n {clim && <ClimMin />}\n {clim && <ClimMax />}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Colorbar\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst InlineColor = ({ sx, color, children, ...props }) => {\n return (\n <Box\n as='span'\n sx={{ display: 'inline-block', color: color, ...sx }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst Colors = {}\n\nColors.Primary = (props) => {\n return <InlineColor color='primary' {...props} />\n}\n\nColors.Secondary = (props) => {\n return <InlineColor color='secondary' {...props} />\n}\n\nColors.Background = (props) => {\n return <InlineColor color='background' {...props} />\n}\n\nColors.Red = (props) => {\n return <InlineColor color='red' {...props} />\n}\n\nColors.Orange = (props) => {\n return <InlineColor color='orange' {...props} />\n}\n\nColors.Yellow = (props) => {\n return <InlineColor color='yellow' {...props} />\n}\n\nColors.Green = (props) => {\n return <InlineColor color='green' {...props} />\n}\n\nColors.Teal = (props) => {\n return <InlineColor color='teal' {...props} />\n}\n\nColors.Blue = (props) => {\n return <InlineColor color='blue' {...props} />\n}\n\nColors.Purple = (props) => {\n return <InlineColor color='purple' {...props} />\n}\n\nColors.Pink = (props) => {\n return <InlineColor color='pink' {...props} />\n}\n\nColors.Grey = (props) => {\n return <InlineColor color='grey' {...props} />\n}\n\nexport default Colors\n","import React from 'react'\nimport Head from 'next/head'\nimport { useThemeUI } from 'theme-ui'\n\nconst Meta = ({ title, description, card, url }) => {\n const { theme, colorMode } = useThemeUI()\n if (!description) {\n console.warn(\n 'a custom description should be used for search engine optimization'\n )\n }\n if (!title) {\n console.warn('a custom title should be used for search engine optimization')\n }\n const titleProp = title || 'CarbonPlan'\n const descriptionProp =\n description ||\n 'Improving the transparency and scientific integrity of climate solutions with open data and tools.'\n const cardProp = card || 'https://images.carbonplan.org/social/homepage.png'\n const urlProp = url || 'https://carbonplan.org'\n\n return (\n <Head>\n <title>{titleProp}</title>\n <meta name='description' content={descriptionProp} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n {url && <link rel='canonical' href={url} />}\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\n />\n <link\n rel='icon'\n type='image/svg+xml'\n href='https://images.carbonplan.org/favicon.svg'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-medium-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link rel='manifest' href='https://images.carbonplan.org/manifest.json' />\n <meta name='theme-color' content={theme.colors.background} />\n <meta\n name='color-scheme'\n content={colorMode === 'light' ? 'light' : 'dark'}\n />\n <link\n rel='mask-icon'\n href='https://images.carbonplan.org/safari-pinned-tab.svg'\n color='#000000'\n />\n <link\n rel='apple-touch-icon'\n sizes='180x180'\n href='https://images.carbonplan.org/apple-touch-icon.png'\n />\n <meta name='msapplication-TileColor' content={theme.colors.background} />\n <meta\n name='msapplication-TileImage'\n content='https://images.carbonplan.org/mstile-144x144.png'\n />\n <meta\n name='msapplication-config'\n content='https://images.carbonplan.org/browserconfig.xml'\n />\n <meta property='og:title' content={titleProp} />\n <meta property='og:description' content={descriptionProp} />\n <meta property='og:image' content={cardProp} />\n <meta property='og:url' content={urlProp} />\n <meta name='twitter:title' content={titleProp} />\n <meta name='twitter:description' content={descriptionProp} />\n <meta name='twitter:image' content={cardProp} />\n <meta name='twitter:card' content='summary_large_image' />\n <meta name='format-detection' content='telephone=no' />\n </Head>\n )\n}\n\nexport default Meta\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Logo = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='150'\n fill='currentColor'\n stroke='none'\n viewBox='0 0 151.1 28.8'\n {...props}\n >\n <g>\n <g>\n <path\n d='M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3\n c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8\n c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2\n c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3\n c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z'\n />\n </g>\n <g>\n <path\n d='M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z'\n />\n </g>\n <g>\n <path\n d='M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6\n c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8\n c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z'\n />\n </g>\n <g>\n <path\n d='M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1\n c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3\n s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3\n C52.9,10.2,51.9,10.7,51.2,11.5z'\n />\n </g>\n <g>\n <path\n d='M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2\n c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5\n c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4\n c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z'\n />\n </g>\n <g>\n <path\n d='M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z'\n />\n </g>\n <g>\n <path\n d='M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3\n H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3\n c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z'\n />\n </g>\n <g>\n <path\n d='M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2\n C117.3,21.8,117.2,21.7,117.2,21.6z'\n />\n </g>\n <g>\n <path\n d='M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z'\n />\n </g>\n <g>\n <path\n d='M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z'\n />\n </g>\n <path\n d='M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2\n s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z'\n />\n <path\n d='M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2\n s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z'\n />\n </g>\n </Box>\n )\n}\n\nexport default Logo\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Menu = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='52' y1='29.9' x2='16' y2='29.9' />\n <line x1='52' y1='6.1' x2='16' y2='6.1' />\n <line x1='52' y1='18' x2='16' y2='18' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Menu\n","import React, { useState } from 'react'\nimport { default as NextLink } from 'next/link'\nimport { Box, Flex, Container, Link } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Logo from './logo'\nimport Row from './row'\nimport Column from './column'\nimport Menu from './menu'\n\nconst sx = {\n link: (current, label, first = false) => {\n return {\n width: 'auto',\n color: current === label ? 'secondary' : 'text',\n fontSize: [6, 6, 7, 8],\n fontFamily: 'heading',\n letterSpacing: 'heading',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderTopWidth: first ? '1px' : '0px',\n py: [3, 3, 4, 5],\n textDecoration: 'none',\n display: 'block',\n position: 'relative',\n transition: 'color 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #arrow': {\n opacity: 1,\n },\n },\n '&:hover': {\n color: current == label ? 'secondary' : 'text',\n },\n }\n },\n}\n\nconst links = [\n { url: 'about', display: 'About' },\n { url: 'research', display: 'Research' },\n { url: 'blog', display: 'Blog' },\n { url: 'press', display: 'Press' },\n]\n\nconst HoverArrow = () => {\n return (\n <Arrow\n id='arrow'\n sx={{\n pointerEvents: 'none',\n display: 'inline-block',\n position: 'absolute',\n left: ['-60px', '-68px', '-80px', '-104px'],\n top: ['32px', '32px', '46px', '62px'],\n opacity: 0,\n transition: 'opacity 0.2s ease-out',\n transform: 'rotate(45deg)',\n width: [36, 36, 48, 56],\n height: [36, 36, 48, 56],\n }}\n />\n )\n}\n\nconst Nav = ({ link, mode, nav, first, setExpanded }) => {\n const { url, display } = link\n const href = mode === 'remote' ? 'https://carbonplan.org/' + url : '/' + url\n\n if (mode === 'homepage' || (mode === 'local' && nav === url)) {\n return (\n <NextLink href={href} passHref legacyBehavior>\n <Link\n onClick={() => {\n if (nav === url) setExpanded(false)\n }}\n sx={sx.link(nav, url, first)}\n >\n <HoverArrow />\n {display}\n </Link>\n </NextLink>\n )\n } else {\n return (\n <Link href={href} sx={sx.link(nav, url, first)}>\n <HoverArrow />\n {display}\n </Link>\n )\n }\n}\n\nconst NavGroup = ({ links, nav, mode, setExpanded }) => {\n return links.map((d, i) => {\n return (\n <Nav\n key={i}\n link={d}\n mode={mode}\n nav={nav}\n first={i === 0}\n setExpanded={setExpanded}\n />\n )\n })\n}\n\nconst Header = ({ status, mode, nav, menuItems }) => {\n const [expanded, setExpanded] = useState(false)\n\n const toggle = (e) => {\n setExpanded(!expanded)\n }\n\n return (\n <Row\n sx={{\n pt: ['12px'],\n pb: [3],\n }}\n >\n <Column start={[1]} width={[2]}>\n <Box\n sx={{ pointerEvents: 'all', display: 'block', width: 'fit-content' }}\n >\n {(mode == 'homepage' || mode == 'local') && (\n <NextLink href='/' passHref legacyBehavior>\n <Link\n aria-label='CarbonPlan Homepage'\n sx={{\n display: 'block',\n }}\n >\n <Logo\n id='logo'\n sx={{\n cursor: 'pointer',\n color: 'primary',\n }}\n />\n </Link>\n </NextLink>\n )}\n {(mode == null || mode == 'remote') && (\n <Link\n href='https://carbonplan.org'\n aria-label='CarbonPlan Homepage'\n sx={{ display: 'block' }}\n >\n <Logo sx={{ cursor: 'pointer', color: 'primary' }} />\n </Link>\n )}\n </Box>\n </Column>\n <Column\n start={[4, 9]}\n width={[2, 2]}\n dr={1}\n sx={{\n display: [status ? 'flex' : 'none', 'flex', 'flex', 'flex'],\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n fontSize: [1, 2, 3],\n position: 'relative',\n top: ['-2px', '-3px', '-3px'],\n }}\n >\n {status ? `(${status})` : ''}\n </Box>\n </Column>\n <Column\n start={[status ? 6 : 4, 6, 11, 11]}\n width={[status ? 1 : 3, 3, 2, 2]}\n sx={{ zIndex: 5000 }}\n >\n <Flex sx={{ pointerEvents: 'all', justifyContent: 'flex-end' }}>\n <Box\n sx={{\n display: [status ? 'none' : 'flex', 'flex', 'flex', 'flex'],\n mr: '18px',\n gap: '18px',\n opacity: expanded ? 0 : 1,\n transition: 'opacity 0.15s',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {menuItems}\n </Box>\n <Menu\n sx={{\n flexShrink: 0,\n mr: ['-2px'],\n }}\n value={expanded}\n onClick={toggle}\n />\n </Flex>\n </Column>\n <Box\n sx={{\n opacity: expanded ? 1 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n minWidth: '0px',\n maxHeight: '100vh',\n width: '100vw',\n backgroundColor: 'background',\n zIndex: 4000,\n pt: ['79px'],\n transition: 'opacity 0.25s',\n }}\n >\n <Container>\n <Row>\n <Column start={[2, 4, 7, 7]} width={[5, 4, 5, 5]}>\n <Box\n as='nav'\n sx={{\n display: expanded ? 'inherit' : 'none',\n mt: [5, 5, 5, 6],\n }}\n >\n <NavGroup\n links={links}\n nav={nav}\n mode={mode}\n setExpanded={setExpanded}\n />\n </Box>\n </Column>\n </Row>\n </Container>\n </Box>\n </Row>\n )\n}\n\nexport default Header\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Monogram = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='80'\n stroke='none'\n fill='currentColor'\n viewBox='0 0 32 32'\n {...props}\n >\n <path d='M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z'></path>\n <path d='M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4'></path>\n <path d='M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15'></path>\n </Box>\n )\n}\n\nexport default Monogram\n","import React from 'react'\nimport { Box, Link } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\nimport Monogram from './monogram'\nimport Row from './row'\nimport Column from './column'\n\nconst getCurrentYear = () => new Date().getFullYear()\n\nconst Footer = () => {\n return (\n <Box\n sx={{\n mt: [7, 7, 7, 8],\n mb: [7, 7, 7, 8],\n pb: [2, 1, 0, 0],\n }}\n >\n <Row sx={{ mb: [0, 0, 4, 5] }}>\n <Column start={[1, 2]} width={[3, 3]}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n EMAIL\n </Box>\n <Link\n href='mailto:hello@carbonplan.org'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n hello@carbonplan.org\n </Link>\n </Box>\n </Column>\n <Column\n start={[5]}\n width={[1]}\n dl={1}\n dr={1}\n sx={{\n display: ['flex', 'none', 'none', 'none'],\n justifyContent: ['center'],\n }}\n >\n <Monogram sx={{ mt: ['-4px'], width: '60px', height: '60px' }} />\n </Column>\n <Column start={[1, 5, 5, 5]} width={[3, 3]} sx={{ mt: [3, 0, 0, 0] }}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n NEWSLETTER\n </Box>\n <Link\n href='https://carbonplan.org/newsletter'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n Subscribe\n </Link>\n </Box>\n </Column>\n <Column\n start={[1, 9]}\n width={[5, 4, 3, 3]}\n sx={{ mt: ['42px', '42px', 0, 0], mb: [3, 3, 0, 0] }}\n >\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'body',\n color: 'secondary',\n }}\n >\n CarbonPlan is a registered nonprofit public benefit corporation in\n California with 501(c)(3) status.\n </Box>\n </Box>\n </Column>\n </Row>\n <Row sx={{ mb: ['2px'], mt: [5, 5, 4] }}>\n <Column\n start={[1, 1, 2, 2]}\n width={[3, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n pt: [2],\n }}\n >\n <Box\n sx={{\n color: 'secondary',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n }}\n >\n (c) {getCurrentYear()} CARBONPLAN\n </Box>\n </Box>\n </Column>\n <Column\n start={[4, 3, 5, 5]}\n width={[2, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n mt: [0, 0, 0, 0],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n width: ['100%', 'auto', 'auto', 'auto'],\n pt: [2],\n }}\n >\n <NextLink href='/terms' passHref legacyBehavior>\n <Box\n as='a'\n sx={{\n textDecoration: 'none',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n display: 'block',\n }}\n >\n READ OUR TERMS\n </Box>\n </NextLink>\n </Box>\n </Column>\n <Column\n start={[5, 7, 9, 9]}\n width={[2, 3, 3, 3]}\n sx={{ display: ['none', 'initial', 'initial', 'initial'] }}\n >\n <Monogram\n sx={{\n width: 80,\n height: 80,\n mt: [0, '-10px', 4, 5],\n mb: ['-12px'],\n }}\n />\n </Column>\n </Row>\n </Box>\n )\n}\n\nexport default Footer\n","import React from 'react'\nimport { Box, IconButton, useColorMode } from 'theme-ui'\nimport { useCallback } from 'react'\nimport { Sun } from '@carbonplan/icons'\n\nconst Dimmer = ({ sx, ...props }) => {\n const [colorMode, setColorMode] = useColorMode()\n\n const toggle = useCallback(() => {\n setColorMode(colorMode === 'light' ? 'dark' : 'light')\n }, [colorMode])\n\n return (\n <IconButton\n aria-label='Toggle dark mode'\n onClick={toggle}\n role='checkbox'\n sx={{\n width: 32,\n height: 32,\n display: 'inline-block',\n cursor: 'pointer',\n color: 'secondary',\n ...sx,\n }}\n {...props}\n >\n <Sun\n sx={{\n strokeWidth: '1.75',\n transition: 'stroke 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n stroke: 'primary',\n },\n },\n }}\n />\n </IconButton>\n )\n}\n\nexport default Dimmer\n","import React from 'react'\nimport { Box, Text, Link, useThemeUI } from 'theme-ui'\n\nconst GitSha = () => {\n const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\n const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER\n const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG\n\n const { theme } = useThemeUI()\n\n const color = theme.rawColors.secondary\n\n if (sha && owner && slug) {\n const shortSha = sha.substring(0, 7)\n const href = 'https://github.com/' + owner + '/' + slug + '/tree/' + sha\n\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Link\n href={href}\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n textDecoration: 'none',\n }}\n >\n {shortSha}\n </Link>\n </Box>\n )\n } else {\n // fallback\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {color}\n </Text>\n </Box>\n )\n }\n}\n\nconst Separator = ({ color }) => {\n return (\n <svg fill={color} opacity='0.8' viewBox='0 0 24 24' width='24' height='24'>\n <circle r={5} cx={19} cy={19} />\n </svg>\n )\n}\n\nexport default GitSha\n","import React from 'react'\nimport { Box, Text } from 'theme-ui'\nimport { useState, useEffect } from 'react'\nimport GitSha from './gitsha'\n\nconst Value = ({ mode }) => {\n const [display, setDisplay] = useState(init(mode))\n\n useEffect(() => {\n if (mode === 'mouse') {\n const setFromEvent = (e) => {\n const x = format(e.clientX, 4)\n const y = format(e.clientY, 4)\n setDisplay(`X,Y: ${x},${y}`)\n }\n window.addEventListener('mousemove', setFromEvent)\n return () => {\n window.removeEventListener('mousemove', setFromEvent)\n }\n }\n if (mode === 'scroll') {\n const setFromEvent = (e) => {\n const y = scrollFraction(window, document)\n setDisplay(`SCROLL: 0.${format((y * 100).toFixed(0), 2)}`)\n }\n window.addEventListener('scroll', setFromEvent)\n const y = scrollFraction(window, document)\n return () => {\n window.removeEventListener('scroll', setFromEvent)\n }\n }\n }, [])\n\n return (\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n mr: '-6px',\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: 'secondary',\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {display}\n </Text>\n )\n}\n\nconst Metadata = ({ mode }) => {\n return (\n <Box\n sx={{\n userSelect: 'none',\n position: 'fixed',\n bottom: '42px',\n right: '24px',\n transformOrigin: 'right',\n transform: 'rotate(90deg)',\n display: ['none', 'none', 'initial'],\n }}\n >\n <Value mode={mode} />\n <GitSha />\n </Box>\n )\n}\n\nfunction init(mode) {\n if (mode === 'mouse') {\n return `X,Y: ${format(0, 4)},${format(0, 4)}`\n } else if (mode === 'scroll') {\n return `SCROLL: 0.${format((0).toFixed(0), 2)}`\n } else {\n return mode\n }\n}\n\nfunction format(num, pad) {\n return num.toString().padStart(pad, '0')\n}\n\nfunction scrollFraction(window, documnt) {\n return Math.min(window.scrollY / (document.body.offsetHeight - 770), 0.99)\n}\n\nexport default Metadata\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { keyframes } from '@emotion/react'\n\nconst fade = keyframes({\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n})\n\nconst FadeIn = ({ duration = 300, delay = 0, children, ...delegated }) => {\n return (\n <Box\n {...delegated}\n sx={{\n animationDuration: duration + 'ms',\n animationDelay: delay + 'ms',\n animationName: fade.toString(),\n animationFillMode: 'backwards',\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default FadeIn\n","const getScrollbarWidth = (document) => {\n const outer = document.createElement('div')\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n document.body.appendChild(outer)\n outer.style.overflow = 'scroll'\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n const delta = outer.offsetWidth - inner.offsetWidth\n outer.parentNode.removeChild(outer)\n return delta\n}\n\nexport default getScrollbarWidth\n","import React, { useEffect } from 'react'\nimport getScrollbarWidth from './utils/get-scrollbar-width'\n\nconst Scrollbar = () => {\n useEffect(() => {\n if (typeof document !== 'undefined') {\n const delta = getScrollbarWidth(document)\n if (delta > 0) {\n document.body.classList.add('custom-scrollbar')\n document\n .getElementsByTagName('html')[0]\n .classList.add('custom-scrollbar')\n }\n }\n }, [])\n return null\n}\n\nexport default Scrollbar\n","import React, { useState, useEffect } from 'react'\nimport { Box, Container } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Guide = ({ color = 'muted' }) => {\n const [display, setDisplay] = useState(false)\n\n useEffect(() => {\n function handler(event) {\n const { key, keyCode, metaKey } = event\n if (key === ';' && metaKey) {\n setDisplay((prev) => !prev)\n }\n }\n\n document.addEventListener('keydown', handler)\n return () => {\n document.removeEventListener('keydown', handler)\n }\n }, [])\n\n return (\n <Box\n sx={{\n position: 'fixed',\n width: '100%',\n left: 0,\n top: 0,\n zIndex: color === 'teal' ? 5000 : -1,\n pointerEvents: 'none',\n display: display ? 'initial' : 'none',\n }}\n >\n <Container>\n <Box sx={{ display: ['none', 'none', 'initial', 'initial'] }}>\n <GuideColumns\n indices={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]}\n color={color}\n />\n </Box>\n <Box sx={{ display: ['none', 'initial', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6, 7, 8]} color={color} />\n </Box>\n <Box sx={{ display: ['initial', 'none', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6]} color={color} />\n </Box>\n </Container>\n </Box>\n )\n}\n\nconst colorCycle = [\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'teal',\n 'blue',\n 'purple',\n 'pink',\n]\n\nfunction GuideColumns({ indices, color }) {\n const sx = {\n outerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: color === 'teal' ? '0px' : '1px',\n borderRightWidth: color === 'teal' ? '0px' : '1px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n innerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: '0px',\n borderRightWidth: '0px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n }\n\n return (\n <Row>\n {indices.map((i) => {\n return (\n <Column\n key={i}\n start={[i]}\n width={[1, 1]}\n dl={0.5}\n dr={0.5}\n sx={{\n bg: color === 'teal' ? 'teal' : 'transparent',\n height: '100vh',\n ...sx.innerGuideColumn,\n }}\n >\n <Box\n sx={{\n mx: ['12px', 3, 3, 4],\n bg: color === 'teal' ? 'background' : 'transparent',\n height: '100%',\n borderLeftColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n borderRightColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n ...sx.outerGuideColumn,\n }}\n ></Box>\n </Column>\n )\n })}\n </Row>\n )\n}\n\nexport default Guide\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Settings = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='24' y1='2.1' x2='24' y2='6.1' />\n <line x1='24' y1='24.1' x2='24' y2='33.9' />\n <line x1='44' y1='2.1' x2='44' y2='12.1' />\n <line x1='44' y1='30.1' x2='44' y2='33.9' />\n <circle cx='24' cy='15.1' r='5' />\n <circle cx='44' cy='21.1' r='5' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Settings\n","import React, { useEffect } from 'react'\nimport { useThemeUI, Container, Flex, Box } from 'theme-ui'\nimport Meta from './meta'\nimport Header from './header'\nimport Footer from './footer'\nimport Dimmer from './dimmer'\nimport Metadata from './metadata'\nimport FadeIn from './fade-in'\nimport Scrollbar from './scrollbar'\nimport Guide from './guide'\nimport Settings from './settings'\n\nconst Layout = ({\n title,\n description,\n url,\n card,\n children,\n status,\n nav,\n settings,\n footer = true,\n header = true,\n metadata = 'mouse',\n links = 'remote',\n dimmer = 'bottom',\n guide = true,\n scrollbar = false,\n fade = true,\n container = true,\n printable = false,\n}) => {\n let content = children\n\n if (fade) {\n content = <FadeIn duration={250}>{content}</FadeIn>\n }\n if (container) {\n content = (\n <Box sx={{ mb: [8, 8, 9, 10] }}>\n <Container>{content}</Container>\n </Box>\n )\n }\n\n const { theme } = useThemeUI()\n\n const hideOnPrint = printable\n ? {\n '@media print': {\n display: 'none',\n },\n }\n : {}\n\n useEffect(() => {\n if (!theme) return\n\n const handler = (e) => {\n if (e.matches && settings?.value && settings?.onClick) {\n settings?.onClick()\n }\n }\n\n const query = window.matchMedia(`(min-width: ${theme.breakpoints[1]})`)\n query.onchange = handler\n\n return () => {\n query.onchange = null\n }\n }, [theme?.breakpoints, settings?.value, settings?.onClick])\n\n const menuItems = [\n <Dimmer\n key='dimmer'\n sx={{\n color: 'primary',\n mt: '-2px',\n display: [\n 'block',\n 'block',\n dimmer === 'top' ? 'block' : 'none',\n dimmer === 'top' ? 'block' : 'none',\n ],\n }}\n />,\n ]\n\n if (settings) {\n menuItems.push(\n <Settings\n key='settings'\n sx={{ mr: ['2px'], display: ['inherit', 'inherit', 'none', 'none'] }}\n {...settings}\n />\n )\n }\n\n return (\n <>\n {guide && <Guide color={guide} />}\n {scrollbar && <Scrollbar />}\n <Meta card={card} description={description} title={title} url={url} />\n <Flex\n sx={{\n flexDirection: 'column',\n minHeight: '100vh',\n }}\n >\n {header && (\n <Box\n as='header'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n position: 'sticky',\n top: 0,\n bg: 'background',\n height: '56px',\n zIndex: 2000,\n ...hideOnPrint,\n }}\n >\n <Container>\n <Header\n mode={links}\n status={status}\n nav={nav}\n menuItems={menuItems}\n />\n </Container>\n </Box>\n )}\n <Box\n sx={{\n width: '100%',\n flex: '1 1 auto',\n }}\n >\n {content}\n </Box>\n {footer && (\n <Box\n as='footer'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n ...hideOnPrint,\n }}\n >\n <Container>\n <Footer />\n </Container>\n </Box>\n )}\n {dimmer === 'bottom' && (\n <Box\n sx={{\n display: ['none', 'none', 'initial', 'initial'],\n position: ['fixed'],\n right: [13],\n bottom: [17, 17, 15, 15],\n }}\n >\n <Dimmer />\n </Box>\n )}\n {metadata && <Metadata mode={metadata} />}\n </Flex>\n </>\n )\n}\n\nexport default Layout\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Tag = ({ label, value, sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const isClickable = props && (props.onClick || props.onDoubleClick)\n\n return (\n <Box\n as={isClickable ? 'button' : 'span'}\n role='checkbox'\n aria-checked={value}\n aria-label={label}\n sx={{\n display: 'inline-block',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n cursor: isClickable ? 'pointer' : 'inherit',\n color: color,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderColor: color,\n lineHeight: 'body',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n textTransform: 'uppercase',\n userSelect: 'none',\n transition: 'opacity 0.05s',\n pt: ['1px'],\n pb: ['2px'],\n px: [0],\n m: [0],\n opacity: value == null || value ? 1 : color == 'primary' ? 0.24 : 0.33,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nexport default Tag\n","import React, { useMemo } from 'react'\nimport { Box } from 'theme-ui'\nimport Tag from './tag'\n\nconst sx = {\n label: {\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n userSelect: 'none',\n textTransform: 'uppercase',\n },\n}\n\nconst duplicateOptions = (options, defaultValue, overrides = {}) => {\n return Object.keys(options).reduce(\n (o, key) => Object.assign(o, { [key]: overrides[key] || defaultValue }),\n {}\n )\n}\n\nconst isAll = (option) => {\n return (\n Object.keys(option).filter((d) => option[d]).length ==\n Object.keys(option).length\n )\n}\n\nconst updateValues = ({ values, multiSelect, setValues, value }) => {\n const isAllAlreadySelected = isAll(values)\n const isSelectingAll = value === 'all'\n\n let updatedToggle\n\n if (multiSelect) {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // deselect all\n updatedToggle = duplicateOptions(values, false)\n } else {\n // de/select value, inherit other values\n updatedToggle = { ...values, [value]: !values[value] }\n }\n } else {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // do nothing\n } else {\n // select only value\n updatedToggle = duplicateOptions(values, false, { [value]: true })\n }\n }\n\n if (updatedToggle) {\n setValues(updatedToggle)\n }\n}\n\nconst Filter = ({\n values,\n setValues,\n label,\n colors,\n order,\n labels,\n showAll = false,\n multiSelect = false,\n ...props\n}) => {\n const keys = useMemo(() => {\n if (order) {\n return order\n } else {\n return Object.keys(values)\n }\n }, [order, ...Object.keys(values).sort()])\n\n return (\n <Box {...props}>\n {label && <Box sx={sx.label}>{label}</Box>}\n <Box sx={{ mt: label ? [3] : 0 }}>\n {showAll && (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: 'all',\n })\n }\n value={isAll(values)}\n sx={{ mr: [2] }}\n >\n All\n </Tag>\n )}\n {keys.map((d, i) => (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: d,\n })\n }\n onDoubleClick={() =>\n updateValues({\n values: values,\n multiSelect: false,\n setValues: setValues,\n value: d,\n })\n }\n key={i}\n value={values[d]}\n sx={{\n width: 'max-content',\n color: colors ? colors[d] : 'primary',\n mr: [2],\n mb: [1],\n }}\n >\n {labels ? labels[d] : d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Column from './column'\n\nconst Sidenote = ({ children, variant = 'h1' }) => {\n let mt\n if (variant === 'h1') mt = [4, '27px', '42px', '54px']\n if (variant === 'h2') mt = [4, 4, '14px', '25px']\n return (\n <>\n <Column start={[1, 4, 8, 8]} width={[1, 1, 1, 1]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n textAlign: 'right',\n }}\n >\n /\n </Box>\n </Column>\n <Column start={[2, 5, 9, 9]} width={[3, 3, 2, 2]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n height: ['100%', '0px', '0px', '0px'],\n }}\n >\n {children}\n </Box>\n </Column>\n </>\n )\n}\n\nexport default Sidenote\n","import React, { forwardRef } from 'react'\nimport { Input as ThemedInput } from 'theme-ui'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Input = ({ size = 'sm', inverted, sx, ...props }, ref) => {\n const defaultColor = inverted ? 'secondary' : 'primary'\n\n const styles = {\n color: defaultColor,\n borderColor: 'secondary',\n borderStyle: 'solid',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderRadius: '0px',\n transition: 'border 0.15s',\n borderBottomWidth: '1px',\n width: 'calc(min(15ch, 100%))',\n p: [0],\n py: ['2px'],\n 'input::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n 'input::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n ':focus': {\n borderColor: 'primary',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: 'none !important',\n },\n ...getSizeStyles(size),\n ...sx,\n }\n return <ThemedInput {...props} ref={ref} sx={styles} />\n}\n\nexport default forwardRef(Input)\n","import React, { forwardRef } from 'react'\nimport { useThemeUI, Slider as ThemeSlider } from 'theme-ui'\n\nconst Slider = ({ sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const {\n theme: { rawColors: colors },\n } = useThemeUI()\n\n return (\n <ThemeSlider\n ref={ref}\n sx={{\n '&::-webkit-slider-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n '&::-moz-range-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: `${colors.secondary} !important`,\n },\n ':focus': {\n color: color,\n '&::-webkit-slider-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n '&::-moz-range-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n },\n color: color,\n ...sx,\n }}\n {...props}\n />\n )\n}\n\nexport default forwardRef(Slider)\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst styles = {\n reset: {\n verticalAlign: 'baseline',\n border: 0,\n outline: 0,\n margin: 0,\n padding: 0,\n },\n row: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderTopWidth: '1px',\n borderColor: 'muted',\n pt: [3, 3, 3, '20px'],\n pb: [3, 3, 3, '20px'],\n mb: ['2px'],\n },\n header: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n index: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n entry: {\n display: 'block',\n fontSize: [2, 2, 2, 3],\n fontFamily: 'faux',\n letterSpacing: 'faux',\n mb: ['1px'],\n mt: [2, 0, 0, 0],\n },\n}\n\nconst Table = ({\n data,\n sx,\n color,\n header,\n columns,\n start,\n width,\n index = true,\n borderBottom = true,\n borderTop = true,\n}) => {\n if (!start || !columns || !width) {\n throw new Error('Must provide columns, start, and width')\n }\n return (\n <Box as='table' sx={{ display: 'block', ...sx }}>\n <Box as='tbody' sx={{ display: 'block' }}>\n {header && (\n <Row\n as='tr'\n sx={{\n ...styles.reset,\n ...styles.header,\n ...styles.row,\n color: color,\n borderTopWidth: !borderTop ? '0px' : '1px',\n }}\n >\n <Column as='td' start={[1]} width={columns} sx={styles.index}>\n {header}\n </Column>\n </Row>\n )}\n {data.map((row, i) => {\n return (\n <Row\n as='tr'\n columns={columns}\n key={i}\n sx={{\n ...styles.reset,\n ...styles.row,\n pb:\n borderBottom && i === data.length - 1\n ? ['18px', '18px', '18px', '22px']\n : [3, 3, 3, '20px'],\n borderBottomWidth:\n borderBottom && i === data.length - 1 ? '1px' : '0px',\n borderTopWidth:\n !borderTop && i === 0 && !header ? '0px' : '1px',\n }}\n >\n {row.map((column, j) => {\n return (\n <Column\n as='td'\n key={j}\n start={start[j]}\n width={width[j]}\n sx={\n j == 0 && index\n ? { ...styles.reset, ...styles.index }\n : { ...styles.reset, ...styles.entry }\n }\n >\n {column}\n </Column>\n )\n })}\n </Row>\n )\n })}\n </Box>\n </Box>\n )\n}\n\nexport default Table\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Toggle = ({ value, onClick, disabled, sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n value = disabled ? false : value\n return (\n <Box\n ref={ref}\n as='button'\n onClick={onClick}\n role='checkbox'\n aria-checked={value}\n aria-label='Toggle'\n sx={{\n border: 'none',\n background: 'none',\n cursor: disabled ? 'default' : 'pointer',\n p: [0],\n m: [0],\n display: 'inline-block',\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n width: '50px',\n height: '20px',\n borderRadius: '20px',\n backgroundColor: value\n ? transparentize(color, color == 'primary' ? 0.5 : 0.45)\n : 'muted',\n position: 'relative',\n transition: '0.15s',\n display: 'inline-block',\n }}\n >\n <Box\n sx={{\n width: '14px',\n height: '14px',\n borderRadius: '7px',\n position: 'absolute',\n left: value ? '32px' : '4px',\n top: '3px',\n backgroundColor: value ? color : 'secondary',\n transition: '0.15s',\n }}\n ></Box>\n </Box>\n </Box>\n )\n}\n\nexport default forwardRef(Toggle)\n","const defaultOptions = {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n}\n\nconst formatDateElement = (date, element, option) => {\n if (!option) {\n return null\n }\n\n const format = typeof option === 'string' ? option : defaultOptions[element]\n\n const result = date.toLocaleString('default', {\n [element]: format,\n })\n\n if (format === 'numeric' && ['day', 'month'].includes(element)) {\n return result.padStart(2, '0')\n } else {\n return result\n }\n}\nconst formatDate = (date, options = defaultOptions) => {\n const d = new Date(date.replace(/-/g, '/'))\n\n const month = formatDateElement(d, 'month', options.month)\n const day = formatDateElement(d, 'day', options.day)\n const year = formatDateElement(d, 'year', options.year)\n\n return [month, day, year].filter(Boolean).join(options.separator ?? ' ')\n}\n\nexport default formatDate\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { PoopSad } from '@carbonplan/emoji'\nimport Layout from './layout'\nimport Row from './row'\nimport Column from './column'\n\nconst Custom404 = () => {\n return (\n <Layout\n footer={false}\n title={'404 – CarbonPlan'}\n description={\n \"Sorry but we can't seem to find the page you are looking for.\"\n }\n >\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Box as='h1' variant='styles.h1'>\n Oops!\n </Box>\n <Box\n sx={{\n fontSize: [4, 4, 4, 5],\n lineHeight: 'h3',\n mt: [3, 4, 4],\n mb: [2, 3, 3],\n maxWidth: ['90%', '90%', '400px'],\n }}\n >\n Sorry but we can't seem to find the page you are looking for.\n </Box>\n <Box\n sx={{\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [2, 2, 2, 3],\n mt: [4, 5, 5],\n }}\n >\n ERROR CODE 404\n </Box>\n </Column>\n <Column start={[2, 5, 7, 7]} width={[4, 4, 4, 4]}>\n <Box\n sx={{\n width: ['100%'],\n mt: [2, 4, 4, 5],\n fill: 'primary',\n }}\n >\n <PoopSad sx={{ width: '100%', height: 'auto' }} />\n </Box>\n </Column>\n </Row>\n </Layout>\n )\n}\n\nexport default Custom404\n","import React from 'react'\nimport { Box, IconButton } from 'theme-ui'\n\nconst Expander = ({ value, id, onClick, sx }) => {\n return (\n <IconButton\n onClick={onClick}\n id={id}\n role='checkbox'\n aria-checked={value}\n aria-label='Expand'\n sx={{\n display: 'inline-block',\n width: 24,\n height: 24,\n p: [1],\n cursor: 'pointer',\n fill: 'secondary',\n stroke: 'secondary',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n fill: 'primary',\n stroke: 'primary',\n },\n },\n ...sx,\n }}\n >\n <svg viewBox='0 0 16 16'>\n <path\n d='M8,0 V16 M0,8 H16'\n style={{\n strokeWidth: 2,\n transition: '0.25s all',\n transformOrigin: '8px 8px',\n transform: value ? 'rotate(45deg)' : '',\n }}\n />\n </svg>\n </IconButton>\n )\n}\n\nexport default Expander\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nimport Group from './group'\n\nconst Figure = ({ as = 'figure', children, sx }) => {\n return (\n <Box\n as={as}\n sx={{\n my: [6, 6, 6, 7],\n '@media print': {\n breakInside: 'avoid',\n },\n ...sx,\n }}\n >\n <Group spacing={[4, 4, 4, 5]}>{children}</Group>\n </Box>\n )\n}\n\nexport default Figure\n","import React from 'react'\nimport Caption from './caption'\n\nconst FigureCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='figure'>\n {children}\n </Caption>\n )\n}\n\nexport default FigureCaption\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\nimport Sidenote from './sidenote'\n\nconst Heading = ({\n children,\n sidenote,\n variant = 'h1',\n description,\n descriptionStart = [1, 3, 5, 5],\n descriptionWidth = [5, 5, 5, 4],\n sx,\n}) => {\n let titleWidth = [6, 6, 6, 6]\n if (description) {\n titleWidth[1] = descriptionStart[1] - 1\n titleWidth[2] = descriptionStart[2] - 2\n titleWidth[3] = descriptionStart[3] - 2\n }\n\n if (!['h1', 'h2'].includes(variant)) {\n throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`)\n }\n\n return (\n <Row sx={{ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8], ...sx }}>\n <Column start={[1, 1, 2, 2]} width={titleWidth}>\n {variant === 'h1' && (\n <Box as='h1' variant='styles.h1' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n {variant === 'h2' && (\n <Box as='h2' variant='styles.h2' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n </Column>\n {sidenote && <Sidenote variant={variant}>{sidenote}</Sidenote>}\n {description && (\n <Column start={descriptionStart} width={descriptionWidth}>\n <Box\n sx={{\n mt: [4, '5px', '20px', '31px'],\n fontSize: [2, 2, 2, 3],\n }}\n >\n {description}\n </Box>\n </Column>\n )}\n </Row>\n )\n}\n\nexport default Heading\n","import React from 'react'\nimport { Flex } from 'theme-ui'\nimport { RotatingArrow } from '@carbonplan/icons'\nimport Button from './button'\n\nconst LinkGroup = ({\n members,\n color,\n inverted,\n tracking,\n size = 'xs',\n rowGap = [2, 2, 2, 3],\n columnGap = [3, 3, 3, 4],\n direction = 'horizontal',\n sx,\n}) => {\n return (\n <Flex\n sx={{\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n rowGap,\n columnGap,\n flexWrap: 'wrap',\n ...sx,\n }}\n >\n {members.map((d, i) => {\n return (\n <Button\n key={i}\n href={d.href}\n label={d.label}\n size={size}\n sx={{ color: color }}\n inverted={inverted}\n suffix={<RotatingArrow />}\n tracking={tracking}\n >\n {d.label}\n </Button>\n )\n })}\n </Flex>\n )\n}\n\nexport default LinkGroup\n","import React, { useRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport getProps from './utils/get-props'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Select = ({ children, size = 'sm', sx, sxSelect, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const sizeStyles = getSizeStyles(size)\n const ref = useRef(null)\n\n const { onChange } = props\n const omitOnChange = getProps((k) => k !== 'onChange')(props)\n\n if (!['xs', 'sm', 'md'].includes(size)) {\n throw new Error('Size must be xs, sm, or md')\n }\n\n let pr, height, width, ml, top\n\n if (size === 'xs') {\n height = [14, 14, 14, 16]\n width = [14, 14, 14, 14]\n top = ['1px']\n ml = ['-14px', '-14px', '-14px', '-16px']\n }\n\n if (size === 'sm') {\n height = [15, 15, 15, 20]\n width = [15, 15, 15, 20]\n top = ['1px']\n ml = ['-16px', '-16px', '-16px', '-20px']\n }\n\n if (size === 'md') {\n height = [20, 20, 20, 20]\n width = [20, 20, 20, 20]\n top = ['2px']\n ml = ['-20px', '-20px', '-20px', '-20px']\n }\n\n pr = width.map((d) => d + 12)\n\n return (\n <Box\n sx={{\n display: 'inline-block',\n ...sx,\n }}\n >\n <Box\n as='select'\n ref={ref}\n onChange={(e) => {\n ref.current.blur()\n if (onChange) onChange(e)\n }}\n sx={{\n ...sizeStyles,\n lineHeight: 'normal',\n cursor: 'pointer',\n WebkitAppearance: 'none',\n MozAppearance: 'none',\n pb: ['5px'],\n bg: 'background',\n pr: pr,\n border: 'none',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderBottomColor: 'primary',\n borderRadius: '0px',\n color: 'text',\n width: 'fit-content',\n color: color,\n userSelect: 'none',\n '@media (hover: none) and (pointer: coarse)': {\n '&:focus-visible': {\n outline: 'none !important',\n background: 'transparent !important',\n },\n },\n ...sxSelect,\n }}\n {...omitOnChange}\n >\n {children}\n </Box>\n <Arrow\n sx={{\n width: width,\n height: height,\n position: 'relative',\n ml: ml,\n top: top,\n fill: 'secondary',\n transform: 'rotate(135deg)',\n pointerEvents: 'none',\n }}\n />\n </Box>\n )\n}\n\nexport default Select\n","const getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nexport default getProps\n","import React from 'react'\nimport Caption from './caption'\n\nconst TableCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='table'>\n {children}\n </Caption>\n )\n}\n\nexport default TableCaption\n","import React from 'react'\n\nconst Tracking = ({ id }) => {\n if (!id) {\n return null\n }\n return (\n <>\n <script async src={`https://www.googletagmanager.com/gtag/js?id=${id}`} />\n <script\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}', {\n page_path: window.location.pathname,\n });\n `,\n }}\n />\n </>\n )\n}\n\nexport default Tracking\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Tray = ({ expanded, sx, children }) => {\n return (\n <>\n <Box\n sx={{\n position: 'fixed',\n top: '56px',\n bottom: '0px',\n left: '0px',\n width: 'calc(100vw)',\n mt: ['56px'],\n bg: 'background',\n zIndex: 1000,\n transition: 'opacity 0.15s',\n opacity: expanded ? 0.9 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n }}\n />\n <Box\n sx={{\n position: 'fixed',\n width: 'calc(100vw)',\n top: '0px',\n mt: ['56px'],\n pb: [6, 7, 7, 8],\n pt: [5, 6, 7, 8],\n bg: 'background',\n zIndex: 1100,\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n transition: 'transform 0.15s',\n ml: [-3, -4, -5, -6],\n pl: [3, 4, 5, 6],\n pr: [3, 4, 5, 6],\n transform: expanded ? 'translateY(0)' : 'translateY(-100%)',\n ...sx,\n }}\n >\n <Row>\n <Column start={[1, 1, 1, 1]} width={[6, 8, 10, 10]}>\n {children}\n </Column>\n </Row>\n </Box>\n </>\n )\n}\n\nexport default Tray\n","import { useEffect, useState } from 'react'\n\nimport getScrollbarWidth from './get-scrollbar-width'\n\nconst useScrollbarClass = () => {\n const [className, setClassName] = useState(null)\n\n useEffect(() => {\n if (document && getScrollbarWidth(document) > 0) {\n setClassName('custom-scrollbar')\n }\n }, [])\n\n return className\n}\n\nexport default useScrollbarClass\n"],"names":["_ref","color","srcProp","altProp","_ref$color","width","_ref$width","maxWidth","name","github","alt","src","sx","props","_objectWithoutPropertiesLoose","_excluded","console","warn","toLowerCase","replaceAll","React","createElement","Box","_extends","height","borderRadius","position","display","verticalAlign","bg","Image","opacity","filter","Row","columnGap","rowGap","children","columns","gap","makeArray","input","Array","isArray","includes","length","Error","map","d","flat","Number","isInteger","Grid","start","dl","dr","mr","end","i","ml","gridColumnStart","gridColumnEnd","xs","sm","md","lg","xl","Group","marginValue","_ref$direction","direction","spacing","_ref$spacing","sizes","hasOwnProperty","marginProperty","additionalStyles","Children","child","_extends2","Blank","justifyContent","alignItems","fontFamily","letterSpacing","fontSize","overflow","forwardRef","_ref2","ref","href","_ref2$internal","internal","_ref2$tracking","tracking","startsWith","NextLink","passHref","legacyBehavior","ThemedLink","action","category","track","e","window","gtag","event_category","event_label","label","value","event","Link","onClick","onContextMenu","getSizeStyles","size","lineHeight","Button$1","offset","margin","strokeWidth","_ref$size","prefix","suffix","inverted","align","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","sxProp","_excluded2","baseColor","hoverColor","transform","type","hover","cloneElement","id","transition","style","border","background","padding","textAlign","cursor","Inner","Fragment","as","textDecoration","mb","fill","pb","textTransform","Arrow","top","_ref$as","number","_ref$label","mx","pr","styles","setClim","px","userSelect","minWidth","DIMENSIONS","Gradient","colormap","discrete","horizontal","step","isHex","String","values","result","exec","parseInt","css","join","minHeight","mt","colors","hinted","Label","_ref3","units","alignSelf","writingMode","whiteSpace","InlineColor","Colors","Meta","title","description","card","url","_useThemeUI","useThemeUI","theme","colorMode","titleProp","descriptionProp","cardProp","urlProp","Head","content","rel","crossOrigin","property","Logo","_objectDestructuringEmpty","stroke","viewBox","Menu","IconButton","marginTop","flexShrink","xmlns","x1","y1","x2","y2","className","current","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","HoverArrow","pointerEvents","left","Nav","link","mode","nav","setExpanded","NavGroup","key","Header","status","menuItems","_useState","useState","expanded","pt","Column","zIndex","Flex","right","bottom","maxHeight","backgroundColor","Container","Monogram","Footer","getCurrentYear","getFullYear","Dimmer","useColorMode","setColorMode","_useColorMode","toggle","useCallback","role","Sun","GitSha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","rawColors","secondary","sha","shortSha","substring","Separator","Text","r","cx","cy","format","toFixed","init","setDisplay","useEffect","setFromEvent","x","clientX","clientY","y","addEventListener","removeEventListener","_setFromEvent","documnt","Math","min","scrollY","document","body","offsetHeight","scrollFraction","transformOrigin","Value","num","pad","toString","padStart","fade","keyframes","from","to","FadeIn","duration","_ref$duration","delay","_ref$delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","visibility","appendChild","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","metaKey","prev","GuideColumns","indices","colorCycle","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","borderLeftColor","borderRightColor","Settings","Layout","settings","footer","_ref$footer","_ref$header","header","_ref$metadata","metadata","_ref$links","dimmer","_ref$dimmer","guide","_ref$guide","_ref$scrollbar","scrollbar","container","_ref$container","printable","_ref$printable","_ref$fade","hideOnPrint","query","matchMedia","breakpoints","onchange","matches","push","flexDirection","flex","Metadata","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","keys","reduce","o","_Object$assign","Object","assign","isAll","option","updateValues","updatedToggle","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","_duplicateOptions","Sidenote","variant","_ref$variant","p","WebkitAppearance","outline","ThemedInput","Input","ThemeSlider","boxShadow","reset","row","index","entry","disabled","transparentize","defaultOptions","month","day","year","formatDateElement","date","element","_date$toLocaleString","toLocaleString","members","_ref2$direction","_ref2$spacing","limit","fixedCount","idx","max","excess","Avatar","remaining","firstChar","slice","specialChars","_ref4","clim","_ref4$setClimStep","setClimStep","_ref4$format","_ref4$horizontal","_ref4$bottom","sxClim","dx","climRef","useRef","climMinDragging","setClimMinDragging","climMaxDragging","_useState2","setClimMaxDragging","dy","scale","draggingFunction","pageX","pageY","handleMouseDown","target","setAttribute","updater","listener","code","activeElement","preventDefault","focus","increment","decrement","ClimMin","tabIndex","borderBottom","primary","onMouseDown","ClimMax","_ref6","flexGrow","PoopSad","my","breakInside","Caption","order","labels","showAll","_ref2$showAll","_ref2$multiSelect","useMemo","concat","sort","sidenote","descriptionStart","_ref$descriptionStart","_ref$descriptionWidth","descriptionWidth","titleWidth","_ref$rowGap","_ref$columnGap","flexWrap","Button","RotatingArrow","test","sxSelect","sizeStyles","onChange","omitOnChange","k","next","blur","MozAppearance","borderBottomStyle","borderBottomColor","data","_ref$index","_ref$borderBottom","borderTop","_ref$borderTop","column","j","async","dangerouslySetInnerHTML","__html","pl","Date","replace","Boolean","separator","_options$separator","setClassName"],"mappings":"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"}