@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
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  const jsxRuntime = require("@emotion/react/jsx-runtime");
25
25
  const radash = require("radash");
26
26
  const react = require("@emotion/react");
27
- const UsersSolid = require("./UsersSolid-3ru3TJi-.cjs");
27
+ const UsersSolid = require("./UsersSolid-D60imcQv.cjs");
28
28
  const react$1 = require("react");
29
29
  const constants = require("./constants-DFJRYpE2.cjs");
30
30
  const core = require("@mantine/core");
@@ -797,8 +797,8 @@ function AccordionTable({
797
797
  }
798
798
  );
799
799
  }
800
- const Header$3 = react$1.lazy(() => Promise.resolve().then(() => require("./index-BdurzkQE.cjs")));
801
- const Footer = react$1.lazy(() => Promise.resolve().then(() => require("./index-BkHXIaln.cjs")));
800
+ const Header$3 = react$1.lazy(() => Promise.resolve().then(() => require("./index-CtdwAmSJ.cjs")));
801
+ const Footer = react$1.lazy(() => Promise.resolve().then(() => require("./index-BTd7RekU.cjs")));
802
802
  function ActionCard({ header, content, footer, useHoverMode = false }) {
803
803
  const hasContent = !!content || !!footer;
804
804
  const initialVisibility = footer?.startHidden !== true;
@@ -882,7 +882,7 @@ function Loader({ size, color = "primary" }) {
882
882
  }
883
883
  const CARD_WIDTH$1 = 350;
884
884
  const CARD_HEADER_HEIGHT = 158;
885
- const Header$2 = react$1.lazy(() => Promise.resolve().then(() => require("./index-DFEKL4SE.cjs")));
885
+ const Header$2 = react$1.lazy(() => Promise.resolve().then(() => require("./index-vjtTGg1m.cjs")));
886
886
  function Card({ children, className, contentClassName, roundedBottom, noPadding = false, fullWidth = false, header, wrapperSx, onClick }) {
887
887
  const wrapperRef = react$1.useRef(null);
888
888
  const handleOnClick = react$1.useCallback(
@@ -1317,7 +1317,7 @@ function ModalSheet({ isOpen, children, hideHandler, zIndex, onRequestHide, onRe
1317
1317
  document.body
1318
1318
  );
1319
1319
  }
1320
- const Badge = react$1.lazy(() => Promise.resolve().then(() => require("./index-Cbh2O8ES.cjs")));
1320
+ const Badge = react$1.lazy(() => Promise.resolve().then(() => require("./index-D03Y_bB5.cjs")));
1321
1321
  function ActionSheet({ children, isOpen, header, navMenu = void 0, onRequestHide, onRequestShow }) {
1322
1322
  const shadowScrollRef = react$1.useRef(null);
1323
1323
  const wrapperContentAreaRef = react$1.useRef(null);
@@ -1921,34 +1921,35 @@ const Flex = react$1.forwardRef(
1921
1921
  children,
1922
1922
  ...props
1923
1923
  }, ref) => {
1924
- return /* @__PURE__ */ jsxRuntime.jsx(
1925
- "div",
1926
- {
1927
- ref,
1928
- ...props,
1929
- style: {
1930
- display: "flex",
1931
- flexDirection: direction,
1932
- alignItems: align,
1933
- justifyContent: justify,
1934
- gap,
1935
- margin: m,
1936
- marginTop: mt || my,
1937
- marginBottom: mb || my,
1938
- marginLeft: ml || mx,
1939
- marginRight: mr || mx,
1940
- padding: p,
1941
- paddingTop: pt || py,
1942
- paddingBottom: pb || py,
1943
- paddingLeft: pl || px,
1944
- paddingRight: pr || px,
1945
- backgroundColor: bg,
1946
- borderRadius: radius,
1947
- ...props.style
1948
- },
1949
- children
1950
- }
1951
- );
1924
+ const hasIndividualPadding = pt !== 0 || pb !== 0 || pl !== 0 || pr !== 0 || px !== 0 || py !== 0;
1925
+ const hasIndividualMargin = mt !== 0 || mb !== 0 || ml !== 0 || mr !== 0 || mx !== 0 || my !== 0;
1926
+ const style = {
1927
+ display: "flex",
1928
+ flexDirection: direction,
1929
+ alignItems: align,
1930
+ justifyContent: justify,
1931
+ gap,
1932
+ backgroundColor: bg,
1933
+ borderRadius: radius,
1934
+ ...props.style
1935
+ };
1936
+ if (hasIndividualMargin) {
1937
+ if (mt !== 0 || my !== 0) style.marginTop = mt || my;
1938
+ if (mb !== 0 || my !== 0) style.marginBottom = mb || my;
1939
+ if (ml !== 0 || mx !== 0) style.marginLeft = ml || mx;
1940
+ if (mr !== 0 || mx !== 0) style.marginRight = mr || mx;
1941
+ } else if (m !== 0) {
1942
+ style.margin = m;
1943
+ }
1944
+ if (hasIndividualPadding) {
1945
+ if (pt !== 0 || py !== 0) style.paddingTop = pt || py;
1946
+ if (pb !== 0 || py !== 0) style.paddingBottom = pb || py;
1947
+ if (pl !== 0 || px !== 0) style.paddingLeft = pl || px;
1948
+ if (pr !== 0 || px !== 0) style.paddingRight = pr || px;
1949
+ } else if (p !== 0) {
1950
+ style.padding = p;
1951
+ }
1952
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, ...props, style, children });
1952
1953
  }
1953
1954
  );
