@ixo/ui 0.0.6 → 0.0.8

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.
Files changed (86) hide show
  1. package/dist/.vite/manifest.json +54 -54
  2. package/dist/{UsersSolid-Bj2vwEHq.cjs → UsersSolid-B9DXA9NX.cjs} +41 -1
  3. package/dist/UsersSolid-B9DXA9NX.cjs.map +1 -0
  4. package/dist/{UsersSolid-CYOWcNJV.js → UsersSolid-DNy80FwB.js} +82 -42
  5. package/dist/UsersSolid-DNy80FwB.js.map +1 -0
  6. package/dist/components/AppShellNavigation/index.d.ts +16 -2
  7. package/dist/components/AppShellNavigation/index.d.ts.map +1 -1
  8. package/dist/components/ButtonBasic/index.d.ts.map +1 -1
  9. package/dist/components/ButtonSubtle/index.d.ts.map +1 -1
  10. package/dist/components/EcosystemCard/index.d.ts.map +1 -1
  11. package/dist/components/MoreMenu/components/Item/index.d.ts +1 -1
  12. package/dist/components/MoreMenu/components/Item/index.d.ts.map +1 -1
  13. package/dist/components/MoreMenu/components/Item/types.d.ts +2 -0
  14. package/dist/components/MoreMenu/components/Item/types.d.ts.map +1 -1
  15. package/dist/components/MoreMenu/index.d.ts +1 -1
  16. package/dist/components/MoreMenu/index.d.ts.map +1 -1
  17. package/dist/components/NavButton/index.d.ts.map +1 -1
  18. package/dist/{components-BoLr9Qow.js → components-BAyyDDDY.js} +237 -200
  19. package/dist/{components-BoLr9Qow.js.map → components-BAyyDDDY.js.map} +1 -1
  20. package/dist/{components-2IYis_pS.cjs → components-C0CDgjvn.cjs} +234 -197
  21. package/dist/{components-2IYis_pS.cjs.map → components-C0CDgjvn.cjs.map} +1 -1
  22. package/dist/constants/themes.d.ts.map +1 -1
  23. package/dist/export/components.cjs +1 -1
  24. package/dist/export/components.mjs +1 -1
  25. package/dist/export/icons/index.cjs +3 -1
  26. package/dist/export/icons/index.cjs.map +1 -1
  27. package/dist/export/icons/index.mjs +45 -43
  28. package/dist/export/themes.cjs +1 -1
  29. package/dist/export/themes.mjs +1 -1
  30. package/dist/icons/PanelLeftSolid.d.ts +4 -0
  31. package/dist/icons/PanelLeftSolid.d.ts.map +1 -0
  32. package/dist/icons/SettingsBarSolid.d.ts +4 -0
  33. package/dist/icons/SettingsBarSolid.d.ts.map +1 -0
  34. package/dist/icons/index.d.ts +2 -0
  35. package/dist/icons/index.d.ts.map +1 -1
  36. package/dist/{index-BViyRAH_.cjs → index-1BIqaTq6.cjs} +3 -3
  37. package/dist/{index-BViyRAH_.cjs.map → index-1BIqaTq6.cjs.map} +1 -1
  38. package/dist/{index-GZOZ7L0s.js → index-A8uoDM6y.js} +3 -3
  39. package/dist/{index-GZOZ7L0s.js.map → index-A8uoDM6y.js.map} +1 -1
  40. package/dist/{index-DoeAXBYv.cjs → index-B4Wox4lv.cjs} +2 -2
  41. package/dist/{index-DoeAXBYv.cjs.map → index-B4Wox4lv.cjs.map} +1 -1
  42. package/dist/{index-BfkAX8vS.js → index-BB2FOFog.js} +2 -2
  43. package/dist/{index-BfkAX8vS.js.map → index-BB2FOFog.js.map} +1 -1
  44. package/dist/{index-B6xg69Dq.cjs → index-BLRJBp-_.cjs} +2 -2
  45. package/dist/{index-B6xg69Dq.cjs.map → index-BLRJBp-_.cjs.map} +1 -1
  46. package/dist/{index-D-yx5xCK.js → index-Bfl1m3Ui.js} +3 -3
  47. package/dist/{index-D-yx5xCK.js.map → index-Bfl1m3Ui.js.map} +1 -1
  48. package/dist/{index-D9Jjiwns.cjs → index-BwpGcQGZ.cjs} +2 -2
  49. package/dist/{index-D9Jjiwns.cjs.map → index-BwpGcQGZ.cjs.map} +1 -1
  50. package/dist/{index-DRT7h4xd.js → index-C6EdX2d9.js} +2 -2
  51. package/dist/{index-DRT7h4xd.js.map → index-C6EdX2d9.js.map} +1 -1
  52. package/dist/{index-DBvgEa5H.cjs → index-CPh7xFzh.cjs} +3 -3
  53. package/dist/{index-DBvgEa5H.cjs.map → index-CPh7xFzh.cjs.map} +1 -1
  54. package/dist/{index-7eiS7IVr.js → index-CggCDtn-.js} +2 -2
  55. package/dist/{index-7eiS7IVr.js.map → index-CggCDtn-.js.map} +1 -1
  56. package/dist/{index-D_Sg8YF7.cjs → index-CoEXRr42.cjs} +2 -2
  57. package/dist/{index-D_Sg8YF7.cjs.map → index-CoEXRr42.cjs.map} +1 -1
  58. package/dist/{index-BwK5-98B.js → index-D5e7qnjY.js} +2 -2
  59. package/dist/{index-BwK5-98B.js.map → index-D5e7qnjY.js.map} +1 -1
  60. package/dist/{index-2RkJbTMY.js → index-DCpQFNqj.js} +2 -2
  61. package/dist/{index-2RkJbTMY.js.map → index-DCpQFNqj.js.map} +1 -1
  62. package/dist/{index-Jt88FVTH.cjs → index-DEbK4rzc.cjs} +3 -3
  63. package/dist/{index-Jt88FVTH.cjs.map → index-DEbK4rzc.cjs.map} +1 -1
  64. package/dist/{index-ufMtBCkV.js → index-DHZY_QlO.js} +2 -2
  65. package/dist/{index-ufMtBCkV.js.map → index-DHZY_QlO.js.map} +1 -1
  66. package/dist/{index-C68HB9Av.cjs → index-DXGbncOU.cjs} +2 -2
  67. package/dist/{index-C68HB9Av.cjs.map → index-DXGbncOU.cjs.map} +1 -1
  68. package/dist/{index-Bd5Hg5BP.js → index-DuOYVQF3.js} +2 -2
  69. package/dist/{index-Bd5Hg5BP.js.map → index-DuOYVQF3.js.map} +1 -1
  70. package/dist/{index-Dit9UCpC.cjs → index-Dy_poZN2.cjs} +2 -2
  71. package/dist/{index-Dit9UCpC.cjs.map → index-Dy_poZN2.cjs.map} +1 -1
  72. package/dist/{index-7ENn--8R.cjs → index-DzLu1w4C.cjs} +2 -2
  73. package/dist/{index-7ENn--8R.cjs.map → index-DzLu1w4C.cjs.map} +1 -1
  74. package/dist/{index-CNWC1hG3.js → index-hNGq5T2S.js} +3 -3
  75. package/dist/{index-CNWC1hG3.js.map → index-hNGq5T2S.js.map} +1 -1
  76. package/dist/{themes-DxTEP-Kl.cjs → themes-CAW1Y0Nk.cjs} +4 -3
  77. package/dist/themes-CAW1Y0Nk.cjs.map +1 -0
  78. package/dist/{themes-B3gRP8Wm.js → themes-Dxo8D1cq.js} +4 -3
  79. package/dist/themes-Dxo8D1cq.js.map +1 -0
  80. package/dist/types/UITheme.d.ts +1 -0
  81. package/dist/types/UITheme.d.ts.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/UsersSolid-Bj2vwEHq.cjs.map +0 -1
  84. package/dist/UsersSolid-CYOWcNJV.js.map +0 -1
  85. package/dist/themes-B3gRP8Wm.js.map +0 -1
  86. package/dist/themes-DxTEP-Kl.cjs.map +0 -1
