@ixo/ui 0.0.23 → 0.0.24

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 (81) hide show
  1. package/dist/.vite/manifest.json +43 -43
  2. package/dist/{UsersSolid-DaQkEA44.js → UsersSolid-BAU7PbE4.js} +44 -64
  3. package/dist/UsersSolid-BAU7PbE4.js.map +1 -0
  4. package/dist/{UsersSolid-3ru3TJi-.cjs → UsersSolid-D60imcQv.cjs} +1 -21
  5. package/dist/UsersSolid-D60imcQv.cjs.map +1 -0
  6. package/dist/components/AIChatToolbar/index.d.ts +12 -0
  7. package/dist/components/AIChatToolbar/index.d.ts.map +1 -0
  8. package/dist/components/AppShellNavigation/components/MenuItem.d.ts +22 -0
  9. package/dist/components/AppShellNavigation/components/MenuItem.d.ts.map +1 -0
  10. package/dist/components/AppShellNavigation/components/NavigationItemSkeleton.d.ts +2 -0
  11. package/dist/components/AppShellNavigation/components/NavigationItemSkeleton.d.ts.map +1 -0
  12. package/dist/components/AppShellNavigation/components/RoomCategory.d.ts +10 -0
  13. package/dist/components/AppShellNavigation/components/RoomCategory.d.ts.map +1 -0
  14. package/dist/components/AppShellNavigation/components/RoomItem.d.ts +12 -0
  15. package/dist/components/AppShellNavigation/components/RoomItem.d.ts.map +1 -0
  16. package/dist/components/AppShellNavigation/components/SelectedIndicator.d.ts +2 -0
  17. package/dist/components/AppShellNavigation/components/SelectedIndicator.d.ts.map +1 -0
  18. package/dist/components/AppShellNavigation/components/SpaceItem.d.ts +10 -0
  19. package/dist/components/AppShellNavigation/components/SpaceItem.d.ts.map +1 -0
  20. package/dist/components/AppShellNavigation/index.d.ts +8 -35
  21. package/dist/components/AppShellNavigation/index.d.ts.map +1 -1
  22. package/dist/components/Base/Flex.d.ts.map +1 -1
  23. package/dist/components/FloatingInput/index.d.ts.map +1 -1
  24. package/dist/{components-BVa_RzKb.js → components-BeF0rZJR.js} +269 -199
  25. package/dist/components-BeF0rZJR.js.map +1 -0
  26. package/dist/{components-_MkU3jTT.cjs → components-Disquhlg.cjs} +201 -131
  27. package/dist/components-Disquhlg.cjs.map +1 -0
  28. package/dist/export/components.cjs +2 -1
  29. package/dist/export/components.cjs.map +1 -1
  30. package/dist/export/components.d.ts +5 -1
  31. package/dist/export/components.d.ts.map +1 -1
  32. package/dist/export/components.mjs +68 -67
  33. package/dist/export/icons/index.cjs +21 -2
  34. package/dist/export/icons/index.cjs.map +1 -1
  35. package/dist/export/icons/index.mjs +65 -46
  36. package/dist/export/icons/index.mjs.map +1 -1
  37. package/dist/{index-B67PPfoW.cjs → index-0QYujsdV.cjs} +2 -2
  38. package/dist/{index-B67PPfoW.cjs.map → index-0QYujsdV.cjs.map} +1 -1
  39. package/dist/{index-C89NsxdP.js → index-7TeP_0qf.js} +2 -2
  40. package/dist/{index-C89NsxdP.js.map → index-7TeP_0qf.js.map} +1 -1
  41. package/dist/{index-CjplLGYu.js → index-BB7TxyW2.js} +3 -3
  42. package/dist/{index-CjplLGYu.js.map → index-BB7TxyW2.js.map} +1 -1
  43. package/dist/{index--LjJTdzu.js → index-BDHM2tcG.js} +3 -3
  44. package/dist/{index--LjJTdzu.js.map → index-BDHM2tcG.js.map} +1 -1
  45. package/dist/{index-DgTFhRUq.js → index-BNQTKXpP.js} +2 -2
  46. package/dist/{index-DgTFhRUq.js.map → index-BNQTKXpP.js.map} +1 -1
  47. package/dist/{index-BkHXIaln.cjs → index-BTd7RekU.cjs} +3 -3
  48. package/dist/{index-BkHXIaln.cjs.map → index-BTd7RekU.cjs.map} +1 -1
  49. package/dist/{index-xNbZOX1W.js → index-Bbq_TLZu.js} +2 -2
  50. package/dist/{index-xNbZOX1W.js.map → index-Bbq_TLZu.js.map} +1 -1
  51. package/dist/{index-DYBoPRXQ.js → index-BcSuJ_FA.js} +2 -2
  52. package/dist/{index-DYBoPRXQ.js.map → index-BcSuJ_FA.js.map} +1 -1
  53. package/dist/{index-paAq-KH4.cjs → index-C68z2dhs.cjs} +2 -2
  54. package/dist/{index-paAq-KH4.cjs.map → index-C68z2dhs.cjs.map} +1 -1
  55. package/dist/{index-1_x_N7t0.cjs → index-CFEGoEU_.cjs} +2 -2
  56. package/dist/{index-1_x_N7t0.cjs.map → index-CFEGoEU_.cjs.map} +1 -1
  57. package/dist/{index-CXPbR4SM.js → index-CHeVp24g.js} +3 -3
  58. package/dist/{index-CXPbR4SM.js.map → index-CHeVp24g.js.map} +1 -1
  59. package/dist/{index-BdurzkQE.cjs → index-CtdwAmSJ.cjs} +3 -3
  60. package/dist/{index-BdurzkQE.cjs.map → index-CtdwAmSJ.cjs.map} +1 -1
  61. package/dist/{index-Cbh2O8ES.cjs → index-D03Y_bB5.cjs} +2 -2
  62. package/dist/{index-Cbh2O8ES.cjs.map → index-D03Y_bB5.cjs.map} +1 -1
  63. package/dist/{index-BcQO39Nm.js → index-D6Ji1bWd.js} +2 -2
  64. package/dist/{index-BcQO39Nm.js.map → index-D6Ji1bWd.js.map} +1 -1
  65. package/dist/{index-BOTqKAb1.js → index-D7PlJiJR.js} +2 -2
  66. package/dist/{index-BOTqKAb1.js.map → index-D7PlJiJR.js.map} +1 -1
  67. package/dist/{index-BXJlwJE1.js → index-D_iadqlc.js} +2 -2
  68. package/dist/{index-BXJlwJE1.js.map → index-D_iadqlc.js.map} +1 -1
  69. package/dist/{index-CLUVUEvd.cjs → index-Dj5QSN85.cjs} +2 -2
  70. package/dist/{index-CLUVUEvd.cjs.map → index-Dj5QSN85.cjs.map} +1 -1
  71. package/dist/{index-DtDKdj1b.cjs → index-OFqzHKxE.cjs} +2 -2
  72. package/dist/{index-DtDKdj1b.cjs.map → index-OFqzHKxE.cjs.map} +1 -1
  73. package/dist/{index-Cjc9U9We.cjs → index-vMylc9wu.cjs} +3 -3
  74. package/dist/{index-Cjc9U9We.cjs.map → index-vMylc9wu.cjs.map} +1 -1
  75. package/dist/{index-DFEKL4SE.cjs → index-vjtTGg1m.cjs} +2 -2
  76. package/dist/{index-DFEKL4SE.cjs.map → index-vjtTGg1m.cjs.map} +1 -1
  77. package/package.json +1 -1
  78. package/dist/UsersSolid-3ru3TJi-.cjs.map +0 -1
  79. package/dist/UsersSolid-DaQkEA44.js.map +0 -1
  80. package/dist/components-BVa_RzKb.js.map +0 -1
  81. package/dist/components-_MkU3jTT.cjs.map +0 -1