1954
1955
  Flex.displayName = "Flex";
@@ -2124,6 +2125,52 @@ function AIInputBar({ placeholder, icon, disabledInput, disabledButton, valueInp
2124
2125
  }
2125
2126
  );
2126
2127
  }
2128
+ function AIChatToolbar({ onClose, onHistoryClick, onPlusClick, onHistoryClose, isHistoryOpened, oracleModel, sessionTitle }) {
2129
+ const theme = useUITheme.useUITheme();
2130
+ return /* @__PURE__ */ jsxRuntime.jsxs(Flex, { bg: theme.bg.navScaled, py: 16, justify: "space-between", align: "center", children: [
2131
+ /* @__PURE__ */ jsxRuntime.jsxs(Flex, { gap: 6, align: "center", children: [
2132
+ sessionTitle && /* @__PURE__ */ jsxRuntime.jsx(Typography.Text, { color: "overPicture", size: "s", children: sessionTitle }),
2133
+ oracleModel && /* @__PURE__ */ jsxRuntime.jsx(core.Badge, { fw: 300, size: "sm", fz: 12, bg: theme.neutral.transparent10, tt: "initial", children: oracleModel })
2134
+ ] }),
2135
+ /* @__PURE__ */ jsxRuntime.jsx(Flex, { gap: 6, align: "center", justify: "flex-end", children: isHistoryOpened ? /* @__PURE__ */ jsxRuntime.jsx(
2136
+ core.Center,
2137
+ {
2138
+ sx: {
2139
+ cursor: "pointer",
2140
+ borderRadius: 8,
2141
+ transition: "background 0.15s",
2142
+ background: theme.bg.navIconsBg,
2143
+ "&:hover": {
2144
+ background: theme.neutral.transparent30
2145
+ }
2146
+ },
2147
+ p: 4,
2148
+ onClick: onHistoryClose,
2149
+ children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.ArrowLeftSolid, { size: 18 })
2150
+ }
2151
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2152
+ /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, onClick: onPlusClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.PlusSolid, { size: 18 }) }),
2153
+ /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, onClick: onHistoryClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.HistorySolid, { size: 18 }) }),
2154
+ /* @__PURE__ */ jsxRuntime.jsx(
2155
+ core.Center,
2156
+ {
2157
+ sx: {
2158
+ cursor: "pointer",
2159
+ borderRadius: 8,
2160
+ transition: "background 0.15s",
2161
+ background: theme.bg.navIconsBg,
2162
+ "&:hover": {
2163
+ background: theme.neutral.transparent30
2164
+ }
2165
+ },
2166
+ p: 4,
2167
+ onClick: onClose,
2168
+ children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.Close, { size: 18 })
2169
+ }
2170
+ )
2171
+ ] }) })
2172
+ ] });
2173
+ }
2127
2174
  function Avatar({ src, rounded = true, size = 62, did }) {
2128
2175
  const css2 = {
2129
2176
  width: size,
@@ -2254,22 +2301,6 @@ function AsideResizable({ children, asideCollapsed = false, onAsideToggle, width
2254
2301
  children
2255
2302
  ] });
2256
2303
  }
