@carbonplan/components 13.3.0 → 13.4.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dst/index.js 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,311 @@ 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
+ (0, import_react18.useEffect)(() => {
1746
+ const handler = (e) => {
1747
+ if (e.key === "Escape") setExpanded(false);
1748
+ };
1749
+ document.addEventListener("keydown", handler);
1750
+ return () => document.removeEventListener("keydown", handler);
1751
+ }, [setExpanded]);
1752
+ return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, links.map((d, i) => /* @__PURE__ */ import_react18.default.createElement(
1753
+ Nav,
1754
+ {
1755
+ key: i,
1756
+ link: d,
1757
+ mode,
1758
+ nav,
1759
+ first: i === 0,
1760
+ setExpanded
1761
+ }
1762
+ )));
1763
+ };
1764
+ var navigation_menu_default = NavigationMenu;
1765
+
1766
+ // src/header/search.tsx
1767
+ var import_react19 = __toESM(require("react"));
1768
+ var import_icons3 = require("@carbonplan/icons");
1769
+ var Search = (props) => {
1770
+ 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 }));
1771
+ };
1772
+ var search_default = Search;
1773
+
1774
+ // src/header/search-menu.tsx
1775
+ var import_react21 = __toESM(require("react"));
1776
+ var import_theme_ui19 = require("theme-ui");
1777
+ var import_icons4 = require("@carbonplan/icons");
1778
+
1779
+ // src/input.tsx
1780
+ var import_react20 = __toESM(require("react"));
1781
+ var import_theme_ui18 = require("theme-ui");
1782
+ var Input = (_a, ref) => {
1783
+ var _b = _a, { size = "sm", inverted, sx: sx4 } = _b, props = __objRest(_b, ["size", "inverted", "sx"]);
1784
+ const defaultColor = inverted ? "secondary" : "primary";
1785
+ const styles3 = __spreadValues(__spreadValues({
1786
+ color: defaultColor,
1787
+ borderColor: "secondary",
1788
+ borderStyle: "solid",
1789
+ borderWidth: "0px",
1790
+ borderBottomWidth: "1px",
1791
+ borderRadius: "0px",
1792
+ transition: "border 0.15s",
1793
+ width: "calc(min(15ch, 100%))",
1794
+ p: [0],
1795
+ py: ["2px"],
1796
+ "input::-webkit-outer-spin-button": {
1797
+ WebkitAppearance: "none",
1798
+ margin: 0
1799
+ },
1800
+ "input::-webkit-inner-spin-button": {
1801
+ WebkitAppearance: "none",
1802
+ margin: 0
1803
+ },
1804
+ ":focus": {
1805
+ borderColor: "primary"
1806
+ },
1807
+ ":focus-visible": {
1808
+ outline: "none !important",
1809
+ background: "none !important"
1810
+ }
1811
+ }, get_size_styles_default(size)), sx4);
1812
+ return /* @__PURE__ */ import_react20.default.createElement(import_theme_ui18.Input, __spreadProps(__spreadValues({}, props), { ref, sx: styles3 }));
1813
+ };
1814
+ var input_default = (0, import_react20.forwardRef)(Input);
1815
+
1816
+ // src/header/search-menu.tsx
1817
+ var HoverArrow2 = ({ sx: sx4 }) => {
1818
+ return /* @__PURE__ */ import_react21.default.createElement(
1819
+ import_icons4.Arrow,
1820
+ {
1821
+ id: "arrow",
1822
+ sx: __spreadValues({
1823
+ display: "inline-block",
1824
+ position: "absolute",
1825
+ right: ["4px", "-68px", "-80px", "-104px"],
1826
+ top: [void 0, void 0, "46px", "62px"],
1827
+ bottom: ["4px", "4px", void 0, void 0],
1828
+ opacity: 0,
1829
+ transition: "opacity 0.2s ease-out",
1830
+ transform: "rotate(45deg)",
1831
+ width: [24, 36, 48, 56],
1832
+ height: [24, 36, 48, 56]
1833
+ }, sx4)
1834
+ }
1835
+ );
1836
+ };
1837
+ var RESOURCES = [
1838
+ {
1839
+ label: "Carbon accounting",
1840
+ links: []
1841
+ },
1842
+ {
1843
+ label: "Climate impacts",
1844
+ links: []
1845
+ },
1846
+ {
1847
+ label: "Organization",
1848
+ links: []
1849
+ }
1850
+ ];
1851
+ var sx2 = {
1852
+ highlight: {
1853
+ mb: [2, 2, 3, 3],
1854
+ mt: [3, 3, 0, 0],
1855
+ fontSize: [3, 3, 3, 4],
1856
+ fontFamily: "heading",
1857
+ letterSpacing: "smallcaps",
1858
+ textTransform: "uppercase",
1859
+ color: "secondary"
1722
1860
  }
1723
1861
  };
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,
1862
+ var SearchMenu = ({
1863
+ setExpanded
1864
+ }) => {
1865
+ const [value, setValue] = (0, import_react21.useState)("");
1866
+ const [resources, setResources] = (0, import_react21.useState)(RESOURCES);
1867
+ const destination = `/search?query=${value.trim()}`;
1868
+ (0, import_react21.useEffect)(() => {
1869
+ fetch("/resources.json").then((res) => res.json()).then((res) => {
1870
+ if (res.length === 3 && res.every((el) => el.label && Array.isArray(el.links))) {
1871
+ setResources(res);
1872
+ }
1873
+ }).catch(() => {
1874
+ setResources(RESOURCES);
1875
+ });
1876
+ }, []);
1877
+ (0, import_react21.useEffect)(() => {
1878
+ const handler = (e) => {
1879
+ if (e.key === "Escape") setExpanded(false);
1880
+ };
1881
+ document.addEventListener("keydown", handler);
1882
+ return () => document.removeEventListener("keydown", handler);
1883
+ }, [setExpanded]);
1884
+ 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(
1885
+ import_theme_ui19.Flex,
1886
+ {
1887
+ as: "form",
1888
+ onSubmit: (e) => {
1889
+ e.preventDefault();
1890
+ if (value.trim()) {
1891
+ window.location.href = destination;
1892
+ }
1893
+ },
1894
+ sx: {
1895
+ flexDirection: ["column", "column", "row", "row"],
1896
+ gap: [0, 0, 7, 7],
1897
+ mt: ["1px", 0, 2, "29px"],
1898
+ position: "relative",
1899
+ borderStyle: "solid",
1900
+ borderColor: ["secondary", "secondary", "muted", "muted"],
1901
+ borderWidth: "0px",
1902
+ borderBottomWidth: "1px",
1903
+ "@media (hover: hover) and (pointer: fine)": {
1904
+ "&:hover #arrow": {
1905
+ opacity: 1
1906
+ }
1907
+ }
1908
+ }
1909
+ },
1910
+ /* @__PURE__ */ import_react21.default.createElement(
1911
+ import_theme_ui19.Box,
1912
+ __spreadProps(__spreadValues({
1913
+ as: "label"
1914
+ }, { htmlFor: "search" }), {
1915
+ sx: {
1916
+ color: "primary",
1917
+ fontSize: [6, 6, 7, 8],
1918
+ fontFamily: "heading",
1919
+ letterSpacing: "heading",
1920
+ py: [0, 3, 4, 5],
1921
+ textDecoration: "none",
1922
+ display: "block",
1923
+ transition: "color 0.15s"
1924
+ }
1925
+ }),
1926
+ "Search"
1927
+ ),
1928
+ /* @__PURE__ */ import_react21.default.createElement(
1929
+ input_default,
1728
1930
  {
1729
- key: i,
1730
- link: d,
1731
- mode,
1732
- nav,
1733
- first: i === 0,
1734
- setExpanded
1931
+ autoFocus: true,
1932
+ id: "search",
1933
+ size: "xl",
1934
+ value,
1935
+ onChange: (e) => setValue(e.target.value),
1936
+ sx: {
1937
+ borderBottomWidth: 0,
1938
+ fontSize: [4, 6, 7, 8],
1939
+ flexShrink: 0
1940
+ },
1941
+ color: "secondary"
1735
1942
  }
1736
- );
1737
- }));
1943
+ ),
1944
+ /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Link, { href: destination }, /* @__PURE__ */ import_react21.default.createElement(
1945
+ HoverArrow2,
1946
+ {
1947
+ sx: {
1948
+ opacity: value ? 1 : [1, 1, 0, 0],
1949
+ pointerEvents: value ? "all" : "none"
1950
+ }
1951
+ }
1952
+ ))
1953
+ ))), /* @__PURE__ */ import_react21.default.createElement(
1954
+ row_default,
1955
+ {
1956
+ columns: [6, 6, 10, 10],
1957
+ sx: { display: ["none", "grid", "grid", "grid"] }
1958
+ },
1959
+ /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 5, sx: { mt: [2, 2, 8, 8], mb: [1, 1, 4, 5] } }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { as: "h2", variant: "styles.h2", sx: { my: 0 } }, "Popular resources")),
1960
+ /* @__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(
1961
+ button_default,
1962
+ {
1963
+ key: href,
1964
+ href,
1965
+ size: "md",
1966
+ sx: { mb: [1] },
1967
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1968
+ },
1969
+ label
1970
+ ))),
1971
+ /* @__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(
1972
+ button_default,
1973
+ {
1974
+ key: href,
1975
+ href,
1976
+ size: "md",
1977
+ sx: { mb: [1] },
1978
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1979
+ },
1980
+ label
1981
+ ))),
1982
+ /* @__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(
1983
+ button_default,
1984
+ {
1985
+ key: href,
1986
+ href,
1987
+ size: "md",
1988
+ sx: { mb: [1] },
1989
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1990
+ },
1991
+ label
1992
+ )))
1993
+ ), /* @__PURE__ */ import_react21.default.createElement(
1994
+ row_default,
1995
+ {
1996
+ columns: [6, 6, 10, 10],
1997
+ sx: { display: ["grid", "none", "none", "none"] }
1998
+ },
1999
+ /* @__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(
2000
+ button_default,
2001
+ {
2002
+ key: href,
2003
+ href,
2004
+ size: "xs",
2005
+ sx: { mb: [1] },
2006
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2007
+ },
2008
+ label
2009
+ ))),
2010
+ /* @__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(
2011
+ button_default,
2012
+ {
2013
+ key: href,
2014
+ href,
2015
+ size: "xs",
2016
+ sx: { mb: [1] },
2017
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2018
+ },
2019
+ label
2020
+ ))),
2021
+ /* @__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(
2022
+ button_default,
2023
+ {
2024
+ key: href,
2025
+ href,
2026
+ size: "xs",
2027
+ sx: { mb: [1] },
2028
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2029
+ },
2030
+ label
2031
+ )))
2032
+ ));
1738
2033
  };
2034
+ var search_menu_default = SearchMenu;
2035
+
2036
+ // src/header/header.tsx
1739
2037
  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(
2038
+ const [menuExpanded, setMenuExpanded] = (0, import_react22.useState)(false);
2039
+ const [searchExpanded, setSearchExpanded] = (0, import_react22.useState)(false);
2040
+ const expanded = searchExpanded || menuExpanded;
2041
+ return /* @__PURE__ */ import_react22.default.createElement(
1745
2042
  row_default,
1746
2043
  {
1747
2044
  sx: {
@@ -1749,20 +2046,20 @@ var Header = ({ status, mode, nav, menuItems }) => {
1749
2046
  pb: [3]
1750
2047
  }
1751
2048
  },
1752
- /* @__PURE__ */ import_react17.default.createElement(column_default, { start: [1], width: [2] }, /* @__PURE__ */ import_react17.default.createElement(
1753
- import_theme_ui17.Box,
2049
+ /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [1], width: [2] }, /* @__PURE__ */ import_react22.default.createElement(
2050
+ import_theme_ui20.Box,
1754
2051
  {
1755
2052
  sx: { pointerEvents: "all", display: "block", width: "fit-content" }
1756
2053
  },
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,
2054
+ (mode == "homepage" || mode == "local") && /* @__PURE__ */ import_react22.default.createElement(import_link5.default, { href: "/", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react22.default.createElement(
2055
+ import_theme_ui20.Link,
1759
2056
  {
1760
2057
  "aria-label": "CarbonPlan Homepage",
1761
2058
  sx: {
1762
2059
  display: "block"
1763
2060
  }
1764
2061
  },
1765
- /* @__PURE__ */ import_react17.default.createElement(
2062
+ /* @__PURE__ */ import_react22.default.createElement(
1766
2063
  logo_default,
1767
2064
  {
1768
2065
  id: "logo",
@@ -1773,17 +2070,17 @@ var Header = ({ status, mode, nav, menuItems }) => {
1773
2070
  }
1774
2071
  )
1775
2072
  )),
1776
- (mode == null || mode === "remote") && /* @__PURE__ */ import_react17.default.createElement(
1777
- import_theme_ui17.Link,
2073
+ (mode == null || mode == "remote") && /* @__PURE__ */ import_react22.default.createElement(
2074
+ import_theme_ui20.Link,
1778
2075
  {
1779
2076
  href: "https://carbonplan.org",
1780
2077
  "aria-label": "CarbonPlan Homepage",
1781
2078
  sx: { display: "block" }
1782
2079
  },
1783
- /* @__PURE__ */ import_react17.default.createElement(logo_default, { sx: { cursor: "pointer", color: "primary" } })
2080
+ /* @__PURE__ */ import_react22.default.createElement(logo_default, { sx: { cursor: "pointer", color: "primary" } })
1784
2081
  )
1785
2082
  )),
1786
- /* @__PURE__ */ import_react17.default.createElement(
2083
+ /* @__PURE__ */ import_react22.default.createElement(
1787
2084
  column_default,
1788
2085
  {
1789
2086
  start: [4, 9],
@@ -1794,8 +2091,8 @@ var Header = ({ status, mode, nav, menuItems }) => {
1794
2091
  alignItems: "center"
1795
2092
  }
1796
2093
  },
1797
- /* @__PURE__ */ import_react17.default.createElement(
1798
- import_theme_ui17.Box,
2094
+ /* @__PURE__ */ import_react22.default.createElement(
2095
+ import_theme_ui20.Box,
1799
2096
  {
1800
2097
  sx: {
1801
2098
  fontSize: [1, 2, 3],
@@ -1806,15 +2103,15 @@ var Header = ({ status, mode, nav, menuItems }) => {
1806
2103
  status ? `(${status})` : ""
1807
2104
  )
1808
2105
  ),
1809
- /* @__PURE__ */ import_react17.default.createElement(
2106
+ /* @__PURE__ */ import_react22.default.createElement(
1810
2107
  column_default,
1811
2108
  {
1812
2109
  start: [status ? 6 : 4, 6, 11, 11],
1813
2110
  width: [status ? 1 : 3, 3, 2, 2],
1814
2111
  sx: { zIndex: 5e3 }
1815
2112
  },
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,
2113
+ /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Flex, { sx: { pointerEvents: "all", justifyContent: "flex-end" } }, /* @__PURE__ */ import_react22.default.createElement(
2114
+ import_theme_ui20.Box,
1818
2115
  {
1819
2116
  sx: {
1820
2117
  display: [status ? "none" : "flex", "flex", "flex", "flex"],
@@ -1827,20 +2124,32 @@ var Header = ({ status, mode, nav, menuItems }) => {
1827
2124
  }
1828
2125
  },
1829
2126
  menuItems
1830
- ), /* @__PURE__ */ import_react17.default.createElement(
2127
+ ), /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Flex, { sx: { gap: 4 } }, /* @__PURE__ */ import_react22.default.createElement(
2128
+ search_default,
2129
+ {
2130
+ value: searchExpanded,
2131
+ onClick: () => {
2132
+ setSearchExpanded(!searchExpanded);
2133
+ !searchExpanded && setMenuExpanded(false);
2134
+ }
2135
+ }
2136
+ ), /* @__PURE__ */ import_react22.default.createElement(
1831
2137
  menu_default,
1832
2138
  {
1833
2139
  sx: {
1834
2140
  flexShrink: 0,
1835
2141
  mr: ["-2px"]
1836
2142
  },
1837
- value: expanded,
1838
- onClick: toggle
2143
+ value: menuExpanded,
2144
+ onClick: () => {
2145
+ setMenuExpanded(!menuExpanded);
2146
+ !menuExpanded && setSearchExpanded(false);
2147
+ }
1839
2148
  }
1840
- ))
2149
+ )))
1841
2150
  ),
1842
- /* @__PURE__ */ import_react17.default.createElement(
1843
- import_theme_ui17.Box,
2151
+ /* @__PURE__ */ import_react22.default.createElement(
2152
+ import_theme_ui20.Box,
1844
2153
  {
1845
2154
  sx: {
1846
2155
  opacity: expanded ? 1 : 0,
@@ -1858,42 +2167,31 @@ var Header = ({ status, mode, nav, menuItems }) => {
1858
2167
  transition: "opacity 0.25s"
1859
2168
  }
1860
2169
  },
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,
2170
+ /* @__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(import_theme_ui20.Box, { as: "nav", sx: { mt: [5, 5, 5, 6] } }, /* @__PURE__ */ import_react22.default.createElement(
2171
+ navigation_menu_default,
1863
2172
  {
1864
- as: "nav",
1865
- sx: {
1866
- display: expanded ? "inherit" : "none",
1867
- mt: [5, 5, 5, 6]
1868
- }
1869
- },
1870
- /* @__PURE__ */ import_react17.default.createElement(
1871
- NavGroup,
1872
- {
1873
- links,
1874
- nav,
1875
- mode,
1876
- setExpanded
1877
- }
1878
- )
1879
- ))))
2173
+ nav,
2174
+ mode,
2175
+ setExpanded: setMenuExpanded
2176
+ }
2177
+ ))), searchExpanded && !menuExpanded && /* @__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
2178
  )
1881
2179
  );
1882
2180
  };
1883
2181
  var header_default = Header;
1884
2182
 
1885
2183
  // 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"));
2184
+ var import_react24 = __toESM(require("react"));
2185
+ var import_theme_ui22 = require("theme-ui");
2186
+ var import_link6 = __toESM(require("next/link"));
1889
2187
 
1890
2188
  // src/monogram.tsx
1891
- var import_react18 = __toESM(require("react"));
1892
- var import_theme_ui18 = require("theme-ui");
2189
+ var import_react23 = __toESM(require("react"));
2190
+ var import_theme_ui21 = require("theme-ui");
1893
2191
  var Monogram = (_a) => {
1894
2192
  var props = __objRest(_a, []);
1895
- return /* @__PURE__ */ import_react18.default.createElement(
1896
- import_theme_ui18.Box,
2193
+ return /* @__PURE__ */ import_react23.default.createElement(
2194
+ import_theme_ui21.Box,
1897
2195
  __spreadValues(__spreadValues({
1898
2196
  as: "svg"
1899
2197
  }, {
@@ -1902,21 +2200,21 @@ var Monogram = (_a) => {
1902
2200
  fill: "currentColor",
1903
2201
  viewBox: "0 0 32 32"
1904
2202
  }), 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" })
2203
+ /* @__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" }),
2204
+ /* @__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" }),
2205
+ /* @__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
2206
  );
1909
2207
  };
1910
2208
  var monogram_default = Monogram;
1911
2209
 
1912
2210
  // src/footer.tsx
1913
2211
  var Footer = () => {
1914
- const [year, setYear] = (0, import_react19.useState)(null);
1915
- (0, import_react19.useEffect)(() => {
2212
+ const [year, setYear] = (0, import_react24.useState)(null);
2213
+ (0, import_react24.useEffect)(() => {
1916
2214
  setYear((/* @__PURE__ */ new Date()).getFullYear());
1917
2215
  }, []);
1918
- return /* @__PURE__ */ import_react19.default.createElement(
1919
- import_theme_ui19.Box,
2216
+ return /* @__PURE__ */ import_react24.default.createElement(
2217
+ import_theme_ui22.Box,
1920
2218
  {
1921
2219
  sx: {
1922
2220
  mt: [7, 7, 7, 8],
@@ -1924,8 +2222,8 @@ var Footer = () => {
1924
2222
  pb: [2, 1, 0, 0]
1925
2223
  }
1926
2224
  },
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,
2225
+ /* @__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(
2226
+ import_theme_ui22.Box,
1929
2227
  {
1930
2228
  sx: {
1931
2229
  fontSize: [2, 2, 2, 3],
@@ -1935,8 +2233,8 @@ var Footer = () => {
1935
2233
  }
1936
2234
  },
1937
2235
  "EMAIL"
1938
- ), /* @__PURE__ */ import_react19.default.createElement(
1939
- import_theme_ui19.Link,
2236
+ ), /* @__PURE__ */ import_react24.default.createElement(
2237
+ import_theme_ui22.Link,
1940
2238
  {
1941
2239
  href: "mailto:hello@carbonplan.org",
1942
2240
  sx: {
@@ -1945,7 +2243,7 @@ var Footer = () => {
1945
2243
  }
1946
2244
  },
1947
2245
  "hello@carbonplan.org"
1948
- ))), /* @__PURE__ */ import_react19.default.createElement(
2246
+ ))), /* @__PURE__ */ import_react24.default.createElement(
1949
2247
  column_default,
1950
2248
  {
1951
2249
  start: [5],
@@ -1957,9 +2255,9 @@ var Footer = () => {
1957
2255
  justifyContent: ["center"]
1958
2256
  }
1959
2257
  },
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,
2258
+ /* @__PURE__ */ import_react24.default.createElement(monogram_default, { sx: { mt: ["-4px"], width: "60px", height: "60px" } })
2259
+ ), /* @__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(
2260
+ import_theme_ui22.Box,
1963
2261
  {
1964
2262
  sx: {
1965
2263
  fontSize: [2, 2, 2, 3],
@@ -1969,8 +2267,8 @@ var Footer = () => {
1969
2267
  }
1970
2268
  },
1971
2269
  "NEWSLETTER"
1972
- ), /* @__PURE__ */ import_react19.default.createElement(
1973
- import_theme_ui19.Link,
2270
+ ), /* @__PURE__ */ import_react24.default.createElement(
2271
+ import_theme_ui22.Link,
1974
2272
  {
1975
2273
  href: "https://carbonplan.org/newsletter",
1976
2274
  sx: {
@@ -1979,15 +2277,15 @@ var Footer = () => {
1979
2277
  }
1980
2278
  },
1981
2279
  "Subscribe"
1982
- ))), /* @__PURE__ */ import_react19.default.createElement(
2280
+ ))), /* @__PURE__ */ import_react24.default.createElement(
1983
2281
  column_default,
1984
2282
  {
1985
2283
  start: [1, 9],
1986
2284
  width: [5, 4, 3, 3],
1987
2285
  sx: { mt: ["42px", "42px", 0, 0], mb: [3, 3, 0, 0] }
1988
2286
  },
1989
- /* @__PURE__ */ import_react19.default.createElement(import_theme_ui19.Box, null, /* @__PURE__ */ import_react19.default.createElement(
1990
- import_theme_ui19.Box,
2287
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, /* @__PURE__ */ import_react24.default.createElement(
2288
+ import_theme_ui22.Box,
1991
2289
  {
1992
2290
  sx: {
1993
2291
  fontSize: [2, 2, 2, 3],
@@ -1998,7 +2296,7 @@ var Footer = () => {
1998
2296
  "CarbonPlan is a registered nonprofit public benefit corporation in California with 501(c)(3) status."
1999
2297
  ))
2000
2298
  )),
2001
- /* @__PURE__ */ import_react19.default.createElement(row_default, { sx: { mb: ["2px"], mt: [5, 5, 4] } }, /* @__PURE__ */ import_react19.default.createElement(
2299
+ /* @__PURE__ */ import_react24.default.createElement(row_default, { sx: { mb: ["2px"], mt: [5, 5, 4] } }, /* @__PURE__ */ import_react24.default.createElement(
2002
2300
  column_default,
2003
2301
  {
2004
2302
  start: [1, 1, 2, 2],
@@ -2008,8 +2306,8 @@ var Footer = () => {
2008
2306
  alignItems: ["flex-start", "flex-start", "flex-end"]
2009
2307
  }
2010
2308
  },
2011
- /* @__PURE__ */ import_react19.default.createElement(
2012
- import_theme_ui19.Box,
2309
+ /* @__PURE__ */ import_react24.default.createElement(
2310
+ import_theme_ui22.Box,
2013
2311
  {
2014
2312
  sx: {
2015
2313
  bottom: "0px",
@@ -2021,8 +2319,8 @@ var Footer = () => {
2021
2319
  pt: [2]
2022
2320
  }
2023
2321
  },
2024
- /* @__PURE__ */ import_react19.default.createElement(
2025
- import_theme_ui19.Box,
2322
+ /* @__PURE__ */ import_react24.default.createElement(
2323
+ import_theme_ui22.Box,
2026
2324
  {
2027
2325
  sx: {
2028
2326
  color: "secondary",
@@ -2031,20 +2329,20 @@ var Footer = () => {
2031
2329
  letterSpacing: "mono"
2032
2330
  }
2033
2331
  },
2034
- /* @__PURE__ */ import_react19.default.createElement(
2035
- import_theme_ui19.Flex,
2332
+ /* @__PURE__ */ import_react24.default.createElement(
2333
+ import_theme_ui22.Flex,
2036
2334
  {
2037
2335
  sx: {
2038
2336
  flexDirection: ["column", "column", "row", "row"],
2039
2337
  gap: [0, 0, "10px", "12px"]
2040
2338
  }
2041
2339
  },
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")
2340
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, "(c) ", year),
2341
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, null, "CARBONPLAN")
2044
2342
  )
2045
2343
  )
2046
2344
  )
2047
- ), /* @__PURE__ */ import_react19.default.createElement(
2345
+ ), /* @__PURE__ */ import_react24.default.createElement(
2048
2346
  column_default,
2049
2347
  {
2050
2348
  start: [4, 3, 5, 5],
@@ -2055,8 +2353,8 @@ var Footer = () => {
2055
2353
  mt: [0, 0, 0, 0]
2056
2354
  }
2057
2355
  },
2058
- /* @__PURE__ */ import_react19.default.createElement(
2059
- import_theme_ui19.Box,
2356
+ /* @__PURE__ */ import_react24.default.createElement(
2357
+ import_theme_ui22.Box,
2060
2358
  {
2061
2359
  sx: {
2062
2360
  bottom: "0px",
@@ -2067,8 +2365,8 @@ var Footer = () => {
2067
2365
  pt: [2]
2068
2366
  }
2069
2367
  },
2070
- /* @__PURE__ */ import_react19.default.createElement(
2071
- import_theme_ui19.Flex,
2368
+ /* @__PURE__ */ import_react24.default.createElement(
2369
+ import_theme_ui22.Flex,
2072
2370
  {
2073
2371
  sx: {
2074
2372
  color: "secondary",
@@ -2079,8 +2377,8 @@ var Footer = () => {
2079
2377
  gap: [0, 0, "10px", "12px"]
2080
2378
  }
2081
2379
  },
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,
2380
+ /* @__PURE__ */ import_react24.default.createElement(import_link6.default, { href: "/terms", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react24.default.createElement(
2381
+ import_theme_ui22.Box,
2084
2382
  {
2085
2383
  as: "a",
2086
2384
  sx: {
@@ -2092,9 +2390,9 @@ var Footer = () => {
2092
2390
  },
2093
2391
  "TERMS OF USE"
2094
2392
  )),
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,
2393
+ /* @__PURE__ */ import_react24.default.createElement(import_theme_ui22.Box, { sx: { display: ["none", "none", "initial", "initial"] } }, " / "),
2394
+ /* @__PURE__ */ import_react24.default.createElement(import_link6.default, { href: "/privacy", passHref: true, legacyBehavior: true }, /* @__PURE__ */ import_react24.default.createElement(
2395
+ import_theme_ui22.Box,
2098
2396
  {
2099
2397
  as: "a",
2100
2398
  sx: {
@@ -2108,14 +2406,14 @@ var Footer = () => {
2108
2406
  ))
2109
2407
  )
2110
2408
  )
2111
- ), /* @__PURE__ */ import_react19.default.createElement(
2409
+ ), /* @__PURE__ */ import_react24.default.createElement(
2112
2410
  column_default,
2113
2411
  {
2114
2412
  start: [5, 7, 9, 9],
2115
2413
  width: [2, 2, 3, 3],
2116
2414
  sx: { display: ["none", "initial", "initial", "initial"] }
2117
2415
  },
2118
- /* @__PURE__ */ import_react19.default.createElement(
2416
+ /* @__PURE__ */ import_react24.default.createElement(
2119
2417
  monogram_default,
2120
2418
  {
2121
2419
  sx: {
@@ -2132,18 +2430,18 @@ var Footer = () => {
2132
2430
  var footer_default = Footer;
2133
2431
 
2134
2432
  // 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");
2433
+ var import_react25 = __toESM(require("react"));
2434
+ var import_theme_ui23 = require("theme-ui");
2435
+ var import_react26 = require("react");
2436
+ var import_icons5 = require("@carbonplan/icons");
2139
2437
  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)(() => {
2438
+ var _b = _a, { sx: sx4 = {} } = _b, props = __objRest(_b, ["sx"]);
2439
+ const [colorMode, setColorMode] = (0, import_theme_ui23.useColorMode)();
2440
+ const toggle = (0, import_react26.useCallback)(() => {
2143
2441
  setColorMode(colorMode === "light" ? "dark" : "light");
2144
2442
  }, [colorMode]);
2145
- return /* @__PURE__ */ import_react20.default.createElement(
2146
- import_theme_ui20.IconButton,
2443
+ return /* @__PURE__ */ import_react25.default.createElement(
2444
+ import_theme_ui23.IconButton,
2147
2445
  __spreadValues({
2148
2446
  "aria-label": "Toggle dark mode",
2149
2447
  onClick: toggle,
@@ -2154,10 +2452,10 @@ var Dimmer = (_a) => {
2154
2452
  display: "inline-block",
2155
2453
  cursor: "pointer",
2156
2454
  color: "secondary"
2157
- }, sx3)
2455
+ }, sx4)
2158
2456
  }, props),
2159
- /* @__PURE__ */ import_react20.default.createElement(
2160
- import_icons3.Sun,
2457
+ /* @__PURE__ */ import_react25.default.createElement(
2458
+ import_icons5.Sun,
2161
2459
  {
2162
2460
  sx: {
2163
2461
  strokeWidth: "1.75",
@@ -2175,25 +2473,25 @@ var Dimmer = (_a) => {
2175
2473
  var dimmer_default = Dimmer;
2176
2474
 
2177
2475
  // src/metadata.tsx
2178
- var import_react23 = __toESM(require("react"));
2179
- var import_theme_ui22 = require("theme-ui");
2180
- var import_react24 = require("react");
2476
+ var import_react28 = __toESM(require("react"));
2477
+ var import_theme_ui25 = require("theme-ui");
2478
+ var import_react29 = require("react");
2181
2479
 
2182
2480
  // src/gitsha.tsx
2183
- var import_react22 = __toESM(require("react"));
2184
- var import_theme_ui21 = require("theme-ui");
2481
+ var import_react27 = __toESM(require("react"));
2482
+ var import_theme_ui24 = require("theme-ui");
2185
2483
  var GitSha = () => {
2186
2484
  var _a;
2187
2485
  const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA;
2188
2486
  const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER;
2189
2487
  const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG;
2190
- const { theme } = (0, import_theme_ui21.useThemeUI)();
2488
+ const { theme } = (0, import_theme_ui24.useThemeUI)();
2191
2489
  const color = (_a = theme.rawColors) == null ? void 0 : _a.secondary;
2192
2490
  if (sha && owner && slug) {
2193
2491
  const shortSha = sha.substring(0, 7);
2194
2492
  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,
2493
+ 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(
2494
+ import_theme_ui24.Link,
2197
2495
  {
2198
2496
  href,
2199
2497
  sx: {
@@ -2211,8 +2509,8 @@ var GitSha = () => {
2211
2509
  shortSha
2212
2510
  ));
2213
2511
  } 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,
2512
+ 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(
2513
+ import_theme_ui24.Text,
2216
2514
  {
2217
2515
  sx: {
2218
2516
  whiteSpace: "nowrap",
@@ -2230,14 +2528,14 @@ var GitSha = () => {
2230
2528
  }
2231
2529
  };
2232
2530
  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 }));
2531
+ 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
2532
  };
2235
2533
  var gitsha_default = GitSha;
2236
2534
 
2237
2535
  // src/metadata.tsx
2238
2536
  var Value = ({ mode }) => {
2239
- const [display, setDisplay] = (0, import_react24.useState)(init(mode));
2240
- (0, import_react24.useEffect)(() => {
2537
+ const [display, setDisplay] = (0, import_react29.useState)(init(mode));
2538
+ (0, import_react29.useEffect)(() => {
2241
2539
  if (mode === "mouse") {
2242
2540
  const setFromEvent = (e) => {
2243
2541
  const x = format(e.clientX, 4);
@@ -2260,8 +2558,8 @@ var Value = ({ mode }) => {
2260
2558
  };
2261
2559
  }
2262
2560
  }, []);
2263
- return /* @__PURE__ */ import_react23.default.createElement(
2264
- import_theme_ui22.Text,
2561
+ return /* @__PURE__ */ import_react28.default.createElement(
2562
+ import_theme_ui25.Text,
2265
2563
  {
2266
2564
  sx: {
2267
2565
  whiteSpace: "nowrap",
@@ -2278,8 +2576,8 @@ var Value = ({ mode }) => {
2278
2576
  );
2279
2577
  };
2280
2578
  var Metadata = ({ mode }) => {
2281
- return /* @__PURE__ */ import_react23.default.createElement(
2282
- import_theme_ui22.Box,
2579
+ return /* @__PURE__ */ import_react28.default.createElement(
2580
+ import_theme_ui25.Box,
2283
2581
  {
2284
2582
  sx: {
2285
2583
  userSelect: "none",
@@ -2291,8 +2589,8 @@ var Metadata = ({ mode }) => {
2291
2589
  display: ["none", "none", "initial"]
2292
2590
  }
2293
2591
  },
2294
- /* @__PURE__ */ import_react23.default.createElement(Value, { mode }),
2295
- /* @__PURE__ */ import_react23.default.createElement(gitsha_default, null)
2592
+ /* @__PURE__ */ import_react28.default.createElement(Value, { mode }),
2593
+ /* @__PURE__ */ import_react28.default.createElement(gitsha_default, null)
2296
2594
  );
2297
2595
  };
2298
2596
  function init(mode) {
@@ -2313,10 +2611,10 @@ function scrollFraction(window2, document2) {
2313
2611
  var metadata_default = Metadata;
2314
2612
 
2315
2613
  // 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)({
2614
+ var import_react30 = __toESM(require("react"));
2615
+ var import_theme_ui26 = require("theme-ui");
2616
+ var import_react31 = require("@emotion/react");
2617
+ var fade = (0, import_react31.keyframes)({
2320
2618
  from: {
2321
2619
  opacity: 0
2322
2620
  },
@@ -2334,8 +2632,8 @@ var FadeIn = (_a) => {
2334
2632
  "delay",
2335
2633
  "children"
2336
2634
  ]);
2337
- return /* @__PURE__ */ import_react25.default.createElement(
2338
- import_theme_ui23.Box,
2635
+ return /* @__PURE__ */ import_react30.default.createElement(
2636
+ import_theme_ui26.Box,
2339
2637
  __spreadProps(__spreadValues({}, delegated), {
2340
2638
  sx: {
2341
2639
  animationDuration: duration + "ms",
@@ -2351,7 +2649,7 @@ var FadeIn = (_a) => {
2351
2649
  var fade_in_default = FadeIn;
2352
2650
 
2353
2651
  // src/scrollbar.tsx
2354
- var import_react27 = require("react");
2652
+ var import_react32 = require("react");
2355
2653
 
2356
2654
  // src/utils/get-scrollbar-width.ts
2357
2655
  var getScrollbarWidth = (document2) => {
@@ -2371,7 +2669,7 @@ var get_scrollbar_width_default = getScrollbarWidth;
2371
2669
 
2372
2670
  // src/scrollbar.tsx
2373
2671
  var Scrollbar = () => {
2374
- (0, import_react27.useEffect)(() => {
2672
+ (0, import_react32.useEffect)(() => {
2375
2673
  if (typeof document !== "undefined") {
2376
2674
  const delta = get_scrollbar_width_default(document);
2377
2675
  if (delta > 0) {
@@ -2385,11 +2683,11 @@ var Scrollbar = () => {
2385
2683
  var scrollbar_default = Scrollbar;
2386
2684
 
2387
2685
  // src/guide.tsx
2388
- var import_react28 = __toESM(require("react"));
2389
- var import_theme_ui24 = require("theme-ui");
2686
+ var import_react33 = __toESM(require("react"));
2687
+ var import_theme_ui27 = require("theme-ui");
2390
2688
  var Guide = ({ color = "muted" }) => {
2391
- const [display, setDisplay] = (0, import_react28.useState)(false);
2392
- (0, import_react28.useEffect)(() => {
2689
+ const [display, setDisplay] = (0, import_react33.useState)(false);
2690
+ (0, import_react33.useEffect)(() => {
2393
2691
  function handler(event) {
2394
2692
  const { key, metaKey } = event;
2395
2693
  if (key === ";" && metaKey) {
@@ -2401,8 +2699,8 @@ var Guide = ({ color = "muted" }) => {
2401
2699
  document.removeEventListener("keydown", handler);
2402
2700
  };
2403
2701
  }, []);
2404
- return /* @__PURE__ */ import_react28.default.createElement(
2405
- import_theme_ui24.Box,
2702
+ return /* @__PURE__ */ import_react33.default.createElement(
2703
+ import_theme_ui27.Box,
2406
2704
  {
2407
2705
  sx: {
2408
2706
  position: "fixed",
@@ -2414,13 +2712,13 @@ var Guide = ({ color = "muted" }) => {
2414
2712
  display: display ? "initial" : "none"
2415
2713
  }
2416
2714
  },
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(
2715
+ /* @__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
2716
  GuideColumns,
2419
2717
  {
2420
2718
  indices: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
2421
2719
  color
2422
2720
  }
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 })))
2721
+ )), /* @__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
2722
  );
2425
2723
  };
2426
2724
  var colorCycle = [
@@ -2437,7 +2735,7 @@ function GuideColumns({
2437
2735
  indices,
2438
2736
  color
2439
2737
  }) {
2440
- const sx3 = {
2738
+ const sx4 = {
2441
2739
  outerGuideColumn: {
2442
2740
  borderStyle: "solid",
2443
2741
  borderWidth: "0px",
@@ -2453,8 +2751,8 @@ function GuideColumns({
2453
2751
  opacity: color === "teal" ? 0.4 : 1
2454
2752
  }
2455
2753
  };
2456
- return /* @__PURE__ */ import_react28.default.createElement(row_default, null, indices.map((i) => {
2457
- return /* @__PURE__ */ import_react28.default.createElement(
2754
+ return /* @__PURE__ */ import_react33.default.createElement(row_default, null, indices.map((i) => {
2755
+ return /* @__PURE__ */ import_react33.default.createElement(
2458
2756
  column_default,
2459
2757
  {
2460
2758
  key: i,
@@ -2465,10 +2763,10 @@ function GuideColumns({
2465
2763
  sx: __spreadValues({
2466
2764
  bg: color === "teal" ? "teal" : "transparent",
2467
2765
  height: "100vh"
2468
- }, sx3.innerGuideColumn)
2766
+ }, sx4.innerGuideColumn)
2469
2767
  },
2470
- /* @__PURE__ */ import_react28.default.createElement(
2471
- import_theme_ui24.Box,
2768
+ /* @__PURE__ */ import_react33.default.createElement(
2769
+ import_theme_ui27.Box,
2472
2770
  {
2473
2771
  sx: __spreadValues({
2474
2772
  mx: ["12px", 3, 3, 4],
@@ -2476,7 +2774,7 @@ function GuideColumns({
2476
2774
  height: "100%",
2477
2775
  borderLeftColor: color === "rainbow" ? colorCycle[i % 8] : "muted",
2478
2776
  borderRightColor: color === "rainbow" ? colorCycle[i % 8] : "muted"
2479
- }, sx3.outerGuideColumn)
2777
+ }, sx4.outerGuideColumn)
2480
2778
  }
2481
2779
  )
2482
2780
  );
@@ -2485,96 +2783,9 @@ function GuideColumns({
2485
2783
  var guide_default = Guide;
2486
2784
 
2487
2785
  // 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
- );
2786
+ var import_react34 = __toESM(require("react"));
2787
+ var Settings = (props) => {
2788
+ 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
2789
  };
2579
2790
  var settings_default = Settings;
2580
2791
 
@@ -2601,18 +2812,18 @@ var Layout = ({
2601
2812
  }) => {
2602
2813
  let content = children;
2603
2814
  if (fade2) {
2604
- content = /* @__PURE__ */ import_react30.default.createElement(fade_in_default, { duration: 250 }, content);
2815
+ content = /* @__PURE__ */ import_react35.default.createElement(fade_in_default, { duration: 250 }, content);
2605
2816
  }
2606
2817
  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));
2818
+ 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
2819
  }
2609
- const { theme } = (0, import_theme_ui26.useThemeUI)();
2820
+ const { theme } = (0, import_theme_ui28.useThemeUI)();
2610
2821
  const hideOnPrint = printable ? {
2611
2822
  "@media print": {
2612
2823
  display: "none"
2613
2824
  }
2614
2825
  } : {};
2615
- (0, import_react30.useEffect)(() => {
2826
+ (0, import_react35.useEffect)(() => {
2616
2827
  var _a;
2617
2828
  if (!theme) return;
2618
2829
  const handler = (e) => {
@@ -2629,7 +2840,7 @@ var Layout = ({
2629
2840
  };
2630
2841
  }, [theme == null ? void 0 : theme.breakpoints, settings == null ? void 0 : settings.value, settings == null ? void 0 : settings.onClick]);
2631
2842
  const menuItems = [
2632
- /* @__PURE__ */ import_react30.default.createElement(
2843
+ /* @__PURE__ */ import_react35.default.createElement(
2633
2844
  dimmer_default,
2634
2845
  {
2635
2846
  key: "dimmer",
@@ -2648,7 +2859,7 @@ var Layout = ({
2648
2859
  ];
2649
2860
  if (settings) {
2650
2861
  menuItems.push(
2651
- /* @__PURE__ */ import_react30.default.createElement(
2862
+ /* @__PURE__ */ import_react35.default.createElement(
2652
2863
  settings_default,
2653
2864
  __spreadValues({
2654
2865
  key: "settings",
@@ -2657,16 +2868,16 @@ var Layout = ({
2657
2868
  )
2658
2869
  );
2659
2870
  }
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,
2871
+ 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(
2872
+ import_theme_ui28.Flex,
2662
2873
  {
2663
2874
  sx: {
2664
2875
  flexDirection: "column",
2665
2876
  minHeight: "100vh"
2666
2877
  }
2667
2878
  },
2668
- header && /* @__PURE__ */ import_react30.default.createElement(
2669
- import_theme_ui26.Box,
2879
+ header && /* @__PURE__ */ import_react35.default.createElement(
2880
+ import_theme_ui28.Box,
2670
2881
  {
2671
2882
  as: "header",
2672
2883
  sx: __spreadValues({
@@ -2682,7 +2893,7 @@ var Layout = ({
2682
2893
  zIndex: 2e3
2683
2894
  }, hideOnPrint)
2684
2895
  },
2685
- /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Container, null, /* @__PURE__ */ import_react30.default.createElement(
2896
+ /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Container, null, /* @__PURE__ */ import_react35.default.createElement(
2686
2897
  header_default,
2687
2898
  {
2688
2899
  mode: links2,
@@ -2692,8 +2903,8 @@ var Layout = ({
2692
2903
  }
2693
2904
  ))
2694
2905
  ),
2695
- /* @__PURE__ */ import_react30.default.createElement(
2696
- import_theme_ui26.Box,
2906
+ /* @__PURE__ */ import_react35.default.createElement(
2907
+ import_theme_ui28.Box,
2697
2908
  {
2698
2909
  sx: {
2699
2910
  width: "100%",
@@ -2702,8 +2913,8 @@ var Layout = ({
2702
2913
  },
2703
2914
  content
2704
2915
  ),
2705
- footer && /* @__PURE__ */ import_react30.default.createElement(
2706
- import_theme_ui26.Box,
2916
+ footer && /* @__PURE__ */ import_react35.default.createElement(
2917
+ import_theme_ui28.Box,
2707
2918
  {
2708
2919
  as: "footer",
2709
2920
  sx: __spreadValues({
@@ -2714,10 +2925,10 @@ var Layout = ({
2714
2925
  borderTopWidth: "1px"
2715
2926
  }, hideOnPrint)
2716
2927
  },
2717
- /* @__PURE__ */ import_react30.default.createElement(import_theme_ui26.Container, null, /* @__PURE__ */ import_react30.default.createElement(footer_default, null))
2928
+ /* @__PURE__ */ import_react35.default.createElement(import_theme_ui28.Container, null, /* @__PURE__ */ import_react35.default.createElement(footer_default, null))
2718
2929
  ),
2719
- dimmer === "bottom" && /* @__PURE__ */ import_react30.default.createElement(
2720
- import_theme_ui26.Box,
2930
+ dimmer === "bottom" && /* @__PURE__ */ import_react35.default.createElement(
2931
+ import_theme_ui28.Box,
2721
2932
  {
2722
2933
  sx: {
2723
2934
  display: ["none", "none", "initial", "initial"],
@@ -2726,24 +2937,24 @@ var Layout = ({
2726
2937
  bottom: [17, 17, 15, 15]
2727
2938
  }
2728
2939
  },
2729
- /* @__PURE__ */ import_react30.default.createElement(dimmer_default, null)
2940
+ /* @__PURE__ */ import_react35.default.createElement(dimmer_default, null)
2730
2941
  ),
2731
- metadata && /* @__PURE__ */ import_react30.default.createElement(metadata_default, { mode: typeof metadata === "string" ? metadata : "mouse" })
2942
+ metadata && /* @__PURE__ */ import_react35.default.createElement(metadata_default, { mode: typeof metadata === "string" ? metadata : "mouse" })
2732
2943
  ));
2733
2944
  };
2734
2945
  var layout_default = Layout;
2735
2946
 
2736
2947
  // src/custom-404.tsx
2737
2948
  var Custom404 = () => {
2738
- return /* @__PURE__ */ import_react31.default.createElement(
2949
+ return /* @__PURE__ */ import_react36.default.createElement(
2739
2950
  layout_default,
2740
2951
  {
2741
2952
  footer: false,
2742
2953
  title: "404 \u2013 CarbonPlan",
2743
2954
  description: "Sorry but we can't seem to find the page you are looking for."
2744
2955
  },
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,
2956
+ /* @__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(
2957
+ import_theme_ui29.Box,
2747
2958
  {
2748
2959
  sx: {
2749
2960
  fontSize: [4, 4, 4, 5],
@@ -2754,8 +2965,8 @@ var Custom404 = () => {
2754
2965
  }
2755
2966
  },
2756
2967
  "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,
2968
+ ), /* @__PURE__ */ import_react36.default.createElement(
2969
+ import_theme_ui29.Box,
2759
2970
  {
2760
2971
  sx: {
2761
2972
  color: "secondary",
@@ -2766,8 +2977,8 @@ var Custom404 = () => {
2766
2977
  }
2767
2978
  },
2768
2979
  "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,
2980
+ )), /* @__PURE__ */ import_react36.default.createElement(column_default, { start: [2, 5, 7, 7], width: [4, 4, 4, 4] }, /* @__PURE__ */ import_react36.default.createElement(
2981
+ import_theme_ui29.Box,
2771
2982
  {
2772
2983
  sx: {
2773
2984
  width: ["100%"],
@@ -2775,18 +2986,18 @@ var Custom404 = () => {
2775
2986
  fill: "primary"
2776
2987
  }
2777
2988
  },
2778
- /* @__PURE__ */ import_react31.default.createElement(import_emoji.PoopSad, { sx: { width: "100%", height: "auto" } })
2989
+ /* @__PURE__ */ import_react36.default.createElement(import_emoji.PoopSad, { sx: { width: "100%", height: "auto" } })
2779
2990
  )))
2780
2991
  );
2781
2992
  };
2782
2993
  var custom_404_default = Custom404;
2783
2994
 
2784
2995
  // 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,
2996
+ var import_react37 = __toESM(require("react"));
2997
+ var import_theme_ui30 = require("theme-ui");
2998
+ var Expander = ({ value, id, onClick, sx: sx4 }) => {
2999
+ return /* @__PURE__ */ import_react37.default.createElement(
3000
+ import_theme_ui30.IconButton,
2790
3001
  {
2791
3002
  onClick,
2792
3003
  id,
@@ -2807,9 +3018,9 @@ var Expander = ({ value, id, onClick, sx: sx3 }) => {
2807
3018
  stroke: "primary"
2808
3019
  }
2809
3020
  }
2810
- }, sx3)
3021
+ }, sx4)
2811
3022
  },
2812
- /* @__PURE__ */ import_react32.default.createElement("svg", { viewBox: "0 0 16 16" }, /* @__PURE__ */ import_react32.default.createElement(
3023
+ /* @__PURE__ */ import_react37.default.createElement("svg", { viewBox: "0 0 16 16" }, /* @__PURE__ */ import_react37.default.createElement(
2813
3024
  "path",
2814
3025
  {
2815
3026
  d: "M8,0 V16 M0,8 H16",
@@ -2826,22 +3037,22 @@ var Expander = ({ value, id, onClick, sx: sx3 }) => {
2826
3037
  var expander_default = Expander;
2827
3038
 
2828
3039
  // 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);
3040
+ var import_react38 = __toESM(require("react"));
3041
+ var import_theme_ui31 = require("theme-ui");
3042
+ var Figure = ({ as = "figure", children, sx: sx4 }) => {
3043
+ const childrenArray = import_react38.default.Children.toArray(children);
2833
3044
  const captionElement = childrenArray.find((child) => {
2834
- if (!import_react33.default.isValidElement(child)) return false;
3045
+ if (!import_react38.default.isValidElement(child)) return false;
2835
3046
  const type = child.type;
2836
3047
  return typeof type !== "string" && "displayName" in type && (type.displayName === "FigureCaption" || type.displayName === "TableCaption");
2837
3048
  });
2838
- const captionProps = import_react33.default.isValidElement(captionElement) ? captionElement.props : void 0;
2839
- const captionType = import_react33.default.isValidElement(captionElement) ? captionElement.type : void 0;
3049
+ const captionProps = import_react38.default.isValidElement(captionElement) ? captionElement.props : void 0;
3050
+ const captionType = import_react38.default.isValidElement(captionElement) ? captionElement.type : void 0;
2840
3051
  const elementNumber = captionProps == null ? void 0 : captionProps.number;
2841
3052
  const elementType = typeof captionType !== "string" && captionType && "displayName" in captionType && captionType.displayName === "TableCaption" ? "table" : "figure";
2842
3053
  const id = elementNumber ? `${elementType}-${elementNumber}` : void 0;
2843
- return /* @__PURE__ */ import_react33.default.createElement(
2844
- import_theme_ui29.Box,
3054
+ return /* @__PURE__ */ import_react38.default.createElement(
3055
+ import_theme_ui31.Box,
2845
3056
  {
2846
3057
  as,
2847
3058
  id,
@@ -2852,38 +3063,38 @@ var Figure = ({ as = "figure", children, sx: sx3 }) => {
2852
3063
  "@media print": {
2853
3064
  breakInside: "avoid"
2854
3065
  }
2855
- }, sx3)
3066
+ }, sx4)
2856
3067
  },
2857
- /* @__PURE__ */ import_react33.default.createElement(group_default, { spacing: [4, 4, 4, 5] }, children)
3068
+ /* @__PURE__ */ import_react38.default.createElement(group_default, { spacing: [4, 4, 4, 5] }, children)
2858
3069
  );
2859
3070
  };
2860
3071
  var figure_default = Figure;
2861
3072
 
2862
3073
  // src/figure-caption.tsx
2863
- var import_react34 = __toESM(require("react"));
3074
+ var import_react39 = __toESM(require("react"));
2864
3075
  var FigureCaption = ({
2865
3076
  as = "figcaption",
2866
3077
  number,
2867
3078
  children
2868
3079
  }) => {
2869
- return /* @__PURE__ */ import_react34.default.createElement(caption_default, { as, number, label: "figure" }, children);
3080
+ return /* @__PURE__ */ import_react39.default.createElement(caption_default, { as, number, label: "figure" }, children);
2870
3081
  };
2871
3082
  FigureCaption.displayName = "FigureCaption";
2872
3083
  var figure_caption_default = FigureCaption;
2873
3084
 
2874
3085
  // src/filter.tsx
2875
- var import_react36 = __toESM(require("react"));
2876
- var import_theme_ui31 = require("theme-ui");
3086
+ var import_react41 = __toESM(require("react"));
3087
+ var import_theme_ui33 = require("theme-ui");
2877
3088
 
2878
3089
  // src/tag.tsx
2879
- var import_react35 = __toESM(require("react"));
2880
- var import_theme_ui30 = require("theme-ui");
3090
+ var import_react40 = __toESM(require("react"));
3091
+ var import_theme_ui32 = require("theme-ui");
2881
3092
  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);
3093
+ var _b = _a, { label, value, sx: sx4, children } = _b, props = __objRest(_b, ["label", "value", "sx", "children"]);
3094
+ const color = get_sx_color_default(sx4);
2884
3095
  const isClickable = props && (props.onClick || props.onDoubleClick);
2885
- return /* @__PURE__ */ import_react35.default.createElement(
2886
- import_theme_ui30.Box,
3096
+ return /* @__PURE__ */ import_react40.default.createElement(
3097
+ import_theme_ui32.Box,
2887
3098
  __spreadValues({
2888
3099
  as: isClickable ? "button" : "span",
2889
3100
  role: "checkbox",
@@ -2910,7 +3121,7 @@ var Tag = (_a) => {
2910
3121
  px: [0],
2911
3122
  m: [0],
2912
3123
  opacity: value == null || value ? 1 : color === "primary" ? 0.24 : 0.33
2913
- }, sx3)
3124
+ }, sx4)
2914
3125
  }, props),
2915
3126
  children
2916
3127
  );
@@ -2918,7 +3129,7 @@ var Tag = (_a) => {
2918
3129
  var tag_default = Tag;
2919
3130
 
2920
3131
  // src/filter.tsx
2921
- var sx2 = {
3132
+ var sx3 = {
2922
3133
  label: {
2923
3134
  fontFamily: "mono",
2924
3135
  letterSpacing: "mono",
@@ -2983,14 +3194,14 @@ var Filter = (_a) => {
2983
3194
  "showAll",
2984
3195
  "multiSelect"
2985
3196
  ]);
2986
- const keys = (0, import_react36.useMemo)(() => {
3197
+ const keys = (0, import_react41.useMemo)(() => {
2987
3198
  if (order) {
2988
3199
  return order;
2989
3200
  } else {
2990
3201
  return Object.keys(values);
2991
3202
  }
2992
3203
  }, [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(
3204
+ 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
3205
  tag_default,
2995
3206
  {
2996
3207
  label: "all",
@@ -3004,7 +3215,7 @@ var Filter = (_a) => {
3004
3215
  sx: { mr: [2] }
3005
3216
  },
3006
3217
  "All"
3007
- ), keys.map((d, i) => /* @__PURE__ */ import_react36.default.createElement(
3218
+ ), keys.map((d, i) => /* @__PURE__ */ import_react41.default.createElement(
3008
3219
  tag_default,
3009
3220
  {
3010
3221
  label: String(d),
@@ -3035,18 +3246,18 @@ var Filter = (_a) => {
3035
3246
  var filter_default = Filter;
3036
3247
 
3037
3248
  // src/heading.tsx
3038
- var import_react38 = __toESM(require("react"));
3039
- var import_theme_ui33 = require("theme-ui");
3249
+ var import_react43 = __toESM(require("react"));
3250
+ var import_theme_ui35 = require("theme-ui");
3040
3251
 
3041
3252
  // src/sidenote.tsx
3042
- var import_react37 = __toESM(require("react"));
3043
- var import_theme_ui32 = require("theme-ui");
3253
+ var import_react42 = __toESM(require("react"));
3254
+ var import_theme_ui34 = require("theme-ui");
3044
3255
  var Sidenote = ({ children, variant = "h1" }) => {
3045
3256
  let mt;
3046
3257
  if (variant === "h1") mt = [4, "27px", "42px", "54px"];
3047
3258
  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,
3259
+ 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(
3260
+ import_theme_ui34.Box,
3050
3261
  {
3051
3262
  sx: {
3052
3263
  mt,
@@ -3057,8 +3268,8 @@ var Sidenote = ({ children, variant = "h1" }) => {
3057
3268
  }
3058
3269
  },
3059
3270
  "/"
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,
3271
+ )), /* @__PURE__ */ import_react42.default.createElement(column_default, { start: [2, 5, 9, 9], width: [3, 3, 2, 2] }, /* @__PURE__ */ import_react42.default.createElement(
3272
+ import_theme_ui34.Box,
3062
3273
  {
3063
3274
  sx: {
3064
3275
  mt,
@@ -3081,7 +3292,7 @@ var Heading = ({
3081
3292
  description,
3082
3293
  descriptionStart = [1, 3, 5, 5],
3083
3294
  descriptionWidth = [5, 5, 5, 4],
3084
- sx: sx3
3295
+ sx: sx4
3085
3296
  }) => {
3086
3297
  let titleWidth = [6, 6, 6, 6];
3087
3298
  if (description) {
@@ -3092,8 +3303,8 @@ var Heading = ({
3092
3303
  if (!["h1", "h2"].includes(variant)) {
3093
3304
  throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`);
3094
3305
  }
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,
3306
+ 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(
3307
+ import_theme_ui35.Box,
3097
3308
  {
3098
3309
  sx: {
3099
3310
  mt: [4, "5px", "20px", "31px"],
@@ -3105,47 +3316,10 @@ var Heading = ({
3105
3316
  };
3106
3317
  var heading_default = Heading;
3107
3318
 
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
3319
  // 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");
3320
+ var import_react44 = __toESM(require("react"));
3321
+ var import_theme_ui36 = require("theme-ui");
3322
+ var import_icons6 = require("@carbonplan/icons");
3149
3323
  var LinkGroup = ({
3150
3324
  members,
3151
3325
  color,
@@ -3154,20 +3328,20 @@ var LinkGroup = ({
3154
3328
  rowGap = [2, 2, 2, 3],
3155
3329
  columnGap = [3, 3, 3, 4],
3156
3330
  direction = "horizontal",
3157
- sx: sx3
3331
+ sx: sx4
3158
3332
  }) => {
3159
- return /* @__PURE__ */ import_react40.default.createElement(
3160
- import_theme_ui35.Flex,
3333
+ return /* @__PURE__ */ import_react44.default.createElement(
3334
+ import_theme_ui36.Flex,
3161
3335
  {
3162
3336
  sx: __spreadValues({
3163
3337
  flexDirection: direction === "horizontal" ? "row" : "column",
3164
3338
  rowGap,
3165
3339
  columnGap,
3166
3340
  flexWrap: "wrap"
3167
- }, sx3)
3341
+ }, sx4)
3168
3342
  },
3169
3343
  members.map((d, i) => {
3170
- return /* @__PURE__ */ import_react40.default.createElement(
3344
+ return /* @__PURE__ */ import_react44.default.createElement(
3171
3345
  button_default,
3172
3346
  {
3173
3347
  key: i,
@@ -3175,7 +3349,7 @@ var LinkGroup = ({
3175
3349
  size,
3176
3350
  sx: { color },
3177
3351
  inverted,
3178
- suffix: /* @__PURE__ */ import_react40.default.createElement(import_icons4.RotatingArrow, null)
3352
+ suffix: /* @__PURE__ */ import_react44.default.createElement(import_icons6.RotatingArrow, null)
3179
3353
  },
3180
3354
  d.label
3181
3355
  );
@@ -3185,14 +3359,14 @@ var LinkGroup = ({
3185
3359
  var link_group_default = LinkGroup;
3186
3360
 
3187
3361
  // 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");
3362
+ var import_react45 = __toESM(require("react"));
3363
+ var import_theme_ui37 = require("theme-ui");
3364
+ var import_icons7 = require("@carbonplan/icons");
3191
3365
  var Select = (_a) => {
3192
3366
  var _b = _a, {
3193
3367
  children,
3194
3368
  size = "sm",
3195
- sx: sx3,
3369
+ sx: sx4,
3196
3370
  sxSelect,
3197
3371
  onChange
3198
3372
  } = _b, props = __objRest(_b, [
@@ -3202,9 +3376,9 @@ var Select = (_a) => {
3202
3376
  "sxSelect",
3203
3377
  "onChange"
3204
3378
  ]);
3205
- const color = get_sx_color_default(sx3);
3379
+ const color = get_sx_color_default(sx4);
3206
3380
  const sizeStyles = get_size_styles_default(size);
3207
- const ref = (0, import_react41.useRef)(null);
3381
+ const ref = (0, import_react45.useRef)(null);
3208
3382
  if (!["xs", "sm", "md"].includes(size)) {
3209
3383
  throw new Error("Size must be xs, sm, or md");
3210
3384
  }
@@ -3230,15 +3404,15 @@ var Select = (_a) => {
3230
3404
  };
3231
3405
  const { height, width, top, ml } = sizeConfig[size];
3232
3406
  const pr = width.map((d) => d + 12);
3233
- return /* @__PURE__ */ import_react41.default.createElement(
3234
- import_theme_ui36.Box,
3407
+ return /* @__PURE__ */ import_react45.default.createElement(
3408
+ import_theme_ui37.Box,
3235
3409
  {
3236
3410
  sx: __spreadValues({
3237
3411
  display: "inline-block"
3238
- }, sx3)
3412
+ }, sx4)
3239
3413
  },
3240
- /* @__PURE__ */ import_react41.default.createElement(
3241
- import_theme_ui36.Box,
3414
+ /* @__PURE__ */ import_react45.default.createElement(
3415
+ import_theme_ui37.Box,
3242
3416
  __spreadValues({
3243
3417
  as: "select",
3244
3418
  ref,
@@ -3274,8 +3448,8 @@ var Select = (_a) => {
3274
3448
  }, props),
3275
3449
  children
3276
3450
  ),
3277
- /* @__PURE__ */ import_react41.default.createElement(
3278
- import_icons5.Arrow,
3451
+ /* @__PURE__ */ import_react45.default.createElement(
3452
+ import_icons7.Arrow,
3279
3453
  {
3280
3454
  sx: {
3281
3455
  width,
@@ -3294,16 +3468,16 @@ var Select = (_a) => {
3294
3468
  var select_default = Select;
3295
3469
 
3296
3470
  // src/slider.tsx
3297
- var import_react42 = __toESM(require("react"));
3298
- var import_theme_ui37 = require("theme-ui");
3471
+ var import_react46 = __toESM(require("react"));
3472
+ var import_theme_ui38 = require("theme-ui");
3299
3473
  var Slider = (_a, ref) => {
3300
- var _b = _a, { sx: sx3 } = _b, props = __objRest(_b, ["sx"]);
3301
- const color = get_sx_color_default(sx3);
3474
+ var _b = _a, { sx: sx4 } = _b, props = __objRest(_b, ["sx"]);
3475
+ const color = get_sx_color_default(sx4);
3302
3476
  const {
3303
3477
  theme: { rawColors: colors }
3304
- } = (0, import_theme_ui37.useThemeUI)();
3305
- return /* @__PURE__ */ import_react42.default.createElement(
3306
- import_theme_ui37.Slider,
3478
+ } = (0, import_theme_ui38.useThemeUI)();
3479
+ return /* @__PURE__ */ import_react46.default.createElement(
3480
+ import_theme_ui38.Slider,
3307
3481
  __spreadValues({
3308
3482
  ref,
3309
3483
  sx: __spreadValues({
@@ -3333,15 +3507,15 @@ var Slider = (_a, ref) => {
3333
3507
  }
3334
3508
  },
3335
3509
  color
3336
- }, sx3)
3510
+ }, sx4)
3337
3511
  }, props)
3338
3512
  );
3339
3513
  };
3340
- var slider_default = (0, import_react42.forwardRef)(Slider);
3514
+ var slider_default = (0, import_react46.forwardRef)(Slider);
3341
3515
 
3342
3516
  // src/table.tsx
3343
- var import_react43 = __toESM(require("react"));
3344
- var import_theme_ui38 = require("theme-ui");
3517
+ var import_react47 = __toESM(require("react"));
3518
+ var import_theme_ui39 = require("theme-ui");
3345
3519
  var styles2 = {
3346
3520
  reset: {
3347
3521
  verticalAlign: "baseline",
@@ -3384,7 +3558,7 @@ var styles2 = {
3384
3558
  };
3385
3559
  var Table = ({
3386
3560
  data,
3387
- sx: sx3,
3561
+ sx: sx4,
3388
3562
  color,
3389
3563
  header,
3390
3564
  columns,
@@ -3397,7 +3571,7 @@ var Table = ({
3397
3571
  if (!start || !columns || !width) {
3398
3572
  throw new Error("Must provide columns, start, and width");
3399
3573
  }
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(
3574
+ 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
3575
  row_default,
3402
3576
  {
3403
3577
  as: "tr",
@@ -3406,9 +3580,9 @@ var Table = ({
3406
3580
  borderTopWidth: !borderTop ? "0px" : "1px"
3407
3581
  })
3408
3582
  },
3409
- /* @__PURE__ */ import_react43.default.createElement(column_default, { as: "td", start: [1], width: columns, sx: styles2.index }, header)
3583
+ /* @__PURE__ */ import_react47.default.createElement(column_default, { as: "td", start: [1], width: columns, sx: styles2.index }, header)
3410
3584
  ), data.map((row, i) => {
3411
- return /* @__PURE__ */ import_react43.default.createElement(
3585
+ return /* @__PURE__ */ import_react47.default.createElement(
3412
3586
  row_default,
3413
3587
  {
3414
3588
  as: "tr",
@@ -3421,7 +3595,7 @@ var Table = ({
3421
3595
  })
3422
3596
  },
3423
3597
  row.map((column, j) => {
3424
- return /* @__PURE__ */ import_react43.default.createElement(
3598
+ return /* @__PURE__ */ import_react47.default.createElement(
3425
3599
  column_default,
3426
3600
  {
3427
3601
  as: "td",
@@ -3439,27 +3613,27 @@ var Table = ({
3439
3613
  var table_default = Table;
3440
3614
 
3441
3615
  // src/table-caption.tsx
3442
- var import_react44 = __toESM(require("react"));
3616
+ var import_react48 = __toESM(require("react"));
3443
3617
  var TableCaption = ({
3444
3618
  as = "figcaption",
3445
3619
  number,
3446
3620
  children
3447
3621
  }) => {
3448
- return /* @__PURE__ */ import_react44.default.createElement(caption_default, { as, number, label: "table" }, children);
3622
+ return /* @__PURE__ */ import_react48.default.createElement(caption_default, { as, number, label: "table" }, children);
3449
3623
  };
3450
3624
  TableCaption.displayName = "TableCaption";
3451
3625
  var table_caption_default = TableCaption;
3452
3626
 
3453
3627
  // src/toggle.tsx
3454
- var import_react45 = __toESM(require("react"));
3455
- var import_theme_ui39 = require("theme-ui");
3628
+ var import_react49 = __toESM(require("react"));
3629
+ var import_theme_ui40 = require("theme-ui");
3456
3630
  var import_color2 = require("@theme-ui/color");
3457
3631
  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);
3632
+ var _b = _a, { value, onClick, disabled, sx: sx4 } = _b, props = __objRest(_b, ["value", "onClick", "disabled", "sx"]);
3633
+ const color = get_sx_color_default(sx4);
3460
3634
  const active = disabled ? false : value;
3461
- return /* @__PURE__ */ import_react45.default.createElement(
3462
- import_theme_ui39.Box,
3635
+ return /* @__PURE__ */ import_react49.default.createElement(
3636
+ import_theme_ui40.Box,
3463
3637
  __spreadValues({
3464
3638
  ref,
3465
3639
  as: "button",
@@ -3474,10 +3648,10 @@ var Toggle = (_a, ref) => {
3474
3648
  p: [0],
3475
3649
  m: [0],
3476
3650
  display: "inline-block"
3477
- }, sx3)
3651
+ }, sx4)
3478
3652
  }, props),
3479
- /* @__PURE__ */ import_react45.default.createElement(
3480
- import_theme_ui39.Box,
3653
+ /* @__PURE__ */ import_react49.default.createElement(
3654
+ import_theme_ui40.Box,
3481
3655
  {
3482
3656
  sx: {
3483
3657
  width: "50px",
@@ -3489,8 +3663,8 @@ var Toggle = (_a, ref) => {
3489
3663
  display: "inline-block"
3490
3664
  }
3491
3665
  },
3492
- /* @__PURE__ */ import_react45.default.createElement(
3493
- import_theme_ui39.Box,
3666
+ /* @__PURE__ */ import_react49.default.createElement(
3667
+ import_theme_ui40.Box,
3494
3668
  {
3495
3669
  sx: {
3496
3670
  width: "14px",
@@ -3507,14 +3681,14 @@ var Toggle = (_a, ref) => {
3507
3681
  )
3508
3682
  );
3509
3683
  };
3510
- var toggle_default = (0, import_react45.forwardRef)(Toggle);
3684
+ var toggle_default = (0, import_react49.forwardRef)(Toggle);
3511
3685
 
3512
3686
  // 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,
3687
+ var import_react50 = __toESM(require("react"));
3688
+ var import_theme_ui41 = require("theme-ui");
3689
+ var Tray = ({ expanded, sx: sx4, children }) => {
3690
+ return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(
3691
+ import_theme_ui41.Box,
3518
3692
  {
3519
3693
  sx: {
3520
3694
  position: "fixed",
@@ -3530,8 +3704,8 @@ var Tray = ({ expanded, sx: sx3, children }) => {
3530
3704
  pointerEvents: expanded ? "all" : "none"
3531
3705
  }
3532
3706
  }
3533
- ), /* @__PURE__ */ import_react46.default.createElement(
3534
- import_theme_ui40.Box,
3707
+ ), /* @__PURE__ */ import_react50.default.createElement(
3708
+ import_theme_ui41.Box,
3535
3709
  {
3536
3710
  sx: __spreadValues({
3537
3711
  position: "fixed",
@@ -3551,9 +3725,9 @@ var Tray = ({ expanded, sx: sx3, children }) => {
3551
3725
  pl: [3, 4, 5, 6],
3552
3726
  pr: [3, 4, 5, 6],
3553
3727
  transform: expanded ? "translateY(0)" : "translateY(-100%)"
3554
- }, sx3)
3728
+ }, sx4)
3555
3729
  },
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))
3730
+ /* @__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
3731
  ));
3558
3732
  };
3559
3733
  var tray_default = Tray;
@@ -3589,10 +3763,10 @@ var formatDate = (date, options = defaultOptions) => {
3589
3763
  var format_date_default = formatDate;
3590
3764
 
3591
3765
  // src/utils/use-scrollbar-class.ts
3592
- var import_react47 = require("react");
3766
+ var import_react51 = require("react");
3593
3767
  var useScrollbarClass = () => {
3594
- const [className, setClassName] = (0, import_react47.useState)(null);
3595
- (0, import_react47.useEffect)(() => {
3768
+ const [className, setClassName] = (0, import_react51.useState)(null);
3769
+ (0, import_react51.useEffect)(() => {
3596
3770
  if (document && get_scrollbar_width_default(document) > 0) {
3597
3771
  setClassName("custom-scrollbar");
3598
3772
  }