@ixo/ui 0.1.9 → 0.1.11

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 (56) hide show
  1. package/dist/.vite/manifest.json +43 -43
  2. package/dist/components/AppShellNavigation/components/MenuItem.d.ts +2 -1
  3. package/dist/components/AppShellNavigation/components/MenuItem.d.ts.map +1 -1
  4. package/dist/components/AppShellNavigation/components/RoomCategory.d.ts +3 -1
  5. package/dist/components/AppShellNavigation/components/RoomCategory.d.ts.map +1 -1
  6. package/dist/components/AppShellNavigation/components/RoomItem.d.ts +2 -1
  7. package/dist/components/AppShellNavigation/components/RoomItem.d.ts.map +1 -1
  8. package/dist/components/AppShellNavigation/index.d.ts.map +1 -1
  9. package/dist/components/OracleMessage/index.d.ts.map +1 -1
  10. package/dist/{components-EXB_BUs5.js → components-CHbRYZDV.js} +247 -181
  11. package/dist/{components-EXB_BUs5.js.map → components-CHbRYZDV.js.map} +1 -1
  12. package/dist/{components-BDiiWelU.cjs → components-JdTP8bty.cjs} +247 -181
  13. package/dist/{components-BDiiWelU.cjs.map → components-JdTP8bty.cjs.map} +1 -1
  14. package/dist/export/components.cjs +1 -1
  15. package/dist/export/components.mjs +1 -1
  16. package/dist/{index-Ch90kRkK.cjs → index-0Gd3Y9ix.cjs} +2 -2
  17. package/dist/{index-Ch90kRkK.cjs.map → index-0Gd3Y9ix.cjs.map} +1 -1
  18. package/dist/{index-DccAmgX1.js → index-3jU32ylS.js} +2 -2
  19. package/dist/{index-DccAmgX1.js.map → index-3jU32ylS.js.map} +1 -1
  20. package/dist/{index-Dv_e6z8D.js → index-5nix3uGD.js} +2 -2
  21. package/dist/{index-Dv_e6z8D.js.map → index-5nix3uGD.js.map} +1 -1
  22. package/dist/{index-BHuoPnj7.js → index-8tGadeUE.js} +2 -2
  23. package/dist/{index-BHuoPnj7.js.map → index-8tGadeUE.js.map} +1 -1
  24. package/dist/{index-Be7UORTt.js → index-BVtpqWCs.js} +2 -2
  25. package/dist/{index-Be7UORTt.js.map → index-BVtpqWCs.js.map} +1 -1
  26. package/dist/{index-DWUKXIMe.cjs → index-BWT97hNk.cjs} +2 -2
  27. package/dist/{index-DWUKXIMe.cjs.map → index-BWT97hNk.cjs.map} +1 -1
  28. package/dist/{index-LERt98FZ.cjs → index-BZuf5Uwh.cjs} +2 -2
  29. package/dist/{index-LERt98FZ.cjs.map → index-BZuf5Uwh.cjs.map} +1 -1
  30. package/dist/{index-BzEXuxSc.cjs → index-BnDHepRw.cjs} +3 -3
  31. package/dist/{index-BzEXuxSc.cjs.map → index-BnDHepRw.cjs.map} +1 -1
  32. package/dist/{index-D1bGiH9L.cjs → index-Br0Chnx7.cjs} +2 -2
  33. package/dist/{index-D1bGiH9L.cjs.map → index-Br0Chnx7.cjs.map} +1 -1
  34. package/dist/{index-Dm6B7Yv-.js → index-BzJhTXjs.js} +2 -2
  35. package/dist/{index-Dm6B7Yv-.js.map → index-BzJhTXjs.js.map} +1 -1
  36. package/dist/{index-CGLxKSPk.js → index-CAGiV0J3.js} +2 -2
  37. package/dist/{index-CGLxKSPk.js.map → index-CAGiV0J3.js.map} +1 -1
  38. package/dist/{index-Lu5gXTPs.js → index-CYdgFOk0.js} +3 -3
  39. package/dist/{index-Lu5gXTPs.js.map → index-CYdgFOk0.js.map} +1 -1
  40. package/dist/{index-qHCPELWv.cjs → index-CgGNRXUP.cjs} +2 -2
  41. package/dist/{index-qHCPELWv.cjs.map → index-CgGNRXUP.cjs.map} +1 -1
  42. package/dist/{index-D771i3jp.cjs → index-CnwnwLBL.cjs} +2 -2
  43. package/dist/{index-D771i3jp.cjs.map → index-CnwnwLBL.cjs.map} +1 -1
  44. package/dist/{index-ImM8dR3W.cjs → index-DIkd4nvp.cjs} +3 -3
  45. package/dist/{index-ImM8dR3W.cjs.map → index-DIkd4nvp.cjs.map} +1 -1
  46. package/dist/{index-CTZnqmGU.cjs → index-DIoNw9Is.cjs} +2 -2
  47. package/dist/{index-CTZnqmGU.cjs.map → index-DIoNw9Is.cjs.map} +1 -1
  48. package/dist/{index-2Qg0wBFO.js → index-DeRpsAsl.js} +2 -2
  49. package/dist/{index-2Qg0wBFO.js.map → index-DeRpsAsl.js.map} +1 -1
  50. package/dist/{index-CEb94eQ3.js → index-DxE2Ni88.js} +2 -2
  51. package/dist/{index-CEb94eQ3.js.map → index-DxE2Ni88.js.map} +1 -1
  52. package/dist/{index-BKru_TQX.js → index-F6HHDg6A.js} +3 -3
  53. package/dist/{index-BKru_TQX.js.map → index-F6HHDg6A.js.map} +1 -1
  54. package/dist/{index-CO6Ygcv-.cjs → index-aYeZagBJ.cjs} +2 -2
  55. package/dist/{index-CO6Ygcv-.cjs.map → index-aYeZagBJ.cjs.map} +1 -1
  56. package/package.json +1 -1