2257
- function SelectedIndicator() {
2258
- const theme = useUITheme.useUITheme();
2259
- return /* @__PURE__ */ jsxRuntime.jsx(
2260
- "div",
2261
- {
2262
- style: {
2263
- position: "absolute",
2264
- left: -8,
2265
- width: 4,
2266
- height: 30,
2267
- backgroundColor: theme.neutral.whiteFull,
2268
- borderRadius: 4
2269
- }
2270
- }
2271
- );
2272
- }
2273
2304
  function NavigationItemSkeleton() {
2274
2305
  const theme = useUITheme.useUITheme();
2275
2306
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2314,30 +2345,71 @@ function NavigationItemSkeleton() {
2314
2345
  }
2315
2346
  );
2316
2347
  }
2317
- function SpaceItem({ icon, id, selectedSpace, onClick }) {
2348
+ function RoomItem({ room }) {
2318
2349
  const { hovered, ref } = hooks.useHover();
2319
2350
  const theme = useUITheme.useUITheme();
2320
- const isSelected = selectedSpace === id;
2321
2351
  return /* @__PURE__ */ jsxRuntime.jsxs(
2322
- core.Center,
2352
+ Flex,
2323
2353
  {
2324
2354
  ref,
2325
- sx: {
2355
+ align: "center",
2356
+ gap: 8,
2357
+ px: 12,
2358
+ py: 4,
2359
+ ml: 16,
2360
+ style: {
2326
2361
  cursor: "pointer",
2327
- borderRadius: 24
2362
+ borderRadius: 6,
2363
+ backgroundColor: room.isActive || hovered ? theme.neutral.transparent10 : "transparent",
2364
+ transform: hovered ? "translateX(2px)" : "translateX(0px)",
2365
+ transition: "all 0.15s ease"
2328
2366
  },
2329
- pos: "relative",
2330
- bg: hovered ? theme.neutral.transparent30 : theme.bg.navIconsBg,
2331
- mih: 40,
2332
- w: 40,
2333
- onClick: () => onClick(id),
2367
+ onClick: () => room.onClick(room.id),
2334
2368
  children: [
2335
- typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Image, { radius: 24, src: icon, w: 32, h: 32 }) : icon,
2336
- isSelected && /* @__PURE__ */ jsxRuntime.jsx(SelectedIndicator, {})
2369
+ /* @__PURE__ */ jsxRuntime.jsx(room.icon, { size: 16, color: "secondary" }),
2370
+ /* @__PURE__ */ jsxRuntime.jsx(core.Text, { fz: 13, c: theme.text.secondary, children: room.name })
2337
2371
  ]
2338
2372
  }
2339
2373
  );
2340
2374
  }
2375
+ function RoomCategory({ category }) {
2376
+ const { hovered, ref } = hooks.useHover();
2377
+ const theme = useUITheme.useUITheme();
2378
+ const { value, toggle } = useToggle(false);
2379
+ return /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { gap: 2, children: [
2380
+ /* @__PURE__ */ jsxRuntime.jsxs(
2381
+ Flex,
2382
+ {
2383
+ ref,
2384
+ align: "center",
2385
+ justify: "space-between",
2386
+ px: 12,
2387
+ py: 4,
2388
+ style: {
2389
+ cursor: "pointer",
2390
+ borderRadius: 6,
2391
+ backgroundColor: hovered ? theme.neutral.transparent50 : "transparent",
2392
+ transition: "all 0.15s ease"
2393
+ },
2394
+ onClick: toggle,
2395
+ children: [
2396
+ /* @__PURE__ */ jsxRuntime.jsx(core.Text, { fz: 12, c: theme.neutral.lightGray, children: category.name }),
2397
+ /* @__PURE__ */ jsxRuntime.jsx(
2398
+ core.Center,
2399
+ {
2400
+ sx: {
2401
+ transform: value ? "rotate(-90deg)" : "rotate(0deg)",
2402
+ transition: "transform 0.2s ease"
2403
+ },
2404
+ children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.AngleLeftSolid, { size: 12, color: "secondary" })
2405
+ }
2406
+ )
2407
+ ]
2408
+ }
2409
+ ),
2410
+ !value && /* @__PURE__ */ jsxRuntime.jsx(core.Stack, { gap: 1, children: category.rooms.map((room) => /* @__PURE__ */ jsxRuntime.jsx(RoomItem, { room }, room.id)) })
2411
+ ] });
2412
+ }
2341
2413
  function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2342