@@ -1,15 +1,15 @@
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, M as MinusCircleSolid, 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, w as MicrophoneSolid, x as Command, y as ArrowCircleRightSolid, z as Protocols, B as Investments, O as Oracles, F as Projects, J as Daos, K as Star, N as Expand, Q as LeafSolid, R as ArrowDownSolid, T as ArrowRightSolid, V as Play, W as CheckCircle, X as Events, Y as ThumbsUpSolid, Z as CommentsSolid, _ as CopySolid, $ as Hourglass, a0 as Act, a1 as Info$1, a2 as ClaimsW, a3 as TachometerAltSolid, a4 as UserCogSolid, a5 as UsersSolid, a6 as EllipsisHSolid } from "./UsersSolid-DaQkEA44.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, d as ArrowLeftSolid, H as HistorySolid, U as User, e as AngleLeftSolid, M as MinusCircleSolid, f as SettingsBarSolid, G as Globe, D as Dashboard, h as Groups, i as UserCircleSolid, j as Assets$1, k as Claims, l as Accounts, 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, u as MicrophoneSolid, v as Command, w as ArrowCircleRightSolid, x as Protocols, y as Investments, O as Oracles, z as Projects, B as Daos, F as Star, J as AngleRightSolid, 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-BAU7PbE4.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, Popover, Text as Text$1, AppShell, Stack as Stack$1, Center, Divider, Skeleton, Badge as Badge$1 } from "@mantine/core";
7
+ import { Accordion as Accordion$1, Box, Image, Popover, Text as Text$1, Badge as Badge$1, Center, AppShell, Skeleton, Stack as Stack$1, Divider } 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
11
  import { u as useUITheme } from "./useUITheme-7i8NJ2FG.js";
