@carbonplan/components 13.3.0 → 13.4.0-develop.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.js CHANGED
@@ -119,7 +119,7 @@ var Avatar = (_a) => {
119
119
  github,
120
120
  alt,
121
121
  src,
122
- sx: sx3
122
+ sx: sx4
123
123
  } = _b, props = __objRest(_b, [
124
124
  "color",
125
125
  "width",
@@ -156,7 +156,7 @@ var Avatar = (_a) => {
156
156
  position: "relative",
157
157
  display: "inline-block",
158
158
  verticalAlign: "top"
159
- }, sx3)
159
+ }, sx4)
160
160
  }, props),
161
161
  /* @__PURE__ */ import_react.default.createElement(
162
162
  import_theme_ui.Image,
@@ -196,7 +196,7 @@ var import_theme_ui5 = require("theme-ui");
196
196
  var import_react2 = __toESM(require("react"));
197
197
  var import_theme_ui2 = require("theme-ui");
198
198
  var Row = (_a) => {
199
- var _b = _a, { children, sx: sx3, columns, gap } = _b, props = __objRest(_b, ["children", "sx", "columns", "gap"]);
199
+ var _b = _a, { children, sx: sx4, columns, gap } = _b, props = __objRest(_b, ["children", "sx", "columns", "gap"]);
200
200
  const makeArray = (input) => {
201
201
  if (!Array.isArray(input)) {
202
202
  input = [input, input, input, input];
@@ -233,7 +233,7 @@ var Row = (_a) => {
233
233
  sx: __spreadValues({
234
234
  columnGap,
235
235
  rowGap
236
- }, sx3)
236
+ }, sx4)
237
237
  }),
238
238
  children
239
239
  );
@@ -250,7 +250,7 @@ var Column = (_a) => {
250
250
  dl,
251
251
  dr,
252
252
  children,
253
- sx: sx3
253
+ sx: sx4
254
254
  } = _b, props = __objRest(_b, [
255
255
  "start",
256
256
  "width",
@@ -310,7 +310,7 @@ var Column = (_a) => {
310
310
  gridColumnEnd: end,
311
311
  ml,
312
312
  mr
313
- }, sx3)
313
+ }, sx4)
314
314
  }),
315
315
  children
316
316
  );