2414
  const { hovered, ref } = hooks.useHover();
2343
2415
  const theme = useUITheme.useUITheme();
@@ -2415,71 +2487,46 @@ function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2415
2487
  hasChildren && isExpanded && /* @__PURE__ */ jsxRuntime.jsx(core.Stack, { gap: 1, children: item.children?.map((childItem) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { item: childItem, onMenuItemClick, depth: depth + 1 }, childItem.id)) })
2416
2488
  ] });
2417
2489
  }
2418
- function RoomItem({ room }) {
2490
+ function SelectedIndicator() {
2491
+ const theme = useUITheme.useUITheme();
2492
+ return /* @__PURE__ */ jsxRuntime.jsx(
2493
+ "div",
2494
+ {
2495
+ style: {
2496
+ position: "absolute",
2497
+ left: -8,
2498
+ width: 4,
2499
+ height: 30,
2500
+ backgroundColor: theme.neutral.whiteFull,
2501
+ borderRadius: 4
2502
+ }
2503
+ }
2504
+ );
2505
+ }
2506
+ function SpaceItem({ icon, id, selectedSpace, onClick }) {
2419
2507
  const { hovered, ref } = hooks.useHover();
2420
2508
  const theme = useUITheme.useUITheme();
2509
+ const isSelected = selectedSpace === id;
2421
2510
  return /* @__PURE__ */ jsxRuntime.jsxs(
2422
- Flex,
2511
+ core.Center,
2423
2512
  {
2424
2513
  ref,
2425
- align: "center",
2426
- gap: 8,
2427
- px: 12,
2428
- py: 4,
2429
- ml: 16,
2430
- style: {
2514
+ sx: {
2431
2515
  cursor: "pointer",
2432
- borderRadius: 6,
2433
- backgroundColor: room.isActive || hovered ? theme.neutral.transparent10 : "transparent",
2434
- transform: hovered ? "translateX(2px)" : "translateX(0px)",
2435
- transition: "all 0.15s ease"
2516
+ borderRadius: 24
2436
2517
  },
2437
- onClick: () => room.onClick(room.id),
2518
+ pos: "relative",
2519
+ bg: hovered ? theme.neutral.transparent30 : theme.bg.navIconsBg,
2520
+ mih: 40,
2521
+ w: 40,
2522
+ onClick: () => onClick(id),
2438
2523
  children: [
2439
- /* @__PURE__ */ jsxRuntime.jsx(room.icon, { size: 16, color: "secondary" }),
2440
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { fz: 13, c: theme.text.secondary, children: room.name })
2524
+ typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Image, { radius: 24, src: icon, w: 32, h: 32 }) : icon,
2525
+ isSelected && /* @__PURE__ */ jsxRuntime.jsx(SelectedIndicator, {})
2441
2526
  ]
2442
2527
  }
2443
2528
  );
2444
2529
  }