12
- import { useResizeObserver, useDisclosure, useHover } from "@mantine/hooks";
12
+ import { useResizeObserver, useHover, useDisclosure } from "@mantine/hooks";
13
13
  import Markdown from "react-markdown";
14
14
  import remarkGfm from "remark-gfm";
15
15
  import { useCombobox, useSelect } from "downshift";
@@ -774,8 +774,8 @@ function AccordionTable({
774
774
  }
775
775
  );
776
776
  }
777
- const Header$3 = lazy(() => import("./index--LjJTdzu.js"));
778
- const Footer = lazy(() => import("./index-CXPbR4SM.js"));
777
+ const Header$3 = lazy(() => import("./index-BDHM2tcG.js"));
778
+ const Footer = lazy(() => import("./index-CHeVp24g.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-BOTqKAb1.js"));
862
+ const Header$2 = lazy(() => import("./index-D7PlJiJR.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-DYBoPRXQ.js"));
1297
+ const Badge = lazy(() => import("./index-BcSuJ_FA.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);
@@ -1898,34 +1898,35 @@ const Flex = forwardRef(
1898
1898
  children,
1899
1899
  ...props
1900
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
- );
1901
+ const hasIndividualPadding = pt !== 0 || pb !== 0 || pl !== 0 || pr !== 0 || px !== 0 || py !== 0;
1902
+ const hasIndividualMargin = mt !== 0 || mb !== 0 || ml !== 0 || mr !== 0 || mx !== 0 || my !== 0;
1903
+ const style = {
1904
+ display: "flex",
1905
+ flexDirection: direction,
1906
+ alignItems: align,
1907
+ justifyContent: justify,
1908
+ gap,
1909
+ backgroundColor: bg,
1910
+ borderRadius: radius,
1911
+ ...props.style
1912
+ };
1913
+ if (hasIndividualMargin) {
1914
+ if (mt !== 0 || my !== 0) style.marginTop = mt || my;
1915
+ if (mb !== 0 || my !== 0) style.marginBottom = mb || my;
1916
+ if (ml !== 0 || mx !== 0) style.marginLeft = ml || mx;
1917
+ if (mr !== 0 || mx !== 0) style.marginRight = mr || mx;
1918
+ } else if (m !== 0) {
1919
+ style.margin = m;
1920
+ }
1921
+ if (hasIndividualPadding) {
1922
+ if (pt !== 0 || py !== 0) style.paddingTop = pt || py;
1923
+ if (pb !== 0 || py !== 0) style.paddingBottom = pb || py;
1924
+ if (pl !== 0 || px !== 0) style.paddingLeft = pl || px;
1925
+ if (pr !== 0 || px !== 0) style.paddingRight = pr || px;
1926
+ } else if (p !== 0) {
1927
+ style.padding = p;
1928
+ }
1929
+ return /* @__PURE__ */ jsx("div", { ref, ...props, style, children });
1929
1930
  }
1930
1931
  );
1931
1932
  Flex.displayName = "Flex";
@@ -2101,6 +2102,52 @@ function AIInputBar({ placeholder, icon, disabledInput, disabledButton, valueInp
2101
2102
  }
2102
2103
  );
2103
2104
  }
2105
+ function AIChatToolbar({ onClose, onHistoryClick, onPlusClick, onHistoryClose, isHistoryOpened, oracleModel, sessionTitle }) {
2106
+ const theme = useUITheme();
2107
+ return /* @__PURE__ */ jsxs(Flex, { bg: theme.bg.navScaled, py: 16, justify: "space-between", align: "center", children: [
2108
+ /* @__PURE__ */ jsxs(Flex, { gap: 6, align: "center", children: [
2109
+ sessionTitle && /* @__PURE__ */ jsx(Typography.Text, { color: "overPicture", size: "s", children: sessionTitle }),
2110
+ oracleModel && /* @__PURE__ */ jsx(Badge$1, { fw: 300, size: "sm", fz: 12, bg: theme.neutral.transparent10, tt: "initial", children: oracleModel })
2111
+ ] }),
2112
+ /* @__PURE__ */ jsx(Flex, { gap: 6, align: "center", justify: "flex-end", children: isHistoryOpened ? /* @__PURE__ */ jsx(
2113
+ Center,
2114
+ {
2115
+ sx: {
2116
+ cursor: "pointer",
2117
+ borderRadius: 8,
2118
+ transition: "background 0.15s",
2119
+ background: theme.bg.navIconsBg,
2120
+ "&:hover": {
2121
+ background: theme.neutral.transparent30
2122
+ }
2123
+ },
2124
+ p: 4,
2125
+ onClick: onHistoryClose,
2126
+ children: /* @__PURE__ */ jsx(ArrowLeftSolid, { size: 18 })
2127
+ }
2128
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
2129
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, onClick: onPlusClick, children: /* @__PURE__ */ jsx(PlusSolid, { size: 18 }) }),
2130
+ /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, onClick: onHistoryClick, children: /* @__PURE__ */ jsx(HistorySolid, { size: 18 }) }),
2131
+ /* @__PURE__ */ jsx(
2132
+ Center,
2133
+ {
2134
+ sx: {
2135
+ cursor: "pointer",
2136
+ borderRadius: 8,
2137
+ transition: "background 0.15s",
2138
+ background: theme.bg.navIconsBg,
2139
+ "&:hover": {
2140
+ background: theme.neutral.transparent30
2141
+ }
2142
+ },
2143
+ p: 4,
2144
+ onClick: onClose,
2145
+ children: /* @__PURE__ */ jsx(Close, { size: 18 })
2146
+ }
2147
+ )
2148
+ ] }) })
2149
+ ] });
2150
+ }
2104
2151
  function Avatar({ src, rounded = true, size = 62, did }) {
2105
2152
  const css2 = {
2106
2153
  width: size,
@@ -2231,22 +2278,6 @@ function AsideResizable({ children, asideCollapsed = false, onAsideToggle, width
2231
2278
  children
2232
2279
  ] });
2233
2280
  }
