@carbonplan/components 13.4.0-develop.0 → 13.4.0-develop.2

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
@@ -1742,6 +1742,13 @@ var Nav = ({ link, mode, nav, first, setExpanded }) => {
1742
1742
  }
1743
1743
  };
1744
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]);
1745
1752
  return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, links.map((d, i) => /* @__PURE__ */ import_react18.default.createElement(
1746
1753
  Nav,
1747
1754
  {
@@ -1844,7 +1851,6 @@ var RESOURCES = [
1844
1851
  var sx2 = {
1845
1852
  highlight: {
1846
1853
  mb: [2, 2, 3, 3],
1847
- mt: [3, 3, 0, 0],
1848
1854
  fontSize: [3, 3, 3, 4],
1849
1855
  fontFamily: "heading",
1850
1856
  letterSpacing: "smallcaps",
@@ -1852,19 +1858,28 @@ var sx2 = {
1852
1858
  color: "secondary"
1853
1859
  }
1854
1860
  };
1855
- var SearchMenu = ({}) => {
1861
+ var SearchMenu = ({
1862
+ setExpanded
1863
+ }) => {
1856
1864
  const [value, setValue] = (0, import_react21.useState)("");
1857
1865
  const [resources, setResources] = (0, import_react21.useState)(RESOURCES);
1858
1866
  const destination = `/search?query=${value.trim()}`;
1859
1867
  (0, import_react21.useEffect)(() => {
1860
1868
  fetch("/resources.json").then((res) => res.json()).then((res) => {
1861
- if (res.length === 3 && res.every((el) => el.label && Array.isArray(el.links))) {
1869
+ if (res.every((el) => el.label && Array.isArray(el.links))) {
1862
1870
  setResources(res);
1863
1871
  }
1864
1872
  }).catch(() => {
1865
1873
  setResources(RESOURCES);
1866
1874
  });
1867
1875
  }, []);
1876
+ (0, import_react21.useEffect)(() => {
1877
+ const handler = (e) => {
1878
+ if (e.key === "Escape") setExpanded(false);
1879
+ };
1880
+ document.addEventListener("keydown", handler);
1881
+ return () => document.removeEventListener("keydown", handler);
1882
+ }, [setExpanded]);
1868
1883
  return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(row_default, { columns: [6, 6, 10, 10] }, /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: [6, 6, 10, 10] }, /* @__PURE__ */ import_react21.default.createElement(
1869
1884
  import_theme_ui19.Flex,
1870
1885
  {
@@ -1912,6 +1927,7 @@ var SearchMenu = ({}) => {
1912
1927
  /* @__PURE__ */ import_react21.default.createElement(
1913
1928
  input_default,
1914
1929
  {
1930
+ autoFocus: true,
1915
1931
  id: "search",
1916
1932
  size: "xl",
1917
1933
  value,
@@ -1937,89 +1953,30 @@ var SearchMenu = ({}) => {
1937
1953
  row_default,
1938
1954
  {
1939
1955
  columns: [6, 6, 10, 10],
1940
- sx: { display: ["none", "grid", "grid", "grid"] }
1956
+ sx: {
1957
+ mt: [6, 7, 8, 8],
1958
+ rowGap: [5, 4, 6, 7]
1959
+ }
1941
1960
  },
1942
- /* @__PURE__ */ import_react21.default.createElement(
1961
+ resources.map((group, i) => /* @__PURE__ */ import_react21.default.createElement(
1943
1962
  column_default,
1944
1963
  {
1945
- start: 1,
1946
- width: 5,
1947
- sx: { mt: [2, 2, 8, 8], mb: [1, 1, , 6, 6] }
1948
- },
1949
- /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { as: "h2", variant: "styles.h2", sx: { my: 0 } }, "Popular resources")
1950
- ),
1951
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [1, 1, 2, 2], width: 3 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[0].label), resources[0].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1952
- button_default,
1953
- {
1954
- key: href,
1955
- href,
1956
- size: "md",
1957
- sx: { mb: [1] },
1958
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1964
+ start: [1, 1 + i * 3 % 6, 2 + i * 3 % 9, 2 + i * 3 % 9],
1965
+ width: [6, 3, 3, 3]
1959
1966
  },
1960
- label
1961
- ))),
1962
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [4, 4, 5, 5], width: 3 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[1].label), resources[1].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1963
- button_default,
1964
- {
1965
- key: href,
1966
- href,
1967
- size: "md",
1968
- sx: { mb: [1] },
1969
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1970
- },
1971
- label
1972
- ))),
1973
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: [1, 1, 8, 8], width: 3, sx: { mt: [0, 4, 0, 0] } }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[2].label), resources[2].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1974
- button_default,
1975
- {
1976
- key: href,
1977
- href,
1978
- size: "md",
1979
- sx: { mb: [1] },
1980
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1981
- },
1982
- label
1983
- )))
1984
- ), /* @__PURE__ */ import_react21.default.createElement(
1985
- row_default,
1986
- {
1987
- columns: [6, 6, 10, 10],
1988
- sx: { display: ["grid", "none", "none", "none"] }
1989
- },
1990
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { as: "h2", variant: "styles.h3", sx: { my: 4 } }, "Popular resources"), /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[0].label), resources[0].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1991
- button_default,
1992
- {
1993
- key: href,
1994
- href,
1995
- size: "xs",
1996
- sx: { mb: [1] },
1997
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1998
- },
1999
- label
2000
- ))),
2001
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[1].label), resources[1].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
2002
- button_default,
2003
- {
2004
- key: href,
2005
- href,
2006
- size: "xs",
2007
- sx: { mb: [1] },
2008
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2009
- },
2010
- label
2011
- ))),
2012
- /* @__PURE__ */ import_react21.default.createElement(column_default, { start: 1, width: 6 }, /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, resources[2].label), resources[2].links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
2013
- button_default,
2014
- {
2015
- key: href,
2016
- href,
2017
- size: "xs",
2018
- sx: { mb: [1] },
2019
- suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
2020
- },
2021
- label
2022
- )))
1967
+ /* @__PURE__ */ import_react21.default.createElement(import_theme_ui19.Box, { sx: sx2.highlight }, group.label),
1968
+ group.links.map(({ label, href }) => /* @__PURE__ */ import_react21.default.createElement(
1969
+ button_default,
1970
+ {
1971
+ key: href,
1972
+ href,
1973
+ size: "md",
1974
+ sx: { mb: [1] },
1975
+ suffix: /* @__PURE__ */ import_react21.default.createElement(import_icons4.RotatingArrow, null)
1976
+ },
1977
+ label
1978
+ ))
1979
+ ))
2023
1980
  ));