2445
- function RoomCategory({ category }) {
2446
- const { hovered, ref } = hooks.useHover();
2447
- const theme = useUITheme.useUITheme();
2448
- const { value, toggle } = useToggle(false);
2449
- return /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { gap: 2, children: [
2450
- /* @__PURE__ */ jsxRuntime.jsxs(
2451
- Flex,
2452
- {
2453
- ref,
2454
- align: "center",
2455
- justify: "space-between",
2456
- px: 12,
2457
- py: 4,
2458
- style: {
2459
- cursor: "pointer",
2460
- borderRadius: 6,
2461
- backgroundColor: hovered ? theme.neutral.transparent50 : "transparent",
2462
- transition: "all 0.15s ease"
2463
- },
2464
- onClick: toggle,
2465
- children: [
2466
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { fz: 12, c: theme.neutral.lightGray, children: category.name }),
2467
- /* @__PURE__ */ jsxRuntime.jsx(
2468
- core.Center,
2469
- {
2470
- sx: {
2471
- transform: value ? "rotate(-90deg)" : "rotate(0deg)",
2472
- transition: "transform 0.2s ease"
2473
- },
2474
- children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.AngleLeftSolid, { size: 12, color: "secondary" })
2475
- }
2476
- )
2477
- ]
2478
- }
2479
- ),
2480
- !value && /* @__PURE__ */ jsxRuntime.jsx(core.Stack, { gap: 1, children: category.rooms.map((room) => /* @__PURE__ */ jsxRuntime.jsx(RoomItem, { room }, room.id)) })
2481
- ] });
2482
- }
2483
2530
  function AppShellNavigation({
2484
2531
  spaces,
2485
2532
  pageItem,
@@ -2500,10 +2547,14 @@ function AppShellNavigation({
2500
2547
  asideCollapsed = true,
2501
2548
  onAsideToggle,
2502
2549
  onMaxExpand,
2550
+ onAiOpen,
2551
+ isAiOpened,
2552
+ isAiBtnVisible,
2503
2553
  loading,
2504
- children
2554
+ children,
2555
+ aiNavbarContent
2505
2556
  }) {
2506
- const [navbarCollapsed, { toggle: toggleNavbar }] = hooks.useDisclosure(true);
2557
+ const [isNavbarNotCollapsed, { toggle: toggleNavbar }] = hooks.useDisclosure(true);
2507
2558
  const [asideWidth, setAsideWidth] = react$1.useState(450);
2508
2559
  const theme = useUITheme.useUITheme();
2509
2560
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2512,7 +2563,8 @@ function AppShellNavigation({
2512
2563
  withBorder: false,
2513
2564
  styles: {
2514
2565
  navbar: {
2515
- background: theme.bg.navScaled
2566
+ background: theme.bg.navScaled,
2567
+ transition: "width 0.3s ease"
2516
2568
  },
2517
2569
  aside: {
2518
2570
  background: theme.bg.navScaled
@@ -2520,7 +2572,7 @@ function AppShellNavigation({
2520
2572
  },
2521
2573
  bg: theme.bg.centralCanvasBg,
2522
2574
  navbar: {
2523
- width: navbarCollapsed ? 300 : 56,
2575
+ width: isNavbarNotCollapsed ? isAiOpened ? 450 : 300 : 56,
2524
2576
  breakpoint: "sm"
2525
2577
  },
2526
2578
  aside: {
@@ -2579,18 +2631,34 @@ function AppShellNavigation({
2579
2631
  onMinusSpaceClick && /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onMinusSpaceClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.MinusCircleSolid, { color: "secondary" }) }),
2580
2632
  /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { align: "center", gap: 8, children: [
2581
2633
  /* @__PURE__ */ jsxRuntime.jsx(core.Divider, { w: 40, mx: 10, color: theme.neutral.transparent10 }),
2582
- /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onSettingsIconClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.SettingsBarSolid, { size: 22, color: "secondary" }) }),
2583
- !navbarCollapsed && /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: toggleNavbar, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.AngleRightSolid, { color: "secondary" }) })
2634
+ /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: theme.bg.navIconsBg, h: 40, w: 40, onClick: onSettingsIconClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.SettingsBarSolid, { size: 22, color: "secondary" }) })
2584
2635
  ] })