@@ -331,7 +331,7 @@ var Group = ({
331
331
  children,
332
332
  direction = "vertical",
333
333
  spacing = "md",
334
- sx: sx3
334
+ sx: sx4
335
335
  }) => {
336
336
  let marginValue;
337
337
  if (typeof spacing === "string" && spacing in sizes) {
@@ -346,7 +346,7 @@ var Group = ({
346
346
  }
347
347
  const marginProperty = direction === "vertical" ? "mb" : "mr";
348
348
  const additionalStyles = direction === "horizontal" ? { display: "inline-block" } : {};
349
- return /* @__PURE__ */ import_react4.default.createElement(import_theme_ui4.Box, { sx: sx3 }, import_react4.default.Children.map(children, (child, i) => {
349
+ return /* @__PURE__ */ import_react4.default.createElement(import_theme_ui4.Box, { sx: sx4 }, import_react4.default.Children.map(children, (child, i) => {
350
350
  const childrenCount = import_react4.default.Children.count(children);
351
351
  return /* @__PURE__ */ import_react4.default.createElement(
352
352
  import_theme_ui4.Box,
@@ -415,7 +415,7 @@ var AvatarGroup = (_a) => {
415
415
  width,
416
416
  maxWidth,
417
417
  fixedCount,
418
- sx: sx3
418
+ sx: sx4
419
419
  } = _b, props = __objRest(_b, [
420
420
  "members",
421
421
  "direction",
@@ -451,7 +451,7 @@ var AvatarGroup = (_a) => {
451
451
  }
452
452
  const excess = limit !== void 0 && members.length > limit;
453
453
  const overflow = limit !== void 0 ? members.length - limit + 1 : 0;
454
- return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, fixedCount && /* @__PURE__ */ import_react5.default.createElement(row_default, __spreadValues({ columns: fixedCount, gap, sx: sx3 }, props), members.map((props2, idx) => /* @__PURE__ */ import_react5.default.createElement(column_default, { key: idx, start: start(idx) }, (!excess || limit !== void 0 && idx < limit - 1) && /* @__PURE__ */ import_react5.default.createElement(avatar_default, __spreadProps(__spreadValues({}, props2), { width, maxWidth })), excess && limit !== void 0 && idx === limit - 1 && /* @__PURE__ */ import_react5.default.createElement(Blank, { overflow, maxWidth })))), !fixedCount && /* @__PURE__ */ import_react5.default.createElement(group_default, __spreadValues({ direction, spacing, sx: sx3 }, props), members.map((props2, idx) => /* @__PURE__ */ import_react5.default.createElement(avatar_default, __spreadProps(__spreadValues({ key: idx }, props2), { width, maxWidth })))));
454
+ return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, fixedCount && /* @__PURE__ */ import_react5.default.createElement(row_default, __spreadValues({ columns: fixedCount, gap, sx: sx4 }, props), members.map((props2, idx) => /* @__PURE__ */ import_react5.default.createElement(column_default, { key: idx, start: start(idx) }, (!excess || limit !== void 0 && idx < limit - 1) && /* @__PURE__ */ import_react5.default.createElement(avatar_default, __spreadProps(__spreadValues({}, props2), { width, maxWidth })), excess && limit !== void 0 && idx === limit - 1 && /* @__PURE__ */ import_react5.default.createElement(Blank, { overflow, maxWidth })))), !fixedCount && /* @__PURE__ */ import_react5.default.createElement(group_default, __spreadValues({ direction, spacing, sx: sx4 }, props), members.map((props2, idx) => /* @__PURE__ */ import_react5.default.createElement(avatar_default, __spreadProps(__spreadValues({ key: idx }, props2), { width, maxWidth })))));
455
455
  };
456
456
  var avatar_group_default = AvatarGroup;
457
457
 
@@ -461,13 +461,13 @@ var import_theme_ui6 = require("theme-ui");
461
461
  var import_color = require("@theme-ui/color");
462
462
 
463
463
  // src/utils/get-sx-color.ts
464
- var getSxColor = (sx3, fallback = "primary") => sx3 && typeof sx3 === "object" && "color" in sx3 && typeof sx3.color === "string" ? sx3.color : fallback;
464
+ var getSxColor = (sx4, fallback = "primary") => sx4 && typeof sx4 === "object" && "color" in sx4 && typeof sx4.color === "string" ? sx4.color : fallback;
465
465
  var get_sx_color_default = getSxColor;
466
466
 
467
467
  // src/badge.tsx
468
468
  var Badge = (_a) => {
469
- var _b = _a, { sx: sx3, children } = _b, props = __objRest(_b, ["sx", "children"]);
470
- const color = get_sx_color_default(sx3);
469
+ var _b = _a, { sx: sx4, children } = _b, props = __objRest(_b, ["sx", "children"]);
470
+ const color = get_sx_color_default(sx4);
471
471
  return /* @__PURE__ */ import_react6.default.createElement(
472
472
  import_theme_ui6.Box,
473
473
  __spreadValues({
@@ -480,7 +480,7 @@ var Badge = (_a) => {
480
480
  textAlign: "center",
481
481
  userSelect: "none",
482
482
  fontSize: [2, 2, 2, 3]
483
- }, sx3)
483
+ }, sx4)
484
484
  }, props),
485
485
  /* @__PURE__ */ import_react6.default.createElement(
486
486
  import_theme_ui6.Box,
@@ -589,7 +589,7 @@ var Button = (_a, ref) => {
589
589
  prefix,
590
590
  suffix,
591
591
  inverted,
592
- sx: sx3,
592
+ sx: sx4,
593
593
  children,
594
594
  align,
595
595
  href,
@@ -609,7 +609,7 @@ var Button = (_a, ref) => {
609
609
  if (!["xs", "sm", "md", "lg", "xl"].includes(size)) {
610
610
  throw new Error("Size must be xs, sm, md, lg, or xl");
611
611
  }
612
- const _a2 = sx3 && typeof sx3 === "object" ? sx3 : {}, { color: sxColor } = _a2, sxProp = __objRest(_a2, ["color"]);
612
+ const _a2 = sx4 && typeof sx4 === "object" ? sx4 : {}, { color: sxColor } = _a2, sxProp = __objRest(_a2, ["color"]);
613
613
  const baseColor = typeof sxColor === "string" && sxColor || (inverted ? "secondary" : "primary");
614
614
  const hoverColor = sxColor ? "primary" : inverted ? "primary" : "secondary";
615
615
  const sizeConfig = {
@@ -788,7 +788,7 @@ var Callout = (_a, ref) => {
788
788
  color,
789
789
  href,
790
790
  internal,
791
- sx: sx3
791
+ sx: sx4
792
792
  } = _b, props = __objRest(_b, [
793
793
  "label",
794
794
  "children",
@@ -823,7 +823,7 @@ var Callout = (_a, ref) => {
823
823
  color: hoverColor
824
824
  }
825
825
  }
826
- }, sx3);
826
+ }, sx4);
827
827
  const Inner = /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(import_theme_ui10.Box, { sx: { transition: "0.15s", letterSpacing: "body", pb: ["6px"] } }, children), /* @__PURE__ */ import_react10.default.createElement(
828
828
  import_theme_ui10.Box,
829
829
  {
@@ -1062,7 +1062,7 @@ var Colorbar = (_a) => {
1062
1062
  format: format2 = (d) => d,
1063
1063
  horizontal = false,
1064
1064
  bottom = false,
1065
- sx: sx3,
1065
+ sx: sx4,
1066
1066
  sxClim
1067
1067
  } = _b, props = __objRest(_b, [
1068
1068
  "colormap",
@@ -1225,7 +1225,7 @@ var Colorbar = (_a) => {
1225
1225
  justifyContent: "flex-start",
1226
1226
  gap: ["3px", "6px", "6px", "7px"],
1227
1227
  height: !horizontal ? "100%" : "unset"
1228
- }, sx3)
1228
+ }, sx4)
1229
1229
  }),
1230
1230
  label && /* @__PURE__ */ import_react12.default.createElement(Label, { label, units, horizontal }),
1231
1231
  /* @__PURE__ */ import_react12.default.createElement(
@@ -1296,12 +1296,12 @@ __export(colors_exports, {
1296
1296
  var import_react13 = __toESM(require("react"));
1297
1297
  var import_theme_ui13 = require("theme-ui");
1298
1298
  var InlineColor = (_a) => {
1299
- var _b = _a, { sx: sx3, color, children } = _b, props = __objRest(_b, ["sx", "color", "children"]);
1299
+ var _b = _a, { sx: sx4, color, children } = _b, props = __objRest(_b, ["sx", "color", "children"]);
1300
1300
  return /* @__PURE__ */ import_react13.default.createElement(
1301
1301
  import_theme_ui13.Box,
1302
1302
  __spreadValues({
1303
1303
  as: "span",
1304
- sx: __spreadValues({ display: "inline-block", color }, sx3)
1304
+ sx: __spreadValues({ display: "inline-block", color }, sx4)
1305
1305
  }, props),
1306
1306
  children
1307
1307
  );
@@ -1344,13 +1344,13 @@ var Grey = (props) => {
1344
1344
  };
1345
1345
 
1346
1346
  // src/custom-404.tsx
1347
- var import_react31 = __toESM(require("react"));
1348
- var import_theme_ui27 = require("theme-ui");
1347
+ var import_react36 = __toESM(require("react"));
1348
+ var import_theme_ui29 = require("theme-ui");
1349
1349
  var import_emoji = require("@carbonplan/emoji");
1350
1350
 
1351
1351
  // src/layout.tsx
1352
- var import_react30 = __toESM(require("react"));
1353
- var import_theme_ui26 = require("theme-ui");
1352
+ var import_react35 = __toESM(require("react"));
1353
+ var import_theme_ui28 = require("theme-ui");
1354
1354
 
1355
1355
  // src/meta.tsx
1356
1356
  var import_react14 = __toESM(require("react"));
@@ -1469,11 +1469,10 @@ var Meta = ({ title, description, card, url }) => {
1469
1469
  };
1470
1470
  var meta_default = Meta;
1471
1471
 
1472
- // src/header.tsx
1473
- var import_react17 = __toESM(require("react"));
1474
- var import_link4 = __toESM(require("next/link"));
1475
- var import_theme_ui17 = require("theme-ui");
1476
- var import_icons2 = require("@carbonplan/icons");
1472
+ // src/header/header.tsx
1473
+ var import_react22 = __toESM(require("react"));
1474
+ var import_link5 = __toESM(require("next/link"));
1475
+ var import_theme_ui20 = require("theme-ui");
1477
1476
 
1478
1477
  // src/logo.tsx
1479
1478
  var import_react15 = __toESM(require("react"));
@@ -1555,11 +1554,24 @@ var Logo = (_a) => {
1555
1554
  };
1556
1555
  var logo_default = Logo;
1557
1556
 
1558
- // src/menu.tsx
1557
+ // src/header/menu.tsx
1558
+ var import_react17 = __toESM(require("react"));
1559
+
1560
+ // src/header/header-icon.tsx
1559
1561
  var import_react16 = __toESM(require("react"));
1560
1562
  var import_theme_ui16 = require("theme-ui");
1561
- var Menu = (_a) => {
1562
- var _b = _a, { value, sx: sx3 } = _b, props = __objRest(_b, ["value", "sx"]);
1563
+ var HeaderIcon = (_a) => {
1564
+ var _b = _a, {
1565
+ label = "Toggle Menu",
1566
+ children,
1567
+ value,
1568
+ sx: sx4
1569
+ } = _b, props = __objRest(_b, [
1570
+ "label",
1571
+ "children",
1572
+ "value",
1573
+ "sx"
1574
+ ]);
1563
1575
  return /* @__PURE__ */ import_react16.default.createElement(
1564
1576
  import_theme_ui16.IconButton,
1565
1577
  __spreadValues({
@@ -1576,8 +1588,8 @@ var Menu = (_a) => {
1576
1588
  opacity: "1"
1577
1589
  }
1578
1590
  }
1579
- }, sx3),
1580
- "aria-label": "Toggle Menu"
1591
+ }, sx4),
1592
+ "aria-label": label
1581
1593
  }, props),
1582
1594
  !value && /* @__PURE__ */ import_react16.default.createElement(
1583
1595
  "svg",
@@ -1591,9 +1603,7 @@ var Menu = (_a) => {
1591
1603
  xmlns: "http://www.w3.org/2000/svg",
1592
1604
  viewBox: "0 0 68 36"
1593
1605
  },
1594
- /* @__PURE__ */ import_react16.default.createElement("line", { x1: "52", y1: "29.9", x2: "16", y2: "29.9" }),
1595
- /* @__PURE__ */ import_react16.default.createElement("line", { x1: "52", y1: "6.1", x2: "16", y2: "6.1" }),
1596
- /* @__PURE__ */ import_react16.default.createElement("line", { x1: "52", y1: "18", x2: "16", y2: "18" }),
1606
+ children,
1597
1607
  /* @__PURE__ */ import_react16.default.createElement(
1598
1608
  "path",
1599
1609
  {
@@ -1644,9 +1654,19 @@ var Menu = (_a) => {
1644
1654
  )
1645
1655
  );
1646
1656
  };
1657
+ var header_icon_default = HeaderIcon;
1658
+
1659
+ // src/header/menu.tsx
1660
+ var Menu = (props) => {
1661
+ return /* @__PURE__ */ import_react17.default.createElement(header_icon_default, __spreadValues({}, props), /* @__PURE__ */ import_react17.default.createElement("line", { x1: "52", y1: "29.9", x2: "16", y2: "29.9" }), /* @__PURE__ */ import_react17.default.createElement("line", { x1: "52", y1: "6.1", x2: "16", y2: "6.1" }), /* @__PURE__ */ import_react17.default.createElement("line", { x1: "52", y1: "18", x2: "16", y2: "18" }));
1662
+ };
1647
1663
  var menu_default = Menu;
1648
1664
 
1649
- // src/header.tsx
1665
+ // src/header/navigation-menu.tsx
1666
+ var import_react18 = __toESM(require("react"));
1667
+ var import_link4 = __toESM(require("next/link"));
1668
+ var import_theme_ui17 = require("theme-ui");
1669
+ var import_icons2 = require("@carbonplan/icons");
1650
1670
  var sx = {
1651
1671
  link: (current, label, first = false) => {
1652
1672
  return {
@@ -1671,7 +1691,7 @@ var sx = {
1671
1691
  }
1672
1692
  },
1673
1693
  "&:hover": {
1674
- color: current === label ? "secondary" : "text"
1694
+ color: current == label ? "secondary" : "text"
1675
1695
  }
1676
1696
  };
1677
1697
  }
@@ -1683,7 +1703,7 @@ var links = [
1683
1703
  { url: "press", display: "Press" }
1684
1704
  ];
1685
1705
  var HoverArrow = () => {
1686
- return /* @__PURE__ */ import_react17.default.createElement(
1706
+ return /* @__PURE__ */ import_react18.default.createElement(
1687
1707
  import_icons2.Arrow,
1688
1708
  {
1689
1709
  id: "arrow",
@@ -1706,7 +1726,7 @@ var Nav = ({ link, mode, nav, first, setExpanded }) => {
1706
1726
  const { url, display } = link;
1707
1727
  const href = mode === "remote" ? "https://carbonplan.org/" + url : "/" + url;
1708
1728
  if (mode === "homepage" || mode === "local" && nav === url) {
1709
- return /* @__PURE__ */ import_react17.default.createElement(import_link4.default, { href, passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react17.default.createElement(
1729
+ return /* @__PURE__ */ import_react18.default.createElement(import_link4.default, { href, passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react18.default.createElement(
1710
1730
  import_theme_ui17.Link,
1711
1731
  {
1712
1732
  onClick: () => {
@@ -1714,34 +1734,302 @@ var Nav = ({ link, mode, nav, first, setExpanded }) => {
1714
1734
  },
1715
1735
  sx: sx.link(nav, url, first)
1716
1736
  },
1717
- /* @__PURE__ */ import_react17.default.createElement(HoverArrow, null),
1737
+ /* @__PURE__ */ import_react18.default.createElement(HoverArrow, null),
1718
1738
  display
1719
1739
  ));
1720
1740
  } else {
1721
- return /* @__PURE__ */ import_react17.default.createElement(import_theme_ui17.Link, { href, sx: sx.link(nav, url, first) }, /* @__PURE__ */ import_react17.default.createElement(HoverArrow, null), display);
1741
+ return /* @__PURE__ */ import_react18.default.createElement(import_theme_ui17.Link, { href, sx: sx.link(nav, url, first) }, /* @__PURE__ */ import_react18.default.createElement(HoverArrow, null), display);
1742
+ }
1743
+ };
1744
+ var NavigationMenu = ({ nav, mode, setExpanded }) => {
1745
+ return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, links.map((d, i) => /* @__PURE__ */ import_react18.default.createElement(
1746
+ Nav,
1747
+ {
1748
+ key: i,
1749
+ link: d,
1750
+ mode,
1751
+ nav,
1752
+ first: i === 0,
1753
+ setExpanded
1754
+ }
1755
+ )));
1756
+ };
1757
+ var navigation_menu_default = NavigationMenu;
1758
+
1759
+ // src/header/search.tsx
1760
+ var import_react19 = __toESM(require("react"));
1761
+ var import_icons3 = require("@carbonplan/icons");
1762
+ var Search = (props) => {
1763
+ return /* @__PURE__ */ import_react19.default.createElement(header_icon_default, __spreadProps(__spreadValues({}, props), { label: "Toggle Search" }), /* @__PURE__ */ import_react19.default.createElement(import_icons3.Search, { width: 50, height: 30, x: 8 }));
1764
+ };
1765
+ var search_default = Search;
1766
+
1767
+ // src/header/search-menu.tsx
1768
+ var import_react21 = __toESM(require("react"));
1769
+ var import_theme_ui19 = require("theme-ui");
1770
+ var import_icons4 = require("@carbonplan/icons");
1771
+
1772
+ // src/input.tsx
1773
+ var import_react20 = __toESM(require("react"));
1774
+ var import_theme_ui18 = require("theme-ui");
1775
+ var Input = (_a, ref) => {
1776
+ var _b = _a, { size = "sm", inverted, sx: sx4 } = _b, props = __objRest(_b, ["size", "inverted", "sx"]);
1777
+ const defaultColor = inverted ? "secondary" : "primary";
1778
+ const styles3 = __spreadValues(__spreadValues({
1779
+ color: defaultColor,
1780
+ borderColor: "secondary",
1781
+ borderStyle: "solid",
1782
+ borderWidth: "0px",
1783
+ borderBottomWidth: "1px",
1784
+ borderRadius: "0px",
1785
+ transition: "border 0.15s",
1786
+ width: "calc(min(15ch, 100%))",
1787
+ p: [0],
1788
+ py: ["2px"],
1789
+ "input::-webkit-outer-spin-button": {
1790
+ WebkitAppearance: "none",
1791
+ margin: 0
1792
+ },
1793
+ "input::-webkit-inner-spin-button": {
1794
+ WebkitAppearance: "none",
1795
+ margin: 0
1796
+ },
1797
+ ":focus": {
1798
+ borderColor: "primary"
1799
+ },
1800
+ ":focus-visible": {
1801
+ outline: "none !important",
1802
+ background: "none !important"
1803
+ }
1804
+ }, get_size_styles_default(size)), sx4);
1805
+ return /* @__PURE__ */ import_react20.default.createElement(import_theme_ui18.Input, __spreadProps(__spreadValues({}, props), { ref, sx: styles3 }));
1806
+ };
1807
+ var input_default = (0, import_react20.forwardRef)(Input);
1808
+
1809
+ // src/header/search-menu.tsx
1810
+ var HoverArrow2 = ({ sx: sx4 }) => {
1811
+ return /* @__PURE__ */ import_react21.default.createElement(
1812
+ import_icons4.Arrow,
1813
+ {
1814
+ id: "arrow",
1815
+ sx: __spreadValues({
1816
+ display: "inline-block",
1817
+ position: "absolute",
1818
+ right: ["4px", "-68px", "-80px", "-104px"],
1819
+ top: [void 0, void 0, "46px", "62px"],
1820
+ bottom: ["4px", "4px", void 0, void 0],
1821
+ opacity: 0,
1822
+ transition: "opacity 0.2s ease-out",
1823
+ transform: "rotate(45deg)",
1824
+ width: [24, 36, 48, 56],
1825
+ height: [24, 36, 48, 56]
1826
+ }, sx4)
1827
+ }
1828
+ );
1829
+ };
1830
+ var RESOURCES = [
1831
+ {
1832
+ label: "Carbon accounting",
1833
+ links: []
1834
+ },
1835
+ {
1836
+ label: "Climate impacts",
1837
+ links: []
1838
+ },
1839
+ {
1840
+ label: "Organization",
1841
+ links: []
1842
+ }
1843
+ ];
1844
+ var sx2 = {
1845
+ highlight: {
1846
+ mb: [2, 2, 3, 3],
1847
+ mt: [3, 3, 0, 0],
1848
+ fontSize: [3, 3, 3, 4],
1849
+ fontFamily: "heading",
1850
+ letterSpacing: "smallcaps",
1851
+ textTransform: "uppercase",
1852
+ color: "secondary"
1722
1853
  }
1723
1854
  };
1724
- var NavGroup = ({ links: links2, nav, mode, setExpanded }) => {
1725
- return /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, links2.map((d, i) => {
1726
- return /* @__PURE__ */ import_react17.default.createElement(
1727
- Nav,
1855
+ var SearchMenu = ({}) => {
1856
+ const [value, setValue] = (0, import_react21.useState)("");
1857
+ const [resources, setResources] = (0, import_react21.useState)(RESOURCES);
1858
+ const destination = `/search?query=${value.trim()}`;
1859
+ (0, import_react21.useEffect)(() => {
1860
+ fetch("/resources.json").then((res) => res.json()).then((res) => {
1861
+ if (res.length === 3 && res.every((el) => el.label && Array.isArray(el.links))) {
1862
+ setResources(res);
1863
+ }
1864
+ }).catch(() => {
1865
+ setResources(RESOURCES);
1866
+ });
1867
+ }, []);
1868
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(row_default, { columns: [6, 6, 10, 10] }, /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: [6, 6, 10, 10] }, /* @__PURE__ */ import_react21.default.createElement(
1869
+ import_theme_ui19.Flex,
1870
+ {
1871
+ as: "form",
1872
+ onSubmit: (e) => {
1873
+ e.preventDefault();
1874
+ if (value.trim()) {
1875
+ window.location.href = destination;
1876
+ }
1877
+ },
1878
+ sx: {
1879
+ flexDirection: ["column", "column", "row", "row"],
1880
+ gap: [0, 0, 7, 7],
1881
+ mt: ["1px", 0, 2, "29px"],
1882
+ position: "relative",
1883
+ borderStyle: "solid",
1884
+ borderColor: ["secondary", "secondary", "muted", "muted"],
1885
+ borderWidth: "0px",
1886
+ borderBottomWidth: "1px",
1887
+ "@media (hover: hover) and (pointer: fine)": {
1888
+ "&:hover #arrow": {
1889
+ opacity: 1
1890
+ }
1891
+ }
1892
+ }
1893
+ },
1894
+ /* @__PURE__ */ import_react21.default.createElement(
1895
+ import_theme_ui19.Box,
1896
+ __spreadProps(__spreadValues({
1897
+ as: "label"
1898
+ }, { htmlFor: "search" }), {
1899
+ sx: {
1900
+ color: "primary",
1901
+ fontSize: [6, 6, 7, 8],
1902
+ fontFamily: "heading",
1903
+ letterSpacing: "heading",
1904
+ py: [0, 3, 4, 5],
1905
+ textDecoration: "none",
1906
+ display: "block",
1907
+ transition: "color 0.15s"
1908
+ }
1909
+ }),
1910
+ "Search"
1911
+ ),
1912
+ /* @__PURE__ */ import_react21.default.createElement(
1913
+ input_default,
1728
1914
  {
1729
- key: i,
1730
- link: d,
1731
- mode,
1732
- nav,
1733
- first: i === 0,
1734
- setExpanded
1915
+ id: "search",
1916
+ size: "xl",
1917
+ value,
1918
+ onChange: (e) => setValue(e.target.value),
1919
+ sx: {
1920
+ borderBottomWidth: 0,
1921
+ fontSize: [4, 6, 7, 8],
1922
+ flexShrink: 0
1923
+ },
1924
+ color: "secondary"
1735
1925
  }
1736
- );
1737
- }));
1926
+ ),
1927
+ /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Link, { href: destination }, /* @__PURE__ */ import_react21.default.createElement(
1928
+ HoverArrow2,
1929
+ {
1930
+ sx: {
1931
+ opacity: value ? 1 : [1, 1, 0, 0],
1932
+ pointerEvents: value ? "all" : "none"
1933
+ }
1934
+ }
1935
+ ))
1936
+ ))), /* @__PURE__ */ import_react21.default.createElement(
1937
+ row_default,
1938
+ {
1939
+ columns: [6, 6, 10, 10],
1940
+ sx: { display: ["none", "grid", "grid", "grid"] }
1941
+ },
1942
+ /* @__PURE__ */ import_react21.default.createElement(
1943
+ column_default,
1944
+ {
1945
+ start: 1,
1946
+ width: 5,
1947
+ sx: { mt: [2, 2, 8, 8], mb: [1, 1, , 6, 6] }
1948
+ },
1949
+ /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { as: "h2", variant: "styles.h2", sx: { my: 0 } }, "Popular resources")
1950
+ ),
1951
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [1, 1, 2, 2], width: 3 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[0].label), resources[0].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1952
+ button_default,
1953
+ {
1954
+ key: href,
1955
+ href,
1956
+ size: "md",
1957
+ sx: { mb: [1] },
1958
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1959
+ },
1960
+ label
1961
+ ))),
1962
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [4, 4, 5, 5], width: 3 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[1].label), resources[1].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1963
+ button_default,
1964
+ {
1965
+ key: href,
1966
+ href,
1967
+ size: "md",
1968
+ sx: { mb: [1] },
1969
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1970
+ },
1971
+ label
1972
+ ))),
1973
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [1, 1, 8, 8], width: 3, sx: { mt: [0, 4, 0, 0] } }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[2].label), resources[2].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1974
+ button_default,
1975
+ {
1976
+ key: href,
1977
+ href,
1978
+ size: "md",
1979
+ sx: { mb: [1] },
1980
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1981
+ },
1982
+ label
1983
+ )))
1984
+ ), /* @__PURE__ */ import_react21.default.createElement(
1985
+ row_default,
1986
+ {
1987
+ columns: [6, 6, 10, 10],
1988
+ sx: { display: ["grid", "none", "none", "none"] }
1989
+ },
1990
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { as: "h2", variant: "styles.h3", sx: { my: 4 } }, "Popular resources"), /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[0].label), resources[0].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1991
+ button_default,
1992
+ {
1993
+ key: href,
1994
+ href,
1995
+ size: "xs",
1996
+ sx: { mb: [1] },
1997
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1998
+ },
1999
+ label
2000
+ ))),
2001
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[1].label), resources[1].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
2002
+ button_default,
2003
+ {
2004
+ key: href,
2005
+ href,
2006
+ size: "xs",
2007
+ sx: { mb: [1] },
2008
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2009
+ },
2010
+ label
2011
+ ))),
2012
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[2].label), resources[2].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
2013
+ button_default,
2014
+ {
2015
+ key: href,
2016
+ href,
2017
+ size: "xs",
2018
+ sx: { mb: [1] },
2019
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2020
+ },
2021
+ label
2022
+ )))
2023
+ ));
1738
2024
  };