2234
- function SelectedIndicator() {
2235
- const theme = useUITheme();
2236
- return /* @__PURE__ */ jsx(
2237
- "div",
2238
- {
2239
- style: {
2240
- position: "absolute",
2241
- left: -8,
2242
- width: 4,
2243
- height: 30,
2244
- backgroundColor: theme.neutral.whiteFull,
2245
- borderRadius: 4
2246
- }
2247
- }
2248
- );
2249
- }
2250
2281
  function NavigationItemSkeleton() {
2251
2282
  const theme = useUITheme();
2252
2283
  return /* @__PURE__ */ jsxs(
@@ -2291,30 +2322,71 @@ function NavigationItemSkeleton() {
2291
2322
  }
2292
2323
  );
2293
2324
  }
2294
- function SpaceItem({ icon, id, selectedSpace, onClick }) {
2325
+ function RoomItem({ room }) {
2295
2326
  const { hovered, ref } = useHover();
2296
2327
  const theme = useUITheme();
2297
- const isSelected = selectedSpace === id;
2298
2328
  return /* @__PURE__ */ jsxs(
2299
- Center,
2329
+ Flex,
2300
2330
  {
2301
2331
  ref,
2302
- sx: {
2332
+ align: "center",
2333
+ gap: 8,
2334
+ px: 12,
2335
+ py: 4,
2336
+ ml: 16,
2337
+ style: {
2303
2338
  cursor: "pointer",
2304
- borderRadius: 24
2339
+ borderRadius: 6,
2340
+ backgroundColor: room.isActive || hovered ? theme.neutral.transparent10 : "transparent",
2341
+ transform: hovered ? "translateX(2px)" : "translateX(0px)",
2342
+ transition: "all 0.15s ease"
2305
2343
  },
2306
- pos: "relative",
2307
- bg: hovered ? theme.neutral.transparent30 : theme.bg.navIconsBg,
2308
- mih: 40,
2309
- w: 40,
2310
- onClick: () => onClick(id),
2344
+ onClick: () => room.onClick(room.id),
2311
2345
  children: [
2312
- typeof icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: icon, w: 32, h: 32 }) : icon,
2313
- isSelected && /* @__PURE__ */ jsx(SelectedIndicator, {})
2346
+ /* @__PURE__ */ jsx(room.icon, { size: 16, color: "secondary" }),
2347
+ /* @__PURE__ */ jsx(Text$1, { fz: 13, c: theme.text.secondary, children: room.name })
2314
2348
  ]
2315
2349
  }
2316
2350
  );
2317
2351
  }
2352
+ function RoomCategory({ category }) {
2353
+ const { hovered, ref } = useHover();
2354
+ const theme = useUITheme();
2355
+ const { value, toggle: toggle2 } = useToggle(false);
2356
+ return /* @__PURE__ */ jsxs(Stack$1, { gap: 2, children: [
2357
+ /* @__PURE__ */ jsxs(
2358
+ Flex,
2359
+ {
2360
+ ref,
2361
+ align: "center",
2362
+ justify: "space-between",
2363
+ px: 12,
2364
+ py: 4,
2365
+ style: {
2366
+ cursor: "pointer",
2367
+ borderRadius: 6,
2368
+ backgroundColor: hovered ? theme.neutral.transparent50 : "transparent",
2369
+ transition: "all 0.15s ease"
2370
+ },
2371
+ onClick: toggle2,
2372
+ children: [
2373
+ /* @__PURE__ */ jsx(Text$1, { fz: 12, c: theme.neutral.lightGray, children: category.name }),
2374
+ /* @__PURE__ */ jsx(
2375
+ Center,
2376
+ {
2377
+ sx: {
2378
+ transform: value ? "rotate(-90deg)" : "rotate(0deg)",
2379
+ transition: "transform 0.2s ease"
2380
+ },
2381
+ children: /* @__PURE__ */ jsx(AngleLeftSolid, { size: 12, color: "secondary" })
2382
+ }
2383
+ )
2384
+ ]
2385
+ }
2386
+ ),
2387
+ !value && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: category.rooms.map((room) => /* @__PURE__ */ jsx(RoomItem, { room }, room.id)) })
2388
+ ] });
2389
+ }
2318
2390
  function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2319