@@ -1,23 +1,23 @@
1
1
  import { jsx, Fragment, jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { isString, toggle, get, isFunction, assign } from "radash";
3
3
  import { useTheme, jsx as jsx$1, keyframes, ThemeProvider } from "@emotion/react";
4
- import { g as getElementColor, A as AngleDownSolid, a as CheckSolid, C as Close, L as Loading, P as PlusSolid, S as SearchSolid, b as Assistant, c as ArrowUpSolid, E as EllipsisVSolid, U as User, d as AngleRightSolid, e as EllipsisHSolid, f as AngleLeftSolid, G as Globe, D as Dashboard, h as Groups, i as UserCircleSolid, j as Assets$1, k as Claims, l as Accounts, H as HistorySolid, m as LinkedResources, n as Proposals, I as ImpactCredits, o as GoTo, p as Share, q as PiePiece, r as ImpactCertificates, s as CommentDotsSolid, t as CommentAltSolid, M as MicrophoneSolid, u as Command, v as ArrowCircleRightSolid, w as Protocols, x as Investments, O as Oracles, y as Projects, z as Daos, B as Star, F as Expand, J as LeafSolid, K as ArrowDownSolid, N as ArrowLeftSolid, Q as ArrowRightSolid, R as Play, T as CheckCircle, V as Events, W as ThumbsUpSolid, X as CommentsSolid, Y as CopySolid, Z as Hourglass, _ as Act, $ as Info$1, a0 as ClaimsW, a1 as TachometerAltSolid, a2 as UserCogSolid, a3 as UsersSolid } from "./UsersSolid-CYOWcNJV.js";
4
+ import { g as getElementColor, A as AngleDownSolid, a as CheckSolid, C as Close, L as Loading, P as PlusSolid, S as SearchSolid, b as Assistant, c as ArrowUpSolid, E as EllipsisVSolid, U as User, d as SettingsBarSolid, e as AngleRightSolid, f as ArrowLeftSolid, G as Globe, h as PanelLeftSolid, i as AngleLeftSolid, D as Dashboard, j as Groups, k as UserCircleSolid, l as Assets$1, m as Claims, n as Accounts, H as HistorySolid, o as LinkedResources, p as Proposals, I as ImpactCredits, q as GoTo, r as Share, s as PiePiece, t as ImpactCertificates, u as CommentDotsSolid, v as CommentAltSolid, M as MicrophoneSolid, w as Command, x as ArrowCircleRightSolid, y as Protocols, z as Investments, O as Oracles, B as Projects, F as Daos, J as Star, K as Expand, N as LeafSolid, Q as ArrowDownSolid, R as ArrowRightSolid, T as Play, V as CheckCircle, W as Events, X as ThumbsUpSolid, Y as CommentsSolid, Z as CopySolid, _ as Hourglass, $ as Act, a0 as Info$1, a1 as ClaimsW, a2 as TachometerAltSolid, a3 as UserCogSolid, a4 as UsersSolid, a5 as EllipsisHSolid } from "./UsersSolid-DNy80FwB.js";
5
5
  import { useState, useCallback, useRef, useEffect, Suspense, lazy, forwardRef, useId, useMemo, Fragment as Fragment$1, useLayoutEffect, useImperativeHandle, memo } from "react";
6
6
  import { T as TAG_SMALL_HEIGHT, D as DEFAULT_ICON_SIZE } from "./constants-B7xlU8b8.js";
7
- import { Accordion as Accordion$1, Box, Image, AppShell, Stack as Stack$1, Center, Divider, Paper, Text as Text$1, Badge as Badge$1 } from "@mantine/core";
7
+ import { Accordion as Accordion$1, Box, Image, Popover, Text as Text$1, AppShell, Stack as Stack$1, Center, Divider, Paper, Badge as Badge$1 } from "@mantine/core";
8
8
  import { cx, css } from "@emotion/css";
9
9
  import { createPortal } from "react-dom";
10
10
  import DOMPurify from "dompurify";
11
- import { Popover } from "react-tiny-popover";
12
- import { useDisclosure, useHover } from "@mantine/hooks";
13
11
  import { u as useUITheme } from "./useUITheme-7i8NJ2FG.js";
12
+ import { useDisclosure, useHover } from "@mantine/hooks";
14
13
  import Markdown from "react-markdown";
15
14
  import remarkGfm from "remark-gfm";
16
15
  import { useCombobox, useSelect } from "downshift";
16
+ import { Popover as Popover$1 } from "react-tiny-popover";
17
17
  import dayjs from "dayjs";
18
18
  import { B as Blank } from "./Blank-CElsicB7.js";
19
19
  import { E as EventEmitter, u as useEventSubscribe } from "./useEventSubscribe-16wxaghO.js";
20
- import { d as dark, l as light } from "./themes-B3gRP8Wm.js";
20
+ import { d as dark, l as light } from "./themes-Dxo8D1cq.js";
21
21
  function SlideUpArea({ children, isVisible }) {
22
22
  return /* @__PURE__ */ jsx(
23
23
  "div",
@@ -774,8 +774,8 @@ function AccordionTable({
774
774
  }
775
775
  );
776
776
  }
777
- const Header$3 = lazy(() => import("./index-GZOZ7L0s.js"));
778
- const Footer = lazy(() => import("./index-CNWC1hG3.js"));
777
+ const Header$3 = lazy(() => import("./index-A8uoDM6y.js"));
778
+ const Footer = lazy(() => import("./index-hNGq5T2S.js"));
779
779
  function ActionCard({ header, content, footer, useHoverMode = false }) {
780
780
  const hasContent = !!content || !!footer;
781
781
  const initialVisibility = footer?.startHidden !== true;
@@ -859,7 +859,7 @@ function Loader({ size, color = "primary" }) {
859
859
  }
860
860
  const CARD_WIDTH$1 = 350;
861
861
  const CARD_HEADER_HEIGHT = 158;
862
- const Header$2 = lazy(() => import("./index-BfkAX8vS.js"));
862
+ const Header$2 = lazy(() => import("./index-BB2FOFog.js"));
863
863
  function Card({ children, className, contentClassName, roundedBottom, noPadding = false, fullWidth = false, header, wrapperSx, onClick }) {
864
864
  const wrapperRef = useRef(null);
865
865
  const handleOnClick = useCallback(
@@ -1294,7 +1294,7 @@ function ModalSheet({ isOpen, children, hideHandler, zIndex, onRequestHide, onRe
1294
1294
  document.body
1295
1295
  );
1296
1296
  }
1297
- const Badge = lazy(() => import("./index-7eiS7IVr.js"));
1297
+ const Badge = lazy(() => import("./index-CggCDtn-.js"));
1298
1298
  function ActionSheet({ children, isOpen, header, navMenu = void 0, onRequestHide, onRequestShow }) {
1299
1299
  const shadowScrollRef = useRef(null);
1300
1300
  const wrapperContentAreaRef = useRef(null);
@@ -1873,90 +1873,154 @@ function HtmlRender({ content, className }) {
1873
1873
  const safeHTML = DOMPurify.sanitize(content, { FORBID_ATTR: ["style"] });
1874
1874
  return /* @__PURE__ */ jsx(StyleDOMApplier, { children: /* @__PURE__ */ jsx("div", { className, dangerouslySetInnerHTML: { __html: safeHTML } }) });
1875
1875
  }
1876
- function Item({ label, disabled, active, onClick }) {
1877
- return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1876
+ const Flex = forwardRef(
1877
+ ({
1878
+ direction = "row",
1879
+ align = "stretch",
1880
+ justify = "flex-start",
1881
+ gap = 0,
1882
+ m = 0,
1883
+ mt = 0,
1884
+ mb = 0,
1885
+ ml = 0,
1886
+ mr = 0,
1887
+ mx = 0,
1888
+ my = 0,
1889
+ p = 0,
1890
+ pt = 0,
1891
+ pb = 0,
1892
+ pl = 0,
1893
+ pr = 0,
1894
+ px = 0,
1895
+ py = 0,
1896
+ bg,
1897
+ radius = 0,
1898
+ children,
1899
+ ...props
1900
+ }, ref) => {
1901
+ return /* @__PURE__ */ jsx(
1902
+ "div",
1903
+ {
1904
+ ref,
1905
+ ...props,
1906
+ style: {
1907
+ display: "flex",
1908
+ flexDirection: direction,
1909
+ alignItems: align,
1910
+ justifyContent: justify,
1911
+ gap,
1912
+ margin: m,
1913
+ marginTop: mt || my,
1914
+ marginBottom: mb || my,
1915
+ marginLeft: ml || mx,
1916
+ marginRight: mr || mx,
1917
+ padding: p,
1918
+ paddingTop: pt || py,
1919
+ paddingBottom: pb || py,
1920
+ paddingLeft: pl || px,
1921
+ paddingRight: pr || px,
1922
+ backgroundColor: bg,
1923
+ borderRadius: radius,
1924
+ ...props.style
1925
+ },
1926
+ children
1927
+ }
1928
+ );
1929
+ }
1930
+ );
1931
+ Flex.displayName = "Flex";
1932
+ function Item({ icon, label, disabled, active, onClick }) {
1933
+ const IconComponent = icon;
1934
+ return /* @__PURE__ */ jsx(
1878
1935
  "button",
1879
1936
  {
1880
- css: ({ spacing, bg }) => ({
1937
+ css: ({ bg, colors }) => ({
1881
1938
  width: "100%",
1882
- background: active ? bg.actionPanel : "none",
1939
+ borderRadius: 4,
1940
+ padding: "4px 12px",
1941
+ background: bg.navIconsBg,
1883
1942
  border: "none",
1884
- padding: spacing,
1885
1943
  cursor: disabled ? "not-allowed" : "pointer",
1886
1944
  textAlign: "left",
1887
1945
  "&:hover": {
1888
- backgroundColor: disabled ? void 0 : bg.cardHighlight
1946
+ backgroundColor: disabled ? void 0 : colors.whiteTransparent10
1889
1947
  }
1890
1948
  }),
1891
1949
  disabled,
1892
1950
  onClick,
1893
- children: /* @__PURE__ */ jsx(
1894
- Typography.Text,
1895
- {
1896
- css: ({ fontSize, text, colors }) => ({
1897
- fontSize: fontSize.s,
1898
- color: disabled ? text.secondary : active ? colors.focus : text.main
1899
- }),
1900
- children: label
1901
- }
1902
- )
1951
+ children: /* @__PURE__ */ jsxs(Flex, { align: "center", gap: 8, children: [
1952
+ IconComponent && /* @__PURE__ */ jsx(IconComponent, { size: 16 }),
1953
+ /* @__PURE__ */ jsx(
1954
+ Typography.Text,
1955
+ {
1956
+ css: ({ fontSize, text, colors }) => ({
1957
+ fontSize: fontSize.xs,
1958
+ color: disabled ? text.secondary : active ? colors.focus : text.overPicture
1959
+ }),
1960
+ children: label
1961
+ }
1962
+ )
1963
+ ] })
1903
1964
  }
1904
- ) });
1965
+ );
1905
1966
  }
1906
- function MoreMenu({ items, controlColor = "primary", positions = ["bottom", "right", "left", "top"] }) {
1907
- const { value: isVisible, toggle: toggleMenu, off: hideMenu } = useToggle(false);
1908
- return /* @__PURE__ */ jsx(
1967
+ function MoreMenu({ items, controlColor = "primary" }) {
1968
+ const theme = useUITheme();
1969
+ const [opened, setOpened] = useState(false);
1970
+ return /* @__PURE__ */ jsxs(
1909
1971
  Popover,
1910
1972
  {
1911
- isOpen: isVisible,
1912
- positions,
1913
- align: "start",
1914
- onClickOutside: hideMenu,
1915
- content: /* @__PURE__ */ jsx(
1916
- "ul",
1917
- {
1918
- css: ({ bg, neutral }) => ({
1919
- padding: 0,
1920
- margin: 0,
1921
- listStyle: "none",
1922
- whiteSpace: "nowrap",
1923
- borderWidth: 1,
1924
- borderStyle: "solid",
1925
- borderColor: bg.actionPanel,
1926
- backgroundColor: neutral.whiteFull
1927
- }),
1928
- children: items.map((item) => /* @__PURE__ */ jsx(
1973
+ opened,
1974
+ onChange: setOpened,
1975
+ closeOnClickOutside: true,
1976
+ styles: {
1977
+ dropdown: {
1978
+ background: theme.bg.navIconsBg,
1979
+ border: "none",
1980
+ padding: "12px 4px",
1981
+ marginLeft: 10
1982
+ }
1983
+ },
1984
+ trapFocus: true,
1985
+ width: 200,
1986
+ position: "right-start",
1987
+ shadow: "md",
1988
+ children: [
1989
+ /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(
1990
+ "button",
1991
+ {
1992
+ css: {
1993
+ background: "none",
1994
+ border: "none",
1995
+ padding: 0,
1996
+ cursor: "pointer",
1997
+ position: "relative",
1998
+ display: "flex",
1999
+ alignItems: "center",
2000
+ justifyContent: "center"
2001
+ },
2002
+ onClick: () => setOpened((o) => !o),
2003
+ children: /* @__PURE__ */ jsx(EllipsisVSolid, { size: 20, color: controlColor })
2004
+ }
2005
+ ) }),
2006
+ /* @__PURE__ */ jsxs(Popover.Dropdown, { children: [
2007
+ /* @__PURE__ */ jsx(Text$1, { ml: 12, mb: 10, fz: 12, c: theme.text.secondary, children: "Page" }),
2008
+ items.map((item) => /* @__PURE__ */ jsx(
1929
2009
  Item,
1930
2010
  {
2011
+ icon: item.icon,
1931
2012
  label: item.label,
1932
2013
  disabled: item.disabled,
1933
2014
  active: item.active,
1934
2015
  onClick: () => {
1935
2016
  item.onClick();
1936
- hideMenu();
2017
+ setOpened(false);
1937
2018
  }
1938
2019
  },
1939
2020
  item.label
1940
2021
  ))
1941
- }
1942
- ),
1943
- children: /* @__PURE__ */ jsx(
1944
- "button",
1945
- {
1946
- css: {
1947
- background: "none",
1948
- border: "none",
1949
- padding: 0,
1950
- cursor: "pointer",
1951
- position: "relative",
1952
- display: "flex",
1953
- alignItems: "center",
1954
- justifyContent: "center"
1955
- },
1956
- onClick: toggleMenu,
1957
- children: /* @__PURE__ */ jsx(EllipsisVSolid, { color: controlColor })
1958
- }
1959
- )
2022
+ ] })
2023
+ ]
1960
2024
  }
1961
2025
  );
1962
2026
  }
@@ -2072,62 +2136,6 @@ function Avatar({ src, rounded = true, size = 62, did }) {
2072
2136
  }
2073
2137
  return /* @__PURE__ */ jsx(User, { css: ({ text }) => ({ ...css2, backgroundColor: text.secondary }) });
2074
2138
  }
2075
- const Flex = forwardRef(
2076
- ({
2077
- direction = "row",
2078
- align = "stretch",
2079
- justify = "flex-start",
2080
- gap = 0,
2081
- m = 0,
2082
- mt = 0,
2083
- mb = 0,
2084
- ml = 0,
2085
- mr = 0,
2086
- mx = 0,
2087
- my = 0,
2088
- p = 0,
2089
- pt = 0,
2090
- pb = 0,
2091
- pl = 0,
2092
- pr = 0,
2093
- px = 0,
2094
- py = 0,
2095
- bg,
2096
- radius = 0,
2097
- children,
2098
- ...props
2099
- }, ref) => {
2100
- return /* @__PURE__ */ jsx(
2101
- "div",
2102
- {
2103
- ref,
2104
- ...props,
2105
- style: {
2106
- display: "flex",
2107
- flexDirection: direction,
2108
- alignItems: align,
2109
- justifyContent: justify,
2110
- gap,
2111
- margin: m,
2112
- marginTop: mt || my,
2113
- marginBottom: mb || my,
2114
- marginLeft: ml || mx,
2115
- marginRight: mr || mx,
2116
- padding: p,
2117
- paddingTop: pt || py,
2118
- paddingBottom: pb || py,
2119
- paddingLeft: pl || px,
2120
- paddingRight: pr || px,
2121
- backgroundColor: bg,
2122
- borderRadius: radius,
2123
- ...props.style
2124
- },
2125
- children
2126
- }
2127
- );
2128
- }
2129
- );
2130
- Flex.displayName = "Flex";
2131
2139
  function SpaceItem({ icon, id, onClick }) {
2132
2140
  const { hovered, ref } = useHover();
2133
2141
  const theme = useUITheme();
@@ -2142,7 +2150,7 @@ function SpaceItem({ icon, id, onClick }) {
2142
2150
  transition: "transform 0.2s ease"
2143
2151
  },
2144
2152
  pos: "relative",
2145
- bg: hovered ? theme.neutral.transparent10 : theme.bg.navScaled,
2153
+ bg: hovered ? theme.neutral.transparent10 : theme.bg.navIconsBg,
2146
2154
  mih: 40,
2147
2155
  w: 40,
2148
2156
  onClick: () => onClick(id),
@@ -2150,31 +2158,80 @@ function SpaceItem({ icon, id, onClick }) {
2150
2158
  }
2151
2159
  );
2152
2160
  }
2153
- function MenuItem({ item, onMenuItemClick }) {
2161
+ function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2154
2162
  const { hovered, ref } = useHover();
2155
2163
  const theme = useUITheme();
2156
- return /* @__PURE__ */ jsxs(
2157
- Flex,
2158
- {
2159
- ref,
2160
- align: "center",
2161
- gap: 8,
2162
- px: 12,
2163
- py: 6,
2164
- style: {
2165
- cursor: "pointer",
2166
- borderRadius: 8,
2167
- backgroundColor: item.isActive ? theme.neutral.transparent10 : hovered ? theme.neutral.transparent10 : "transparent",
2168
- transform: hovered ? "translateX(4px)" : "translateX(0px)",
2169
- transition: "all 0.2s ease"
2170
- },
2171
- onClick: () => onMenuItemClick(item),
2172
- children: [
2173
- /* @__PURE__ */ jsx(item.icon, { size: 20, color: "secondary" }),
2174
- /* @__PURE__ */ jsx(Text$1, { fz: 14, c: theme.neutral.lightGray, children: item.name })
2175
- ]
2176
- }
2177
- );
2164
+ const { value: isExpanded, toggle: toggle2 } = useToggle(false);
2165
+ const hasChildren = item.children && item.children.length > 0;
2166
+ const handleItemClick = () => {
2167
+ onMenuItemClick(item);
2168
+ };
2169
+ const handleToggleClick = (e) => {
2170
+ e.stopPropagation();
2171
+ toggle2();
2172
+ };
2173
+ return /* @__PURE__ */ jsxs(Stack$1, { gap: 1, children: [
2174
+ /* @__PURE__ */ jsxs(
2175
+ Flex,
2176
+ {
2177
+ ref,
2178
+ align: "center",
2179
+ gap: 8,
2180
+ justify: "space-between",
2181
+ pl: 12 + depth * 16,
2182
+ pr: 12,
2183
+ py: 6,
2184
+ style: {
2185
+ cursor: "pointer",
2186
+ borderRadius: 8,
2187
+ backgroundColor: item.isActive ? theme.bg.navIconsBg : hovered ? theme.bg.navIconsBg : "transparent",
2188
+ transform: hovered ? "translateX(4px)" : "translateX(0px)",
2189
+ transition: "all 0.2s ease"
2190
+ },
2191
+ onClick: handleItemClick,
2192
+ children: [
2193
+ /* @__PURE__ */ jsxs(Flex, { align: "center", gap: 4, children: [
2194
+ /* @__PURE__ */ jsx(item.icon, { size: 20, color: item.isActive ? "overPicture" : "secondary" }),
2195
+ /* @__PURE__ */ jsx(Text$1, { fz: 14, fw: 500, c: item.isActive ? theme.neutral.lightGray : theme.text.secondary, style: { flex: 1 }, children: item.name })
2196
+ ] }),
2197
+ /* @__PURE__ */ jsxs(Flex, { children: [
2198
+ hasChildren && /* @__PURE__ */ jsx(
2199
+ Center,
2200
+ {
2201
+ onClick: handleToggleClick,
2202
+ p: 4,
2203
+ sx: {
2204
+ cursor: "pointer",
2205
+ borderRadius: 4,
2206
+ transform: isExpanded ? "rotate(-90deg)" : "rotate(0deg)",
2207
+ transition: "transform 0.2s ease",
2208
+ "&:hover": {
2209
+ backgroundColor: theme.neutral.transparent10
2210
+ }
2211
+ },
2212
+ children: /* @__PURE__ */ jsx(AngleLeftSolid, { size: 12, color: "secondary" })
2213
+ }
2214
+ ),
2215
+ item?.actions && item.actions.length > 0 && /* @__PURE__ */ jsx(
2216
+ Center,
2217
+ {
2218
+ sx: {
2219
+ cursor: "pointer",
2220
+ borderRadius: 4,
2221
+ transition: "transform 0.2s ease",
2222
+ "&:hover": {
2223
+ backgroundColor: theme.neutral.transparent10
2224
+ }
2225
+ },
2226
+ children: /* @__PURE__ */ jsx(MoreMenu, { items: item.actions, controlColor: "secondary" })
2227
+ }
2228
+ )
2229
+ ] })
2230
+ ]
2231
+ }
2232
+ ),
2233
+ hasChildren && isExpanded && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: item.children?.map((childItem) => /* @__PURE__ */ jsx(MenuItem, { item: childItem, onMenuItemClick, depth: depth + 1 }, childItem.id)) })
2234
+ ] });
2178
2235
  }
2179
2236
  function RoomItem({ room }) {
2180
2237
  const { hovered, ref } = useHover();
@@ -2243,14 +2300,18 @@ function RoomCategory({ category }) {
2243
2300
  }
2244
2301
  function AppShellNavigation({
2245
2302
  spaces,
2303
+ pageItem,
2246
2304
  selectedSpace,
2247
2305
  menuItems,
2248
- roomCategories,
2249
2306
  companyIcon,
2250
2307
  onAddSpaceClick,
2251
2308
  avatarIcon,
2252
2309
  onMenuItemClick,
2253
- onPersonalSpaceClick,
2310
+ onSettingsIconClick,
2311
+ onBackClick,
2312
+ isBackButtonVisible,
2313
+ footerMenuItems,
2314
+ roomCategories,
2254
2315
  children
2255
2316
  }) {
2256
2317
  const [desktopOpened, { toggle: toggleDesktop }] = useDisclosure(true);
@@ -2264,7 +2325,7 @@ function AppShellNavigation({
2264
2325
  background: theme.bg.navScaled
2265
2326
  }
2266
2327
  },
2267
- bg: theme.bg.navScaled,
2328
+ bg: theme.bg.navIconsBg,
2268
2329
  navbar: {
2269
2330
  width: desktopOpened ? 300 : 56,
2270
2331
  breakpoint: "sm"
@@ -2273,8 +2334,8 @@ function AppShellNavigation({
2273
2334
  /* @__PURE__ */ jsx(AppShell.Navbar, { children: /* @__PURE__ */ jsxs(Flex, { style: { height: "100%" }, children: [
2274
2335
  /* @__PURE__ */ jsxs(Stack$1, { p: 8, w: 56, justify: "space-between", h: "100%", bg: theme.bg.navSpaces, children: [
2275
2336
  /* @__PURE__ */ jsxs(Stack$1, { align: "center", style: { flex: 1, overflowY: "auto", overflowX: "hidden" }, gap: 8, children: [
2276
- /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navScaled, h: 40, w: 40, onClick: companyIcon.onClick, children: typeof companyIcon.icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: companyIcon.icon, w: 32, h: 32 }) : companyIcon.icon }),
2277
- /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navScaled, h: 40, w: 40, onClick: onPersonalSpaceClick, children: /* @__PURE__ */ jsx(User, { color: "secondary" }) }),
2337
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, h: 40, w: 40, onClick: companyIcon.onClick, children: typeof companyIcon.icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: companyIcon.icon, w: 32, h: 32 }) : companyIcon.icon }),
2338
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: avatarIcon.onClick, children: typeof avatarIcon.icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: avatarIcon.icon, w: 32, h: 32 }) : avatarIcon.icon }),
2278
2339
  /* @__PURE__ */ jsx(Divider, { w: 40, mx: 10, color: theme.neutral.transparent10 }),
2279
2340
  /* @__PURE__ */ jsx(
2280
2341
  Stack$1,
@@ -2300,46 +2361,26 @@ function AppShellNavigation({
2300
2361
  }
2301
2362
  )
2302
2363
  ] }),
2303
- /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navScaled, h: 40, w: 40, onClick: onAddSpaceClick, children: /* @__PURE__ */ jsx(PlusSolid, { color: "secondary" }) }),
2364
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onAddSpaceClick, children: /* @__PURE__ */ jsx(PlusSolid, { color: "secondary" }) }),
2304
2365
  /* @__PURE__ */ jsxs(Stack$1, { align: "center", gap: 8, children: [
2305
2366
  /* @__PURE__ */ jsx(Divider, { w: 40, mx: 10, color: theme.neutral.transparent10 }),
2306
- /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navScaled, h: 40, w: 40, onClick: avatarIcon.onClick, children: typeof avatarIcon.icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: avatarIcon.icon, w: 32, h: 32 }) : avatarIcon.icon }),
2307
- !desktopOpened && /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navScaled, h: 40, w: 40, onClick: toggleDesktop, children: /* @__PURE__ */ jsx(AngleRightSolid, { color: "secondary" }) })
2367
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onSettingsIconClick, children: /* @__PURE__ */ jsx(SettingsBarSolid, { size: 22, color: "secondary" }) }),
2368
+ !desktopOpened && /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: toggleDesktop, children: /* @__PURE__ */ jsx(AngleRightSolid, { color: "secondary" }) })
2308
2369
  ] })