2025
+ var search_menu_default = SearchMenu;
2026
+
2027
+ // src/header/header.tsx
1739
2028
  var Header = ({ status, mode, nav, menuItems }) => {
1740
- const [expanded, setExpanded] = (0, import_react17.useState)(false);
1741
- const toggle = () => {
1742
- setExpanded(!expanded);
1743
- };
1744
- return /* @__PURE__ */ import_react17.default.createElement(
2029
+ const [menuExpanded, setMenuExpanded] = (0, import_react22.useState)(false);
2030
+ const [searchExpanded, setSearchExpanded] = (0, import_react22.useState)(false);
2031
+ const expanded = searchExpanded || menuExpanded;
2032
+ return /* @__PURE__ */ import_react22.default.createElement(
1745
2033
  row_default,
1746
2034
  {
1747
2035
  sx: {
@@ -1749,20 +2037,20 @@ var Header = ({ status, mode, nav, menuItems }) => {
1749
2037
  pb: [3]
1750
2038
  }
1751
2039
  },
1752
- /* @__PURE__ */ import_react17.default.createElement(column_default, { start: [1], width: [2] }, /* @__PURE__ */ import_react17.default.createElement(
1753
- import_theme_ui17.Box,
2040
+ /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [1], width: [2] }, /* @__PURE__ */ import_react22.default.createElement(
2041
+ import_theme_ui20.Box,
1754
2042
  {
1755
2043
  sx: { pointerEvents: "all", display: "block", width: "fit-content" }
1756
2044
  },
1757
- (mode === "homepage" || mode === "local") && /* @__PURE__ */ import_react17.default.createElement(import_link4.default, { href: "/", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react17.default.createElement(
1758
- import_theme_ui17.Link,
2045
+ (mode == "homepage" || mode == "local") && /* @__PURE__ */ import_react22.default.createElement(import_link5.default, { href: "/", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react22.default.createElement(
2046
+ import_theme_ui20.Link,
1759
2047
  {
1760
2048
  "aria-label": "CarbonPlan Homepage",
1761
2049
  sx: {
1762
2050
  display: "block"
1763
2051
  }
1764
2052
  },
1765
- /* @__PURE__ */ import_react17.default.createElement(
2053
+ /* @__PURE__ */ import_react22.default.createElement(
1766
2054
  logo_default,
1767
2055
  {
1768
2056
  id: "logo",
@@ -1773,17 +2061,17 @@ var Header = ({ status, mode, nav, menuItems }) => {
1773
2061
  }
1774
2062
  )
1775
2063
  )),
1776
- (mode == null || mode === "remote") && /* @__PURE__ */ import_react17.default.createElement(
1777
- import_theme_ui17.Link,
2064
+ (mode == null || mode == "remote") && /* @__PURE__ */ import_react22.default.createElement(
2065
+ import_theme_ui20.Link,
1778
2066
  {
1779
2067
  href: "https://carbonplan.org",
1780
2068
  "aria-label": "CarbonPlan Homepage",
1781
2069
  sx: { display: "block" }
1782
2070
  },
1783
- /* @__PURE__ */ import_react17.default.createElement(logo_default, { sx: { cursor: "pointer", color: "primary" } })
2071
+ /* @__PURE__ */ import_react22.default.createElement(logo_default, { sx: { cursor: "pointer", color: "primary" } })
1784
2072
  )
1785
2073
  )),
1786
- /* @__PURE__ */ import_react17.default.createElement(
2074
+ /* @__PURE__ */ import_react22.default.createElement(
1787
2075
  column_default,
1788
2076
  {
1789
2077
  start: [4, 9],
@@ -1794,8 +2082,8 @@ var Header = ({ status, mode, nav, menuItems }) => {
1794
2082
  alignItems: "center"
1795
2083
  }
1796
2084
  },
1797
- /* @__PURE__ */ import_react17.default.createElement(
1798
- import_theme_ui17.Box,
2085
+ /* @__PURE__ */ import_react22.default.createElement(
2086
+ import_theme_ui20.Box,
1799
2087
  {
1800
2088
  sx: {
1801
2089
  fontSize: [1, 2, 3],
@@ -1806,15 +2094,15 @@ var Header = ({ status, mode, nav, menuItems }) => {
1806
2094
  status ? `(${status})` : ""
1807
2095
  )
1808
2096
  ),
1809
- /* @__PURE__ */ import_react17.default.createElement(
2097
+ /* @__PURE__ */ import_react22.default.createElement(
1810
2098
  column_default,
1811
2099
  {
1812
2100
  start: [status ? 6 : 4, 6, 11, 11],
1813
2101
  width: [status ? 1 : 3, 3, 2, 2],
1814
2102
  sx: { zIndex: 5e3 }
1815
2103
  },
1816
- /* @__PURE__ */ import_react17.default.createElement(import_theme_ui17.Flex, { sx: { pointerEvents: "all", justifyContent: "flex-end" } }, /* @__PURE__ */ import_react17.default.createElement(
1817
- import_theme_ui17.Box,
2104
+ /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Flex, { sx: { pointerEvents: "all", justifyContent: "flex-end" } }, /* @__PURE__ */ import_react22.default.createElement(
2105
+ import_theme_ui20.Box,
1818
2106
  {
1819
2107
  sx: {
1820
2108
  display: [status ? "none" : "flex", "flex", "flex", "flex"],
@@ -1827,20 +2115,32 @@ var Header = ({ status, mode, nav, menuItems }) => {
1827
2115
  }
1828
2116
  },
1829
2117
  menuItems
1830
- ), /* @__PURE__ */ import_react17.default.createElement(
2118
+ ), /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Flex, { sx: { gap: 4 } }, /* @__PURE__ */ import_react22.default.createElement(
2119
+ search_default,
2120
+ {
2121
+ value: searchExpanded,
2122
+ onClick: () => {
2123
+ setSearchExpanded(!searchExpanded);
2124
+ !searchExpanded && setMenuExpanded(false);
2125
+ }
2126
+ }
2127
+ ), /* @__PURE__ */ import_react22.default.createElement(
1831
2128
  menu_default,
1832
2129
  {
1833
2130
  sx: {
1834
2131
  flexShrink: 0,
1835
2132
  mr: ["-2px"]
1836
2133
  },
1837
- value: expanded,
1838
- onClick: toggle
2134
+ value: menuExpanded,
2135
+ onClick: () => {
2136
+ setMenuExpanded(!menuExpanded);
2137
+ !menuExpanded && setSearchExpanded(false);
2138
+ }
1839
2139
  }
1840
- ))
2140
+ )))
1841
2141
  ),
1842
- /* @__PURE__ */ import_react17.default.createElement(
1843
- import_theme_ui17.Box,
2142
+ /* @__PURE__ */ import_react22.default.createElement(
2143
+ import_theme_ui20.Box,
1844
2144
  {
1845
2145
  sx: {
1846
2146
  opacity: expanded ? 1 : 0,
@@ -1858,42 +2158,41 @@ var Header = ({ status, mode, nav, menuItems }) => {
1858
2158
  transition: "opacity 0.25s"
1859
2159
  }
1860
2160
  },
1861
- /* @__PURE__ */ import_react17.default.createElement(import_theme_ui17.Container, null, /* @__PURE__ */ import_react17.default.createElement(row_default, null, /* @__PURE__ */ import_react17.default.createElement(column_default, { start: [2, 4, 7, 7], width: [5, 4, 5, 5] }, /* @__PURE__ */ import_react17.default.createElement(
1862
- import_theme_ui17.Box,
2161
+ /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Container, null, /* @__PURE__ */ import_react22.default.createElement(row_default, null, menuExpanded ? /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [2, 4, 7, 7], width: [5, 4, 5, 5] }, /* @__PURE__ */ import_react22.default.createElement(
2162
+ import_theme_ui20.Box,
1863
2163
  {
1864
2164
  as: "nav",
1865
2165
  sx: {
1866
- display: expanded ? "inherit" : "none",
2166
+ display: menuExpanded ? "inherit" : "none",
1867
2167
  mt: [5, 5, 5, 6]
1868
2168
  }
1869
2169
  },
1870
- /* @__PURE__ */ import_react17.default.createElement(
1871
- NavGroup,
2170
+ /* @__PURE__ */ import_react22.default.createElement(
2171
+ navigation_menu_default,
1872
2172
  {
1873
- links,
1874
2173
  nav,
1875
2174
  mode,
1876
- setExpanded
2175
+ setExpanded: setMenuExpanded
1877
2176
  }
1878
2177
  )
1879
- ))))
2178
+ )) : /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [1, 2, 2, 2], width: [6, 6, 10, 10] }, /* @__PURE__ */ import_react22.default.createElement(search_menu_default, { setExpanded: setSearchExpanded }))))
1880
2179
  )
1881
2180
  );
1882
2181
  };
1883
2182
  var header_default = Header;
1884
2183
 
1885
2184
  // src/footer.tsx
1886
- var import_react19 = __toESM(require("react"));
1887
- var import_theme_ui19 = require("theme-ui");
1888
- var import_link5 = __toESM(require("next/link"));
2185
+ var import_react24 = __toESM(require("react"));
2186
+ var import_theme_ui22 = require("theme-ui");
2187
+ var import_link6 = __toESM(require("next/link"));
1889
2188
 
1890
2189
  // src/monogram.tsx
1891
- var import_react18 = __toESM(require("react"));
1892
- var import_theme_ui18 = require("theme-ui");
2190
+ var import_react23 = __toESM(require("react"));
2191
+ var import_theme_ui21 = require("theme-ui");
1893
2192
  var Monogram = (_a) => {
1894
2193
  var props = __objRest(_a, []);
1895
- return /* @__PURE__ */ import_react18.default.createElement(
1896
- import_theme_ui18.Box,
2194
+ return /* @__PURE__ */ import_react23.default.createElement(
2195
+ import_theme_ui21.Box,
1897
2196
  __spreadValues(__spreadValues({
1898
2197
  as: "svg"
1899
2198
  }, {
@@ -1902,21 +2201,21 @@ var Monogram = (_a) => {
1902
2201
  fill: "currentColor",
1903
2202
  viewBox: "0 0 32 32"
1904
2203
  }), props),
1905
- /* @__PURE__ */ import_react18.default.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" }),
1906
- /* @__PURE__ */ import_react18.default.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" }),
1907
- /* @__PURE__ */ import_react18.default.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" })
2204
+ /* @__PURE__ */ import_react23.default.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" }),
2205
+ /* @__PURE__ */ import_react23.default.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" }),
2206
+ /* @__PURE__ */ import_react23.default.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" })
1908
2207
  );
1909
2208
  };
1910
2209
  var monogram_default = Monogram;
1911
2210
 
1912
2211
  // src/footer.tsx
1913
2212
  var Footer = () => {
1914
- const [year, setYear] = (0, import_react19.useState)(null);
1915
- (0, import_react19.useEffect)(() => {
2213
+ const [year, setYear] = (0, import_react24.useState)(null);
2214
+ (0, import_react24.useEffect)(() => {
1916
2215
  setYear((/* @__PURE__ */ new Date()).getFullYear());
1917
2216
  }, []);
1918
- return /* @__PURE__ */ import_react19.default.createElement(
1919
- import_theme_ui19.Box,
2217
+ return /* @__PURE__ */ import_react24.default.createElement(
2218
+ import_theme_ui22.Box,
1920
2219
  {
1921
2220
  sx: {
1922
2221
  mt: [7, 7, 7, 8],
@@ -1924,8 +2223,8 @@ var Footer = () => {
1924
2223
  pb: [2, 1, 0, 0]
1925
2224
  }
1926
2225
  },
1927
- /* @__PURE__ */ import_react19.default.createElement(row_default, { sx: { mb: [0, 0, 4, 5] } }, /* @__PURE__ */ import_react19.default.createElement(column_default, { start: [1, 2], width: [3, 3] }, /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, /* @__PURE__ */ import_react19.default.createElement(
1928
- import_theme_ui19.Box,
2226
+ /* @__PURE__ */ import_react24.default.createElement(row_default, { sx: { mb: [0, 0, 4, 5] } }, /* @__PURE__ */ import_react24.default.createElement(column_default, { start: [1, 2], width: [3, 3] }, /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, /* @__PURE__ */ import_react24.default.createElement(
2227
+ import_theme_ui22.Box,
1929
2228
  {
1930
2229
  sx: {
1931
2230
  fontSize: [2, 2, 2, 3],
@@ -1935,8 +2234,8 @@ var Footer = () => {
1935
2234
  }
1936
2235
  },
1937
2236
  "EMAIL"
1938
- ), /* @__PURE__ */ import_react19.default.createElement(
1939
- import_theme_ui19.Link,
2237
+ ), /* @__PURE__ */ import_react24.default.createElement(
2238
+ import_theme_ui22.Link,
1940
2239
  {
1941
2240
  href: "mailto:hello@carbonplan.org",
1942
2241
  sx: {
@@ -1945,7 +2244,7 @@ var Footer = () => {
1945
2244
  }
1946
2245
  },
1947
2246
  "hello@carbonplan.org"
1948
- ))), /* @__PURE__ */ import_react19.default.createElement(
2247
+ ))), /* @__PURE__ */ import_react24.default.createElement(
1949
2248
  column_default,
1950
2249
  {
1951
2250
  start: [5],
@@ -1957,9 +2256,9 @@ var Footer = () => {
1957
2256
  justifyContent: ["center"]
1958
2257
  }
1959
2258
  },
1960
- /* @__PURE__ */ import_react19.default.createElement(monogram_default, { sx: { mt: ["-4px"], width: "60px", height: "60px" } })
1961
- ), /* @__PURE__ */ import_react19.default.createElement(column_default, { start: [1, 5, 5, 5], width: [3, 3], sx: { mt: [3, 0, 0, 0] } }, /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, /* @__PURE__ */ import_react19.default.createElement(
1962
- import_theme_ui19.Box,
2259
+ /* @__PURE__ */ import_react24.default.createElement(monogram_default, { sx: { mt: ["-4px"], width: "60px", height: "60px" } })
2260
+ ), /* @__PURE__ */ import_react24.default.createElement(column_default, { start: [1, 5, 5, 5], width: [3, 3], sx: { mt: [3, 0, 0, 0] } }, /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, /* @__PURE__ */ import_react24.default.createElement(
2261
+ import_theme_ui22.Box,
1963
2262
  {
1964
2263
  sx: {
1965
2264
  fontSize: [2, 2, 2, 3],
@@ -1969,8 +2268,8 @@ var Footer = () => {
1969
2268
  }
1970
2269
  },
1971
2270
  "NEWSLETTER"
1972
- ), /* @__PURE__ */ import_react19.default.createElement(
1973
- import_theme_ui19.Link,
2271
+ ), /* @__PURE__ */ import_react24.default.createElement(
2272
+ import_theme_ui22.Link,
1974
2273
  {
1975
2274
  href: "https://carbonplan.org/newsletter",
1976
2275
  sx: {
@@ -1979,15 +2278,15 @@ var Footer = () => {
1979
2278
  }
1980
2279
  },
1981
2280
  "Subscribe"
1982
- ))), /* @__PURE__ */ import_react19.default.createElement(
2281
+ ))), /* @__PURE__ */ import_react24.default.createElement(
1983
2282
  column_default,
1984
2283
  {
1985
2284
  start: [1, 9],
1986
2285
  width: [5, 4, 3, 3],
1987
2286
  sx: { mt: ["42px", "42px", 0, 0], mb: [3, 3, 0, 0] }
1988
2287
  },
1989
- /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, /* @__PURE__ */ import_react19.default.createElement(
1990
- import_theme_ui19.Box,
2288
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, /* @__PURE__ */ import_react24.default.createElement(
2289
+ import_theme_ui22.Box,
1991
2290
  {
1992
2291
  sx: {
1993
2292
  fontSize: [2, 2, 2, 3],
@@ -1998,7 +2297,7 @@ var Footer = () => {
1998
2297
  "CarbonPlan is a registered nonprofit public benefit corporation in California with 501(c)(3) status."
1999
2298
  ))
2000
2299
  )),
2001
- /* @__PURE__ */ import_react19.default.createElement(row_default, { sx: { mb: ["2px"], mt: [5, 5, 4] } }, /* @__PURE__ */ import_react19.default.createElement(
2300
+ /* @__PURE__ */ import_react24.default.createElement(row_default, { sx: { mb: ["2px"], mt: [5, 5, 4] } }, /* @__PURE__ */ import_react24.default.createElement(
2002
2301
  column_default,
2003
2302
  {
2004
2303
  start: [1, 1, 2, 2],
@@ -2008,8 +2307,8 @@ var Footer = () => {
2008
2307
  alignItems: ["flex-start", "flex-start", "flex-end"]
2009
2308
  }
2010
2309
  },
2011
- /* @__PURE__ */ import_react19.default.createElement(
2012
- import_theme_ui19.Box,
2310
+ /* @__PURE__ */ import_react24.default.createElement(
2311
+ import_theme_ui22.Box,
2013
2312
  {
2014
2313
  sx: {
2015
2314
  bottom: "0px",
@@ -2021,8 +2320,8 @@ var Footer = () => {
2021
2320
  pt: [2]
2022
2321
  }
2023
2322
  },
2024
- /* @__PURE__ */ import_react19.default.createElement(
2025
- import_theme_ui19.Box,
2323
+ /* @__PURE__ */ import_react24.default.createElement(
2324
+ import_theme_ui22.Box,
2026
2325
  {
2027
2326
  sx: {
2028
2327
  color: "secondary",
@@ -2031,20 +2330,20 @@ var Footer = () => {
2031
2330
  letterSpacing: "mono"
2032
2331
  }
2033
2332
  },
2034
- /* @__PURE__ */ import_react19.default.createElement(
2035
- import_theme_ui19.Flex,
2333
+ /* @__PURE__ */ import_react24.default.createElement(
2334
+ import_theme_ui22.Flex,
2036
2335
  {
2037
2336
  sx: {
2038
2337
  flexDirection: ["column", "column", "row", "row"],
2039
2338
  gap: [0, 0, "10px", "12px"]
2040
2339
  }
2041
2340
  },
2042
- /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, "(c) ", year),
2043
- /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, "CARBONPLAN")
2341
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, "(c) ", year),
2342
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, "CARBONPLAN")
2044
2343
  )
2045
2344
  )
2046
2345
  )
2047
- ), /* @__PURE__ */ import_react19.default.createElement(
2346
+ ), /* @__PURE__ */ import_react24.default.createElement(
2048
2347
  column_default,
2049
2348
  {
2050
2349
  start: [4, 3, 5, 5],
@@ -2055,8 +2354,8 @@ var Footer = () => {
2055
2354
  mt: [0, 0, 0, 0]
2056
2355
  }
2057
2356
  },
2058
- /* @__PURE__ */ import_react19.default.createElement(
2059
- import_theme_ui19.Box,
2357
+ /* @__PURE__ */ import_react24.default.createElement(
2358
+ import_theme_ui22.Box,
2060
2359
  {
2061
2360
  sx: {
2062
2361
  bottom: "0px",
@@ -2067,8 +2366,8 @@ var Footer = () => {
2067
2366
  pt: [2]
2068
2367
  }
2069
2368
  },
2070
- /* @__PURE__ */ import_react19.default.createElement(
2071
- import_theme_ui19.Flex,
2369
+ /* @__PURE__ */ import_react24.default.createElement(
2370
+ import_theme_ui22.Flex,
2072
2371
  {
2073
2372
  sx: {
2074
2373
  color: "secondary",
@@ -2079,8 +2378,8 @@ var Footer = () => {
2079
2378
  gap: [0, 0, "10px", "12px"]
2080
2379
  }
2081
2380
  },
2082
- /* @__PURE__ */ import_react19.default.createElement(import_link5.default, { href: "/terms", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react19.default.createElement(
2083
- import_theme_ui19.Box,
2381
+ /* @__PURE__ */ import_react24.default.createElement(import_link6.default, { href: "/terms", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react24.default.createElement(
2382
+ import_theme_ui22.Box,
2084
2383
  {
2085
2384
  as: "a",
2086
2385
  sx: {
@@ -2092,9 +2391,9 @@ var Footer = () => {
2092
2391
  },
2093
2392
  "TERMS OF USE"
2094
2393
  )),
2095
- /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, { sx: { display: ["none", "none", "initial", "initial"] } }, " / "),
2096
- /* @__PURE__ */ import_react19.default.createElement(import_link5.default, { href: "/privacy", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react19.default.createElement(
2097
- import_theme_ui19.Box,
2394
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, { sx: { display: ["none", "none", "initial", "initial"] } }, " / "),
2395
+ /* @__PURE__ */ import_react24.default.createElement(import_link6.default, { href: "/privacy", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react24.default.createElement(
2396
+ import_theme_ui22.Box,
2098
2397
  {
2099
2398
  as: "a",
2100
2399
  sx: {
@@ -2108,14 +2407,14 @@ var Footer = () => {
2108
2407
  ))
2109
2408
  )
2110
2409
  )
2111
- ), /* @__PURE__ */ import_react19.default.createElement(
2410
+ ), /* @__PURE__ */ import_react24.default.createElement(
2112
2411
  column_default,
2113
2412
  {
2114
2413
  start: [5, 7, 9, 9],
2115
2414
  width: [2, 2, 3, 3],
2116
2415
  sx: { display: ["none", "initial", "initial", "initial"] }
2117
2416
  },
2118
- /* @__PURE__ */ import_react19.default.createElement(
2417
+ /* @__PURE__ */ import_react24.default.createElement(
2119
2418
  monogram_default,
2120
2419
  {
2121
2420
  sx: {
@@ -2132,18 +2431,18 @@ var Footer = () => {
2132
2431
  var footer_default = Footer;
2133
2432
 
2134
2433
  // src/dimmer.tsx
2135
- var import_react20 = __toESM(require("react"));
2136
- var import_theme_ui20 = require("theme-ui");
2137
- var import_react21 = require("react");
2138
- var import_icons3 = require("@carbonplan/icons");
2434
+ var import_react25 = __toESM(require("react"));
2435
+ var import_theme_ui23 = require("theme-ui");
2436
+ var import_react26 = require("react");
2437
+ var import_icons5 = require("@carbonplan/icons");
2139
2438
  var Dimmer = (_a) => {
2140
- var _b = _a, { sx: sx3 = {} } = _b, props = __objRest(_b, ["sx"]);
2141
- const [colorMode, setColorMode] = (0, import_theme_ui20.useColorMode)();
2142
- const toggle = (0, import_react21.useCallback)(() => {
2439
+ var _b = _a, { sx: sx4 = {} } = _b, props = __objRest(_b, ["sx"]);
2440
+ const [colorMode, setColorMode] = (0, import_theme_ui23.useColorMode)();
2441
+ const toggle = (0, import_react26.useCallback)(() => {
2143
2442
  setColorMode(colorMode === "light" ? "dark" : "light");
2144
2443
  }, [colorMode]);
2145
- return /* @__PURE__ */ import_react20.default.createElement(
2146
- import_theme_ui20.IconButton,
2444
+ return /* @__PURE__ */ import_react25.default.createElement(
2445
+ import_theme_ui23.IconButton,
2147
2446
  __spreadValues({
2148
2447
  "aria-label": "Toggle dark mode",
2149
2448
  onClick: toggle,
@@ -2154,10 +2453,10 @@ var Dimmer = (_a) => {
2154
2453
  display: "inline-block",
2155
2454
  cursor: "pointer",
2156
2455
  color: "secondary"
2157
- }, sx3)
2456
+ }, sx4)
2158
2457
  }, props),
2159
- /* @__PURE__ */ import_react20.default.createElement(
2160
- import_icons3.Sun,
2458
+ /* @__PURE__ */ import_react25.default.createElement(
2459
+ import_icons5.Sun,
2161
2460
  {
2162
2461
  sx: {
2163
2462
  strokeWidth: "1.75",
@@ -2175,25 +2474,25 @@ var Dimmer = (_a) => {
2175
2474
  var dimmer_default = Dimmer;
2176
2475
 
2177
2476
  // src/metadata.tsx
2178
- var import_react23 = __toESM(require("react"));
2179
- var import_theme_ui22 = require("theme-ui");
2180
- var import_react24 = require("react");
2477
+ var import_react28 = __toESM(require("react"));
2478
+ var import_theme_ui25 = require("theme-ui");
2479
+ var import_react29 = require("react");
2181
2480
 
2182
2481
  // src/gitsha.tsx
2183
- var import_react22 = __toESM(require("react"));
2184
- var import_theme_ui21 = require("theme-ui");
2482
+ var import_react27 = __toESM(require("react"));
2483
+ var import_theme_ui24 = require("theme-ui");
2185
2484
  var GitSha = () => {
2186
2485
  var _a;
2187
2486
  const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA;
2188
2487
  const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER;
2189
2488
  const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG;
2190
- const { theme } = (0, import_theme_ui21.useThemeUI)();
2489
+ const { theme } = (0, import_theme_ui24.useThemeUI)();
2191
2490
  const color = (_a = theme.rawColors) == null ? void 0 : _a.secondary;
2192
2491
  if (sha && owner && slug) {
2193
2492
  const shortSha = sha.substring(0, 7);
2194
2493
  const href = "https://github.com/" + owner + "/" + slug + "/tree/" + sha;
2195
- return /* @__PURE__ */ import_react22.default.createElement(import_theme_ui21.Box, { sx: { display: "inline-block", width: "87px" } }, /* @__PURE__ */ import_react22.default.createElement(Separator, { color: typeof color === "string" ? color : void 0 }), /* @__PURE__ */ import_react22.default.createElement(
2196
- import_theme_ui21.Link,
2494
+ return /* @__PURE__ */ import_react27.default.createElement(import_theme_ui24.Box, { sx: { display: "inline-block", width: "87px" } }, /* @__PURE__ */ import_react27.default.createElement(Separator, { color: typeof color === "string" ? color : void 0 }), /* @__PURE__ */ import_react27.default.createElement(
2495
+ import_theme_ui24.Link,
2197
2496
  {
2198
2497
  href,
2199
2498
  sx: {
@@ -2211,8 +2510,8 @@ var GitSha = () => {
2211
2510
  shortSha
2212
2511
  ));
2213
2512
  } else {
2214
- return /* @__PURE__ */ import_react22.default.createElement(import_theme_ui21.Box, { sx: { display: "inline-block", width: "87px" } }, /* @__PURE__ */ import_react22.default.createElement(Separator, { color: typeof color === "string" ? color : void 0 }), /* @__PURE__ */ import_react22.default.createElement(
2215
- import_theme_ui21.Text,
2513
+ return /* @__PURE__ */ import_react27.default.createElement(import_theme_ui24.Box, { sx: { display: "inline-block", width: "87px" } }, /* @__PURE__ */ import_react27.default.createElement(Separator, { color: typeof color === "string" ? color : void 0 }), /* @__PURE__ */ import_react27.default.createElement(
2514
+ import_theme_ui24.Text,
2216
2515
  {
2217
2516
  sx: {
2218
2517
  whiteSpace: "nowrap",
@@ -2230,14 +2529,14 @@ var GitSha = () => {
2230
2529
  }
2231
2530
  };
2232
2531
  var Separator = ({ color = "secondary" }) => {
2233
- return /* @__PURE__ */ import_react22.default.createElement("svg", { fill: color, opacity: "0.8", viewBox: "0 0 24 24", width: "24", height: "24" }, /* @__PURE__ */ import_react22.default.createElement("circle", { r: 5, cx: 19, cy: 19 }));
2532
+ return /* @__PURE__ */ import_react27.default.createElement("svg", { fill: color, opacity: "0.8", viewBox: "0 0 24 24", width: "24", height: "24" }, /* @__PURE__ */ import_react27.default.createElement("circle", { r: 5, cx: 19, cy: 19 }));
2234
2533
  };
2235
2534
  var gitsha_default = GitSha;
2236
2535
 
2237
2536
  // src/metadata.tsx
2238
2537
  var Value = ({ mode }) => {
2239
- const [display, setDisplay] = (0, import_react24.useState)(init(mode));
2240
- (0, import_react24.useEffect)(() => {
2538
+ const [display, setDisplay] = (0, import_react29.useState)(init(mode));
2539
+ (0, import_react29.useEffect)(() => {
2241
2540
  if (mode === "mouse") {
2242
2541
  const setFromEvent = (e) => {
2243
2542
  const x = format(e.clientX, 4);
@@ -2260,8 +2559,8 @@ var Value = ({ mode }) => {
2260
2559
  };
2261
2560
  }
2262
2561
  }, []);
2263
- return /* @__PURE__ */ import_react23.default.createElement(
2264
- import_theme_ui22.Text,
2562
+ return /* @__PURE__ */ import_react28.default.createElement(
2563
+ import_theme_ui25.Text,
2265
2564
  {
2266
2565
  sx: {
2267
2566
  whiteSpace: "nowrap",
@@ -2278,8 +2577,8 @@ var Value = ({ mode }) => {
2278
2577
  );
2279
2578
  };
2280
2579
  var Metadata = ({ mode }) => {
2281
- return /* @__PURE__ */ import_react23.default.createElement(
2282
- import_theme_ui22.Box,
2580
+ return /* @__PURE__ */ import_react28.default.createElement(
2581
+ import_theme_ui25.Box,
2283
2582
  {
2284
2583
  sx: {
2285
2584
  userSelect: "none",
@@ -2291,8 +2590,8 @@ var Metadata = ({ mode }) => {
2291
2590
  display: ["none", "none", "initial"]
2292
2591
  }
2293
2592
  },
2294
- /* @__PURE__ */ import_react23.default.createElement(Value, { mode }),
2295
- /* @__PURE__ */ import_react23.default.createElement(gitsha_default, null)
2593
+ /* @__PURE__ */ import_react28.default.createElement(Value, { mode }),
2594
+ /* @__PURE__ */ import_react28.default.createElement(gitsha_default, null)
2296
2595
  );
2297
2596
  };
2298
2597
  function init(mode) {
@@ -2313,10 +2612,10 @@ function scrollFraction(window2, document2) {
2313
2612
  var metadata_default = Metadata;
2314
2613
 
2315
2614
  // src/fade-in.tsx
2316
- var import_react25 = __toESM(require("react"));
2317
- var import_theme_ui23 = require("theme-ui");
2318
- var import_react26 = require("@emotion/react");
2319
- var fade = (0, import_react26.keyframes)({
2615
+ var import_react30 = __toESM(require("react"));
2616
+ var import_theme_ui26 = require("theme-ui");
2617
+ var import_react31 = require("@emotion/react");
2618
+ var fade = (0, import_react31.keyframes)({
2320
2619
  from: {
2321
2620
  opacity: 0
2322
2621
  },
@@ -2334,8 +2633,8 @@ var FadeIn = (_a) => {
2334
2633
  "delay",
2335
2634
  "children"
2336
2635
  ]);
2337
- return /* @__PURE__ */ import_react25.default.createElement(
2338
- import_theme_ui23.Box,
2636
+ return /* @__PURE__ */ import_react30.default.createElement(
2637
+ import_theme_ui26.Box,
2339
2638
  __spreadProps(__spreadValues({}, delegated), {
2340
2639
  sx: {
2341
2640
  animationDuration: duration + "ms",
@@ -2351,7 +2650,7 @@ var FadeIn = (_a) => {
2351
2650
  var fade_in_default = FadeIn;
2352
2651
 
2353
2652
  // src/scrollbar.tsx
2354
- var import_react27 = require("react");
2653
+ var import_react32 = require("react");
2355
2654
 
2356
2655
  // src/utils/get-scrollbar-width.ts
2357
2656
  var getScrollbarWidth = (document2) => {
@@ -2371,7 +2670,7 @@ var get_scrollbar_width_default = getScrollbarWidth;
2371
2670
 
2372
2671
  // src/scrollbar.tsx
2373
2672
  var Scrollbar = () => {
2374
- (0, import_react27.useEffect)(() => {
2673
+ (0, import_react32.useEffect)(() => {
2375
2674
  if (typeof document !== "undefined") {
2376
2675
  const delta = get_scrollbar_width_default(document);
2377
2676
  if (delta > 0) {
@@ -2385,11 +2684,11 @@ var Scrollbar = () => {
2385
2684
  var scrollbar_default = Scrollbar;
2386
2685
 
2387
2686
  // src/guide.tsx
2388
- var import_react28 = __toESM(require("react"));
2389
- var import_theme_ui24 = require("theme-ui");
2687
+ var import_react33 = __toESM(require("react"));
2688
+ var import_theme_ui27 = require("theme-ui");
2390
2689
  var Guide = ({ color = "muted" }) => {
2391
- const [display, setDisplay] = (0, import_react28.useState)(false);
2392
- (0, import_react28.useEffect)(() => {
2690
+ const [display, setDisplay] = (0, import_react33.useState)(false);
2691
+ (0, import_react33.useEffect)(() => {
2393
2692
  function handler(event) {
2394
2693
  const { key, metaKey } = event;
2395
2694
  if (key === ";" && metaKey) {
@@ -2401,8 +2700,8 @@ var Guide = ({ color = "muted" }) => {
2401
2700
  document.removeEventListener("keydown", handler);
2402
2701
  };
2403
2702
  }, []);
2404
- return /* @__PURE__ */ import_react28.default.createElement(
2405
- import_theme_ui24.Box,
2703
+ return /* @__PURE__ */ import_react33.default.createElement(
2704
+ import_theme_ui27.Box,
2406
2705
  {
2407
2706
  sx: {
2408
2707
  position: "fixed",
@@ -2414,13 +2713,13 @@ var Guide = ({ color = "muted" }) => {
2414
2713
  display: display ? "initial" : "none"
2415
2714
  }
2416
2715
  },
2417
- /* @__PURE__ */ import_react28.default.createElement(import_theme_ui24.Container, null, /* @__PURE__ */ import_react28.default.createElement(import_theme_ui24.Box, { sx: { display: ["none", "none", "initial", "initial"] } }, /* @__PURE__ */ import_react28.default.createElement(
2716
+ /* @__PURE__ */ import_react33.default.createElement(import_theme_ui27.Container, null, /* @__PURE__ */ import_react33.default.createElement(import_theme_ui27.Box, { sx: { display: ["none", "none", "initial", "initial"] } }, /* @__PURE__ */ import_react33.default.createElement(
2418
2717
  GuideColumns,
2419
2718
  {
2420
2719
  indices: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
2421
2720
  color
2422
2721
  }
2423
- )), /* @__PURE__ */ import_react28.default.createElement(import_theme_ui24.Box, { sx: { display: ["none", "initial", "none", "none"] } }, /* @__PURE__ */ import_react28.default.createElement(GuideColumns, { indices: [1, 2, 3, 4, 5, 6, 7, 8], color })), /* @__PURE__ */ import_react28.default.createElement(import_theme_ui24.Box, { sx: { display: ["initial", "none", "none", "none"] } }, /* @__PURE__ */ import_react28.default.createElement(GuideColumns, { indices: [1, 2, 3, 4, 5, 6], color })))
2722
+ )), /* @__PURE__ */ import_react33.default.createElement(import_theme_ui27.Box, { sx: { display: ["none", "initial", "none", "none"] } }, /* @__PURE__ */ import_react33.default.createElement(GuideColumns, { indices: [1, 2, 3, 4, 5, 6, 7, 8], color })), /* @__PURE__ */ import_react33.default.createElement(import_theme_ui27.Box, { sx: { display: ["initial", "none", "none", "none"] } }, /* @__PURE__ */ import_react33.default.createElement(GuideColumns, { indices: [1, 2, 3, 4, 5, 6], color })))
2424
2723
  );
2425
2724
  };
2426
2725
  var colorCycle = [
@@ -2437,7 +2736,7 @@ function GuideColumns({
2437
2736
  indices,
2438
2737
  color
2439
2738
  }) {
2440
- const sx3 = {
2739
+ const sx4 = {
2441
2740
  outerGuideColumn: {
2442
2741
  borderStyle: "solid",
2443
2742
  borderWidth: "0px",
@@ -2453,8 +2752,8 @@ function GuideColumns({
2453
2752
  opacity: color === "teal" ? 0.4 : 1
2454
2753
  }
2455
2754
  };
2456
- return /* @__PURE__ */ import_react28.default.createElement(row_default, null, indices.map((i) => {
2457
- return /* @__PURE__ */ import_react28.default.createElement(
2755
+ return /* @__PURE__ */ import_react33.default.createElement(row_default, null, indices.map((i) => {
2756
+ return /* @__PURE__ */ import_react33.default.createElement(
2458
2757
  column_default,
2459
2758
  {
2460
2759
  key: i,
@@ -2465,10 +2764,10 @@ function GuideColumns({
2465
2764
  sx: __spreadValues({
2466
2765
  bg: color === "teal" ? "teal" : "transparent",
2467
2766
  height: "100vh"
2468
- }, sx3.innerGuideColumn)
2767
+ }, sx4.innerGuideColumn)
2469
2768
  },
2470
- /* @__PURE__ */ import_react28.default.createElement(
2471
- import_theme_ui24.Box,
2769
+ /* @__PURE__ */ import_react33.default.createElement(
2770
+ import_theme_ui27.Box,
2472
2771
  {
2473
2772
  sx: __spreadValues({
2474
2773
  mx: ["12px", 3, 3, 4],
@@ -2476,7 +2775,7 @@ function GuideColumns({
2476
2775
  height: "100%",
2477
2776
  borderLeftColor: color === "rainbow" ? colorCycle[i % 8] : "muted",
2478
2777
  borderRightColor: color === "rainbow" ? colorCycle[i % 8] : "muted"
2479
- }, sx3.outerGuideColumn)
2778
+ }, sx4.outerGuideColumn)
2480
2779
  }
2481
2780
  )
2482
2781
  );
@@ -2485,96 +2784,9 @@ function GuideColumns({
2485
2784
  var guide_default = Guide;
2486
2785
 
2487
2786
  // src/settings.tsx
2488
- var import_react29 = __toESM(require("react"));
2489
- var import_theme_ui25 = require("theme-ui");
2490
- var Settings = (_a) => {
2491
- var _b = _a, { value, sx: sx3 } = _b, props = __objRest(_b, ["value", "sx"]);
2492
- return /* @__PURE__ */ import_react29.default.createElement(
2493
- import_theme_ui25.IconButton,
2494
- __spreadValues({
2495
- sx: __spreadValues({
2496
- cursor: "pointer",
2497
- fill: "none",
2498
- strokeWidth: "2px",
2499
- stroke: "text",
2500
- ".paren": {
2501
- opacity: "0"
2502
- },
2503
- "@media (hover: hover) and (pointer: fine)": {
2504
- "&:hover .paren": {
2505
- opacity: "1"
2506
- }
2507
- }
2508
- }, sx3),
2509
- "aria-label": "Toggle Menu"
2510
- }, props),
2511
- !value && /* @__PURE__ */ import_react29.default.createElement(
2512
- "svg",
2513
- {
2514
- style: {
2515
- width: "50px",
2516
- height: "30px",
2517
- marginTop: "-3px",
2518
- flexShrink: 0
2519
- },
2520
- xmlns: "http://www.w3.org/2000/svg",
2521
- viewBox: "0 0 68 36"
2522
- },
2523
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "24", y1: "2.1", x2: "24", y2: "6.1" }),
2524
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "24", y1: "24.1", x2: "24", y2: "33.9" }),
2525
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "44", y1: "2.1", x2: "44", y2: "12.1" }),
2526
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "44", y1: "30.1", x2: "44", y2: "33.9" }),
2527
- /* @__PURE__ */ import_react29.default.createElement("circle", { cx: "24", cy: "15.1", r: "5" }),
2528
- /* @__PURE__ */ import_react29.default.createElement("circle", { cx: "44", cy: "21.1", r: "5" }),
2529
- /* @__PURE__ */ import_react29.default.createElement(
2530
- "path",
2531
- {
2532
- style: { transition: "all 0.2s" },
2533
- className: "paren",
2534
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
2535
- }
2536
- ),
2537
- /* @__PURE__ */ import_react29.default.createElement(
2538
- "path",
2539
- {
2540
- style: { transition: "all 0.2s" },
2541
- className: "paren",
2542
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
2543
- }
2544
- )
2545
- ),
2546
- value && /* @__PURE__ */ import_react29.default.createElement(
2547
- "svg",
2548
- {
2549
- style: {
2550
- width: "50px",
2551
- height: "30px",
2552
- marginTop: "-3px",
2553
- flexShrink: 0
2554
- },
2555
- xmlns: "http://www.w3.org/2000/svg",
2556
- viewBox: "0 0 68 36"
2557
- },
2558
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "50.85", y1: "29.79", x2: "17.15", y2: "6.21" }),
2559
- /* @__PURE__ */ import_react29.default.createElement("line", { x1: "17.15", y1: "29.79", x2: "50.85", y2: "6.21" }),
2560
- /* @__PURE__ */ import_react29.default.createElement(
2561
- "path",
2562
- {
2563
- style: { transition: "all 0.2s" },
2564
- className: "paren",
2565
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
2566
- }
2567
- ),
2568
- /* @__PURE__ */ import_react29.default.createElement(
2569
- "path",
2570
- {
2571
- style: { transition: "all 0.2s" },
2572
- className: "paren",
2573
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
2574
- }
2575
- )
2576
- )
2577
- );
2787
+ var import_react34 = __toESM(require("react"));
2788
+ var Settings = (props) => {
2789
+ return /* @__PURE__ */ import_react34.default.createElement(header_icon_default, __spreadValues({ label: "Toggle Settings" }, props), /* @__PURE__ */ import_react34.default.createElement("line", { x1: "24", y1: "2.1", x2: "24", y2: "6.1" }), /* @__PURE__ */ import_react34.default.createElement("line", { x1: "24", y1: "24.1", x2: "24", y2: "33.9" }), /* @__PURE__ */ import_react34.default.createElement("line", { x1: "44", y1: "2.1", x2: "44", y2: "12.1" }), /* @__PURE__ */ import_react34.default.createElement("line", { x1: "44", y1: "30.1", x2: "44", y2: "33.9" }), /* @__PURE__ */ import_react34.default.createElement("circle", { cx: "24", cy: "15.1", r: "5" }), /* @__PURE__ */ import_react34.default.createElement("circle", { cx: "44", cy: "21.1", r: "5" }));
2578
2790
  };
2579
2791
  var settings_default = Settings;
2580
2792
 
@@ -2601,18 +2813,18 @@ var Layout = ({
2601
2813
  }) => {
2602
2814
  let content = children;
2603
2815
  if (fade2) {
2604
- content = /* @__PURE__ */ import_react30.default.createElement(fade_in_default, { duration: 250 }, content);
2816
+ content = /* @__PURE__ */ import_react35.default.createElement(fade_in_default, { duration: 250 }, content);
2605
2817
  }
2606
2818
  if (container) {
2607
- content = /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Box, { sx: { mb: [8, 8, 9, 10] } }, /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Container, null, content));
2819
+ content = /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Box, { sx: { mb: [8, 8, 9, 10] } }, /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Container, null, content));
2608
2820
  }
2609
- const { theme } = (0, import_theme_ui26.useThemeUI)();
2821
+ const { theme } = (0, import_theme_ui28.useThemeUI)();
2610
2822
  const hideOnPrint = printable ? {
2611
2823
  "@media print": {
2612
2824
  display: "none"
2613
2825
  }
2614
2826
  } : {};
2615
- (0, import_react30.useEffect)(() => {
2827
+ (0, import_react35.useEffect)(() => {
2616
2828
  var _a;
2617
2829
  if (!theme) return;
2618
2830
  const handler = (e) => {
@@ -2629,7 +2841,7 @@ var Layout = ({
2629
2841
  };
2630
2842
  }, [theme == null ? void 0 : theme.breakpoints, settings == null ? void 0 : settings.value, settings == null ? void 0 : settings.onClick]);
2631
2843
  const menuItems = [
2632
- /* @__PURE__ */ import_react30.default.createElement(
2844
+ /* @__PURE__ */ import_react35.default.createElement(
2633
2845
  dimmer_default,
2634
2846
  {
2635
2847
  key: "dimmer",
@@ -2648,7 +2860,7 @@ var Layout = ({
2648
2860
  ];
2649
2861
  if (settings) {
2650
2862
  menuItems.push(
2651
- /* @__PURE__ */ import_react30.default.createElement(
2863
+ /* @__PURE__ */ import_react35.default.createElement(
2652
2864
  settings_default,
2653
2865
  __spreadValues({
2654
2866
  key: "settings",
@@ -2657,16 +2869,16 @@ var Layout = ({
2657
2869
  )
2658
2870
  );
2659
2871
  }
2660
- return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, guide && /* @__PURE__ */ import_react30.default.createElement(guide_default, { color: typeof guide === "string" ? guide : void 0 }), scrollbar && /* @__PURE__ */ import_react30.default.createElement(scrollbar_default, null), /* @__PURE__ */ import_react30.default.createElement(meta_default, { card, description, title, url }), /* @__PURE__ */ import_react30.default.createElement(
2661
- import_theme_ui26.Flex,
2872
+ return /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, guide && /* @__PURE__ */ import_react35.default.createElement(guide_default, { color: typeof guide === "string" ? guide : void 0 }), scrollbar && /* @__PURE__ */ import_react35.default.createElement(scrollbar_default, null), /* @__PURE__ */ import_react35.default.createElement(meta_default, { card, description, title, url }), /* @__PURE__ */ import_react35.default.createElement(
2873
+ import_theme_ui28.Flex,
2662
2874
  {
2663
2875
  sx: {
2664
2876
  flexDirection: "column",
2665
2877
  minHeight: "100vh"
2666
2878
  }
2667
2879
  },
2668
- header && /* @__PURE__ */ import_react30.default.createElement(
2669
- import_theme_ui26.Box,
2880
+ header && /* @__PURE__ */ import_react35.default.createElement(
2881
+ import_theme_ui28.Box,
2670
2882
  {
2671
2883
  as: "header",
2672
2884
  sx: __spreadValues({
@@ -2682,7 +2894,7 @@ var Layout = ({
2682
2894
  zIndex: 2e3
2683
2895
  }, hideOnPrint)
2684
2896
  },
2685
- /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Container, null, /* @__PURE__ */ import_react30.default.createElement(
2897
+ /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Container, null, /* @__PURE__ */ import_react35.default.createElement(
2686
2898
  header_default,
2687
2899
  {
2688
2900
  mode: links2,
@@ -2692,8 +2904,8 @@ var Layout = ({
2692
2904
  }
2693
2905
  ))
2694
2906
  ),
2695
- /* @__PURE__ */ import_react30.default.createElement(
2696
- import_theme_ui26.Box,
2907
+ /* @__PURE__ */ import_react35.default.createElement(
2908
+ import_theme_ui28.Box,
2697
2909
  {
2698
2910
  sx: {
2699
2911
  width: "100%",
@@ -2702,8 +2914,8 @@ var Layout = ({
2702
2914
  },
2703
2915
  content
2704
2916
  ),
2705
- footer && /* @__PURE__ */ import_react30.default.createElement(
2706
- import_theme_ui26.Box,
2917
+ footer && /* @__PURE__ */ import_react35.default.createElement(
2918
+ import_theme_ui28.Box,
2707
2919
  {
2708
2920
  as: "footer",
2709
2921
  sx: __spreadValues({
@@ -2714,10 +2926,10 @@ var Layout = ({
2714
2926
  borderTopWidth: "1px"
2715
2927
  }, hideOnPrint)
2716
2928
  },
2717
- /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Container, null, /* @__PURE__ */ import_react30.default.createElement(footer_default, null))
2929
+ /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Container, null, /* @__PURE__ */ import_react35.default.createElement(footer_default, null))
2718
2930
  ),
2719
- dimmer === "bottom" && /* @__PURE__ */ import_react30.default.createElement(
2720
- import_theme_ui26.Box,
2931
+ dimmer === "bottom" && /* @__PURE__ */ import_react35.default.createElement(
2932
+ import_theme_ui28.Box,
2721
2933
  {
2722
2934
  sx: {
2723
2935
  display: ["none", "none", "initial", "initial"],
@@ -2726,24 +2938,24 @@ var Layout = ({
2726
2938
  bottom: [17, 17, 15, 15]
2727
2939
  }
2728
2940
  },
2729
- /* @__PURE__ */ import_react30.default.createElement(dimmer_default, null)
2941
+ /* @__PURE__ */ import_react35.default.createElement(dimmer_default, null)
2730
2942
  ),
2731
- metadata && /* @__PURE__ */ import_react30.default.createElement(metadata_default, { mode: typeof metadata === "string" ? metadata : "mouse" })
2943
+ metadata && /* @__PURE__ */ import_react35.default.createElement(metadata_default, { mode: typeof metadata === "string" ? metadata : "mouse" })
2732
2944
  ));
2733
2945
  };
2734
2946
  var layout_default = Layout;
2735
2947
 
2736
2948
  // src/custom-404.tsx
2737
2949
  var Custom404 = () => {
2738
- return /* @__PURE__ */ import_react31.default.createElement(
2950
+ return /* @__PURE__ */ import_react36.default.createElement(
2739
2951
  layout_default,
2740
2952
  {
2741
2953
  footer: false,
2742
2954
  title: "404 \u2013 CarbonPlan",
2743
2955
  description: "Sorry but we can't seem to find the page you are looking for."
2744
2956
  },
2745
- /* @__PURE__ */ import_react31.default.createElement(row_default, { sx: { mb: [5, 0, 0], pt: [0, 0, 6] } }, /* @__PURE__ */ import_react31.default.createElement(column_default, { start: [1, 1, 3, 3], width: [6, 4, 4, 4] }, /* @__PURE__ */ import_react31.default.createElement(import_theme_ui27.Box, { as: "h1", variant: "styles.h1" }, "Oops!"), /* @__PURE__ */ import_react31.default.createElement(
2746
- import_theme_ui27.Box,
2957
+ /* @__PURE__ */ import_react36.default.createElement(row_default, { sx: { mb: [5, 0, 0], pt: [0, 0, 6] } }, /* @__PURE__ */ import_react36.default.createElement(column_default, { start: [1, 1, 3, 3], width: [6, 4, 4, 4] }, /* @__PURE__ */ import_react36.default.createElement(import_theme_ui29.Box, { as: "h1", variant: "styles.h1" }, "Oops!"), /* @__PURE__ */ import_react36.default.createElement(
2958
+ import_theme_ui29.Box,
2747
2959
  {
2748
2960
  sx: {
2749
2961
  fontSize: [4, 4, 4, 5],
@@ -2754,8 +2966,8 @@ var Custom404 = () => {
2754
2966
  }
2755
2967
  },
2756
2968
  "Sorry but we can't seem to find the page you are looking for."
2757
- ), /* @__PURE__ */ import_react31.default.createElement(
2758
- import_theme_ui27.Box,
2969
+ ), /* @__PURE__ */ import_react36.default.createElement(
2970
+ import_theme_ui29.Box,
2759
2971
  {
2760
2972
  sx: {
2761
2973
  color: "secondary",
@@ -2766,8 +2978,8 @@ var Custom404 = () => {
2766
2978
  }
2767
2979
  },
2768
2980
  "ERROR CODE 404"
2769
- )), /* @__PURE__ */ import_react31.default.createElement(column_default, { start: [2, 5, 7, 7], width: [4, 4, 4, 4] }, /* @__PURE__ */ import_react31.default.createElement(
2770
- import_theme_ui27.Box,
2981
+ )), /* @__PURE__ */ import_react36.default.createElement(column_default, { start: [2, 5, 7, 7], width: [4, 4, 4, 4] }, /* @__PURE__ */ import_react36.default.createElement(
2982
+ import_theme_ui29.Box,
2771
2983
  {
2772
2984
  sx: {
2773
2985
  width: ["100%"],
@@ -2775,18 +2987,18 @@ var Custom404 = () => {
2775
2987
  fill: "primary"
2776
2988
  }
2777
2989
  },
2778
- /* @__PURE__ */ import_react31.default.createElement(import_emoji.PoopSad, { sx: { width: "100%", height: "auto" } })
2990
+ /* @__PURE__ */ import_react36.default.createElement(import_emoji.PoopSad, { sx: { width: "100%", height: "auto" } })
2779
2991
  )))
2780
2992
  );
2781
2993
  };
2782
2994
  var custom_404_default = Custom404;
2783
2995
 
2784
2996
  // src/expander.tsx
2785
- var import_react32 = __toESM(require("react"));
2786
- var import_theme_ui28 = require("theme-ui");
2787
- var Expander = ({ value, id, onClick, sx: sx3 }) => {
2788
- return /* @__PURE__ */ import_react32.default.createElement(
2789
- import_theme_ui28.IconButton,
2997
+ var import_react37 = __toESM(require("react"));
2998
+ var import_theme_ui30 = require("theme-ui");
2999
+ var Expander = ({ value, id, onClick, sx: sx4 }) => {
3000
+ return /* @__PURE__ */ import_react37.default.createElement(
3001
+ import_theme_ui30.IconButton,
2790
3002
  {
2791
3003
  onClick,
2792
3004
  id,
@@ -2807,9 +3019,9 @@ var Expander = ({ value, id, onClick, sx: sx3 }) => {
2807
3019
  stroke: "primary"
2808
3020
  }
2809
3021
  }
2810
- }, sx3)
3022
+ }, sx4)
2811
3023
  },
2812
- /* @__PURE__ */ import_react32.default.createElement("svg", { viewBox: "0 0 16 16" }, /* @__PURE__ */ import_react32.default.createElement(
3024
+ /* @__PURE__ */ import_react37.default.createElement("svg", { viewBox: "0 0 16 16" }, /* @__PURE__ */ import_react37.default.createElement(
2813
3025
  "path",
2814
3026
  {
2815
3027
  d: "M8,0 V16 M0,8 H16",
@@ -2826,22 +3038,22 @@ var Expander = ({ value, id, onClick, sx: sx3 }) => {
2826
3038
  var expander_default = Expander;
2827
3039
 
2828
3040
  // src/figure.tsx
2829
- var import_react33 = __toESM(require("react"));
2830
- var import_theme_ui29 = require("theme-ui");
2831
- var Figure = ({ as = "figure", children, sx: sx3 }) => {
2832
- const childrenArray = import_react33.default.Children.toArray(children);
3041
+ var import_react38 = __toESM(require("react"));
3042
+ var import_theme_ui31 = require("theme-ui");
3043
+ var Figure = ({ as = "figure", children, sx: sx4 }) => {
3044
+ const childrenArray = import_react38.default.Children.toArray(children);
2833
3045
  const captionElement = childrenArray.find((child) => {
2834
- if (!import_react33.default.isValidElement(child)) return false;
3046
+ if (!import_react38.default.isValidElement(child)) return false;
2835
3047
  const type = child.type;
2836
3048
  return typeof type !== "string" && "displayName" in type && (type.displayName === "FigureCaption" || type.displayName === "TableCaption");
2837
3049
  });
2838
- const captionProps = import_react33.default.isValidElement(captionElement) ? captionElement.props : void 0;
2839
- const captionType = import_react33.default.isValidElement(captionElement) ? captionElement.type : void 0;
3050
+ const captionProps = import_react38.default.isValidElement(captionElement) ? captionElement.props : void 0;
3051
+ const captionType = import_react38.default.isValidElement(captionElement) ? captionElement.type : void 0;
2840
3052
  const elementNumber = captionProps == null ? void 0 : captionProps.number;
2841
3053
  const elementType = typeof captionType !== "string" && captionType && "displayName" in captionType && captionType.displayName === "TableCaption" ? "table" : "figure";
2842
3054
  const id = elementNumber ? `${elementType}-${elementNumber}` : void 0;
2843
- return /* @__PURE__ */ import_react33.default.createElement(
2844
- import_theme_ui29.Box,
3055
+ return /* @__PURE__ */ import_react38.default.createElement(
3056
+ import_theme_ui31.Box,
2845
3057
  {
2846
3058
  as,
2847
3059
  id,
@@ -2852,38 +3064,38 @@ var Figure = ({ as = "figure", children, sx: sx3 }) => {
2852
3064
  "@media print": {
2853
3065
  breakInside: "avoid"
2854
3066
  }
2855
- }, sx3)
3067
+ }, sx4)
2856
3068
  },
2857
- /* @__PURE__ */ import_react33.default.createElement(group_default, { spacing: [4, 4, 4, 5] }, children)
3069
+ /* @__PURE__ */ import_react38.default.createElement(group_default, { spacing: [4, 4, 4, 5] }, children)
2858
3070
  );
2859
3071
  };
2860
3072
  var figure_default = Figure;
2861
3073
 
2862
3074
  // src/figure-caption.tsx
2863
- var import_react34 = __toESM(require("react"));
3075
+ var import_react39 = __toESM(require("react"));
2864
3076
  var FigureCaption = ({
2865
3077
  as = "figcaption",
2866
3078
  number,
2867
3079
  children
2868
3080
  }) => {
2869
- return /* @__PURE__ */ import_react34.default.createElement(caption_default, { as, number, label: "figure" }, children);
3081
+ return /* @__PURE__ */ import_react39.default.createElement(caption_default, { as, number, label: "figure" }, children);
2870
3082
  };
2871
3083
  FigureCaption.displayName = "FigureCaption";
2872
3084
  var figure_caption_default = FigureCaption;
2873
3085
 
2874
3086
  // src/filter.tsx
2875
- var import_react36 = __toESM(require("react"));
2876
- var import_theme_ui31 = require("theme-ui");
3087
+ var import_react41 = __toESM(require("react"));
3088
+ var import_theme_ui33 = require("theme-ui");
2877
3089
 
2878
3090
  // src/tag.tsx
2879
- var import_react35 = __toESM(require("react"));
2880
- var import_theme_ui30 = require("theme-ui");
3091
+ var import_react40 = __toESM(require("react"));
3092
+ var import_theme_ui32 = require("theme-ui");
2881
3093
  var Tag = (_a) => {
2882
- var _b = _a, { label, value, sx: sx3, children } = _b, props = __objRest(_b, ["label", "value", "sx", "children"]);
2883
- const color = get_sx_color_default(sx3);
3094
+ var _b = _a, { label, value, sx: sx4, children } = _b, props = __objRest(_b, ["label", "value", "sx", "children"]);
3095
+ const color = get_sx_color_default(sx4);
2884
3096
  const isClickable = props && (props.onClick || props.onDoubleClick);
2885
- return /* @__PURE__ */ import_react35.default.createElement(
2886
- import_theme_ui30.Box,
3097
+ return /* @__PURE__ */ import_react40.default.createElement(
3098
+ import_theme_ui32.Box,
2887
3099
  __spreadValues({
2888
3100
  as: isClickable ? "button" : "span",
2889
3101
  role: "checkbox",
@@ -2910,7 +3122,7 @@ var Tag = (_a) => {
2910
3122
  px: [0],
2911
3123
  m: [0],
2912
3124
  opacity: value == null || value ? 1 : color === "primary" ? 0.24 : 0.33
2913
- }, sx3)
3125
+ }, sx4)
2914
3126
  }, props),
2915
3127
  children
2916
3128
  );
@@ -2918,7 +3130,7 @@ var Tag = (_a) => {
2918
3130
  var tag_default = Tag;
2919
3131
 
2920
3132
  // src/filter.tsx
2921
- var sx2 = {
3133
+ var sx3 = {
2922
3134
  label: {
2923
3135
  fontFamily: "mono",
2924
3136
  letterSpacing: "mono",
@@ -2983,14 +3195,14 @@ var Filter = (_a) => {
2983
3195
  "showAll",
2984
3196
  "multiSelect"
2985
3197
  ]);
2986
- const keys = (0, import_react36.useMemo)(() => {
3198
+ const keys = (0, import_react41.useMemo)(() => {
2987
3199
  if (order) {
2988
3200
  return order;
2989
3201
  } else {
2990
3202
  return Object.keys(values);
2991
3203
  }
2992
3204
  }, [order, ...Object.keys(values).sort()]);
2993
- return /* @__PURE__ */ import_react36.default.createElement(import_theme_ui31.Box, __spreadValues({}, props), label && /* @__PURE__ */ import_react36.default.createElement(import_theme_ui31.Box, { sx: sx2.label }, label), /* @__PURE__ */ import_react36.default.createElement(import_theme_ui31.Box, { sx: { mt: label ? [3] : 0 } }, showAll && /* @__PURE__ */ import_react36.default.createElement(
3205
+ return /* @__PURE__ */ import_react41.default.createElement(import_theme_ui33.Box, __spreadValues({}, props), label && /* @__PURE__ */ import_react41.default.createElement(import_theme_ui33.Box, { sx: sx3.label }, label), /* @__PURE__ */ import_react41.default.createElement(import_theme_ui33.Box, { sx: { mt: label ? [3] : 0 } }, showAll && /* @__PURE__ */ import_react41.default.createElement(
2994
3206
  tag_default,
2995
3207
  {
2996
3208
  label: "all",
@@ -3004,7 +3216,7 @@ var Filter = (_a) => {
3004
3216
  sx: { mr: [2] }
3005
3217
  },
3006
3218
  "All"
3007
- ), keys.map((d, i) => /* @__PURE__ */ import_react36.default.createElement(
3219
+ ), keys.map((d, i) => /* @__PURE__ */ import_react41.default.createElement(
3008
3220
  tag_default,
3009
3221
  {
3010
3222
  label: String(d),
@@ -3035,18 +3247,18 @@ var Filter = (_a) => {
3035
3247
  var filter_default = Filter;
3036
3248
 
3037
3249
  // src/heading.tsx
3038
- var import_react38 = __toESM(require("react"));
3039
- var import_theme_ui33 = require("theme-ui");
3250
+ var import_react43 = __toESM(require("react"));
3251
+ var import_theme_ui35 = require("theme-ui");
3040
3252
 
3041
3253
  // src/sidenote.tsx
3042
- var import_react37 = __toESM(require("react"));
3043
- var import_theme_ui32 = require("theme-ui");
3254
+ var import_react42 = __toESM(require("react"));
3255
+ var import_theme_ui34 = require("theme-ui");
3044
3256
  var Sidenote = ({ children, variant = "h1" }) => {
3045
3257
  let mt;
3046
3258
  if (variant === "h1") mt = [4, "27px", "42px", "54px"];
3047
3259
  if (variant === "h2") mt = [4, 4, "14px", "25px"];
3048
- return /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, /* @__PURE__ */ import_react37.default.createElement(column_default, { start: [1, 4, 8, 8], width: [1, 1, 1, 1] }, /* @__PURE__ */ import_react37.default.createElement(
3049
- import_theme_ui32.Box,
3260
+ return /* @__PURE__ */ import_react42.default.createElement(import_react42.default.Fragment, null, /* @__PURE__ */ import_react42.default.createElement(column_default, { start: [1, 4, 8, 8], width: [1, 1, 1, 1] }, /* @__PURE__ */ import_react42.default.createElement(
3261
+ import_theme_ui34.Box,
3050
3262
  {
3051
3263
  sx: {
3052
3264
  mt,
@@ -3057,8 +3269,8 @@ var Sidenote = ({ children, variant = "h1" }) => {
3057
3269
  }
3058
3270
  },
3059
3271
  "/"
3060
- )), /* @__PURE__ */ import_react37.default.createElement(column_default, { start: [2, 5, 9, 9], width: [3, 3, 2, 2] }, /* @__PURE__ */ import_react37.default.createElement(
3061
- import_theme_ui32.Box,
3272
+ )), /* @__PURE__ */ import_react42.default.createElement(column_default, { start: [2, 5, 9, 9], width: [3, 3, 2, 2] }, /* @__PURE__ */ import_react42.default.createElement(
3273
+ import_theme_ui34.Box,
3062
3274
  {
3063
3275
  sx: {
3064
3276
  mt,
@@ -3081,7 +3293,7 @@ var Heading = ({
3081
3293
  description,
3082
3294
  descriptionStart = [1, 3, 5, 5],
3083
3295
  descriptionWidth = [5, 5, 5, 4],
3084
- sx: sx3
3296
+ sx: sx4
3085
3297
  }) => {
3086
3298
  let titleWidth = [6, 6, 6, 6];
3087
3299
  if (description) {
@@ -3092,8 +3304,8 @@ var Heading = ({
3092
3304
  if (!["h1", "h2"].includes(variant)) {
3093
3305
  throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`);
3094
3306
  }
3095
- return /* @__PURE__ */ import_react38.default.createElement(row_default, { sx: __spreadValues({ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8] }, sx3) }, /* @__PURE__ */ import_react38.default.createElement(column_default, { start: [1, 1, 2, 2], width: titleWidth }, variant === "h1" && /* @__PURE__ */ import_react38.default.createElement(import_theme_ui33.Box, { as: "h1", variant: "styles.h1", sx: { my: [0, 0, 0, 0] } }, children), variant === "h2" && /* @__PURE__ */ import_react38.default.createElement(import_theme_ui33.Box, { as: "h2", variant: "styles.h2", sx: { my: [0, 0, 0, 0] } }, children)), sidenote && /* @__PURE__ */ import_react38.default.createElement(sidenote_default, { variant }, sidenote), description && /* @__PURE__ */ import_react38.default.createElement(column_default, { start: descriptionStart, width: descriptionWidth }, /* @__PURE__ */ import_react38.default.createElement(
3096
- import_theme_ui33.Box,
3307
+ return /* @__PURE__ */ import_react43.default.createElement(row_default, { sx: __spreadValues({ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8] }, sx4) }, /* @__PURE__ */ import_react43.default.createElement(column_default, { start: [1, 1, 2, 2], width: titleWidth }, variant === "h1" && /* @__PURE__ */ import_react43.default.createElement(import_theme_ui35.Box, { as: "h1", variant: "styles.h1", sx: { my: [0, 0, 0, 0] } }, children), variant === "h2" && /* @__PURE__ */ import_react43.default.createElement(import_theme_ui35.Box, { as: "h2", variant: "styles.h2", sx: { my: [0, 0, 0, 0] } }, children)), sidenote && /* @__PURE__ */ import_react43.default.createElement(sidenote_default, { variant }, sidenote), description && /* @__PURE__ */ import_react43.default.createElement(column_default, { start: descriptionStart, width: descriptionWidth }, /* @__PURE__ */ import_react43.default.createElement(
3308
+ import_theme_ui35.Box,
3097
3309
  {
3098
3310
  sx: {
3099
3311
  mt: [4, "5px", "20px", "31px"],
@@ -3105,47 +3317,10 @@ var Heading = ({
3105
3317
  };
3106
3318
  var heading_default = Heading;
3107
3319
 
3108
- // src/input.tsx
3109
- var import_react39 = __toESM(require("react"));
3110
- var import_theme_ui34 = require("theme-ui");
3111
- var Input = (_a, ref) => {
3112
- var _b = _a, { size = "sm", inverted, sx: sx3 } = _b, props = __objRest(_b, ["size", "inverted", "sx"]);
3113
- const defaultColor = inverted ? "secondary" : "primary";
3114
- const styles3 = __spreadValues(__spreadValues({
3115
- color: defaultColor,
3116
- borderColor: "secondary",
3117
- borderStyle: "solid",
3118
- borderWidth: "0px",
3119
- borderBottomWidth: "1px",
3120
- borderRadius: "0px",
3121
- transition: "border 0.15s",
3122
- width: "calc(min(15ch, 100%))",
3123
- p: [0],
3124
- py: ["2px"],
3125
- "input::-webkit-outer-spin-button": {
3126
- WebkitAppearance: "none",
3127
- margin: 0
3128
- },
3129
- "input::-webkit-inner-spin-button": {
3130
- WebkitAppearance: "none",
3131
- margin: 0
3132
- },
3133
- ":focus": {
3134
- borderColor: "primary"
3135
- },
3136
- ":focus-visible": {
3137
- outline: "none !important",
3138
- background: "none !important"
3139
- }
3140
- }, get_size_styles_default(size)), sx3);
3141
- return /* @__PURE__ */ import_react39.default.createElement(import_theme_ui34.Input, __spreadProps(__spreadValues({}, props), { ref, sx: styles3 }));
3142
- };
3143
- var input_default = (0, import_react39.forwardRef)(Input);
3144
-
3145
3320
  // src/link-group.tsx
3146
- var import_react40 = __toESM(require("react"));
3147
- var import_theme_ui35 = require("theme-ui");
3148
- var import_icons4 = require("@carbonplan/icons");
3321
+ var import_react44 = __toESM(require("react"));
3322
+ var import_theme_ui36 = require("theme-ui");
3323
+ var import_icons6 = require("@carbonplan/icons");
3149
3324
  var LinkGroup = ({
3150
3325
  members,
3151
3326
  color,
@@ -3154,20 +3329,20 @@ var LinkGroup = ({
3154
3329
  rowGap = [2, 2, 2, 3],
3155
3330
  columnGap = [3, 3, 3, 4],
3156
3331
  direction = "horizontal",
3157
- sx: sx3
3332
+ sx: sx4
3158
3333
  }) => {
3159
- return /* @__PURE__ */ import_react40.default.createElement(
3160
- import_theme_ui35.Flex,
3334
+ return /* @__PURE__ */ import_react44.default.createElement(
3335
+ import_theme_ui36.Flex,
3161
3336
  {
3162
3337
  sx: __spreadValues({
3163
3338
  flexDirection: direction === "horizontal" ? "row" : "column",
3164
3339
  rowGap,
3165
3340
  columnGap,
3166
3341
  flexWrap: "wrap"
3167
- }, sx3)
3342
+ }, sx4)
3168
3343
  },
3169
3344
  members.map((d, i) => {
3170
- return /* @__PURE__ */ import_react40.default.createElement(
3345
+ return /* @__PURE__ */ import_react44.default.createElement(
3171
3346
  button_default,
3172
3347
  {
3173
3348
  key: i,
@@ -3175,7 +3350,7 @@ var LinkGroup = ({
3175
3350
  size,
3176
3351
  sx: { color },
3177
3352
  inverted,
3178
- suffix: /* @__PURE__ */ import_react40.default.createElement(import_icons4.RotatingArrow, null)
3353
+ suffix: /* @__PURE__ */ import_react44.default.createElement(import_icons6.RotatingArrow, null)
3179
3354
  },
3180
3355
  d.label
3181
3356
  );
@@ -3185,14 +3360,14 @@ var LinkGroup = ({
3185
3360
  var link_group_default = LinkGroup;
3186
3361
 
3187
3362
  // src/select.tsx
3188
- var import_react41 = __toESM(require("react"));
3189
- var import_theme_ui36 = require("theme-ui");
3190
- var import_icons5 = require("@carbonplan/icons");
3363
+ var import_react45 = __toESM(require("react"));
3364
+ var import_theme_ui37 = require("theme-ui");
3365
+ var import_icons7 = require("@carbonplan/icons");
3191
3366
  var Select = (_a) => {
3192
3367
  var _b = _a, {
3193
3368
  children,
3194
3369
  size = "sm",
3195
- sx: sx3,
3370
+ sx: sx4,
3196
3371
  sxSelect,
3197
3372
  onChange
3198
3373
  } = _b, props = __objRest(_b, [
@@ -3202,9 +3377,9 @@ var Select = (_a) => {
3202
3377
  "sxSelect",
3203
3378
  "onChange"
3204
3379
  ]);
3205
- const color = get_sx_color_default(sx3);
3380
+ const color = get_sx_color_default(sx4);
3206
3381
  const sizeStyles = get_size_styles_default(size);
3207
- const ref = (0, import_react41.useRef)(null);
3382
+ const ref = (0, import_react45.useRef)(null);
3208
3383
  if (!["xs", "sm", "md"].includes(size)) {
3209
3384
  throw new Error("Size must be xs, sm, or md");
3210
3385
  }
@@ -3230,15 +3405,15 @@ var Select = (_a) => {
3230
3405
  };
3231
3406
  const { height, width, top, ml } = sizeConfig[size];
3232
3407
  const pr = width.map((d) => d + 12);
3233
- return /* @__PURE__ */ import_react41.default.createElement(
3234
- import_theme_ui36.Box,
3408
+ return /* @__PURE__ */ import_react45.default.createElement(
3409
+ import_theme_ui37.Box,
3235
3410
  {
3236
3411
  sx: __spreadValues({
3237
3412
  display: "inline-block"
3238
- }, sx3)
3413
+ }, sx4)
3239
3414
  },
3240
- /* @__PURE__ */ import_react41.default.createElement(
3241
- import_theme_ui36.Box,
3415
+ /* @__PURE__ */ import_react45.default.createElement(
3416
+ import_theme_ui37.Box,
3242
3417
  __spreadValues({
3243
3418
  as: "select",
3244
3419
  ref,
@@ -3274,8 +3449,8 @@ var Select = (_a) => {
3274
3449
  }, props),
3275
3450
  children
3276
3451
  ),
3277
- /* @__PURE__ */ import_react41.default.createElement(
3278
- import_icons5.Arrow,
3452
+ /* @__PURE__ */ import_react45.default.createElement(
3453
+ import_icons7.Arrow,
3279
3454
  {
3280
3455
  sx: {
3281
3456
  width,
@@ -3294,16 +3469,16 @@ var Select = (_a) => {
3294
3469
  var select_default = Select;
3295
3470
 
3296
3471
  // src/slider.tsx
3297
- var import_react42 = __toESM(require("react"));
3298
- var import_theme_ui37 = require("theme-ui");
3472
+ var import_react46 = __toESM(require("react"));
3473
+ var import_theme_ui38 = require("theme-ui");
3299
3474
  var Slider = (_a, ref) => {
3300
- var _b = _a, { sx: sx3 } = _b, props = __objRest(_b, ["sx"]);
3301
- const color = get_sx_color_default(sx3);
3475
+ var _b = _a, { sx: sx4 } = _b, props = __objRest(_b, ["sx"]);
3476
+ const color = get_sx_color_default(sx4);
3302
3477
  const {
3303
3478
  theme: { rawColors: colors }
3304
- } = (0, import_theme_ui37.useThemeUI)();
3305
- return /* @__PURE__ */ import_react42.default.createElement(
3306
- import_theme_ui37.Slider,
3479
+ } = (0, import_theme_ui38.useThemeUI)();
3480
+ return /* @__PURE__ */ import_react46.default.createElement(
3481
+ import_theme_ui38.Slider,
3307
3482
  __spreadValues({
3308
3483
  ref,
3309
3484
  sx: __spreadValues({
@@ -3333,15 +3508,15 @@ var Slider = (_a, ref) => {
3333
3508
  }
3334
3509
  },
3335
3510
  color
3336
- }, sx3)
3511
+ }, sx4)
3337
3512
  }, props)
3338
3513
  );
3339
3514
  };
3340
- var slider_default = (0, import_react42.forwardRef)(Slider);
3515
+ var slider_default = (0, import_react46.forwardRef)(Slider);
3341
3516
 
3342
3517
  // src/table.tsx
3343
- var import_react43 = __toESM(require("react"));
3344
- var import_theme_ui38 = require("theme-ui");
3518
+ var import_react47 = __toESM(require("react"));
3519
+ var import_theme_ui39 = require("theme-ui");
3345
3520
  var styles2 = {
3346
3521
  reset: {
3347
3522
  verticalAlign: "baseline",
@@ -3384,7 +3559,7 @@ var styles2 = {
3384
3559
  };
3385
3560
  var Table = ({
3386
3561
  data,
3387
- sx: sx3,
3562
+ sx: sx4,
3388
3563
  color,
3389
3564
  header,
3390
3565
  columns,
@@ -3397,7 +3572,7 @@ var Table = ({
3397
3572
  if (!start || !columns || !width) {
3398
3573
  throw new Error("Must provide columns, start, and width");
3399
3574
  }
3400
- return /* @__PURE__ */ import_react43.default.createElement(import_theme_ui38.Box, { as: "table", sx: __spreadValues({ display: "block" }, sx3) }, /* @__PURE__ */ import_react43.default.createElement(import_theme_ui38.Box, { as: "tbody", sx: { display: "block" } }, header && /* @__PURE__ */ import_react43.default.createElement(
3575
+ return /* @__PURE__ */ import_react47.default.createElement(import_theme_ui39.Box, { as: "table", sx: __spreadValues({ display: "block" }, sx4) }, /* @__PURE__ */ import_react47.default.createElement(import_theme_ui39.Box, { as: "tbody", sx: { display: "block" } }, header && /* @__PURE__ */ import_react47.default.createElement(
3401
3576
  row_default,
3402
3577
  {
3403
3578
  as: "tr",
@@ -3406,9 +3581,9 @@ var Table = ({
3406
3581
  borderTopWidth: !borderTop ? "0px" : "1px"
3407
3582
  })
3408
3583
  },
3409
- /* @__PURE__ */ import_react43.default.createElement(column_default, { as: "td", start: [1], width: columns, sx: styles2.index }, header)
3584
+ /* @__PURE__ */ import_react47.default.createElement(column_default, { as: "td", start: [1], width: columns, sx: styles2.index }, header)
3410
3585
  ), data.map((row, i) => {
3411
- return /* @__PURE__ */ import_react43.default.createElement(
3586
+ return /* @__PURE__ */ import_react47.default.createElement(
3412
3587
  row_default,
3413
3588
  {
3414
3589
  as: "tr",
@@ -3421,7 +3596,7 @@ var Table = ({
3421
3596
  })
3422
3597
  },
3423
3598
  row.map((column, j) => {
3424
- return /* @__PURE__ */ import_react43.default.createElement(
3599
+ return /* @__PURE__ */ import_react47.default.createElement(
3425
3600
  column_default,
3426
3601
  {
3427
3602
  as: "td",
@@ -3439,27 +3614,27 @@ var Table = ({
3439
3614
  var table_default = Table;
3440
3615
 
3441
3616
  // src/table-caption.tsx
3442
- var import_react44 = __toESM(require("react"));
3617
+ var import_react48 = __toESM(require("react"));
3443
3618
  var TableCaption = ({
3444
3619
  as = "figcaption",
3445
3620
  number,
3446
3621
  children
3447
3622
  }) => {
3448
- return /* @__PURE__ */ import_react44.default.createElement(caption_default, { as, number, label: "table" }, children);
3623
+ return /* @__PURE__ */ import_react48.default.createElement(caption_default, { as, number, label: "table" }, children);
3449
3624
  };
3450
3625
  TableCaption.displayName = "TableCaption";
3451
3626
  var table_caption_default = TableCaption;
3452
3627
 
3453
3628
  // src/toggle.tsx
3454
- var import_react45 = __toESM(require("react"));
3455
- var import_theme_ui39 = require("theme-ui");
3629
+ var import_react49 = __toESM(require("react"));
3630
+ var import_theme_ui40 = require("theme-ui");
3456
3631
  var import_color2 = require("@theme-ui/color");
3457
3632
  var Toggle = (_a, ref) => {
3458
- var _b = _a, { value, onClick, disabled, sx: sx3 } = _b, props = __objRest(_b, ["value", "onClick", "disabled", "sx"]);
3459
- const color = get_sx_color_default(sx3);
3633
+ var _b = _a, { value, onClick, disabled, sx: sx4 } = _b, props = __objRest(_b, ["value", "onClick", "disabled", "sx"]);
3634
+ const color = get_sx_color_default(sx4);
3460
3635
  const active = disabled ? false : value;
3461
- return /* @__PURE__ */ import_react45.default.createElement(
3462
- import_theme_ui39.Box,
3636
+ return /* @__PURE__ */ import_react49.default.createElement(
3637
+ import_theme_ui40.Box,
3463
3638
  __spreadValues({
3464
3639
  ref,
3465
3640
  as: "button",
@@ -3474,10 +3649,10 @@ var Toggle = (_a, ref) => {
3474
3649
  p: [0],
3475
3650
  m: [0],
3476
3651
  display: "inline-block"
3477
- }, sx3)
3652
+ }, sx4)
3478
3653
  }, props),
3479
- /* @__PURE__ */ import_react45.default.createElement(
3480
- import_theme_ui39.Box,
3654
+ /* @__PURE__ */ import_react49.default.createElement(
3655
+ import_theme_ui40.Box,
3481
3656
  {
3482
3657
  sx: {
3483
3658
  width: "50px",
@@ -3489,8 +3664,8 @@ var Toggle = (_a, ref) => {
3489
3664
  display: "inline-block"
3490
3665
  }
3491
3666
  },
3492
- /* @__PURE__ */ import_react45.default.createElement(
3493
- import_theme_ui39.Box,
3667
+ /* @__PURE__ */ import_react49.default.createElement(
3668
+ import_theme_ui40.Box,
3494
3669
  {
3495
3670
  sx: {
3496
3671
  width: "14px",
@@ -3507,14 +3682,14 @@ var Toggle = (_a, ref) => {
3507
3682
  )
3508
3683
  );
3509
3684
  };
3510
- var toggle_default = (0, import_react45.forwardRef)(Toggle);
3685
+ var toggle_default = (0, import_react49.forwardRef)(Toggle);
3511
3686
 
3512
3687
  // src/tray.tsx
3513
- var import_react46 = __toESM(require("react"));
3514
- var import_theme_ui40 = require("theme-ui");
3515
- var Tray = ({ expanded, sx: sx3, children }) => {
3516
- return /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement(
3517
- import_theme_ui40.Box,
3688
+ var import_react50 = __toESM(require("react"));
3689
+ var import_theme_ui41 = require("theme-ui");
3690
+ var Tray = ({ expanded, sx: sx4, children }) => {
3691
+ return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(
3692
+ import_theme_ui41.Box,
3518
3693
  {
3519
3694
  sx: {
3520
3695
  position: "fixed",
@@ -3530,8 +3705,8 @@ var Tray = ({ expanded, sx: sx3, children }) => {
3530
3705
  pointerEvents: expanded ? "all" : "none"
3531
3706
  }
3532
3707
  }
3533
- ), /* @__PURE__ */ import_react46.default.createElement(
3534
- import_theme_ui40.Box,
3708
+ ), /* @__PURE__ */ import_react50.default.createElement(
3709
+ import_theme_ui41.Box,
3535
3710
  {
3536
3711
  sx: __spreadValues({
3537
3712
  position: "fixed",
@@ -3551,9 +3726,9 @@ var Tray = ({ expanded, sx: sx3, children }) => {
3551
3726
  pl: [3, 4, 5, 6],
3552
3727
  pr: [3, 4, 5, 6],
3553
3728
  transform: expanded ? "translateY(0)" : "translateY(-100%)"
3554
- }, sx3)
3729
+ }, sx4)
3555
3730
  },
3556
- /* @__PURE__ */ import_react46.default.createElement(row_default, null, /* @__PURE__ */ import_react46.default.createElement(column_default, { start: [1, 1, 1, 1], width: [6, 8, 10, 10] }, children))
3731
+ /* @__PURE__ */ import_react50.default.createElement(row_default, null, /* @__PURE__ */ import_react50.default.createElement(column_default, { start: [1, 1, 1, 1], width: [6, 8, 10, 10] }, children))
3557
3732
  ));
3558
3733
  };
3559
3734
  var tray_default = Tray;
@@ -3589,10 +3764,10 @@ var formatDate = (date, options = defaultOptions) => {
3589
3764
  var format_date_default = formatDate;
3590
3765
 
3591
3766
  // src/utils/use-scrollbar-class.ts
3592
- var import_react47 = require("react");
3767
+ var import_react51 = require("react");
3593
3768
  var useScrollbarClass = () => {
3594
- const [className, setClassName] = (0, import_react47.useState)(null);
3595
- (0, import_react47.useEffect)(() => {
3769
+ const [className, setClassName] = (0, import_react51.useState)(null);
3770
+ (0, import_react51.useEffect)(() => {
3596
3771
  if (document && get_scrollbar_width_default(document) > 0) {
3597
3772
  setClassName("custom-scrollbar");
3598
3773
  }