@@ -823,8 +823,8 @@ function AccordionTable({
823
823
  }
824
824
  );
825
825
  }
826
- const Header$3 = lazy(() => import("./index-2Qg0wBFO.js"));
827
- const Footer = lazy(() => import("./index-BKru_TQX.js"));
826
+ const Header$3 = lazy(() => import("./index-DeRpsAsl.js"));
827
+ const Footer = lazy(() => import("./index-F6HHDg6A.js"));
828
828
  function ActionCard({ header, content, footer, useHoverMode = false }) {
829
829
  const hasContent = !!content || !!footer;
830
830
  const initialVisibility = footer?.startHidden !== true;
@@ -908,7 +908,7 @@ function Loader({ size, color = "primary" }) {
908
908
  }
909
909
  const CARD_WIDTH$1 = 350;
910
910
  const CARD_HEADER_HEIGHT = 158;
911
- const Header$2 = lazy(() => import("./index-Be7UORTt.js"));
911
+ const Header$2 = lazy(() => import("./index-BVtpqWCs.js"));
912
912
  function Card({ children, className, contentClassName, roundedBottom, noPadding = false, fullWidth = false, header, wrapperSx, onClick }) {
913
913
  const wrapperRef = useRef(null);
914
914
  const handleOnClick = useCallback(
@@ -1343,7 +1343,7 @@ function ModalSheet({ isOpen, children, hideHandler, zIndex, onRequestHide, onRe
1343
1343
  document.body
1344
1344
  );
1345
1345
  }
1346
- const Badge = lazy(() => import("./index-Dv_e6z8D.js"));
1346
+ const Badge = lazy(() => import("./index-5nix3uGD.js"));
1347
1347
  function ActionSheet({ children, isOpen, header, navMenu = void 0, onRequestHide, onRequestShow }) {
1348
1348
  const shadowScrollRef = useRef(null);
1349
1349
  const wrapperContentAreaRef = useRef(null);
@@ -2323,37 +2323,7 @@ function NavigationItemSkeleton() {
2323
2323
  }
2324
2324
  );
2325
2325
  }
2326
- function cutText(text, length, ending = "…") {
2327
- if (!length || text.length <= length) {
2328
- return text;
2329
- }
2330
- const words = text.split(" ");
2331
- const endingSize = ending.length;
2332
- let result = "";
2333
- for (const word of words) {
2334
- const newValue = result + word + " ";
2335
- if (newValue.length + endingSize - 1 > length) {
2336
- break;
2337
- }
2338
- result = newValue;
2339
- }
2340
- return result.trim() + ending;
2341
- }
2342
- function shortStr(str, threshold = 30, saveSymbolsAtTheEnd = 10, insert = "...") {
2343
- if (!str) return str;
2344
- const len = str.length;
2345
- if (len <= threshold) return str;
2346
- const ending = saveSymbolsAtTheEnd ? str.slice(-1 * saveSymbolsAtTheEnd) : "";
2347
- const beginning = str.substring(0, threshold - saveSymbolsAtTheEnd - insert.length);
2348
- return `${beginning}${insert}${ending}`;
2349
- }
2350
- function carbonToUSD(carbon) {
2351
- return (carbon * 0.03).toLocaleString(void 0, {
2352
- minimumFractionDigits: 0,
2353
- maximumFractionDigits: 6
2354
- });
2355
- }
2356
- function RoomItem({ room }) {
2326
+ function RoomItem({ room, navbarWidth }) {
2357
2327
  const { hovered, ref } = useHover();
2358
2328
  const renderIcon = () => {
2359
2329
  if (!room.icon) return null;
@@ -2366,8 +2336,7 @@ function RoomItem({ room }) {
2366
2336
  return room.icon;
2367
2337
  }
2368
2338
  };
2369
- const displayName = shortStr(room.name, 19, 0) || room.name;
2370
- const shouldShowTooltip = room.name.length > 19;
2339
+ const textMaxWidth = navbarWidth - 190;
2371
2340
  const content = /* @__PURE__ */ jsxs(
2372
2341
  Flex,
2373
2342
  {
@@ -2387,7 +2356,7 @@ function RoomItem({ room }) {
2387
2356
  children: [
2388
2357
  /* @__PURE__ */ jsxs(Flex, { align: "center", gap: 8, children: [
2389
2358
  renderIcon(),
2390
- /* @__PURE__ */ jsx(Text$1, { c: room.isActive ? "neutralColor.8" : "neutralColor.7", fz: 14, children: displayName })
2359
+ /* @__PURE__ */ jsx(Text$1, { c: room.isActive ? "neutralColor.8" : "neutralColor.7", fz: 14, truncate: true, style: { maxWidth: textMaxWidth }, children: room.name })
2391
2360
  ] }),
2392
2361
  hovered && /* @__PURE__ */ jsxs(Flex, { align: "center", gap: 4, children: [
2393
2362
  room.onActionClick && /* @__PURE__ */ jsx(Tooltip$4, { label: room.onActionClick.label, children: /* @__PURE__ */ jsx(
@@ -2406,9 +2375,9 @@ function RoomItem({ room }) {
2406
2375
  ]
2407
2376
  }
2408
2377
  );
2409
- return shouldShowTooltip ? /* @__PURE__ */ jsx(Tooltip$4, { label: room.name, children: /* @__PURE__ */ jsx("span", { children: content }) }) : content;
2378
+ return content;
2410
2379
  }
2411
- function RoomCategory({ name, rooms, actions, primaryActions }) {
2380
+ function RoomCategory({ name, rooms, actions, primaryActions, navbarWidth }) {
2412
2381
  const { hovered, ref } = useHover();
2413
2382
  const { value, toggle: toggle2 } = useToggle(false);
2414
2383
  return /* @__PURE__ */ jsxs(Stack$1, { gap: 2, children: [
@@ -2474,14 +2443,19 @@ function RoomCategory({ name, rooms, actions, primaryActions }) {
2474
2443
  ]
2475
2444
  }
2476
2445
  ),
2477
- !value && /* @__PURE__ */ jsx(Stack$1, { gap: 5, children: rooms?.map((room) => /* @__PURE__ */ jsx(RoomItem, { room }, room.id)) })
2446
+ !value && /* @__PURE__ */ jsx(Stack$1, { gap: 5, children: rooms?.map((room) => /* @__PURE__ */ jsx(RoomItem, { room, navbarWidth }, room.id)) })
2478
2447
  ] });
2479
2448
  }
2480
2449
  function hasActiveDescendant(children) {
2481
2450
  if (!children || children.length === 0) return false;
2482
2451
  return children.some((child) => child.isActive === true || hasActiveDescendant(child.children));
2483
2452
  }
2484
- function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2453
+ function MenuItem({
2454
+ item,
2455
+ onMenuItemClick,
2456
+ depth = 0,
2457
+ navbarWidth
2458
+ }) {
2485
2459
  const { hovered, ref } = useHover();
2486
2460
  const hasChildren = item.children && item.children.length > 0;
2487
2461
  const hasActiveChild = useMemo(() => hasActiveDescendant(item.children), [item.children]);
@@ -2561,7 +2535,7 @@ function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2561
2535
  children: [
2562
2536
  /* @__PURE__ */ jsxs(Flex, { align: "center", gap: 8, children: [
2563
2537
  renderIcon(),
2564
- /* @__PURE__ */ jsx(Text$1, { fz: 14, fw: 500, c: item.isActive ? "neutralColor.8" : "neutralColor.7", style: { flex: 1 }, children: item.name }),
2538
+ /* @__PURE__ */ jsx(Text$1, { fz: 14, fw: 500, c: item.isActive ? "neutralColor.8" : "neutralColor.7", truncate: true, style: { maxWidth: navbarWidth - 160 - depth * 16 }, children: item.name }),
2565
2539
  item.badgeCount ? /* @__PURE__ */ jsx(Badge$1, { size: "xs", variant: "filled", ml: 4, style: { minWidth: "16px", height: "15px", padding: "0 4px", fontSize: "8px" }, children: item.badgeCount }) : null
2566
2540
  ] }),
2567
2541
  /* @__PURE__ */ jsx(Flex, { children: item?.actions && item.actions.length > 0 && /* @__PURE__ */ jsx(
@@ -2581,7 +2555,7 @@ function MenuItem({ item, onMenuItemClick, depth = 0 }) {
2581
2555
  ]
2582
2556
  }
2583
2557
  ),
2584
- hasChildren && isExpanded && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: item.children?.map((childItem) => /* @__PURE__ */ jsx(MenuItem, { item: childItem, onMenuItemClick, depth: depth + 1 }, childItem.id)) })
2558
+ hasChildren && isExpanded && /* @__PURE__ */ jsx(Stack$1, { gap: 1, children: item.children?.map((childItem) => /* @__PURE__ */ jsx(MenuItem, { item: childItem, onMenuItemClick, depth: depth + 1, navbarWidth }, childItem.id)) })
2585
2559
  ] });
2586
2560
  }
2587
2561
  function SelectedIndicator() {
@@ -2698,7 +2672,6 @@ function AppShellNavigation({
2698
2672
  },
2699
2673
  [onSplitRatioChange]
2700
2674
  );
2701
- const isTitleOverflowing = (pageItem?.pageTitle?.length || 0) > 21;
2702
2675
  const handleSplitMouseUp = useCallback(() => {
2703
2676
  setIsSplitResizing(false);
2704
2677
  isSplitResizingRef.current = false;
@@ -2728,8 +2701,9 @@ function AppShellNavigation({
2728
2701
  };
2729
2702
  }, [isSplitResizing, handleSplitMouseMove, handleSplitMouseUp]);
2730
2703
  const [navbarWidthAiOpen, setNavbarWidthAiOpen] = useLocalStorage("navbar-width-ai-open", 450);
2731
- const [navbarWidthAiClosed, setNavbarWidthAiClosed] = useLocalStorage("navbar-width-ai-closed", 300);
2704
+ const [navbarWidthAiClosed, setNavbarWidthAiClosed] = useLocalStorage("navbar-width-ai-closed", 330);
2732
2705
  const navbarWidth = isAiOpened ? navbarWidthAiOpen : navbarWidthAiClosed;
2706
+ const titleMaxWidth = navbarWidth - 120;
2733
2707
  const [isNavbarResizing, setIsNavbarResizing] = useState(false);
2734
2708
  const isNavbarResizingRef = useRef(false);
2735
2709
  function clearNavbarListeners() {
@@ -2884,7 +2858,7 @@ function AppShellNavigation({
2884
2858
  isAiOpened && !isMobile && aiNavbarContent,
2885
2859
  !isAiOpened && /* @__PURE__ */ jsxs(Box, { w: "100%", style: { height: "100%", display: "flex", flexDirection: "column" }, children: [
2886
2860
  /* @__PURE__ */ jsx(AppShell.Section, { px: 12, pt: 16, children: /* @__PURE__ */ jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2887
- /* @__PURE__ */ jsx(Flex, { align: "center", gap: "10px", children: /* @__PURE__ */ jsx(Tooltip$4, { label: pageItem.pageTitle || "Unknown", disabled: !isTitleOverflowing, position: "bottom", withArrow: true, children: /* @__PURE__ */ jsx(Text$1, { lh: 1, c: "neutralColor.8", children: isTitleOverflowing ? shortStr(pageItem.pageTitle, 21, 0) : pageItem.pageTitle || "Unknown" }) }) }),
2861
+ /* @__PURE__ */ jsx(Flex, { align: "center", gap: "10px", children: /* @__PURE__ */ jsx(Text$1, { lh: 1, c: "neutralColor.8", truncate: true, style: { maxWidth: titleMaxWidth }, children: pageItem.pageTitle || "Unknown" }) }),
2888
2862
  isAiBtnVisible && !isAiOpened && !isMobile && /* @__PURE__ */ jsx(
2889
2863
  Center,
2890
2864
  {
@@ -2908,12 +2882,12 @@ function AppShellNavigation({
2908
2882
  if (index !== 0 && index === separator) {
2909
2883
  return /* @__PURE__ */ jsxs(Fragment, { children: [
2910
2884
  /* @__PURE__ */ jsx(Space, { h: 16 }),
2911
- /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id)
2885
+ /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item, navbarWidth }, item.id)
2912
2886
  ] });
2913
2887
  }
2914
- return /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item }, item.id);
2888
+ return /* @__PURE__ */ jsx(MenuItem, { onMenuItemClick, item, navbarWidth }, item.id);
2915
2889
  }),
2916
- roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsx(Stack$1, { gap: 8, mt: 16, children: roomCategories.map(({ id, name, actions, rooms, primaryActions: onAddClick }) => /* @__PURE__ */ jsx(RoomCategory, { id, name, actions, rooms, primaryActions: onAddClick }, id)) })
2890
+ roomCategories && roomCategories.length > 0 && /* @__PURE__ */ jsx(Stack$1, { gap: 8, mt: 16, children: roomCategories.map(({ id, name, actions, rooms, primaryActions: onAddClick }) => /* @__PURE__ */ jsx(RoomCategory, { id, name, actions, rooms, primaryActions: onAddClick, navbarWidth }, id)) })
2917
2891
  ] }) }),
2918
2892
  footerContent && /* @__PURE__ */ jsx(AppShell.Section, { px: 12, py: 10, children: /* @__PURE__ */ jsx(Stack$1, { gap: 5, children: footerContent }) })
2919
2893
  ] })
@@ -3467,137 +3441,207 @@ function OracleMessage({ oracleName, message }) {
3467
3441
  /* @__PURE__ */ jsx(Text$1, { fz: 12, c: "accent.5", children: oracleName || "Oracle" }),
3468
3442
  /* @__PURE__ */ jsx(Badge$1, { tt: "capitalize", c: "accent.5", size: "md", bg: "accent.0", children: "Oracle" })
3469
3443
  ] }),
3470
- /* @__PURE__ */ jsx(Box, { mt: 12, mb: 4, sx: { borderRadius: 16 }, children: /* @__PURE__ */ jsx(
3471
- Markdown,
3444
+ /* @__PURE__ */ jsx(
3445
+ Box,
3472
3446
  {
3473
- remarkPlugins: [remarkGfm],
3474
- components: {
3475
- a: ({ children, href }) => /* @__PURE__ */ jsx("a", { href, style: { color: "var(--mantine-color-accent-5)", textDecoration: "underline" }, children }),
3476
- ul: ({ children, ...props }) => /* @__PURE__ */ jsx(
3477
- "ul",
3478
- {
3479
- ...props,
3480
- style: {
3481
- margin: "12px 0",
3482
- paddingLeft: 20,
3483
- listStyleType: "none"
3484
- },
3485
- children
3486
- }
3487
- ),
3488
- ol: ({ children, ...props }) => /* @__PURE__ */ jsx(
3489
- "ol",
3490
- {
3491
- ...props,
3492
- style: {
3493
- margin: "12px 0",
3494
- paddingLeft: 20,
3495
- listStyleType: "decimal"
3496
- },
3497
- children
3498
- }
3499
- ),
3500
- li: ({ children, ...props }) => /* @__PURE__ */ jsx(
3501
- "li",
3502
- {
3503
- ...props,
3504
- style: {
3505
- marginBottom: 8,
3506
- lineHeight: 1.6,
3507
- paddingLeft: 4
3508
- },
3509
- children
3510
- }
3511
- ),
3512
- h3: ({ children, ...props }) => /* @__PURE__ */ jsx(
3513
- "h3",
3514
- {
3515
- ...props,
3516
- style: {
3517
- marginTop: 16,
3518
- marginBottom: 12,
3519
- fontSize: "1.1em",
3520
- fontWeight: 600,
3521
- color: "var(--mantine-color-neutralColor-6)"
3522
- },
3523
- children
3524
- }
3525
- ),
3526
- h4: ({ children, ...props }) => /* @__PURE__ */ jsx(
3527
- "h4",
3528
- {
3529
- ...props,
3530
- style: {
3531
- marginTop: 12,
3532
- marginBottom: 8,
3533
- fontSize: "1em",
3534
- fontWeight: 500,
3535
- color: "var(--mantine-color-neutralColor-6)"
3536
- },
3537
- children
3538
- }
3539
- ),
3540
- p: ({ children, ...props }) => /* @__PURE__ */ jsx(
3541
- "p",
3542
- {
3543
- ...props,
3544
- style: {
3545
- margin: "8px 0",
3546
- lineHeight: 1.6,
3547
- color: "var(--mantine-color-neutralColor-8)"
3548
- },
3549
- children
3550
- }
3551
- ),
3552
- table: ({ children, ...props }) => /* @__PURE__ */ jsx("div", { style: { overflowX: "auto", margin: "16px 0" }, children: /* @__PURE__ */ jsx(
3553
- "table",
3554
- {
3555
- ...props,
3556
- style: {
3557
- width: "100%",
3558
- borderCollapse: "collapse",
3559
- borderSpacing: 0
3560
- },
3561
- children
3562
- }
3563
- ) }),
3564
- thead: ({ children, ...props }) => /* @__PURE__ */ jsx("thead", { ...props, children }),
3565
- tbody: ({ children, ...props }) => /* @__PURE__ */ jsx("tbody", { ...props, children }),
3566
- tr: ({ children, ...props }) => /* @__PURE__ */ jsx("tr", { ...props, children }),
3567
- th: ({ children, ...props }) => /* @__PURE__ */ jsx(
3568
- "th",
3569
- {
3570
- ...props,
3571
- style: {
3572
- border: "1px solid var(--mantine-color-neutralColor-7)",
3573
- padding: "8px 12px",
3574
- fontWeight: 600,
3575
- textAlign: "left",
3576
- backgroundColor: "var(--mantine-color-neutralColor-5)"
3577
- },
3578
- children
3579
- }
3580
- ),
3581
- td: ({ children, ...props }) => /* @__PURE__ */ jsx(
3582
- "td",
3583
- {
3584
- ...props,
3585
- style: {
3586
- border: "1px solid var(--mantine-color-neutralColor-7)",
3587
- padding: "8px 12px",
3588
- textAlign: "left"
3589
- },
3590
- children
3591
- }
3592
- )
3447
+ mt: 12,
3448
+ mb: 4,
3449
+ sx: {
3450
+ borderRadius: 16,
3451
+ maxWidth: "100%",
3452
+ minWidth: 0
3593
3453
  },
3594
- children: message
3454
+ children: /* @__PURE__ */ jsx(
3455
+ Markdown,
3456
+ {
3457
+ remarkPlugins: [remarkGfm],
3458
+ components: {
3459
+ a: ({ children, href }) => /* @__PURE__ */ jsx("a", { href, style: { color: "var(--mantine-color-accent-5)", textDecoration: "underline" }, children }),
3460
+ ul: ({ children, ...props }) => /* @__PURE__ */ jsx(
3461
+ "ul",
3462
+ {
3463
+ ...props,
3464
+ style: {
3465
+ margin: "12px 0",
3466
+ paddingLeft: 20,
3467
+ listStyleType: "none"
3468
+ },
3469
+ children
3470
+ }
3471
+ ),
3472
+ ol: ({ children, ...props }) => /* @__PURE__ */ jsx(
3473
+ "ol",
3474
+ {
3475
+ ...props,
3476
+ style: {
3477
+ margin: "12px 0",
3478
+ paddingLeft: 20,
3479
+ listStyleType: "decimal"
3480
+ },
3481
+ children
3482
+ }
3483
+ ),
3484
+ li: ({ children, ...props }) => /* @__PURE__ */ jsx(
3485
+ "li",
3486
+ {
3487
+ ...props,
3488
+ style: {
3489
+ marginBottom: 8,
3490
+ lineHeight: 1.6,
3491
+ paddingLeft: 4,
3492
+ overflowWrap: "anywhere",
3493
+ wordBreak: "break-word"
3494
+ },
3495
+ children
3496
+ }
3497
+ ),
3498
+ h3: ({ children, ...props }) => /* @__PURE__ */ jsx(
3499
+ "h3",
3500
+ {
3501
+ ...props,
3502
+ style: {
3503
+ marginTop: 16,
3504
+ marginBottom: 12,
3505
+ fontSize: "1.1em",
3506
+ fontWeight: 600,
3507
+ color: "var(--mantine-color-neutralColor-6)"
3508
+ },
3509
+ children
3510
+ }
3511
+ ),
3512
+ h4: ({ children, ...props }) => /* @__PURE__ */ jsx(
3513
+ "h4",
3514
+ {
3515
+ ...props,
3516
+ style: {
3517
+ marginTop: 12,
3518
+ marginBottom: 8,
3519
+ fontSize: "1em",
3520
+ fontWeight: 500,
3521
+ color: "var(--mantine-color-neutralColor-6)"
3522
+ },
3523
+ children
3524
+ }
3525
+ ),
3526
+ blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx(
3527
+ "blockquote",
3528
+ {
3529
+ ...props,
3530
+ style: {
3531
+ margin: "12px 0",
3532
+ padding: "8px 12px",
3533
+ borderLeft: "3px solid var(--mantine-color-neutralColor-6)",
3534
+ backgroundColor: "var(--mantine-color-neutralColor-4)",
3535
+ borderRadius: 8,
3536
+ color: "var(--mantine-color-neutralColor-8)",
3537
+ overflowWrap: "anywhere",
3538
+ wordBreak: "break-word",
3539
+ maxWidth: "100%"
3540
+ },
3541
+ children
3542
+ }
3543
+ ),
3544
+ pre: ({ children, ...props }) => /* @__PURE__ */ jsx(
3545
+ "pre",
3546
+ {
3547
+ ...props,
3548
+ style: {
3549
+ margin: "12px 0",
3550
+ padding: "12px",
3551
+ backgroundColor: "var(--mantine-color-neutralColor-5)",
3552
+ borderRadius: 8,
3553
+ fontSize: 12,
3554
+ maxWidth: "100%",
3555
+ overflowX: "auto"
3556
+ },
3557
+ children
3558
+ }
3559
+ ),
3560
+ code: ({ children, ...props }) => /* @__PURE__ */ jsx(
3561
+ "code",
3562
+ {
3563
+ ...props,
3564
+ style: {
3565
+ fontFamily: "monospace",
3566
+ fontSize: 12,
3567
+ backgroundColor: "var(--mantine-color-neutralColor-4)",
3568
+ padding: "2px 4px",
3569
+ borderRadius: 4,
3570
+ overflowWrap: "anywhere",
3571
+ wordBreak: "break-word",
3572
+ whiteSpace: "pre-wrap",
3573
+ maxWidth: "100%"
3574
+ },
3575
+ children
3576
+ }
3577
+ ),
3578
+ p: ({ children, ...props }) => /* @__PURE__ */ jsx(
3579
+ "p",
3580
+ {
3581
+ ...props,
3582
+ style: {
3583
+ margin: "8px 0",
3584
+ lineHeight: 1.6,
3585
+ color: "var(--mantine-color-neutralColor-8)",
3586
+ overflowWrap: "anywhere",
3587
+ wordBreak: "break-word"
3588
+ },
3589
+ children
3590
+ }
3591
+ ),
3592
+ table: ({ children, ...props }) => /* @__PURE__ */ jsx("div", { style: { overflowX: "auto", margin: "16px 0" }, children: /* @__PURE__ */ jsx(
3593
+ "table",
3594
+ {
3595
+ ...props,
3596
+ style: {
3597
+ width: "100%",
3598
+ borderCollapse: "collapse",
3599
+ borderSpacing: 0
3600
+ },
3601
+ children
3602
+ }
3603
+ ) }),
3604
+ thead: ({ children, ...props }) => /* @__PURE__ */ jsx("thead", { ...props, children }),
3605
+ tbody: ({ children, ...props }) => /* @__PURE__ */ jsx("tbody", { ...props, children }),
3606
+ tr: ({ children, ...props }) => /* @__PURE__ */ jsx("tr", { ...props, children }),
3607
+ th: ({ children, ...props }) => /* @__PURE__ */ jsx(
3608
+ "th",
3609
+ {
3610
+ ...props,
3611
+ style: {
3612
+ border: "1px solid var(--mantine-color-neutralColor-7)",
3613
+ padding: "8px 12px",
3614
+ fontWeight: 600,
3615
+ textAlign: "left",
3616
+ backgroundColor: "var(--mantine-color-neutralColor-5)"
3617
+ },
3618
+ children
3619
+ }
3620
+ ),
3621
+ td: ({ children, ...props }) => /* @__PURE__ */ jsx(
3622
+ "td",
3623
+ {
3624
+ ...props,
3625
+ style: {
3626
+ border: "1px solid var(--mantine-color-neutralColor-7)",
3627
+ padding: "8px 12px",
3628
+ textAlign: "left",
3629
+ overflowWrap: "anywhere",
3630
+ wordBreak: "break-word"
3631
+ },
3632
+ children
3633
+ }
3634
+ )
3635
+ },
3636
+ children: message
3637
+ }
3638
+ )
3595
3639
  }
3596
- ) })
3640
+ )
3597
3641
  ] });
3598
3642
  }
3599
3643
  function UserMessage({ message, sender }) {
3600
- return /* @__PURE__ */ jsxs(Box, { w: "fit-content", bg: "neutralColor.6", sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3644
+ return /* @__PURE__ */ jsxs(Box, { w: "100%", bg: "neutralColor.6", sx: { borderRadius: 16 }, py: 12, px: 16, mb: 32, children: [
3601
3645
  /* @__PURE__ */ jsx(Text$1, { c: "neutralColor.8", fz: 12, children: sender }),
3602
3646
  /* @__PURE__ */ jsx(Text$1, { c: "neutralColor.8", mt: 10, sx: { wordBreak: "break-all" }, children: message }, message)
3603
3647
  ] });
@@ -6049,13 +6093,13 @@ function ActionButton({ onClick, left, right }) {
6049
6093
  }
6050
6094
  );
6051
6095
  }
6052
- const MainAction = lazy(() => import("./index-DccAmgX1.js"));
6053
- const Header$1 = lazy(() => import("./index-CEb94eQ3.js"));
6054
- const Content = lazy(() => import("./index-Dm6B7Yv-.js"));
6096
+ const MainAction = lazy(() => import("./index-3jU32ylS.js"));
6097
+ const Header$1 = lazy(() => import("./index-DxE2Ni88.js"));
6098
+ const Content = lazy(() => import("./index-BzJhTXjs.js"));
6055
6099
  const Map = lazy(() => import("./index-D5Ufmf-s.js"));
6056
6100
  const CustomContent = lazy(() => import("./index-DsYjW_4y.js"));
6057
- const Assets = lazy(() => import("./index-BHuoPnj7.js"));
6058
- const Actions = lazy(() => import("./index-Lu5gXTPs.js"));
6101
+ const Assets = lazy(() => import("./index-8tGadeUE.js"));
6102
+ const Actions = lazy(() => import("./index-CYdgFOk0.js"));
6059
6103
  const HOVER_BORDER_WIDTH = 1;
6060
6104
  function SodaCardCmp({ numSelected = 0, expanded = true, mainAction, header, content, map, customContent, customFooter, actions, assets, onClick }, ref) {
6061
6105
  const wrapperRef = useRef(null);
@@ -6392,6 +6436,28 @@ function AssetInfo({
6392
6436
  }
6393
6437
  );
6394
6438
  }
6439
+ function cutText(text, length, ending = "…") {
6440
+ if (!length || text.length <= length) {
6441
+ return text;
6442
+ }
6443
+ const words = text.split(" ");
6444
+ const endingSize = ending.length;
6445
+ let result = "";
6446
+ for (const word of words) {
6447
+ const newValue = result + word + " ";
6448
+ if (newValue.length + endingSize - 1 > length) {
6449
+ break;
6450
+ }
6451
+ result = newValue;
6452
+ }
6453
+ return result.trim() + ending;
6454
+ }
6455
+ function carbonToUSD(carbon) {
6456
+ return (carbon * 0.03).toLocaleString(void 0, {
6457
+ minimumFractionDigits: 0,
6458
+ maximumFractionDigits: 6
6459
+ });
6460
+ }
6395
6461
  const SHARED_ASSET_PROPS = {
6396
6462
  leftTitleColor: "text",
6397
6463
  rightTitleColor: "text",
@@ -11332,4 +11398,4 @@ export {
11332
11398
  CardHero as y,
11333
11399
  CardSelector as z
11334
11400
  };
11335
- //# sourceMappingURL=components-EXB_BUs5.js.map
11401
+ //# sourceMappingURL=components-CHbRYZDV.js.map