2309
2370
  ] }),
2310
- desktopOpened && /* @__PURE__ */ jsxs(Stack$1, { w: "100%", gap: 5, py: 16, px: 12, children: [
2311
- /* @__PURE__ */ jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2312
- /* @__PURE__ */ jsx(Text$1, { lh: 1, c: theme.text.overPicture, children: spaces.find(({ id }) => id === selectedSpace)?.name || "Unknown" }),
2313
- /* @__PURE__ */ jsxs(Flex, { gap: 12, align: "center", children: [
2314
- /* @__PURE__ */ jsx(EllipsisHSolid, { color: "secondary" }),
2315
- /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer" }, onClick: toggleDesktop, children: /* @__PURE__ */ jsx(AngleLeftSolid, { color: "secondary" }) })
2316
- ] })
2371
+ desktopOpened && /* @__PURE__ */ jsxs(Stack$1, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2372
+ /* @__PURE__ */ jsxs(Stack$1, { gap: 5, children: [
2373
+ /* @__PURE__ */ jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2374
+ /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "10px", children: [
2375
+ isBackButtonVisible ? /* @__PURE__ */ jsx(Center, { onClick: onBackClick, sx: { borderRadius: 4, cursor: "pointer", padding: 2, background: theme.bg.navIconsBg }, children: /* @__PURE__ */ jsx(ArrowLeftSolid, { size: 18 }) }) : /* @__PURE__ */ jsx(Center, { sx: { borderRadius: 4, padding: 2, background: theme.bg.navIconsBg }, children: pageItem.pageIcon ? /* @__PURE__ */ jsx(pageItem.pageIcon, { size: 18 }) : /* @__PURE__ */ jsx(Globe, { size: 18 }) }),
2376
+ /* @__PURE__ */ jsx(Text$1, { lh: 1, c: theme.text.overPicture, children: pageItem.pageTitle || "Unknown" })
2377
+ ] }),
2378
+ /* @__PURE__ */ jsx(Flex, { gap: 12, align: "center", children: /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer" }, onClick: toggleDesktop, children: /* @__PURE__ */ jsx(PanelLeftSolid, { size: 22, color: "secondary" }) }) })
2379
+ ] }),
2380
+ menuItems?.map((item) => /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id)),
2381
+ roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsx(Stack$1, { gap: 8, mt: 16, children: roomCategories.map((category) => /* @__PURE__ */ jsx(RoomCategory, { category }, category.id)) })
2317
2382
  ] }),