2391
  const { hovered, ref } = useHover();
2320
2392
  const theme = useUITheme();
@@ -2392,71 +2464,46 @@ function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2392
2464
  hasChildren && isExpanded && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: item.children?.map((childItem) => /* @__PURE__ */ jsx(MenuItem, { item: childItem, onMenuItemClick, depth: depth + 1 }, childItem.id)) })
2393
2465
  ] });
2394
2466
  }
2395
- function RoomItem({ room }) {
2467
+ function SelectedIndicator() {
2468
+ const theme = useUITheme();
2469
+ return /* @__PURE__ */ jsx(
2470
+ "div",
2471
+ {
2472
+ style: {
2473
+ position: "absolute",
2474
+ left: -8,
2475
+ width: 4,
2476
+ height: 30,
2477
+ backgroundColor: theme.neutral.whiteFull,
2478
+ borderRadius: 4
2479
+ }
2480
+ }
2481
+ );
2482
+ }
2483
+ function SpaceItem({ icon, id, selectedSpace, onClick }) {
2396
2484
  const { hovered, ref } = useHover();
2397
2485
  const theme = useUITheme();
2486
+ const isSelected = selectedSpace === id;
2398
2487
  return /* @__PURE__ */ jsxs(
2399
- Flex,
2488
+ Center,
2400
2489
  {
2401
2490
  ref,
2402
- align: "center",
2403
- gap: 8,
2404
- px: 12,
2405
- py: 4,
2406
- ml: 16,
2407
- style: {
2491
+ sx: {
2408
2492
  cursor: "pointer",
2409
- borderRadius: 6,
2410
- backgroundColor: room.isActive || hovered ? theme.neutral.transparent10 : "transparent",
2411
- transform: hovered ? "translateX(2px)" : "translateX(0px)",
2412
- transition: "all 0.15s ease"
2493
+ borderRadius: 24
2413
2494
  },
2414
- onClick: () => room.onClick(room.id),
2495
+ pos: "relative",
2496
+ bg: hovered ? theme.neutral.transparent30 : theme.bg.navIconsBg,
2497
+ mih: 40,
2498
+ w: 40,
2499
+ onClick: () => onClick(id),
2415
2500
  children: [
2416
- /* @__PURE__ */ jsx(room.icon, { size: 16, color: "secondary" }),
2417
- /* @__PURE__ */ jsx(Text$1, { fz: 13, c: theme.text.secondary, children: room.name })
2501
+ typeof icon === "string" ? /* @__PURE__ */ jsx(Image, { radius: 24, src: icon, w: 32, h: 32 }) : icon,
2502
+ isSelected && /* @__PURE__ */ jsx(SelectedIndicator, {})
2418
2503
  ]
2419
2504
  }
2420
2505
  );
2421
2506
  }
2422
- function RoomCategory({ category }) {
2423
- const { hovered, ref } = useHover();
2424
- const theme = useUITheme();
2425
- const { value, toggle: toggle2 } = useToggle(false);
2426
- return /* @__PURE__ */ jsxs(Stack$1, { gap: 2, children: [
2427
- /* @__PURE__ */ jsxs(
2428
- Flex,
2429
- {
2430
- ref,
2431
- align: "center",
2432
- justify: "space-between",
2433
- px: 12,
2434
- py: 4,
2435
- style: {
2436
- cursor: "pointer",
2437
- borderRadius: 6,
2438
- backgroundColor: hovered ? theme.neutral.transparent50 : "transparent",
2439
- transition: "all 0.15s ease"
2440
- },
2441
- onClick: toggle2,
2442
- children: [
2443
- /* @__PURE__ */ jsx(Text$1, { fz: 12, c: theme.neutral.lightGray, children: category.name }),
2444
- /* @__PURE__ */ jsx(
2445
- Center,
2446
- {
2447
- sx: {
2448
- transform: value ? "rotate(-90deg)" : "rotate(0deg)",
2449
- transition: "transform 0.2s ease"
2450
- },
2451
- children: /* @__PURE__ */ jsx(AngleLeftSolid, { size: 12, color: "secondary" })
2452
- }
2453
- )
2454
- ]
2455
- }
2456
- ),
2457
- !value && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: category.rooms.map((room) => /* @__PURE__ */ jsx(RoomItem, { room }, room.id)) })
2458
- ] });
2459
- }
2460
2507
  function AppShellNavigation({
2461
2508
  spaces,
2462
2509
  pageItem,
@@ -2477,10 +2524,14 @@ function AppShellNavigation({
2477
2524
  asideCollapsed = true,
2478
2525
  onAsideToggle,
2479
2526
  onMaxExpand,
2527
+ onAiOpen,
2528
+ isAiOpened,
2529
+ isAiBtnVisible,
2480
2530
  loading,
2481
- children
2531
+ children,
2532
+ aiNavbarContent
2482
2533
  }) {
2483
- const [navbarCollapsed, { toggle: toggleNavbar }] = useDisclosure(true);
2534
+ const [isNavbarNotCollapsed, { toggle: toggleNavbar }] = useDisclosure(true);
2484
2535
  const [asideWidth, setAsideWidth] = useState(450);
2485
2536
  const theme = useUITheme();
2486
2537
  return /* @__PURE__ */ jsxs(
@@ -2489,7 +2540,8 @@ function AppShellNavigation({
2489
2540
  withBorder: false,
2490
2541
  styles: {
2491
2542
  navbar: {
2492
- background: theme.bg.navScaled
2543
+ background: theme.bg.navScaled,
2544
+ transition: "width 0.3s ease"
2493
2545
  },
2494
2546
  aside: {
2495
2547
  background: theme.bg.navScaled
@@ -2497,7 +2549,7 @@ function AppShellNavigation({
2497
2549
  },
2498
2550
  bg: theme.bg.centralCanvasBg,
2499
2551
  navbar: {
2500
- width: navbarCollapsed ? 300 : 56,
2552
+ width: isNavbarNotCollapsed ? isAiOpened ? 450 : 300 : 56,
2501
2553
  breakpoint: "sm"
2502
2554
  },
2503
2555
  aside: {
@@ -2556,18 +2608,34 @@ function AppShellNavigation({
2556
2608
  onMinusSpaceClick && /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onMinusSpaceClick, children: /* @__PURE__ */ jsx(MinusCircleSolid, { color: "secondary" }) }),
2557
2609
  /* @__PURE__ */ jsxs(Stack$1, { align: "center", gap: 8, children: [
2558
2610
  /* @__PURE__ */ jsx(Divider, { w: 40, mx: 10, color: theme.neutral.transparent10 }),
2559
- /* @__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" }) }),
2560
- !navbarCollapsed && /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: toggleNavbar, children: /* @__PURE__ */ jsx(AngleRightSolid, { color: "secondary" }) })
2611
+ /* @__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" }) })
2561
2612
  ] })
2562
2613
  ] }),
2563
- navbarCollapsed && /* @__PURE__ */ jsxs(Stack$1, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2614
+ isAiOpened && isNavbarNotCollapsed && aiNavbarContent,
2615
+ isNavbarNotCollapsed && !isAiOpened && /* @__PURE__ */ jsxs(Stack$1, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2564
2616
  /* @__PURE__ */ jsxs(Stack$1, { gap: 5, children: [
2565
2617
  /* @__PURE__ */ jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2566
2618
  /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "10px", children: [
2567
2619
  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 }) }),
2568
2620
  /* @__PURE__ */ jsx(Text$1, { lh: 1, c: theme.text.overPicture, children: pageItem.pageTitle || "Unknown" })
2569
2621
  ] }),
2570
- /* @__PURE__ */ jsx(Flex, { gap: 12, align: "center", children: /* @__PURE__ */ jsx(Center, { sx: { cursor: "pointer" }, onClick: toggleNavbar, children: /* @__PURE__ */ jsx(PanelLeftSolid, { size: 22, color: "secondary" }) }) })
2622
+ isAiBtnVisible && !isAiOpened && /* @__PURE__ */ jsx(
2623
+ Center,
2624
+ {
2625
+ sx: {
2626
+ cursor: "pointer",
2627
+ borderRadius: 8,
2628
+ transition: "background 0.15s",
2629
+ background: theme.bg.navIconsBg,
2630
+ "&:hover": {
2631
+ background: theme.neutral.transparent30
2632
+ }
2633
+ },
2634
+ p: 4,
2635
+ onClick: onAiOpen,
2636
+ children: /* @__PURE__ */ jsx(Assistant, { size: 18, color: "primary" })
2637
+ }
2638
+ )
2571
2639
  ] }),
2572
2640
  loading ? /* @__PURE__ */ jsx(Stack$1, { gap: 5, children: Array.from({ length: 6 }).map((_, idx) => /* @__PURE__ */ jsx(NavigationItemSkeleton, {}, idx)) }) : menuItems?.map((item) => /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id)),
2573
2641
  roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsx(Stack$1, { gap: 8, mt: 16, children: roomCategories.map((category) => /* @__PURE__ */ jsx(RoomCategory, { category }, category.id)) })
@@ -3103,7 +3171,7 @@ function OracleMessage({ oracleName, message }) {
3103
3171
  }
3104
3172
  function UserMessage({ message, sender }) {
3105
3173
  const theme = useUITheme();
3106
- return /* @__PURE__ */ jsxs(Box, { w: "fit-content", bg: theme.colors.focusTransparent10, sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3174
+ return /* @__PURE__ */ jsxs(Box, { w: "fit-content", bg: theme.bg.navIconsBg, sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3107
3175
  /* @__PURE__ */ jsx(Text$1, { c: theme.text.overPicture, fz: 12, children: sender }),
3108
3176
  /* @__PURE__ */ jsx(Text$1, { c: theme.text.overPicture, mt: 10, sx: { wordBreak: "break-all" }, children: message }, message)
3109
3177
  ] });
@@ -4423,7 +4491,8 @@ function FloatingInput({
4423
4491
  className,
4424
4492
  css: () => ({
4425
4493
  backgroundColor: "transparent",
4426
- borderRadius: 24,
4494
+ borderRadius: 20,
4495
+ outline: `1px solid ${theme.colors.focus}`,
4427
4496
  paddingTop: 16,
4428
4497
  position: "relative",
4429
4498
  animation: `${fadeIn} 0.3s ease-out`,
@@ -4520,7 +4589,7 @@ function FloatingInput({
4520
4589
  Box,
4521
4590
  {
4522
4591
  p: 16,
4523
- bg: theme.bg.glassmorphics,
4592
+ bg: theme.bg.navSpaces,
4524
4593
  w: 340,
4525
4594
  pos: "absolute",
4526
4595
  left: "50%",
@@ -5554,13 +5623,13 @@ function ActionButton({ onClick, left, right }) {
5554
5623
  }
5555
5624
  );
5556
5625
  }
5557
- const MainAction = lazy(() => import("./index-xNbZOX1W.js"));
5558
- const Header$1 = lazy(() => import("./index-DgTFhRUq.js"));
5559
- const Content = lazy(() => import("./index-BXJlwJE1.js"));
5626
+ const MainAction = lazy(() => import("./index-Bbq_TLZu.js"));
5627
+ const Header$1 = lazy(() => import("./index-BNQTKXpP.js"));
5628
+ const Content = lazy(() => import("./index-D_iadqlc.js"));
5560
5629
  const Map = lazy(() => import("./index-D5Ufmf-s.js"));
5561
5630
  const CustomContent = lazy(() => import("./index-DsYjW_4y.js"));
5562
- const Assets = lazy(() => import("./index-C89NsxdP.js"));
5563
- const Actions = lazy(() => import("./index-CjplLGYu.js"));
5631
+ const Assets = lazy(() => import("./index-7TeP_0qf.js"));
5632
+ const Actions = lazy(() => import("./index-BB7TxyW2.js"));
5564
5633
  const HOVER_BORDER_WIDTH = 1;
5565
5634
  function SodaCardCmp({ numSelected = 0, expanded = true, mainAction, header, content, map, customContent, customFooter, actions, assets, onClick }, ref) {
5566
5635
  const wrapperRef = useRef(null);
@@ -10782,72 +10851,73 @@ function NavigationBar({
10782
10851
  ] });
10783
10852
  }
10784
10853
  export {
10785
- GroupActivity as $,
10854
+ FilterTags as $,
10786
10855
  Avatar as A,
10787
10856
  Button as B,
10788
10857
  CARD_HEADER_HEIGHT as C,
10789
- CardUserFollowUp as D,
10790
- Chart$1 as E,
10858
+ CardOutput as D,
10859
+ CardUserFollowUp as E,
10791
10860
  FeedbackMessage as F,
10792
- Checkbox as G,
10793
- CheckboxGroup as H,
10861
+ Chart$1 as G,
10862
+ Checkbox as H,
10794
10863
  IconButton as I,
10795
- ComboBox as J,
10796
- DomainToolbar as K,
10864
+ CheckboxGroup as J,
10865
+ ComboBox as K,
10797
10866
  Loader as L,
10798
10867
  MoreMenu as M,
10799
- DropDown as N,
10868
+ DomainToolbar as N,
10800
10869
  OracleMessage as O,
10801
- DomainToolbarTypes as P,
10802
- FloatingInput as Q,
10803
- EcosystemCard as R,
10870
+ DropDown as P,
10871
+ DomainToolbarTypes as Q,
10872
+ FloatingInput as R,
10804
10873
  Spacer as S,
10805
10874
  Typography as T,
10806
10875
  UserMessage as U,
10807
- EntityList as V,
10808
- Event as W,
10809
- ExpandableButton as X,
10810
- FeaturedCard as Y,
10811
- FilterDropDown as Z,
10812
- FilterTags as _,
10876
+ EcosystemCard as V,
10877
+ EntityList as W,
10878
+ Event as X,
10879
+ ExpandableButton as Y,
10880
+ FeaturedCard as Z,
10881
+ FilterDropDown as _,
10813
10882
  Tag as a,
10814
- GroupSelector as a0,
10815
- HandlerSodaCard as a1,
10816
- HtmlRender as a2,
10817
- ImpactCreditState as a3,
10818
- Layout as a4,
10819
- Modal as a5,
10820
- ModalSearch as a6,
10821
- ModalSheet as a7,
10822
- OracleProtocolsSelection as a8,
10823
- OracleReply as a9,
10824
- WorkspaceModal as aA,
10825
- PageTitle as aa,
10826
- PlanCard as ab,
10827
- Post as ac,
10828
- ProfileCard as ad,
10829
- ProfileMenu as ae,
10830
- ProposalCard as af,
10831
- RoundedButton as ag,
10832
- ServiceOffering as ah,
10833
- SearchInput as ai,
10834
- Select as aj,
10835
- SodaCard as ak,
10836
- SomeComponent as al,
10837
- Switch as am,
10838
- SwitchText as an,
10839
- Table as ao,
10840
- TableList as ap,
10841
- TabNavigation as aq,
10842
- TabSelector as ar,
10843
- TextInput as as,
10844
- UiProvider as at,
10845
- FloatingModal as au,
10846
- NavigationBar as av,
10847
- NavigationItem as aw,
10848
- DomainModal as ax,
10849
- DomainSelector as ay,
10850
- MoreModal as az,
10883
+ GroupActivity as a0,
10884
+ GroupSelector as a1,
10885
+ HandlerSodaCard as a2,
10886
+ HtmlRender as a3,
10887
+ ImpactCreditState as a4,
10888
+ Layout as a5,
10889
+ Modal as a6,
10890
+ ModalSearch as a7,
10891
+ ModalSheet as a8,
10892
+ OracleProtocolsSelection as a9,
10893
+ MoreModal as aA,
10894
+ WorkspaceModal as aB,
10895
+ OracleReply as aa,
10896
+ PageTitle as ab,
10897
+ PlanCard as ac,
10898
+ Post as ad,
10899
+ ProfileCard as ae,
10900
+ ProfileMenu as af,
10901
+ ProposalCard as ag,
10902
+ RoundedButton as ah,
10903
+ ServiceOffering as ai,
10904
+ SearchInput as aj,
10905
+ Select as ak,
10906
+ SodaCard as al,
10907
+ SomeComponent as am,
10908
+ Switch as an,
10909
+ SwitchText as ao,
10910
+ Table as ap,
10911
+ TableList as aq,
10912
+ TabNavigation as ar,
10913
+ TabSelector as as,
10914
+ TextInput as at,
10915
+ UiProvider as au,
10916
+ FloatingModal as av,
10917
+ NavigationBar as aw,
10918
+ NavigationItem as ax,
10919
+ DomainModal as ay,
10920
+ DomainSelector as az,
10851
10921
  ActionButton as b,
10852
10922
  cutText as c,
10853
10923
  Tooltip$1 as d,
@@ -10861,17 +10931,17 @@ export {
10861
10931
  ActivityCard as l,
10862
10932
  AIResponse as m,
10863
10933
  AIInputBar as n,
10864
- AppShellNavigation as o,
10865
- AvatarInfo as p,
10866
- ButtonBasic as q,
10867
- ButtonReadOnly as r,
10868
- ButtonSubtle as s,
10869
- Card as t,
10870
- CardAction as u,
10871
- CardEntity as v,
10872
- CardHeader as w,
10873
- CardHero as x,
10874
- CardSelector as y,
10875
- CardOutput as z
10934
+ AIChatToolbar as o,
10935
+ AppShellNavigation as p,
10936
+ AvatarInfo as q,
10937
+ ButtonBasic as r,
10938
+ ButtonReadOnly as s,
10939
+ ButtonSubtle as t,
10940
+ Card as u,
10941
+ CardAction as v,
10942
+ CardEntity as w,
10943
+ CardHeader as x,
10944
+ CardHero as y,
10945
+ CardSelector as z
10876
10946
  };
10877
- //# sourceMappingURL=components-BVa_RzKb.js.map
10947
+ //# sourceMappingURL=components-BeF0rZJR.js.map