2585
2636
  ] }),
2586
- navbarCollapsed && /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2637
+ isAiOpened && isNavbarNotCollapsed && aiNavbarContent,
2638
+ isNavbarNotCollapsed && !isAiOpened && /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2587
2639
  /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { gap: 5, children: [
2588
2640
  /* @__PURE__ */ jsxRuntime.jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2589
2641
  /* @__PURE__ */ jsxRuntime.jsxs(Flex, { align: "center", gap: "10px", children: [
2590
2642
  isBackButtonVisible ? /* @__PURE__ */ jsxRuntime.jsx(core.Center, { onClick: onBackClick, sx: { borderRadius: 4, cursor: "pointer", padding: 2, background: theme.bg.navIconsBg }, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.ArrowLeftSolid, { size: 18 }) }) : /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { borderRadius: 4, padding: 2, background: theme.bg.navIconsBg }, children: pageItem.pageIcon ? /* @__PURE__ */ jsxRuntime.jsx(pageItem.pageIcon, { size: 18 }) : /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.Globe, { size: 18 }) }),
2591
2643
  /* @__PURE__ */ jsxRuntime.jsx(core.Text, { lh: 1, c: theme.text.overPicture, children: pageItem.pageTitle || "Unknown" })
2592
2644
  ] }),
2593
- /* @__PURE__ */ jsxRuntime.jsx(Flex, { gap: 12, align: "center", children: /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer" }, onClick: toggleNavbar, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.PanelLeftSolid, { size: 22, color: "secondary" }) }) })
2645
+ isAiBtnVisible && !isAiOpened && /* @__PURE__ */ jsxRuntime.jsx(
2646
+ core.Center,
2647
+ {
2648
+ sx: {
2649
+ cursor: "pointer",
2650
+ borderRadius: 8,
2651
+ transition: "background 0.15s",
2652
+ background: theme.bg.navIconsBg,
2653
+ "&:hover": {
2654
+ background: theme.neutral.transparent30
2655
+ }
2656
+ },
2657
+ p: 4,
2658
+ onClick: onAiOpen,
2659
+ children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.Assistant, { size: 18, color: "primary" })
2660
+ }
2661
+ )
2594
2662
  ] }),
2595
2663
  loading ? /* @__PURE__ */ jsxRuntime.jsx(core.Stack, { gap: 5, children: Array.from({ length: 6 }).map((_, idx) => /* @__PURE__ */ jsxRuntime.jsx(NavigationItemSkeleton, {}, idx)) }) : menuItems?.map((item) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { onMenuItemClick, item }, item.id)),
2596
2664
  roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(core.Stack, { gap: 8, mt: 16, children: roomCategories.map((category) => /* @__PURE__ */ jsxRuntime.jsx(RoomCategory, { category }, category.id)) })
@@ -3126,7 +3194,7 @@ function OracleMessage({ oracleName, message }) {
3126
3194
  }
3127
3195
  function UserMessage({ message, sender }) {
3128
3196
  const theme = useUITheme.useUITheme();
3129
- return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { w: "fit-content", bg: theme.colors.focusTransparent10, sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3197
+ return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { w: "fit-content", bg: theme.bg.navIconsBg, sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3130
3198
  /* @__PURE__ */ jsxRuntime.jsx(core.Text, { c: theme.text.overPicture, fz: 12, children: sender }),
3131
3199
  /* @__PURE__ */ jsxRuntime.jsx(core.Text, { c: theme.text.overPicture, mt: 10, sx: { wordBreak: "break-all" }, children: message }, message)
3132
3200
  ] });