2318
- menuItems?.map((item) => /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id)),
2319
- /* @__PURE__ */ jsxs(
2320
- Flex,
2321
- {
2322
- align: "center",
2323
- gap: 8,
2324
- px: 12,
2325
- py: 6,
2326
- style: {
2327
- cursor: "pointer",
2328
- borderRadius: 8,
2329
- backgroundColor: "transparent"
2330
- },
2331
- onClick: () => {
2332
- },
2333
- children: [
2334
- /* @__PURE__ */ jsx(EllipsisHSolid, { size: 20, color: "secondary" }),
2335
- /* @__PURE__ */ jsx(Text$1, { fz: 14, c: theme.neutral.lightGray, children: "More" })
2336
- ]
2337
- }
2338
- ),
2339
- roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
2340
- /* @__PURE__ */ jsx(Text$1, { pl: 11, mt: 16, fz: 14, c: theme.neutral.lightGray, children: "Rooms" }),
2341
- /* @__PURE__ */ jsx(Stack$1, { gap: 8, children: roomCategories.map((category) => /* @__PURE__ */ jsx(RoomCategory, { category }, category.id)) })
2342
- ] })
2383
+ /* @__PURE__ */ jsx(Stack$1, { gap: 5, children: footerMenuItems?.map((item) => /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id)) })
2343
2384
  ] })