2024
1981
  };
2025
1982
  var search_menu_default = SearchMenu;
@@ -2158,24 +2115,14 @@ var Header = ({ status, mode, nav, menuItems }) => {
2158
2115
  transition: "opacity 0.25s"
2159
2116
  }
2160
2117
  },
2161
- /* @__PURE__ */ import_react22.default.createElement(import_theme_ui20.Container, null, /* @__PURE__ */ import_react22.default.createElement(row_default, null, menuExpanded ? /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [2, 4, 7, 7], width: [5, 4, 5, 5] }, /* @__PURE__ */ import_react22.default.createElement(
2162
- import_theme_ui20.Box,
2118
+ /* @__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(
2119
+ navigation_menu_default,
2163
2120
  {
2164
- as: "nav",
2165
- sx: {
2166
- display: menuExpanded ? "inherit" : "none",
2167
- mt: [5, 5, 5, 6]
2168
- }
2169
- },
2170
- /* @__PURE__ */ import_react22.default.createElement(
2171
- navigation_menu_default,
2172
- {
2173
- nav,
2174
- mode,
2175
- setExpanded: setMenuExpanded
2176
- }
2177
- )
2178
- )) : /* @__PURE__ */ import_react22.default.createElement(column_default, { start: [1, 2, 2, 2], width: [6, 6, 10, 10] }, /* @__PURE__ */ import_react22.default.createElement(search_menu_default, { setExpanded: setSearchExpanded }))))
2121
+ nav,
2122
+ mode,
2123
+ setExpanded: setMenuExpanded
2124
+ }
2125
+ ))), 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 }))))
2179
2126
  )
2180
2127
  );
2181
2128
  };