@@ -4446,7 +4514,8 @@ function FloatingInput({
4446
4514
  className,
4447
4515
  css: () => ({
4448
4516
  backgroundColor: "transparent",
4449
- borderRadius: 24,
4517
+ borderRadius: 20,
4518
+ outline: `1px solid ${theme.colors.focus}`,
4450
4519
  paddingTop: 16,
4451
4520
  position: "relative",
4452
4521
  animation: `${fadeIn} 0.3s ease-out`,
@@ -4543,7 +4612,7 @@ function FloatingInput({
4543
4612
  core.Box,
4544
4613
  {
4545
4614
  p: 16,
4546
- bg: theme.bg.glassmorphics,
4615
+ bg: theme.bg.navSpaces,
4547
4616
  w: 340,
4548
4617
  pos: "absolute",
4549
4618
  left: "50%",
@@ -5577,13 +5646,13 @@ function ActionButton({ onClick, left, right }) {
5577
5646
  }
5578
5647
  );
5579
5648
  }
5580
- const MainAction = react$1.lazy(() => Promise.resolve().then(() => require("./index-1_x_N7t0.cjs")));
5581
- const Header$1 = react$1.lazy(() => Promise.resolve().then(() => require("./index-paAq-KH4.cjs")));
5582
- const Content = react$1.lazy(() => Promise.resolve().then(() => require("./index-DtDKdj1b.cjs")));
5649
+ const MainAction = react$1.lazy(() => Promise.resolve().then(() => require("./index-CFEGoEU_.cjs")));
5650
+ const Header$1 = react$1.lazy(() => Promise.resolve().then(() => require("./index-C68z2dhs.cjs")));
5651
+ const Content = react$1.lazy(() => Promise.resolve().then(() => require("./index-OFqzHKxE.cjs")));
5583
5652
  const Map = react$1.lazy(() => Promise.resolve().then(() => require("./index-D4PsPquZ.cjs")));
5584
5653
  const CustomContent = react$1.lazy(() => Promise.resolve().then(() => require("./index-ByrCNpS2.cjs")));
5585
- const Assets = react$1.lazy(() => Promise.resolve().then(() => require("./index-B67PPfoW.cjs")));
5586
- const Actions = react$1.lazy(() => Promise.resolve().then(() => require("./index-Cjc9U9We.cjs")));
5654
+ const Assets = react$1.lazy(() => Promise.resolve().then(() => require("./index-0QYujsdV.cjs")));
5655
+ const Actions = react$1.lazy(() => Promise.resolve().then(() => require("./index-vMylc9wu.cjs")));
5587
5656
  const HOVER_BORDER_WIDTH = 1;
5588
5657
  function SodaCardCmp({ numSelected = 0, expanded = true, mainAction, header, content, map, customContent, customFooter, actions, assets, onClick }, ref) {
5589
5658
  const wrapperRef = react$1.useRef(null);
@@ -10804,6 +10873,7 @@ function NavigationBar({
10804
10873
  hoveredItem === "user" && user && /* @__PURE__ */ jsxRuntime.jsx(UserModal, { items: userModalItems, position: modalPosition, onMouseEnter: handleModalEnter, onMouseLeave: handleModalLeave })
10805
10874
  ] });
10806
10875
  }
10876
+ exports.AIChatToolbar = AIChatToolbar;
10807
10877
  exports.AIInputBar = AIInputBar;
10808
10878
  exports.AIResponse = AIResponse;
10809
10879
  exports.Accordion = Accordion;
@@ -10895,4 +10965,4 @@ exports.UserMessage = UserMessage;
10895
10965
  exports.WorkspaceModal = WorkspaceModal;
10896
10966
  exports.cutText = cutText;
10897
10967
  exports.isValidClick = isValidClick;
10898
- //# sourceMappingURL=components-_MkU3jTT.cjs.map
10968
+ //# sourceMappingURL=components-Disquhlg.cjs.map