@carbonplan/components 10.4.0 → 11.0.1

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/badge.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/column.js","../src/meta.js","../src/logo.js","../src/row.js","../src/menu.js","../src/settings.js","../src/dimmer.js","../src/header.js","../src/monogram.js","../src/footer.js","../src/gitsha.js","../src/metadata.js","../src/fade-in.js","../src/utils/get-scrollbar-width.js","../src/scrollbar.js","../src/guide.js","../src/layout.js","../src/custom-404.js","../src/expander.js","../src/tag.js","../src/filter.js","../src/group.js","../src/input.js","../src/utils/get-props.js","../src/select.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/tracking.js","../src/tray.js","../src/utils/format-date.js"],"sourcesContent":["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 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,\n children,\n internal = false,\n tracking = false,\n ...props\n}) => {\n if (internal || (href && href.startsWith('/'))) {\n return (\n <NextLink href={href} passHref>\n <ThemedLink {...props}>{children}</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 onClick={track} onContextMenu={track} href={href} {...props}>\n {children}\n </ThemedLink>\n )\n } else {\n return (\n <ThemedLink href={href} {...props}>\n {children}\n </ThemedLink>\n )\n }\n}\n\nexport default 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, { cloneElement } from 'react'\nimport { Box } from 'theme-ui'\nimport Link from './link'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Button = ({\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 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 = sx && sx.color ? sx.color : null\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 ...sx,\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 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 as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default Button\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Link from './link'\n\nconst Callout = ({\n label,\n children,\n inverted,\n color,\n href,\n internal,\n tracking,\n sx,\n ...props\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 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 as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default Callout\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 Head from 'next/head'\n\nconst Meta = ({ title, description, card }) => {\n title = title ? title : 'carbonplan'\n description = description\n ? description\n : 'Data and science for climate action.'\n card = card ? card : 'https://images.carbonplan.org/social/homepage.png'\n\n return (\n <Head>\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n <link rel='canonical' content='https://carbonplan.org/' />\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='#1b1e23' />\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\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='#1b1e23' />\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={title} />\n <meta property='og:description' content={description} />\n <meta property='og:image' content={card} />\n <meta property='og:url' content='https://carbonplan.org' />\n <meta name='twitter:title' content={title} />\n <meta name='twitter:description' content={description} />\n <meta name='twitter:image' content={card} />\n <meta name='twitter:card' content='summary_large_image' />\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 { 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 { 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 transform: 'scale(2)',\n marginTop: '-3px',\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 transform: 'scale(2)',\n marginTop: '-3px',\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 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 transform: 'scale(2)',\n marginTop: '-3px',\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 transform: 'scale(2)',\n marginTop: '-3px',\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 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, { 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'\nimport Settings from './settings'\nimport Dimmer from './dimmer'\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, dimmer, 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, dimmer, settings }) => {\n const [expanded, setExpanded] = useState(false)\n\n const toggle = (e) => {\n setExpanded(!expanded)\n }\n\n return (\n <Row\n sx={{\n width: '100%',\n pt: ['12px'],\n pb: [3],\n }}\n >\n <Column start={[1]} width={[2]}>\n <Box sx={{ display: 'block', width: 'fit-content' }}>\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, 12, 12]}\n width={[status ? 1 : 3, 3, 2, 2]}\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n }}\n >\n <Box\n sx={{\n mr: ['18px'],\n position: 'relative',\n top: ['-1px'],\n pointerEvents:\n expanded || (settings && settings.value) ? 'none' : 'all',\n transition: 'opacity 0.15s',\n display: [\n status ? 'none' : 'block',\n 'block',\n dimmer === 'top' ? 'block' : 'none',\n dimmer === 'top' ? 'block' : 'none',\n ],\n }}\n >\n <Dimmer\n sx={{\n opacity: expanded || (settings && settings.value) ? 0 : 1,\n color: 'primary',\n }}\n />\n </Box>\n {settings && (\n <Box\n sx={{\n mr: ['21px'],\n position: 'relative',\n pointerEvents: expanded ? 'none' : 'all',\n transition: 'opacity 0.15s',\n display: [status ? 'none' : 'block', 'block', 'none', 'none'],\n }}\n >\n <Settings\n value={settings.value}\n onClick={settings.onClick}\n sx={{ opacity: expanded ? 0 : 1, stroke: 'primary' }}\n />\n </Box>\n )}\n <Menu\n sx={{\n transition: 'opacity 0.15s',\n pointerEvents: settings && settings.value ? 'none' : 'all',\n opacity: settings && settings.value ? 0 : 1,\n mr: ['-2px'],\n zIndex: 5000,\n }}\n value={expanded}\n onClick={toggle}\n />\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, Grid, 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 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 FOLLOW\n </Box>\n <Link\n href='https://twitter.com/carbonplanorg'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n @carbonplanorg\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 non-profit public benefit corporation\n in 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) 2021 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, 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' }}>\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' }}>\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: 42,\n right: 24,\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 { 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'\n\nconst Layout = ({\n title,\n description,\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 = true,\n fade = true,\n container = true,\n}) => {\n let content = children\n if (fade) {\n content = <FadeIn duration={250}>{content}</FadeIn>\n }\n if (container) {\n content = <Container>{content}</Container>\n }\n\n return (\n <>\n {guide && <Guide color={guide} />}\n {scrollbar && <Scrollbar />}\n <Meta card={card} description={description} title={title} />\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 }}\n >\n <Container>\n <Header\n mode={links}\n status={status}\n nav={nav}\n settings={settings}\n dimmer={dimmer}\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 }}\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, Styled, Container, Grid } 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 footer={false} title={'404 / carbonplan'}>\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Styled.h1>Oops!</Styled.h1>\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\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 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 showAll = false,\n multiSelect = false,\n ...props\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 {Object.keys(values).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 {d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\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' }) => {\n let marginValue\n if (typeof spacing === 'string') {\n marginValue = sizes[spacing]\n } else if (typeof spacing === 'number') {\n marginValue = [spacing]\n } else if (\n Array.isArray(spacing) &&\n spacing.every((el) => typeof el === 'number')\n ) {\n marginValue = spacing\n }\n\n if (!marginValue) {\n throw new Error(\n 'Invalid spacing size. Must be numeric value(s) or one of xs, sm, md, lg, or xl'\n )\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' ? 'mt' : 'ml'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i > 0 ? 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 { Input as ThemedInput } from 'theme-ui'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Input = ({ size = 'sm', inverted, sx, ...props }) => {\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} sx={styles} />\n}\n\nexport default Input\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, { 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, ...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: 'transparent',\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 }}\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","import React from 'react'\nimport { useThemeUI, Slider as ThemeSlider } from 'theme-ui'\n\nconst Slider = ({ sx, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const {\n theme: { rawColors: colors },\n } = useThemeUI()\n\n return (\n <ThemeSlider\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 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 from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Toggle = ({ value, onClick, disabled, sx, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n value = disabled ? false : value\n return (\n <Box\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 Toggle\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 display: ['initial', 'initial', 'none', 'none'],\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 display: ['initial', 'initial', 'none', 'none'],\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","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' && element === 'day') {\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(' ')\n}\n\nexport default formatDate\n"],"names":["Badge","sx","children","props","color","React","Box","display","width","height","borderRadius","backgroundColor","transparentize","textAlign","userSelect","fontSize","letterSpacing","fontFamily","mt","px","event","action","category","label","value","window","gtag","console","warn","event_category","event_label","Link","href","internal","tracking","startsWith","NextLink","ThemedLink","includes","track","e","getSizeStyles","size","Error","lineHeight","Button","prefix","suffix","inverted","align","offset","margin","strokeWidth","baseColor","hoverColor","transform","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","type","hover","cloneElement","id","position","mr","verticalAlign","transition","ml","sizeStyles","style","border","background","padding","cursor","Inner","textDecoration","Callout","mb","fill","pb","textTransform","Arrow","top","Column","start","dl","dr","makeArray","input","Array","isArray","length","map","d","flat","end","i","gridColumnStart","gridColumnEnd","Meta","title","description","card","Head","Logo","Row","columns","gap","columnGap","rowGap","Number","isInteger","Grid","Menu","IconButton","stroke","opacity","marginTop","Settings","Dimmer","useColorMode","colorMode","setColorMode","toggle","useCallback","Sun","link","current","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","url","HoverArrow","pointerEvents","left","Nav","mode","nav","setExpanded","NavGroup","Header","status","dimmer","settings","useState","expanded","pt","alignItems","justifyContent","onClick","zIndex","right","bottom","minWidth","maxHeight","Container","Monogram","Footer","GitSha","sha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","useThemeUI","theme","rawColors","secondary","shortSha","substring","whiteSpace","Text","Separator","Value","init","setDisplay","useEffect","setFromEvent","x","format","clientX","y","clientY","addEventListener","removeEventListener","scrollFraction","toFixed","Metadata","transformOrigin","num","pad","toString","padStart","documnt","Math","min","scrollY","document","body","offsetHeight","fade","keyframes","from","to","FadeIn","duration","delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","createElement","visibility","appendChild","overflow","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","key","metaKey","prev","colorCycle","GuideColumns","indices","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","bg","mx","borderLeftColor","borderRightColor","Layout","footer","header","metadata","guide","scrollbar","container","content","Flex","flexDirection","minHeight","flex","Custom404","Styled","maxWidth","PoopSad","Expander","p","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","Object","keys","reduce","o","assign","isAll","option","filter","updateValues","values","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","updatedToggle","Filter","colors","showAll","sizes","xs","sm","md","lg","xl","Group","direction","spacing","marginValue","every","el","marginProperty","additionalStyles","Children","child","Input","defaultColor","styles","WebkitAppearance","outline","ThemedInput","getProps","test","next","Select","ref","useRef","onChange","omitOnChange","k","pr","blur","MozAppearance","borderBottomStyle","borderBottomColor","Slider","ThemeSlider","boxShadow","reset","row","index","entry","Table","data","borderBottom","borderTop","column","j","Toggle","disabled","Tracking","__html","Tray","pl","defaultOptions","month","day","year","formatDateElement","date","element","result","toLocaleString","formatDate","Date","replace","Boolean","join"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/badge.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/colorbar.js","../src/column.js","../src/meta.js","../src/logo.js","../src/row.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/custom-404.js","../src/expander.js","../src/tag.js","../src/filter.js","../src/group.js","../src/input.js","../src/utils/get-props.js","../src/select.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/tracking.js","../src/tray.js","../src/utils/format-date.js"],"sourcesContent":["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, { 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 = sx && sx.color ? sx.color : null\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 ...sx,\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, { useState, useEffect, useRef } from 'react'\nimport { Box, Flex } from 'theme-ui'\n\nconst styles = {\n clim: (setClim) => {\n return {\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary} !important`\n : 'unset',\n },\n },\n '&:focus': {\n outline: 'none',\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary} !important`\n : 'unset',\n },\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 Gradient = ({ colormap, discrete, horizontal, width, height }) => {\n const step = (1 / colormap.length) * 100\n const values = colormap.map((d, i) => {\n return `rgb(${d}) ${i * step}% ${\n discrete && i < colormap.length - 1 ? `${(i + 1) * step}%` : ''\n }`\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: ['12px', '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 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 ? climMinDragging\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : ({ colors }) => `solid 1px ${colors.secondary}`\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 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 ? climMaxDragging\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : ({ colors }) => `solid 1px ${colors.secondary}`\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 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 Head from 'next/head'\n\nconst Meta = ({ title, description, card }) => {\n title = title ? title : 'carbonplan'\n description = description\n ? description\n : 'Data and science for climate action.'\n card = card ? card : 'https://images.carbonplan.org/social/homepage.png'\n\n return (\n <Head>\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n <link rel='canonical' content='https://carbonplan.org/' />\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='#1b1e23' />\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\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='#1b1e23' />\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={title} />\n <meta property='og:description' content={description} />\n <meta property='og:image' content={card} />\n <meta property='og:url' content='https://carbonplan.org' />\n <meta name='twitter:title' content={title} />\n <meta name='twitter:description' content={description} />\n <meta name='twitter:image' content={card} />\n <meta name='twitter:card' content='summary_large_image' />\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 { 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 { 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 transform: 'scale(2)',\n marginTop: '-3px',\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 transform: 'scale(2)',\n marginTop: '-3px',\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 sx={{ display: 'block', width: 'fit-content' }}>\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={{ justifyContent: 'flex-end' }}>\n <Flex\n sx={{\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 </Flex>\n <Menu\n sx={{\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, Grid, 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 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 FOLLOW\n </Box>\n <Link\n href='https://twitter.com/carbonplanorg'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n @carbonplanorg\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 non-profit public benefit corporation\n in 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) 2021 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' }}>\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' }}>\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: 42,\n right: 24,\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 transform: 'scale(2)',\n marginTop: '-3px',\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 transform: 'scale(2)',\n marginTop: '-3px',\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 { Container, Flex, Box } from 'theme-ui'\nimport { useBreakpointIndex } from '@theme-ui/match-media'\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 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 = true,\n fade = true,\n container = true,\n}) => {\n let content = children\n const index = useBreakpointIndex()\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 useEffect(() => {\n if (index > 2 && settings?.value && settings?.onClick) {\n settings?.onClick()\n }\n }, [index, 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={{ 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} />\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 }}\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 }}\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, Styled, Container, Grid } 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 footer={false} title={'404 / carbonplan'}>\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Styled.h1>Oops!</Styled.h1>\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\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 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 showAll = false,\n multiSelect = false,\n ...props\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 {Object.keys(values).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 {d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\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' }) => {\n let marginValue\n if (typeof spacing === 'string') {\n marginValue = sizes[spacing]\n } else if (typeof spacing === 'number') {\n marginValue = [spacing]\n } else if (\n Array.isArray(spacing) &&\n spacing.every((el) => typeof el === 'number')\n ) {\n marginValue = spacing\n }\n\n if (!marginValue) {\n throw new Error(\n 'Invalid spacing size. Must be numeric value(s) or one of xs, sm, md, lg, or xl'\n )\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' ? 'mt' : 'ml'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i > 0 ? marginValue : 0,\n ...additionalStyles,\n }}\n >\n {child}\n </Box>\n )\n })}\n </Box>\n )\n}\n\nexport default Group\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","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, { 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: 'transparent',\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","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","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","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' && element === 'day') {\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(' ')\n}\n\nexport default formatDate\n"],"names":["Badge","sx","children","props","color","React","Box","display","width","height","borderRadius","backgroundColor","transparentize","textAlign","userSelect","fontSize","letterSpacing","fontFamily","mt","px","event","action","category","label","value","window","gtag","console","warn","event_category","event_label","Link","ref","href","internal","tracking","startsWith","NextLink","ThemedLink","includes","track","e","forwardRef","getSizeStyles","size","Error","lineHeight","Button","prefix","suffix","inverted","align","offset","margin","strokeWidth","baseColor","hoverColor","transform","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","type","hover","cloneElement","id","position","mr","verticalAlign","transition","ml","sizeStyles","style","border","background","padding","cursor","Inner","textDecoration","Callout","mb","fill","pb","textTransform","Arrow","top","styles","clim","setClim","borderBottom","colors","primary","outline","minWidth","DIMENSIONS","Gradient","colormap","discrete","horizontal","step","length","values","map","d","i","css","join","minHeight","hinted","Label","units","alignSelf","writingMode","whiteSpace","overflow","Colorbar","setClimStep","format","bottom","sxClim","Array","isArray","climRef","useRef","useState","climMinDragging","setClimMinDragging","climMaxDragging","setClimMaxDragging","x","y","dx","dy","init","scale","draggingFunction","pageX","pageY","prev","Math","min","max","handleMouseDown","target","document","body","setAttribute","addEventListener","updater","removeEventListener","increment","current","activeElement","preventDefault","focus","decrement","useEffect","listener","code","key","ClimMin","secondary","ClimMax","Flex","flexDirection","alignItems","justifyContent","gap","flexGrow","Column","start","dl","dr","makeArray","input","flat","end","gridColumnStart","gridColumnEnd","Meta","title","description","card","Head","Logo","Row","columns","columnGap","rowGap","Number","isInteger","Grid","Menu","IconButton","stroke","opacity","marginTop","link","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","url","HoverArrow","pointerEvents","left","Nav","mode","nav","setExpanded","NavGroup","Header","status","menuItems","expanded","toggle","pt","zIndex","right","maxHeight","Container","Monogram","Footer","Dimmer","useColorMode","colorMode","setColorMode","useCallback","Sun","GitSha","sha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","useThemeUI","theme","rawColors","shortSha","substring","Text","Separator","Value","setDisplay","setFromEvent","clientX","clientY","scrollFraction","toFixed","Metadata","transformOrigin","num","pad","toString","padStart","documnt","scrollY","offsetHeight","fade","keyframes","from","to","FadeIn","duration","delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","createElement","visibility","appendChild","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","metaKey","colorCycle","GuideColumns","indices","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","bg","mx","borderLeftColor","borderRightColor","Settings","Layout","settings","footer","header","metadata","dimmer","guide","scrollbar","container","content","index","useBreakpointIndex","onClick","push","flex","Custom404","Styled","maxWidth","PoopSad","Expander","p","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","Object","keys","reduce","o","assign","isAll","option","filter","updateValues","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","updatedToggle","Filter","showAll","sizes","xs","sm","md","lg","xl","Group","direction","spacing","marginValue","every","el","marginProperty","additionalStyles","Children","child","Input","defaultColor","WebkitAppearance","ThemedInput","getProps","test","next","Select","sxSelect","onChange","omitOnChange","k","pr","blur","MozAppearance","borderBottomStyle","borderBottomColor","Slider","ThemeSlider","boxShadow","reset","row","entry","Table","data","borderTop","column","j","Toggle","disabled","Tracking","__html","Tray","pl","defaultOptions","month","day","year","formatDateElement","date","element","result","toLocaleString","formatDate","Date","replace","Boolean"],"mappings":"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"}