2344
2385
  ] }) }),
2345
2386
  /* @__PURE__ */ jsx(AppShell.Main, { children })
@@ -2471,8 +2512,6 @@ function ButtonBasic({
2471
2512
  width = "100%";
2472
2513
  }
2473
2514
  const baseStyles = {
2474
- fontFamily: '"DM Sans", "Roboto", Arial, sans-serif',
2475
- // DM Sans from Figma
2476
2515
  fontSize,
2477
2516
  fontWeight: 400,
2478
2517
  lineHeight,
@@ -2631,7 +2670,6 @@ function ButtonSubtle({ state = "default", type = "iconLeft", disabled = false,
2631
2670
  padding: isIconOnly ? "2px" : "2px 8px",
2632
2671
  width: isIconOnly ? "28px" : "auto",
2633
2672
  height: isIconOnly ? "28px" : "auto",
2634
- fontFamily: "DM Sans",
2635
2673
  fontSize: "16px",
2636
2674
  fontWeight: 400,
2637
2675
  lineHeight: "1.5em",
@@ -3481,7 +3519,7 @@ function DomainToolbar({ items, active, onClick }) {
3481
3519
  backgroundColor: colors.focusTransparent10,
3482
3520
  borderRadius: WRAPPER_SIZE$2 / 2
3483
3521
  }),
3484
- children: /* @__PURE__ */ jsx(Popover, { isOpen: visibleTooltip === item.id, padding: 21, reposition: false, containerStyle: { zIndex: "3" }, content: /* @__PURE__ */ jsx(Tooltip$3, { tooltip: item.tooltip }), children: /* @__PURE__ */ jsx(
3522
+ children: /* @__PURE__ */ jsx(Popover$1, { isOpen: visibleTooltip === item.id, padding: 21, reposition: false, containerStyle: { zIndex: "3" }, content: /* @__PURE__ */ jsx(Tooltip$3, { tooltip: item.tooltip }), children: /* @__PURE__ */ jsx(
3485
3523
  "button",
3486
3524
  {
3487
3525
  type: "button",
@@ -3899,7 +3937,7 @@ function DomainToolbarTypes({ domainType, active, onClick, ConnectActive }) {
3899
3937
  borderRadius: WRAPPER_SIZE$1 / 2
3900
3938
  }),
3901
3939
  children: /* @__PURE__ */ jsx(
3902
- Popover,
3940
+ Popover$1,
3903
3941
  {
3904
3942
  isOpen: visibleTooltip === item.id && !isInChatMode,
3905
3943
  padding: 21,
@@ -4397,7 +4435,6 @@ const EcosystemCard = ({ title = "Ecosystem Name", subtitle = "Short Ecosystem S
4397
4435
  backdropFilter: "blur(30px)",
4398
4436
  WebkitBackdropFilter: "blur(30px)",
4399
4437
  color: "#fff",
4400
- fontFamily: "Roboto",
4401
4438
  fontWeight: 700,
4402
4439
  fontSize: 20,
4403
4440
  boxShadow: "0 4px 24px 0 rgba(0,0,0,0.04)"
@@ -5278,13 +5315,13 @@ function ActionButton({ onClick, left, right }) {
5278
5315
  }
5279
5316
  );
5280
5317
  }
5281
- const MainAction = lazy(() => import("./index-DRT7h4xd.js"));
5282
- const Header$1 = lazy(() => import("./index-ufMtBCkV.js"));
5283
- const Content = lazy(() => import("./index-Bd5Hg5BP.js"));
5318
+ const MainAction = lazy(() => import("./index-C6EdX2d9.js"));
5319
+ const Header$1 = lazy(() => import("./index-DHZY_QlO.js"));
5320
+ const Content = lazy(() => import("./index-DuOYVQF3.js"));
5284
5321
  const Map = lazy(() => import("./index-D5Ufmf-s.js"));
5285
5322
  const CustomContent = lazy(() => import("./index-DsYjW_4y.js"));
5286
- const Assets = lazy(() => import("./index-BwK5-98B.js"));
5287
- const Actions = lazy(() => import("./index-D-yx5xCK.js"));
5323
+ const Assets = lazy(() => import("./index-D5e7qnjY.js"));
5324
+ const Actions = lazy(() => import("./index-Bfl1m3Ui.js"));
5288
5325
  const HOVER_BORDER_WIDTH = 1;
5289
5326
  function SodaCardCmp({ numSelected = 0, expanded = true, mainAction, header, content, map, customContent, customFooter, actions, assets, onClick }, ref) {
5290
5327
  const wrapperRef = useRef(null);
@@ -5539,7 +5576,7 @@ function Tooltip$1({ children, content, className, classNameWrapper, positions }
5539
5576
  return children;
5540
5577
  }
5541
5578
  return /* @__PURE__ */ jsx(
5542
- Popover,
5579
+ Popover$1,
5543
5580
  {
5544
5581
  isOpen,
5545
5582
  reposition: true,
@@ -10598,4 +10635,4 @@ export {
10598
10635
  CardSelector as y,
10599
10636
  CardOutput as z
10600
10637
  };
10601
- //# sourceMappingURL=components-BoLr9Qow.js.map
10638
+ //# sourceMappingURL=components-BAyyDDDY.js.map