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