@ixo/editor 1.17.0 → 1.18.0

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.
@@ -1407,7 +1407,7 @@ import React16, { useMemo as useMemo6 } from "react";
1407
1407
 
1408
1408
  // src/mantine/blocks/list/template/TemplateConfig.tsx
1409
1409
  import React15, { useCallback as useCallback8 } from "react";
1410
- import { Paper as Paper2, CloseButton as CloseButton2, Title as Title2 } from "@mantine/core";
1410
+ import { Paper as Paper2, CloseButton as CloseButton2, Title as Title2, Flex } from "@mantine/core";
1411
1411
 
1412
1412
  // src/mantine/blocks/list/template/GeneralTab.tsx
1413
1413
  import React14, { useState as useState4 } from "react";
@@ -1442,7 +1442,8 @@ var linkedResourcesSortFields = [
1442
1442
  { key: "serviceEndpoint", label: "Service Endpoint", type: "string" }
1443
1443
  ];
1444
1444
  var linkedResourcesSelectionPanelConfig = {
1445
- title: (item) => item.description || "Linked Resource",
1445
+ image: (item) => item.image,
1446
+ title: (item) => item.title || "Linked Resource",
1446
1447
  description: (item) => item.description || "No description",
1447
1448
  prompts: (item) => [{ text: `ID: ${item.id}` }, { text: `Encrypted: ${item.encrypted ? "Yes" : "No"}` }, { text: `Service Endpoint: ${item.serviceEndpoint}` }],
1448
1449
  actionSections: (item) => item.actionSections,
@@ -1486,6 +1487,7 @@ var assetsFilterFields = [
1486
1487
  { key: "available", label: "Unavailable", type: false }
1487
1488
  ];
1488
1489
  var assetsSelectionPanelConfig = {
1490
+ image: (item) => item.image,
1489
1491
  title: (item) => item.name || "Unnamed Asset",
1490
1492
  description: (item) => item.description || "No description",
1491
1493
  prompts: () => [{ text: `How many assets are available?` }, { text: `What are carbon credits` }],
@@ -1555,6 +1557,7 @@ var collectionsSortFields = [
1555
1557
  ];
1556
1558
  var collectionsHandlerKey = "getCollections";
1557
1559
  var collectionsSelectionPanelConfig = {
1560
+ image: (item) => item.image,
1558
1561
  title: (item) => item.name || "Unnamed Collection",
1559
1562
  description: (item) => item.description || "No description",
1560
1563
  prompts: (item) => [{ text: `DID: ${item.did}` }, { text: `Type: ${item.type}` }],
@@ -1594,6 +1597,7 @@ var investmentsFilterFields = [
1594
1597
  var investmentsHandlerKey = "getInvestments";
1595
1598
  var investmentsSelectionPanelConfig = {
1596
1599
  title: (item) => item.name || "Investment Opportunity",
1600
+ image: (item) => item.image,
1597
1601
  description: (item) => item.description || "No description",
1598
1602
  prompts: (item) => [
1599
1603
  { text: `Price: ${item.price} ${item.currency}` },
@@ -1636,6 +1640,7 @@ var oraclesFilterFields = [
1636
1640
  var oraclesHandlerKey = "getOracles";
1637
1641
  var oraclesSelectionPanelConfig = {
1638
1642
  title: (item) => item.name || "Oracle",
1643
+ image: (item) => item.image,
1639
1644
  description: (item) => item.description || "No description",
1640
1645
  prompts: (item) => [{ text: `Flows Amount: ${item.flowsAmount}` }, { text: `Active: ${item.isActive ? "Yes" : "No"}` }, { text: `Invited: ${item.isInvited ? "Yes" : "No"}` }],
1641
1646
  actionSections: (item) => item.actionSections,
@@ -1671,6 +1676,7 @@ var podsFilterFields = [
1671
1676
  ];
1672
1677
  var podsHandlerKey = "getPODs";
1673
1678
  var podsSelectionPanelConfig = {
1679
+ image: (item) => item.image,
1674
1680
  title: (item) => item.name || "POD",
1675
1681
  description: (item) => item.description || "No description",
1676
1682
  prompts: (item) => [{ text: `Start Date: ${item.startDate}` }, { text: `End Date: ${item.endDate}` }, { text: `Member: ${item.isMember ? "Yes" : "No"}` }],
@@ -1704,6 +1710,7 @@ var proposalsSortFields = [
1704
1710
  ];
1705
1711
  var proposalsHandlerKey = "getProposals";
1706
1712
  var proposalsSelectionPanelConfig = {
1713
+ image: (item) => item.image,
1707
1714
  title: (item) => item.name || "Proposal",
1708
1715
  description: (item) => item.description || "No description",
1709
1716
  prompts: (item) => [{ text: `DID: ${item.did}` }, { text: `Status: ${item.status}` }],
@@ -1739,6 +1746,7 @@ var requestsFilterFields = [
1739
1746
  ];
1740
1747
  var requestsHandlerKey = "getRequests";
1741
1748
  var requestsSelectionPanelConfig = {
1749
+ image: (item) => item.image,
1742
1750
  title: (item) => item.name || "Request",
1743
1751
  description: (item) => item.description || "No description",
1744
1752
  prompts: (item) => [{ text: `Total Applications: ${item.totalApplications}` }, { text: `Member: ${item.isMember ? "Yes" : "No"}` }, { text: `DID: ${item.did}` }],
@@ -1783,6 +1791,7 @@ var groupMembersSortFields = [
1783
1791
  ];
1784
1792
  var groupMembersHandlerKey = "getGroupMembers";
1785
1793
  var groupMembersSelectionPanelConfig = {
1794
+ image: (item) => item.image,
1786
1795
  title: (item) => item.username || "Unknown Member",
1787
1796
  description: (item) => item.description || "No description",
1788
1797
  prompts: (item) => [{ text: `Address: ${item.address}` }, { text: `DID: ${item.did}` }],
@@ -1866,6 +1875,7 @@ var daoMembersSortFields = [
1866
1875
  ];
1867
1876
  var daoMembersHandlerKey = "getDaoMembers";
1868
1877
  var daoMembersSelectionPanelConfig = {
1878
+ image: (item) => item.image,
1869
1879
  title: (item) => item.username || "Unknown Member",
1870
1880
  description: (item) => item.description || "No description",
1871
1881
  prompts: (item) => [{ text: `Address: ${item.address}` }, { text: `DID: ${item.did}` }],
@@ -1893,9 +1903,10 @@ var projectsSortFields = [{ key: "name", label: "Name", type: "string" }];
1893
1903
  var projectsFilterFields = [];
1894
1904
  var projectsHandlerKey = "getProjects";
1895
1905
  var projectsSelectionPanelConfig = {
1906
+ image: (item) => item.image,
1896
1907
  title: (item) => item.name || "Project",
1897
1908
  description: (item) => item.description || "No description",
1898
- prompts: (item) => [{ text: `DID: ${item.did}` }],
1909
+ prompts: (item) => [{ text: `DID: ${item.did}` }, { text: `Type: ${item.type}` }],
1899
1910
  actionSections: (item) => item.actionSections,
1900
1911
  detailsHandlerKey: "getProjectDetails"
1901
1912
  };
@@ -1921,8 +1932,9 @@ var daosFilterFields = [];
1921
1932
  var daosHandlerKey = "getDaos";
1922
1933
  var daosSelectionPanelConfig = {
1923
1934
  title: (item) => item.name || "Dao",
1935
+ image: (item) => item.image,
1924
1936
  description: (item) => item.description || "No description",
1925
- prompts: (item) => [{ text: `DID: ${item.did}` }],
1937
+ prompts: (item) => [{ text: `DID: ${item.did}` }, { text: `Type: ${item.type}` }],
1926
1938
  actionSections: (item) => item.actionSections,
1927
1939
  detailsHandlerKey: "getDaoDetails"
1928
1940
  };
@@ -2265,24 +2277,11 @@ var TemplateConfig2 = ({ editor, block }) => {
2265
2277
  p: "md",
2266
2278
  shadow: "sm",
2267
2279
  style: {
2268
- height: "100%",
2269
2280
  display: "flex",
2270
2281
  flexDirection: "column"
2271
2282
  }
2272
2283
  },
2273
- /* @__PURE__ */ React15.createElement(
2274
- "div",
2275
- {
2276
- style: {
2277
- display: "flex",
2278
- justifyContent: "space-between",
2279
- alignItems: "center",
2280
- marginBottom: "1rem"
2281
- }
2282
- },
2283
- /* @__PURE__ */ React15.createElement(Title2, { order: 3 }, "List Settings"),
2284
- /* @__PURE__ */ React15.createElement(CloseButton2, { onClick: closePanel })
2285
- ),
2284
+ /* @__PURE__ */ React15.createElement(Flex, { align: "center", justify: "space-between", mb: "1rem" }, /* @__PURE__ */ React15.createElement(Title2, { order: 3 }, "List Settings"), /* @__PURE__ */ React15.createElement(CloseButton2, { onClick: closePanel })),
2286
2285
  /* @__PURE__ */ React15.createElement(
2287
2286
  ReusablePanel,
2288
2287
  {
@@ -2313,11 +2312,11 @@ var ListTemplateView = ({ editor, block }) => {
2313
2312
 
2314
2313
  // src/mantine/blocks/list/flow/ListFlowView.tsx
2315
2314
  import React40, { useState as useState6, useEffect as useEffect6, useMemo as useMemo9, useCallback as useCallback10 } from "react";
2316
- import { Group as Group7, Stack as Stack26, Text as Text26, ActionIcon as ActionIcon5, Alert as Alert4, Loader as Loader2, Center as Center2, Flex as Flex17, Button as Button5, Title as Title4, Collapse } from "@mantine/core";
2315
+ import { Group as Group7, Stack as Stack26, Text as Text26, ActionIcon as ActionIcon5, Alert as Alert4, Loader as Loader2, Center as Center2, Flex as Flex18, Button as Button5, Title as Title4, Collapse } from "@mantine/core";
2317
2316
 
2318
2317
  // src/mantine/blocks/list/linked_resources/LinkedResourcesList.tsx
2319
2318
  import React20 from "react";
2320
- import { Stack as Stack10, Text as Text8, Box as Box2, Flex as Flex2 } from "@mantine/core";
2319
+ import { Stack as Stack10, Text as Text8, Box as Box2, Flex as Flex3 } from "@mantine/core";
2321
2320
 
2322
2321
  // src/core/lib/getMediaTypeIcon.tsx
2323
2322
  import { IconArchive, IconDeviceAudioTape, IconFileTypeXml, IconImageInPicture, IconPdf, IconFile, IconJson, IconVideo } from "@tabler/icons-react";
@@ -2352,10 +2351,10 @@ function getMediaTypeIcon(mediaType, props = {}) {
2352
2351
  }
2353
2352
 
2354
2353
  // src/mantine/blocks/list/ListItemContainer.tsx
2355
- import { Flex } from "@mantine/core";
2354
+ import { Flex as Flex2 } from "@mantine/core";
2356
2355
  import React18 from "react";
2357
2356
  function ListItemContainer({ children }) {
2358
- return /* @__PURE__ */ React18.createElement(Flex, { styles: { root: { borderRadius: 16, border: `1px solid rgba(255, 255, 255, 0.06)` } }, p: 20, bg: "rgba(255, 255, 255, 0.02)", justify: "space-between" }, children);
2357
+ return /* @__PURE__ */ React18.createElement(Flex2, { styles: { root: { borderRadius: 16, border: `1px solid rgba(255, 255, 255, 0.06)` } }, p: 20, bg: "rgba(255, 255, 255, 0.02)", justify: "space-between" }, children);
2359
2358
  }
2360
2359
 
2361
2360
  // src/mantine/blocks/list/ListItemCheckbox.tsx
@@ -2387,7 +2386,7 @@ var LinkedResourcesList = ({ items, mods, isItemChecked, onItemCheck, config: _c
2387
2386
  }
2388
2387
  const rows = items.map((item, index) => {
2389
2388
  const title = item.description || item.id || `Resource ${index + 1}`;
2390
- return /* @__PURE__ */ React20.createElement(ListItemContainer, { key: item.id || index }, /* @__PURE__ */ React20.createElement(Flex2, { align: "center", gap: "sm" }, /* @__PURE__ */ React20.createElement(
2389
+ return /* @__PURE__ */ React20.createElement(ListItemContainer, { key: item.id || index }, /* @__PURE__ */ React20.createElement(Flex3, { align: "center", gap: "sm" }, /* @__PURE__ */ React20.createElement(
2391
2390
  Box2,
2392
2391
  {
2393
2392
  style: {
@@ -2402,7 +2401,7 @@ var LinkedResourcesList = ({ items, mods, isItemChecked, onItemCheck, config: _c
2402
2401
  }
2403
2402
  },
2404
2403
  getMediaTypeIcon(item.mediaType, { size: 16 })
2405
- ), /* @__PURE__ */ React20.createElement(Stack10, { gap: 0 }, /* @__PURE__ */ React20.createElement(Text8, { size: "sm" }, title), item.type && /* @__PURE__ */ React20.createElement(Text8, { size: "xs", c: "dimmed" }, item.type))), /* @__PURE__ */ React20.createElement(Flex2, { align: "center", gap: "md" }, /* @__PURE__ */ React20.createElement(Stack10, { ta: "right", gap: 0 }, /* @__PURE__ */ React20.createElement(Text8, { size: "sm" }, item.encrypted === "true" ? "Private" : "Public"), /* @__PURE__ */ React20.createElement(Text8, { size: "xs", c: "dimmed" }, item.encrypted === "true" ? "Ask for access" : "Accessible")), mods && /* @__PURE__ */ React20.createElement(
2404
+ ), /* @__PURE__ */ React20.createElement(Stack10, { gap: 0 }, /* @__PURE__ */ React20.createElement(Text8, { size: "sm" }, title), item.type && /* @__PURE__ */ React20.createElement(Text8, { size: "xs", c: "dimmed" }, item.type))), /* @__PURE__ */ React20.createElement(Flex3, { align: "center", gap: "md" }, /* @__PURE__ */ React20.createElement(Stack10, { ta: "right", gap: 0 }, /* @__PURE__ */ React20.createElement(Text8, { size: "sm" }, item.encrypted === "true" ? "Private" : "Public"), /* @__PURE__ */ React20.createElement(Text8, { size: "xs", c: "dimmed" }, item.encrypted === "true" ? "Ask for access" : "Accessible")), mods && /* @__PURE__ */ React20.createElement(
2406
2405
  ListItemCheckbox,
2407
2406
  {
2408
2407
  ariaLabel: `Select resource ${item.id}`,
@@ -2416,7 +2415,7 @@ var LinkedResourcesList = ({ items, mods, isItemChecked, onItemCheck, config: _c
2416
2415
 
2417
2416
  // src/mantine/blocks/list/assets/AssetsList.tsx
2418
2417
  import React21 from "react";
2419
- import { Text as Text9, Box as Box3, Stack as Stack11, Flex as Flex3, Image } from "@mantine/core";
2418
+ import { Text as Text9, Box as Box3, Stack as Stack11, Flex as Flex4, Image } from "@mantine/core";
2420
2419
 
2421
2420
  // src/core/lib/formatters.ts
2422
2421
  var formatNumber = (value) => typeof value === "number" ? value.toLocaleString() : "-";
@@ -2434,13 +2433,13 @@ var AssetsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2434
2433
  if (!items || items.length === 0) {
2435
2434
  return /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No assets found");
2436
2435
  }
2437
- const rows = items.map((asset) => /* @__PURE__ */ React21.createElement(ListItemContainer, { key: asset.did }, /* @__PURE__ */ React21.createElement(Flex3, { align: "center", gap: "sm" }, /* @__PURE__ */ React21.createElement(Image, { radius: 16, w: 32, h: 32, src: asset.icon }), /* @__PURE__ */ React21.createElement(Stack11, { gap: 0 }, /* @__PURE__ */ React21.createElement(Text9, { size: "sm" }, asset.name || "-", " ", asset.alsoKnownAs || "-"), asset.totalCarbon !== void 0 && /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed" }, formatNumber(asset.totalCarbon), " CARBON"))), /* @__PURE__ */ React21.createElement(Flex3, { align: "center", gap: "md" }, /* @__PURE__ */ React21.createElement(Stack11, { ta: "right", gap: 0 }, /* @__PURE__ */ React21.createElement(Text9, { size: "sm" }, asset.currency || "", formatNumber(asset.price)), /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed" }, asset.available ? "Available" : "Unavailable")), mods && /* @__PURE__ */ React21.createElement(ListItemCheckbox, { ariaLabel: `Select asset ${asset.did}`, checked: isItemChecked?.(asset.did), onCheck: (checked) => onItemCheck?.(asset.did, checked) }))));
2436
+ const rows = items.map((asset) => /* @__PURE__ */ React21.createElement(ListItemContainer, { key: asset.did }, /* @__PURE__ */ React21.createElement(Flex4, { align: "center", gap: "sm" }, /* @__PURE__ */ React21.createElement(Image, { radius: 16, w: 32, h: 32, src: asset.icon }), /* @__PURE__ */ React21.createElement(Stack11, { gap: 0 }, /* @__PURE__ */ React21.createElement(Text9, { size: "sm" }, asset.name || "-", " ", asset.alsoKnownAs || "-"), asset.totalCarbon !== void 0 && /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed" }, formatNumber(asset.totalCarbon), " CARBON"))), /* @__PURE__ */ React21.createElement(Flex4, { align: "center", gap: "md" }, /* @__PURE__ */ React21.createElement(Stack11, { ta: "right", gap: 0 }, /* @__PURE__ */ React21.createElement(Text9, { size: "sm" }, asset.currency || "", formatNumber(asset.price)), /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed" }, asset.available ? "Available" : "Unavailable")), mods && /* @__PURE__ */ React21.createElement(ListItemCheckbox, { ariaLabel: `Select asset ${asset.did}`, checked: isItemChecked?.(asset.did), onCheck: (checked) => onItemCheck?.(asset.did, checked) }))));
2438
2437
  return /* @__PURE__ */ React21.createElement(Box3, { flex: 1 }, /* @__PURE__ */ React21.createElement(Stack11, null, rows));
2439
2438
  };
2440
2439
 
2441
2440
  // src/mantine/blocks/list/transactions/TransactionsList.tsx
2442
2441
  import React22 from "react";
2443
- import { Text as Text10, Badge as Badge3, Tooltip as Tooltip2, Box as Box4, Flex as Flex4, Stack as Stack12 } from "@mantine/core";
2442
+ import { Text as Text10, Badge as Badge3, Tooltip as Tooltip2, Box as Box4, Flex as Flex5, Stack as Stack12 } from "@mantine/core";
2444
2443
  var formatTime = (timeStr) => {
2445
2444
  try {
2446
2445
  const date = new Date(timeStr);
@@ -2457,7 +2456,7 @@ var TransactionsList = ({ items, mods, isItemChecked, onItemCheck, config: _conf
2457
2456
  if (!items || items.length === 0) {
2458
2457
  return /* @__PURE__ */ React22.createElement(Text10, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No transactions found");
2459
2458
  }
2460
- const rows = items.map((transaction, index) => /* @__PURE__ */ React22.createElement(ListItemContainer, { key: transaction.transactionHash || index }, /* @__PURE__ */ React22.createElement(Flex4, { align: "center", gap: "sm" }, /* @__PURE__ */ React22.createElement(Stack12, { gap: 2 }, /* @__PURE__ */ React22.createElement(Tooltip2, { label: transaction.transactionHash, position: "top" }, /* @__PURE__ */ React22.createElement(Text10, { size: "sm", style: { fontFamily: "monospace" } }, truncateHash(transaction.transactionHash))), /* @__PURE__ */ React22.createElement(Text10, { size: "sm", c: "dimmed" }, transaction.memo || "-"))), /* @__PURE__ */ React22.createElement(Flex4, { align: "center", gap: "md" }, /* @__PURE__ */ React22.createElement(Stack12, { ta: "right", gap: 2 }, /* @__PURE__ */ React22.createElement(Badge3, { size: "sm", variant: "light", color: "blue", style: { fontFamily: "monospace", fontSize: "10px" } }, transaction.typeUrl), /* @__PURE__ */ React22.createElement(Text10, { size: "xs", c: "dimmed" }, formatTime(transaction.time))), mods && /* @__PURE__ */ React22.createElement(
2459
+ const rows = items.map((transaction, index) => /* @__PURE__ */ React22.createElement(ListItemContainer, { key: transaction.transactionHash || index }, /* @__PURE__ */ React22.createElement(Flex5, { align: "center", gap: "sm" }, /* @__PURE__ */ React22.createElement(Stack12, { gap: 2 }, /* @__PURE__ */ React22.createElement(Tooltip2, { label: transaction.transactionHash, position: "top" }, /* @__PURE__ */ React22.createElement(Text10, { size: "sm", style: { fontFamily: "monospace" } }, truncateHash(transaction.transactionHash))), /* @__PURE__ */ React22.createElement(Text10, { size: "sm", c: "dimmed" }, transaction.memo || "-"))), /* @__PURE__ */ React22.createElement(Flex5, { align: "center", gap: "md" }, /* @__PURE__ */ React22.createElement(Stack12, { ta: "right", gap: 2 }, /* @__PURE__ */ React22.createElement(Badge3, { size: "sm", variant: "light", color: "blue", style: { fontFamily: "monospace", fontSize: "10px" } }, transaction.typeUrl), /* @__PURE__ */ React22.createElement(Text10, { size: "xs", c: "dimmed" }, formatTime(transaction.time))), mods && /* @__PURE__ */ React22.createElement(
2461
2460
  ListItemCheckbox,
2462
2461
  {
2463
2462
  ariaLabel: `Select transaction ${transaction.transactionHash}`,
@@ -2470,12 +2469,12 @@ var TransactionsList = ({ items, mods, isItemChecked, onItemCheck, config: _conf
2470
2469
 
2471
2470
  // src/mantine/blocks/list/collections/CollectionsList.tsx
2472
2471
  import React23 from "react";
2473
- import { Text as Text11, Box as Box5, Image as Image2, Stack as Stack13, Flex as Flex5 } from "@mantine/core";
2472
+ import { Text as Text11, Box as Box5, Image as Image2, Stack as Stack13, Flex as Flex6 } from "@mantine/core";
2474
2473
  var CollectionsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2475
2474
  if (!items || items.length === 0) {
2476
2475
  return /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No collections found");
2477
2476
  }
2478
- const rows = items.map((collection) => /* @__PURE__ */ React23.createElement(ListItemContainer, { key: collection.did }, /* @__PURE__ */ React23.createElement(Flex5, { align: "center", gap: "sm" }, /* @__PURE__ */ React23.createElement(Image2, { radius: 16, w: 32, h: 32, src: collection.icon }), /* @__PURE__ */ React23.createElement(Stack13, { gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, collection.name), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, collection.brand))), /* @__PURE__ */ React23.createElement(Flex5, { align: "center", gap: "md" }, /* @__PURE__ */ React23.createElement(Stack13, { ta: "right", gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, collection.totalAssets, " Assets"), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, collection.currency, collection.price)), mods && /* @__PURE__ */ React23.createElement(
2477
+ const rows = items.map((collection) => /* @__PURE__ */ React23.createElement(ListItemContainer, { key: collection.did }, /* @__PURE__ */ React23.createElement(Flex6, { align: "center", gap: "sm" }, /* @__PURE__ */ React23.createElement(Image2, { radius: 16, w: 32, h: 32, src: collection.icon }), /* @__PURE__ */ React23.createElement(Stack13, { gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, collection.name), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, collection.brand))), /* @__PURE__ */ React23.createElement(Flex6, { align: "center", gap: "md" }, /* @__PURE__ */ React23.createElement(Stack13, { ta: "right", gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, collection.totalAssets, " Assets"), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, collection.currency, collection.price)), mods && /* @__PURE__ */ React23.createElement(
2479
2478
  ListItemCheckbox,
2480
2479
  {
2481
2480
  ariaLabel: `Select collection ${collection.did}`,
@@ -2488,12 +2487,12 @@ var CollectionsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2488
2487
 
2489
2488
  // src/mantine/blocks/list/investments/InvestmentsList.tsx
2490
2489
  import React24 from "react";
2491
- import { Text as Text12, Box as Box6, Image as Image3, Stack as Stack14, Flex as Flex6, Progress } from "@mantine/core";
2490
+ import { Text as Text12, Box as Box6, Image as Image3, Stack as Stack14, Flex as Flex7, Progress } from "@mantine/core";
2492
2491
  var InvestmentsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2493
2492
  if (!items || items.length === 0) {
2494
2493
  return /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No investments found");
2495
2494
  }
2496
- const rows = items.map((investment) => /* @__PURE__ */ React24.createElement(ListItemContainer, { key: investment.did }, /* @__PURE__ */ React24.createElement(Flex6, { align: "center", gap: "sm" }, /* @__PURE__ */ React24.createElement(Image3, { radius: 16, w: 32, h: 32, src: investment.icon }), /* @__PURE__ */ React24.createElement(Stack14, { gap: 0 }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm" }, investment.name || "-"), /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed" }, investment.brand || "-"))), /* @__PURE__ */ React24.createElement(Flex6, { align: "center", gap: "md" }, /* @__PURE__ */ React24.createElement(Stack14, { ta: "right", gap: 0 }, /* @__PURE__ */ React24.createElement(Flex6, { gap: "5px" }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm" }, investment.currency + formatNumber(investment.currentAmount)), /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed" }, "/ ", investment.currency + formatNumber(investment.maxAmount))), /* @__PURE__ */ React24.createElement(Text12, { size: "xs", c: "dimmed" }, /* @__PURE__ */ React24.createElement(Progress, { color: "rgb(0, 255, 157)", radius: "xl", size: "lg", value: investment.currentAmount * 100 / investment.maxAmount }))), mods && /* @__PURE__ */ React24.createElement(
2495
+ const rows = items.map((investment) => /* @__PURE__ */ React24.createElement(ListItemContainer, { key: investment.did }, /* @__PURE__ */ React24.createElement(Flex7, { align: "center", gap: "sm" }, /* @__PURE__ */ React24.createElement(Image3, { radius: 16, w: 32, h: 32, src: investment.icon }), /* @__PURE__ */ React24.createElement(Stack14, { gap: 0 }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm" }, investment.name || "-"), /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed" }, investment.brand || "-"))), /* @__PURE__ */ React24.createElement(Flex7, { align: "center", gap: "md" }, /* @__PURE__ */ React24.createElement(Stack14, { ta: "right", gap: 0 }, /* @__PURE__ */ React24.createElement(Flex7, { gap: "5px" }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm" }, investment.currency + formatNumber(investment.currentAmount)), /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed" }, "/ ", investment.currency + formatNumber(investment.maxAmount))), /* @__PURE__ */ React24.createElement(Text12, { size: "xs", c: "dimmed" }, /* @__PURE__ */ React24.createElement(Progress, { color: "rgb(0, 255, 157)", radius: "xl", size: "lg", value: investment.currentAmount * 100 / investment.maxAmount }))), mods && /* @__PURE__ */ React24.createElement(
2497
2496
  ListItemCheckbox,
2498
2497
  {
2499
2498
  ariaLabel: `Select investment ${investment.did}`,
@@ -2506,62 +2505,62 @@ var InvestmentsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2506
2505
 
2507
2506
  // src/mantine/blocks/list/oracles/OraclesList.tsx
2508
2507
  import React25 from "react";
2509
- import { Text as Text13, Box as Box7, Image as Image4, Stack as Stack15, Flex as Flex7 } from "@mantine/core";
2508
+ import { Text as Text13, Box as Box7, Image as Image4, Stack as Stack15, Flex as Flex8 } from "@mantine/core";
2510
2509
  var OraclesList = ({ items, mods, isItemChecked, onItemCheck }) => {
2511
2510
  if (!items || items.length === 0) {
2512
2511
  return /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No oracles found");
2513
2512
  }
2514
- const rows = items.map((oracle) => /* @__PURE__ */ React25.createElement(ListItemContainer, { key: oracle.did }, /* @__PURE__ */ React25.createElement(Flex7, { align: "center", gap: "sm" }, /* @__PURE__ */ React25.createElement(Image4, { radius: 16, w: 32, h: 32, src: oracle.icon }), /* @__PURE__ */ React25.createElement(Stack15, { gap: 0 }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, oracle.name || "-"), /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed" }, oracle.brand || "-"))), /* @__PURE__ */ React25.createElement(Flex7, { align: "center", gap: "md" }, /* @__PURE__ */ React25.createElement(Stack15, { ta: "right", gap: 0 }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, oracle.currency || "-"), /* @__PURE__ */ React25.createElement(Text13, { size: "xs", c: "dimmed" }, oracle.minPoints, " - ", oracle.maxPoints, " pts"), /* @__PURE__ */ React25.createElement(Text13, { size: "xs", c: "dimmed" }, oracle.flowsAmount, " Flows")), mods && /* @__PURE__ */ React25.createElement(ListItemCheckbox, { ariaLabel: `Select oracle ${oracle.did}`, checked: isItemChecked?.(oracle.did), onCheck: (checked) => onItemCheck?.(oracle.did, checked) }))));
2513
+ const rows = items.map((oracle) => /* @__PURE__ */ React25.createElement(ListItemContainer, { key: oracle.did }, /* @__PURE__ */ React25.createElement(Flex8, { align: "center", gap: "sm" }, /* @__PURE__ */ React25.createElement(Image4, { radius: 16, w: 32, h: 32, src: oracle.icon }), /* @__PURE__ */ React25.createElement(Stack15, { gap: 0 }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, oracle.name || "-"), /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed" }, oracle.brand || "-"))), /* @__PURE__ */ React25.createElement(Flex8, { align: "center", gap: "md" }, /* @__PURE__ */ React25.createElement(Stack15, { ta: "right", gap: 0 }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, oracle.currency || "-"), /* @__PURE__ */ React25.createElement(Text13, { size: "xs", c: "dimmed" }, oracle.minPoints, " - ", oracle.maxPoints, " pts"), /* @__PURE__ */ React25.createElement(Text13, { size: "xs", c: "dimmed" }, oracle.flowsAmount, " Flows")), mods && /* @__PURE__ */ React25.createElement(ListItemCheckbox, { ariaLabel: `Select oracle ${oracle.did}`, checked: isItemChecked?.(oracle.did), onCheck: (checked) => onItemCheck?.(oracle.did, checked) }))));
2515
2514
  return /* @__PURE__ */ React25.createElement(Box7, { flex: 1 }, /* @__PURE__ */ React25.createElement(Stack15, null, rows));
2516
2515
  };
2517
2516
 
2518
2517
  // src/mantine/blocks/list/pods/PODsList.tsx
2519
2518
  import React26 from "react";
2520
- import { Text as Text14, Box as Box8, Image as Image5, Stack as Stack16, Flex as Flex8 } from "@mantine/core";
2519
+ import { Text as Text14, Box as Box8, Image as Image5, Stack as Stack16, Flex as Flex9 } from "@mantine/core";
2521
2520
  var PodsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2522
2521
  if (!items || items.length === 0) {
2523
2522
  return /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No PODs found");
2524
2523
  }
2525
- const rows = items.map((pod) => /* @__PURE__ */ React26.createElement(ListItemContainer, { key: pod.did }, /* @__PURE__ */ React26.createElement(Flex8, { align: "center", gap: "sm" }, /* @__PURE__ */ React26.createElement(Image5, { radius: 16, w: 32, h: 32, src: pod.icon }), /* @__PURE__ */ React26.createElement(Stack16, { gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, pod.name || "-"), /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed" }, pod.startDate, " \u2192 ", pod.endDate))), /* @__PURE__ */ React26.createElement(Flex8, { align: "center", gap: "md" }, /* @__PURE__ */ React26.createElement(Stack16, { ta: "right", gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, pod.members, " Members"), /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed" }, pod.totalProposals, " Proposals")), mods && /* @__PURE__ */ React26.createElement(ListItemCheckbox, { ariaLabel: `Select pod ${pod.did}`, checked: isItemChecked?.(pod.did), onCheck: (checked) => onItemCheck?.(pod.did, checked) }))));
2524
+ const rows = items.map((pod) => /* @__PURE__ */ React26.createElement(ListItemContainer, { key: pod.did }, /* @__PURE__ */ React26.createElement(Flex9, { align: "center", gap: "sm" }, /* @__PURE__ */ React26.createElement(Image5, { radius: 16, w: 32, h: 32, src: pod.icon }), /* @__PURE__ */ React26.createElement(Stack16, { gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, pod.name || "-"), /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed" }, pod.startDate, " \u2192 ", pod.endDate))), /* @__PURE__ */ React26.createElement(Flex9, { align: "center", gap: "md" }, /* @__PURE__ */ React26.createElement(Stack16, { ta: "right", gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, pod.members, " Members"), /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed" }, pod.totalProposals, " Proposals")), mods && /* @__PURE__ */ React26.createElement(ListItemCheckbox, { ariaLabel: `Select pod ${pod.did}`, checked: isItemChecked?.(pod.did), onCheck: (checked) => onItemCheck?.(pod.did, checked) }))));
2526
2525
  return /* @__PURE__ */ React26.createElement(Box8, { flex: 1 }, /* @__PURE__ */ React26.createElement(Stack16, null, rows));
2527
2526
  };
2528
2527
 
2529
2528
  // src/mantine/blocks/list/proposals/ProposalsList.tsx
2530
2529
  import React27 from "react";
2531
- import { Text as Text15, Box as Box9, Image as Image6, Stack as Stack17, Flex as Flex9, Badge as Badge4 } from "@mantine/core";
2530
+ import { Text as Text15, Box as Box9, Image as Image6, Stack as Stack17, Flex as Flex10, Badge as Badge4 } from "@mantine/core";
2532
2531
  var ProposalsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2533
2532
  if (!items || items.length === 0) {
2534
2533
  return /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No proposals found");
2535
2534
  }
2536
- const rows = items.map((proposal) => /* @__PURE__ */ React27.createElement(ListItemContainer, { key: proposal.did }, /* @__PURE__ */ React27.createElement(Flex9, { align: "center", gap: "sm" }, /* @__PURE__ */ React27.createElement(Image6, { radius: 16, w: 32, h: 32, src: proposal.icon }), /* @__PURE__ */ React27.createElement(Stack17, { gap: 0 }, /* @__PURE__ */ React27.createElement(Text15, { size: "sm" }, proposal.name || "-"), /* @__PURE__ */ React27.createElement(Text15, { size: "xs", c: "dimmed" }, proposal.description || "-"))), /* @__PURE__ */ React27.createElement(Flex9, { align: "center", gap: "md" }, /* @__PURE__ */ React27.createElement(Stack17, { ta: "right", align: "end", gap: 0 }, /* @__PURE__ */ React27.createElement(Badge4, { size: "sm", variant: "light", color: "blue", style: { fontFamily: "monospace", fontSize: "10px" } }, proposal.status), /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed" }, proposal.isVotedOn ? "Voted" : "Not voted")), mods && /* @__PURE__ */ React27.createElement(ListItemCheckbox, { ariaLabel: `Select proposal ${proposal.did}`, checked: isItemChecked?.(proposal.did), onCheck: (checked) => onItemCheck?.(proposal.did, checked) }))));
2535
+ const rows = items.map((proposal) => /* @__PURE__ */ React27.createElement(ListItemContainer, { key: proposal.did }, /* @__PURE__ */ React27.createElement(Flex10, { align: "center", gap: "sm" }, /* @__PURE__ */ React27.createElement(Image6, { radius: 16, w: 32, h: 32, src: proposal.icon }), /* @__PURE__ */ React27.createElement(Stack17, { gap: 0 }, /* @__PURE__ */ React27.createElement(Text15, { size: "sm" }, proposal.name || "-"), /* @__PURE__ */ React27.createElement(Text15, { size: "xs", c: "dimmed" }, proposal.description || "-"))), /* @__PURE__ */ React27.createElement(Flex10, { align: "center", gap: "md" }, /* @__PURE__ */ React27.createElement(Stack17, { ta: "right", align: "end", gap: 0 }, /* @__PURE__ */ React27.createElement(Badge4, { size: "sm", variant: "light", color: "blue", style: { fontFamily: "monospace", fontSize: "10px" } }, proposal.status), /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed" }, proposal.isVotedOn ? "Voted" : "Not voted")), mods && /* @__PURE__ */ React27.createElement(ListItemCheckbox, { ariaLabel: `Select proposal ${proposal.did}`, checked: isItemChecked?.(proposal.did), onCheck: (checked) => onItemCheck?.(proposal.did, checked) }))));
2537
2536
  return /* @__PURE__ */ React27.createElement(Box9, { flex: 1 }, /* @__PURE__ */ React27.createElement(Stack17, null, rows));
2538
2537
  };
2539
2538
 
2540
2539
  // src/mantine/blocks/list/requests/RequestsList.tsx
2541
2540
  import React28 from "react";
2542
- import { Text as Text16, Box as Box10, Image as Image7, Stack as Stack18, Flex as Flex10 } from "@mantine/core";
2541
+ import { Text as Text16, Box as Box10, Image as Image7, Stack as Stack18, Flex as Flex11 } from "@mantine/core";
2543
2542
  var RequestsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2544
2543
  if (!items || items.length === 0) {
2545
2544
  return /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No requests found");
2546
2545
  }
2547
- const rows = items.map((request) => /* @__PURE__ */ React28.createElement(ListItemContainer, { key: request.did }, /* @__PURE__ */ React28.createElement(Flex10, { align: "center", gap: "sm" }, /* @__PURE__ */ React28.createElement(Image7, { radius: 16, w: 32, h: 32, src: request.icon }), /* @__PURE__ */ React28.createElement(Stack18, { gap: 0 }, /* @__PURE__ */ React28.createElement(Text16, { size: "sm" }, request.name || "-"), /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed" }, request.brand || "-"))), /* @__PURE__ */ React28.createElement(Flex10, { align: "center", gap: "md" }, /* @__PURE__ */ React28.createElement(Stack18, { ta: "right", gap: 0 }, /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed" }, request.currency || "", request.budget ?? "-"), /* @__PURE__ */ React28.createElement(Text16, { size: "xs", c: "dimmed" }, request.totalApplications ?? 0, " Applications")), mods && /* @__PURE__ */ React28.createElement(ListItemCheckbox, { ariaLabel: `Select request ${request.did}`, checked: isItemChecked?.(request.did), onCheck: (checked) => onItemCheck?.(request.did, checked) }))));
2546
+ const rows = items.map((request) => /* @__PURE__ */ React28.createElement(ListItemContainer, { key: request.did }, /* @__PURE__ */ React28.createElement(Flex11, { align: "center", gap: "sm" }, /* @__PURE__ */ React28.createElement(Image7, { radius: 16, w: 32, h: 32, src: request.icon }), /* @__PURE__ */ React28.createElement(Stack18, { gap: 0 }, /* @__PURE__ */ React28.createElement(Text16, { size: "sm" }, request.name || "-"), /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed" }, request.brand || "-"))), /* @__PURE__ */ React28.createElement(Flex11, { align: "center", gap: "md" }, /* @__PURE__ */ React28.createElement(Stack18, { ta: "right", gap: 0 }, /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed" }, request.currency || "", request.budget ?? "-"), /* @__PURE__ */ React28.createElement(Text16, { size: "xs", c: "dimmed" }, request.totalApplications ?? 0, " Applications")), mods && /* @__PURE__ */ React28.createElement(ListItemCheckbox, { ariaLabel: `Select request ${request.did}`, checked: isItemChecked?.(request.did), onCheck: (checked) => onItemCheck?.(request.did, checked) }))));
2548
2547
  return /* @__PURE__ */ React28.createElement(Box10, { flex: 1 }, /* @__PURE__ */ React28.createElement(Stack18, null, rows));
2549
2548
  };
2550
2549
 
2551
2550
  // src/mantine/blocks/list/members/MembersList.tsx
2552
2551
  import React29 from "react";
2553
- import { Text as Text17, Box as Box11, Image as Image8, Stack as Stack19, Flex as Flex11 } from "@mantine/core";
2552
+ import { Text as Text17, Box as Box11, Image as Image8, Stack as Stack19, Flex as Flex12 } from "@mantine/core";
2554
2553
  var MembersList = ({ items, mods, isItemChecked, onItemCheck }) => {
2555
2554
  if (!items || items.length === 0) {
2556
2555
  return /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No members found");
2557
2556
  }
2558
- const rows = items.map((member) => /* @__PURE__ */ React29.createElement(ListItemContainer, { key: member.did }, /* @__PURE__ */ React29.createElement(Flex11, { align: "center", gap: "sm" }, /* @__PURE__ */ React29.createElement(Image8, { radius: 16, w: 32, h: 32, src: member.icon }), /* @__PURE__ */ React29.createElement(Stack19, { gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm" }, member.username || "-"), /* @__PURE__ */ React29.createElement(Text17, { size: "xs", c: "dimmed" }, member.address || "-"))), /* @__PURE__ */ React29.createElement(Flex11, { align: "center", gap: "md" }, /* @__PURE__ */ React29.createElement(Stack19, { ta: "right", gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm" }, member.percentage), /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed" }, member.role)), mods && /* @__PURE__ */ React29.createElement(ListItemCheckbox, { ariaLabel: `Select member ${member.did}`, checked: isItemChecked?.(member.did), onCheck: (checked) => onItemCheck?.(member.did, checked) }))));
2557
+ const rows = items.map((member) => /* @__PURE__ */ React29.createElement(ListItemContainer, { key: member.did }, /* @__PURE__ */ React29.createElement(Flex12, { align: "center", gap: "sm" }, /* @__PURE__ */ React29.createElement(Image8, { radius: 16, w: 32, h: 32, src: member.icon }), /* @__PURE__ */ React29.createElement(Stack19, { gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm" }, member.username || "-"), /* @__PURE__ */ React29.createElement(Text17, { size: "xs", c: "dimmed" }, member.address || "-"))), /* @__PURE__ */ React29.createElement(Flex12, { align: "center", gap: "md" }, /* @__PURE__ */ React29.createElement(Stack19, { ta: "right", gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm" }, member.percentage), /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed" }, member.role)), mods && /* @__PURE__ */ React29.createElement(ListItemCheckbox, { ariaLabel: `Select member ${member.did}`, checked: isItemChecked?.(member.did), onCheck: (checked) => onItemCheck?.(member.did, checked) }))));
2559
2558
  return /* @__PURE__ */ React29.createElement(Box11, { flex: 1 }, /* @__PURE__ */ React29.createElement(Stack19, null, rows));
2560
2559
  };
2561
2560
 
2562
2561
  // src/mantine/blocks/list/validators/ValidatorsList.tsx
2563
2562
  import React30 from "react";
2564
- import { Text as Text18, Box as Box12, Image as Image9, Stack as Stack20, Flex as Flex12 } from "@mantine/core";
2563
+ import { Text as Text18, Box as Box12, Image as Image9, Stack as Stack20, Flex as Flex13 } from "@mantine/core";
2565
2564
 
2566
2565
  // src/core/utils/numbers.ts
2567
2566
  var numberFormatter = (num, digits) => {
@@ -2592,7 +2591,7 @@ var ValidatorsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2592
2591
  if (!items || items.length === 0) {
2593
2592
  return /* @__PURE__ */ React30.createElement(Text18, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No validators found");
2594
2593
  }
2595
- const rows = items.map((v) => /* @__PURE__ */ React30.createElement(ListItemContainer, { key: v.did }, /* @__PURE__ */ React30.createElement(Flex12, { align: "center", gap: "sm" }, /* @__PURE__ */ React30.createElement(Image9, { radius: 16, w: 32, h: 32, src: v.icon }), /* @__PURE__ */ React30.createElement(Stack20, { gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, v.name || "-"), /* @__PURE__ */ React30.createElement(Text18, { size: "xs", c: "dimmed" }, v.description || "-"))), /* @__PURE__ */ React30.createElement(Flex12, { align: "center", gap: "md" }, /* @__PURE__ */ React30.createElement(Stack20, { ta: "right", gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, numberFormatter(getDisplayDelegatedTokensFromValidator(v), 2), " ", v.currency), /* @__PURE__ */ React30.createElement(Text18, { size: "sm", c: "dimmed" }, v.commission, "% fee"), /* @__PURE__ */ React30.createElement(Text18, { size: "xs", c: "dimmed" }, v.isActive ? "Active" : "Inactive", " \u2022 ", v.isStaked ? "Staked" : "Not staked", " \u2022 ", v.isBonding ? "Bonding" : "Not bonding")), mods && /* @__PURE__ */ React30.createElement(ListItemCheckbox, { ariaLabel: `Select validator ${v.did}`, checked: isItemChecked?.(v.did), onCheck: (checked) => onItemCheck?.(v.did, checked) }))));
2594
+ const rows = items.map((v) => /* @__PURE__ */ React30.createElement(ListItemContainer, { key: v.did }, /* @__PURE__ */ React30.createElement(Flex13, { align: "center", gap: "sm" }, /* @__PURE__ */ React30.createElement(Image9, { radius: 16, w: 32, h: 32, src: v.icon }), /* @__PURE__ */ React30.createElement(Stack20, { gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, v.name || "-"), /* @__PURE__ */ React30.createElement(Text18, { size: "xs", c: "dimmed" }, v.description || "-"))), /* @__PURE__ */ React30.createElement(Flex13, { align: "center", gap: "md" }, /* @__PURE__ */ React30.createElement(Stack20, { ta: "right", gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, numberFormatter(getDisplayDelegatedTokensFromValidator(v), 2), " ", v.currency), /* @__PURE__ */ React30.createElement(Text18, { size: "sm", c: "dimmed" }, v.commission, "% fee"), /* @__PURE__ */ React30.createElement(Text18, { size: "xs", c: "dimmed" }, v.isActive ? "Active" : "Inactive", " \u2022 ", v.isStaked ? "Staked" : "Not staked", " \u2022 ", v.isBonding ? "Bonding" : "Not bonding")), mods && /* @__PURE__ */ React30.createElement(ListItemCheckbox, { ariaLabel: `Select validator ${v.did}`, checked: isItemChecked?.(v.did), onCheck: (checked) => onItemCheck?.(v.did, checked) }))));
2596
2595
  return /* @__PURE__ */ React30.createElement(Box12, { flex: 1 }, /* @__PURE__ */ React30.createElement(Stack20, null, rows));
2597
2596
  };
2598
2597
 
@@ -2691,7 +2690,7 @@ function filterListItems(items, filterOption) {
2691
2690
  }
2692
2691
 
2693
2692
  // src/mantine/blocks/list/flow/ListFlowView.tsx
2694
- import { IconArrowDown as IconArrowDown2, IconArrowRight as IconArrowRight2, IconArrowUp as IconArrowUp2, IconChevronDown, IconChevronUp, IconRefresh, IconSettings, IconAlertCircle } from "@tabler/icons-react";
2693
+ import { IconArrowDown as IconArrowDown2, IconArrowUp as IconArrowUp2, IconChevronDown, IconChevronUp, IconRefresh, IconSettings, IconAlertCircle } from "@tabler/icons-react";
2695
2694
 
2696
2695
  // src/mantine/blocks/list/ListPagination.tsx
2697
2696
  import React33 from "react";
@@ -2725,12 +2724,12 @@ var DEFAULT_PAGE_SIZE = 5;
2725
2724
 
2726
2725
  // src/mantine/blocks/list/dao_members/MembersList.tsx
2727
2726
  import React34 from "react";
2728
- import { Text as Text21, Box as Box13, Image as Image10, Stack as Stack21, Flex as Flex13 } from "@mantine/core";
2727
+ import { Text as Text21, Box as Box13, Image as Image10, Stack as Stack21, Flex as Flex14 } from "@mantine/core";
2729
2728
  var DaoMembersList = ({ items, mods, isItemChecked, onItemCheck }) => {
2730
2729
  if (!items || items.length === 0) {
2731
2730
  return /* @__PURE__ */ React34.createElement(Text21, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No members found");
2732
2731
  }
2733
- const rows = items.map((member) => /* @__PURE__ */ React34.createElement(ListItemContainer, { key: member.did }, /* @__PURE__ */ React34.createElement(Flex13, { align: "center", gap: "sm" }, /* @__PURE__ */ React34.createElement(Image10, { radius: 16, w: 32, h: 32, src: member.icon }), /* @__PURE__ */ React34.createElement(Stack21, { gap: 0 }, /* @__PURE__ */ React34.createElement(Text21, { size: "sm", fw: 500 }, member.username || "Unknown User"), /* @__PURE__ */ React34.createElement(Text21, { size: "xs", c: "dimmed", lineClamp: 1 }, member.address || "No address"))), /* @__PURE__ */ React34.createElement(Flex13, { align: "center", gap: "md" }, /* @__PURE__ */ React34.createElement(Stack21, { ta: "right", gap: 0 }, /* @__PURE__ */ React34.createElement(Text21, { size: "sm", fw: 500, c: "blue" }, member.percentage || "0%"), /* @__PURE__ */ React34.createElement(Text21, { size: "xs", c: "dimmed", tt: "capitalize" }, member.role || "member")), mods && /* @__PURE__ */ React34.createElement(
2732
+ const rows = items.map((member) => /* @__PURE__ */ React34.createElement(ListItemContainer, { key: member.did }, /* @__PURE__ */ React34.createElement(Flex14, { align: "center", gap: "sm" }, /* @__PURE__ */ React34.createElement(Image10, { radius: 16, w: 32, h: 32, src: member.icon }), /* @__PURE__ */ React34.createElement(Stack21, { gap: 0 }, /* @__PURE__ */ React34.createElement(Text21, { size: "sm", fw: 500 }, member.username || "Unknown User"), /* @__PURE__ */ React34.createElement(Text21, { size: "xs", c: "dimmed", lineClamp: 1 }, member.address || "No address"))), /* @__PURE__ */ React34.createElement(Flex14, { align: "center", gap: "md" }, /* @__PURE__ */ React34.createElement(Stack21, { ta: "right", gap: 0 }, /* @__PURE__ */ React34.createElement(Text21, { size: "sm", fw: 500, c: "blue" }, member.percentage || "0%"), /* @__PURE__ */ React34.createElement(Text21, { size: "xs", c: "dimmed", tt: "capitalize" }, member.role || "member")), mods && /* @__PURE__ */ React34.createElement(
2734
2733
  ListItemCheckbox,
2735
2734
  {
2736
2735
  ariaLabel: `Select member ${member.username || member.did}`,
@@ -2747,14 +2746,14 @@ import { Paper as Paper4, CloseButton as CloseButton3, Stack as Stack23, Alert a
2747
2746
 
2748
2747
  // src/mantine/blocks/list/components/SelectionPanelContent.tsx
2749
2748
  import React35 from "react";
2750
- import { Stack as Stack22, Text as Text22, Title as Title3, Divider as Divider2, Flex as Flex14, Paper as Paper3, Group as Group6 } from "@mantine/core";
2749
+ import { Stack as Stack22, Text as Text22, Title as Title3, Divider as Divider2, Flex as Flex15, Paper as Paper3, Group as Group6 } from "@mantine/core";
2751
2750
  import { useHover } from "@mantine/hooks";
2752
2751
  import { IconArrowRight, IconTarget } from "@tabler/icons-react";
2753
2752
  var SelectionPanelHeader = ({ title, description }) => {
2754
2753
  return /* @__PURE__ */ React35.createElement(Stack22, { gap: "xs" }, /* @__PURE__ */ React35.createElement(Title3, { fw: 400, order: 3 }, title), /* @__PURE__ */ React35.createElement(Text22, { c: "dimmed" }, description));
2755
2754
  };
2756
2755
  var SelectionPromptItem = ({ prompt }) => {
2757
- return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(Flex14, { gap: 10 }, /* @__PURE__ */ React35.createElement(IconArrowRight, { size: 24, color: "white" }), /* @__PURE__ */ React35.createElement(Text22, null, prompt.text)), /* @__PURE__ */ React35.createElement(Divider2, { c: "dimmed", h: 1 }));
2756
+ return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(Flex15, { gap: 10 }, /* @__PURE__ */ React35.createElement(IconArrowRight, { size: 24, color: "white" }), /* @__PURE__ */ React35.createElement(Text22, null, prompt.text)), /* @__PURE__ */ React35.createElement(Divider2, { c: "dimmed", h: 1 }));
2758
2757
  };
2759
2758
  var SelectionPrompts = ({ prompts }) => {
2760
2759
  if (!prompts || prompts.length === 0) return null;
@@ -2917,29 +2916,41 @@ var ListSelectionPanel = ({ selectedIds, listType }) => {
2917
2916
  }
2918
2917
  }
2919
2918
  ),
2920
- loading ? /* @__PURE__ */ React36.createElement(Center, { h: 200 }, /* @__PURE__ */ React36.createElement(Loader, null)) : error ? /* @__PURE__ */ React36.createElement(Alert3, { color: "red", title: "Error" }, /* @__PURE__ */ React36.createElement(Text23, { size: "sm" }, error)) : itemData ? /* @__PURE__ */ React36.createElement(Stack23, { gap: "md", style: { flex: 1 } }, /* @__PURE__ */ React36.createElement(SelectionPanelHeader, { title: panelConfig.title(itemData), description: panelConfig.description(itemData) }), /* @__PURE__ */ React36.createElement(SelectionPrompts, { prompts: panelConfig.prompts(itemData) }), /* @__PURE__ */ React36.createElement(SelectionActionSections, { sections: panelConfig.actionSections(itemData), itemId: selectedItemId, itemData })) : /* @__PURE__ */ React36.createElement(SelectionPanelEmpty, { message: "Failed to load item details" })
2919
+ loading ? /* @__PURE__ */ React36.createElement(Center, { h: 200 }, /* @__PURE__ */ React36.createElement(Loader, null)) : error ? /* @__PURE__ */ React36.createElement(Alert3, { color: "red", title: "Error" }, /* @__PURE__ */ React36.createElement(Text23, { size: "sm" }, error)) : itemData ? /* @__PURE__ */ React36.createElement(Stack23, { gap: "md", style: { flex: 1 } }, /* @__PURE__ */ React36.createElement(SelectionPanelHeader, { title: panelConfig.title(itemData), description: panelConfig.description(itemData) }), panelConfig?.image && /* @__PURE__ */ React36.createElement(
2920
+ "img",
2921
+ {
2922
+ src: panelConfig?.image(itemData),
2923
+ alt: "Selected item preview",
2924
+ style: {
2925
+ borderRadius: 8,
2926
+ width: "100%",
2927
+ height: 240,
2928
+ objectFit: "cover"
2929
+ }
2930
+ }
2931
+ ), /* @__PURE__ */ React36.createElement(SelectionPrompts, { prompts: panelConfig.prompts(itemData) }), /* @__PURE__ */ React36.createElement(SelectionActionSections, { sections: panelConfig.actionSections(itemData), itemId: selectedItemId, itemData })) : /* @__PURE__ */ React36.createElement(SelectionPanelEmpty, { message: "Failed to load item details" })
2921
2932
  );
2922
2933
  };
2923
2934
 
2924
2935
  // src/mantine/blocks/list/projects/ProjectsList.tsx
2925
2936
  import React37 from "react";
2926
- import { Text as Text24, Box as Box14, Image as Image11, Stack as Stack24, Flex as Flex15 } from "@mantine/core";
2937
+ import { Text as Text24, Box as Box14, Image as Image11, Stack as Stack24, Flex as Flex16 } from "@mantine/core";
2927
2938
  var ProjectsList = ({ items, mods, isItemChecked, onItemCheck }) => {
2928
2939
  if (!items || items.length === 0) {
2929
2940
  return /* @__PURE__ */ React37.createElement(Text24, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No Projects found");
2930
2941
  }
2931
- const rows = items.map((project) => /* @__PURE__ */ React37.createElement(ListItemContainer, { key: project.did }, /* @__PURE__ */ React37.createElement(Flex15, { align: "center", gap: "sm" }, /* @__PURE__ */ React37.createElement(Image11, { radius: 16, w: 32, h: 32, src: project.icon }), /* @__PURE__ */ React37.createElement(Stack24, { gap: 0 }, /* @__PURE__ */ React37.createElement(Text24, { size: "sm" }, project.name || "-"), /* @__PURE__ */ React37.createElement(Text24, { size: "sm", c: "dimmed" }, shortStr(project.description, 50, 0) || "-"))), /* @__PURE__ */ React37.createElement(Flex15, { align: "center", gap: "md" }, mods && /* @__PURE__ */ React37.createElement(ListItemCheckbox, { ariaLabel: `Select request ${project.did}`, checked: isItemChecked?.(project.did), onCheck: (checked) => onItemCheck?.(project.did, checked) }))));
2942
+ const rows = items.map((project) => /* @__PURE__ */ React37.createElement(ListItemContainer, { key: project.did }, /* @__PURE__ */ React37.createElement(Flex16, { align: "center", gap: "sm" }, /* @__PURE__ */ React37.createElement(Image11, { radius: 16, w: 32, h: 32, src: project.icon }), /* @__PURE__ */ React37.createElement(Stack24, { gap: 0 }, /* @__PURE__ */ React37.createElement(Text24, { size: "sm" }, project.name || "-"), /* @__PURE__ */ React37.createElement(Text24, { size: "sm", c: "dimmed" }, shortStr(project.description, 50, 0) || "-"))), /* @__PURE__ */ React37.createElement(Flex16, { align: "center", gap: "md" }, mods && /* @__PURE__ */ React37.createElement(ListItemCheckbox, { ariaLabel: `Select request ${project.did}`, checked: isItemChecked?.(project.did), onCheck: (checked) => onItemCheck?.(project.did, checked) }))));
2932
2943
  return /* @__PURE__ */ React37.createElement(Box14, { flex: 1 }, /* @__PURE__ */ React37.createElement(Stack24, null, rows));
2933
2944
  };
2934
2945
 
2935
2946
  // src/mantine/blocks/list/daos/DaosList.tsx
2936
2947
  import React38 from "react";
2937
- import { Text as Text25, Box as Box15, Image as Image12, Stack as Stack25, Flex as Flex16 } from "@mantine/core";
2948
+ import { Text as Text25, Box as Box15, Image as Image12, Stack as Stack25, Flex as Flex17 } from "@mantine/core";
2938
2949
  var DaosList = ({ items, mods, isItemChecked, onItemCheck }) => {
2939
2950
  if (!items || items.length === 0) {
2940
2951
  return /* @__PURE__ */ React38.createElement(Text25, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No Daos found");
2941
2952
  }
2942
- const rows = items.map((dao) => /* @__PURE__ */ React38.createElement(ListItemContainer, { key: dao.did }, /* @__PURE__ */ React38.createElement(Flex16, { align: "center", gap: "sm" }, /* @__PURE__ */ React38.createElement(Image12, { radius: 16, w: 32, h: 32, src: dao.icon }), /* @__PURE__ */ React38.createElement(Stack25, { gap: 0 }, /* @__PURE__ */ React38.createElement(Text25, { size: "sm" }, dao.name || "-"), /* @__PURE__ */ React38.createElement(Text25, { size: "sm", c: "dimmed" }, shortStr(dao.description, 50, 0) || "-"))), /* @__PURE__ */ React38.createElement(Flex16, { align: "center", gap: "md" }, mods && /* @__PURE__ */ React38.createElement(ListItemCheckbox, { ariaLabel: `Select request ${dao.did}`, checked: isItemChecked?.(dao.did), onCheck: (checked) => onItemCheck?.(dao.did, checked) }))));
2953
+ const rows = items.map((dao) => /* @__PURE__ */ React38.createElement(ListItemContainer, { key: dao.did }, /* @__PURE__ */ React38.createElement(Flex17, { align: "center", gap: "sm" }, /* @__PURE__ */ React38.createElement(Image12, { radius: 16, w: 32, h: 32, src: dao.icon }), /* @__PURE__ */ React38.createElement(Stack25, { gap: 0 }, /* @__PURE__ */ React38.createElement(Text25, { size: "sm" }, dao.name || "-"), /* @__PURE__ */ React38.createElement(Text25, { size: "sm", c: "dimmed" }, shortStr(dao.description, 50, 0) || "-"))), /* @__PURE__ */ React38.createElement(Flex17, { align: "center", gap: "md" }, mods && /* @__PURE__ */ React38.createElement(ListItemCheckbox, { ariaLabel: `Select request ${dao.did}`, checked: isItemChecked?.(dao.did), onCheck: (checked) => onItemCheck?.(dao.did, checked) }))));
2943
2954
  return /* @__PURE__ */ React38.createElement(Box15, { flex: 1 }, /* @__PURE__ */ React38.createElement(Stack25, null, rows));
2944
2955
  };
2945
2956
 
@@ -3053,7 +3064,7 @@ var ListFlowView = ({ block, editor }) => {
3053
3064
  () => /* @__PURE__ */ React40.createElement(ListSelectionPanel, { editor, block, selectedIds, listType }),
3054
3065
  [editor, block, selectedIds, listType]
3055
3066
  );
3056
- const { open: openSelectionPanel } = usePanel(selectionPanelId, selectionPanelContent);
3067
+ const { open: openSelectionPanel, close: closeSelectionPanel } = usePanel(selectionPanelId, selectionPanelContent);
3057
3068
  useEffect6(() => {
3058
3069
  if (selectionMode === "single" && selectedIds.size > 1) {
3059
3070
  const arr = Array.from(selectedIds);
@@ -3073,15 +3084,21 @@ var ListFlowView = ({ block, editor }) => {
3073
3084
  const nextSelectedIds = new Set(prev);
3074
3085
  if (selectionMode === "single") {
3075
3086
  if (checked) {
3087
+ openSelectionPanel();
3076
3088
  return /* @__PURE__ */ new Set([id]);
3077
3089
  }
3078
3090
  nextSelectedIds.delete(id);
3091
+ closeSelectionPanel();
3079
3092
  return nextSelectedIds;
3080
3093
  }
3081
3094
  if (checked) {
3095
+ openSelectionPanel();
3082
3096
  nextSelectedIds.add(id);
3083
3097
  } else {
3084
3098
  nextSelectedIds.delete(id);
3099
+ if (nextSelectedIds.size === 0) {
3100
+ closeSelectionPanel();
3101
+ }
3085
3102
  }
3086
3103
  return nextSelectedIds;
3087
3104
  });
@@ -3335,10 +3352,10 @@ var ListFlowView = ({ block, editor }) => {
3335
3352
  if (!listType) {
3336
3353
  return /* @__PURE__ */ React40.createElement(Center2, { py: "xl" }, /* @__PURE__ */ React40.createElement(Text26, { size: "sm", c: "dimmed" }, "List not configured"));
3337
3354
  }
3338
- return /* @__PURE__ */ React40.createElement(Stack26, { w: "100%" }, /* @__PURE__ */ React40.createElement(Flex17, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React40.createElement(Title4, { order: 4 }, getListNameByType(listType)), /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand", title: opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React40.createElement(IconChevronUp, { size: 18 }) : /* @__PURE__ */ React40.createElement(IconChevronDown, { size: 18 }))), /* @__PURE__ */ React40.createElement(Collapse, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React40.createElement(Stack26, { mih: totalPages !== 1 ? 500 : void 0, w: "100%" }, /* @__PURE__ */ React40.createElement(Flex17, { align: "center", gap: "xs" }, listSortConfig?.key && /* @__PURE__ */ React40.createElement(Flex17, { align: "center" }, /* @__PURE__ */ React40.createElement(Text26, { size: "xs" }, listSortConfig.key?.replace(/([A-Z])/g, " $1").replace(
3355
+ return /* @__PURE__ */ React40.createElement(Stack26, { w: "100%" }, /* @__PURE__ */ React40.createElement(Flex18, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React40.createElement(Title4, { order: 4 }, getListNameByType(listType)), /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand", title: opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React40.createElement(IconChevronUp, { size: 18 }) : /* @__PURE__ */ React40.createElement(IconChevronDown, { size: 18 }))), /* @__PURE__ */ React40.createElement(Collapse, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React40.createElement(Stack26, { mih: totalPages !== 1 ? 500 : void 0, w: "100%" }, /* @__PURE__ */ React40.createElement(Flex18, { align: "center", gap: "xs" }, listSortConfig?.key && /* @__PURE__ */ React40.createElement(Flex18, { align: "center" }, /* @__PURE__ */ React40.createElement(Text26, { size: "xs" }, listSortConfig.key?.replace(/([A-Z])/g, " $1").replace(
3339
3356
  /^./,
3340
3357
  (str) => str.toUpperCase()
3341
- ), " "), /* @__PURE__ */ React40.createElement(Text26, { lh: 0.5 }, listSortConfig.direction === "asc" && /* @__PURE__ */ React40.createElement(IconArrowUp2, { size: 18 }), listSortConfig.direction === "desc" && /* @__PURE__ */ React40.createElement(IconArrowDown2, { size: 18 }))), selectionMode && /* @__PURE__ */ React40.createElement(Text26, { lh: 0.5 }, selectionMode === "single" ? "Single Selection" : "Multi Selection")), /* @__PURE__ */ React40.createElement(Flex17, { justify: "space-between" }, /* @__PURE__ */ React40.createElement(Flex17, { gap: "xs", align: "center" }, /* @__PURE__ */ React40.createElement(FilterTab, { key: "All", label: "All", isActive: !listFilterConfig?.key, onClick: () => handleFilterChange(null) }), Array.isArray(listFilterConfigOptions) && listFilterConfigOptions.length > 0 && listFilterConfigOptions.map(({ key, label, type }) => /* @__PURE__ */ React40.createElement(
3358
+ ), " "), /* @__PURE__ */ React40.createElement(Text26, { lh: 0.5 }, listSortConfig.direction === "asc" && /* @__PURE__ */ React40.createElement(IconArrowUp2, { size: 18 }), listSortConfig.direction === "desc" && /* @__PURE__ */ React40.createElement(IconArrowDown2, { size: 18 }))), selectionMode && /* @__PURE__ */ React40.createElement(Text26, { lh: 0.5 }, selectionMode === "single" ? "Single Selection" : "Multi Selection")), /* @__PURE__ */ React40.createElement(Flex18, { justify: "space-between" }, /* @__PURE__ */ React40.createElement(Flex18, { gap: "xs", align: "center" }, /* @__PURE__ */ React40.createElement(FilterTab, { key: "All", label: "All", isActive: !listFilterConfig?.key, onClick: () => handleFilterChange(null) }), Array.isArray(listFilterConfigOptions) && listFilterConfigOptions.length > 0 && listFilterConfigOptions.map(({ key, label, type }) => /* @__PURE__ */ React40.createElement(
3342
3359
  FilterTab,
3343
3360
  {
3344
3361
  key: label,
@@ -3346,7 +3363,7 @@ var ListFlowView = ({ block, editor }) => {
3346
3363
  isActive: listFilterConfig?.key === key && listFilterConfig?.value === type,
3347
3364
  onClick: () => handleFilterChange({ key, value: type })
3348
3365
  }
3349
- ))), /* @__PURE__ */ React40.createElement(Flex17, { gap: "xs" }, /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: fetchData, loading }, /* @__PURE__ */ React40.createElement(IconRefresh, { size: 18 })), editable && /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: openPanel }, /* @__PURE__ */ React40.createElement(IconSettings, { size: 18 })), selectedIds.size > 0 && /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: openSelectionPanel }, /* @__PURE__ */ React40.createElement(IconArrowRight2, null)), listConfig && listSortConfigOptions && listSortConfigOptions?.length > 0 && /* @__PURE__ */ React40.createElement(
3366
+ ))), /* @__PURE__ */ React40.createElement(Flex18, { gap: "xs" }, /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: fetchData, loading }, /* @__PURE__ */ React40.createElement(IconRefresh, { size: 18 })), editable && /* @__PURE__ */ React40.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: openPanel }, /* @__PURE__ */ React40.createElement(IconSettings, { size: 18 })), listConfig && listSortConfigOptions && listSortConfigOptions?.length > 0 && /* @__PURE__ */ React40.createElement(
3350
3367
  ListActionsMenu,
3351
3368
  {
3352
3369
  onSelectActionClick: (mode) => setSelectionMode(mode),
@@ -3356,7 +3373,7 @@ var ListFlowView = ({ block, editor }) => {
3356
3373
  onChange: (sortOption) => handleSortChange(sortOption),
3357
3374
  onDownloadCsv: data?.items ? () => downloadArrayAsCsv(data.items) : void 0
3358
3375
  }
3359
- ))), /* @__PURE__ */ React40.createElement(Flex17, { flex: 1 }, loading ? /* @__PURE__ */ React40.createElement(Center2, { py: "xl", w: "100%" }, /* @__PURE__ */ React40.createElement(Loader2, { size: "md", mx: "auto" })) : error ? /* @__PURE__ */ React40.createElement(Alert4, { color: "red", title: "Failed to load data", icon: /* @__PURE__ */ React40.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React40.createElement(Stack26, { gap: "xs" }, /* @__PURE__ */ React40.createElement(Text26, { size: "sm" }, showErrorDetails ? error : "Unable to fetch list data"), /* @__PURE__ */ React40.createElement(Group7, { gap: "xs" }, /* @__PURE__ */ React40.createElement(Button5, { size: "xs", variant: "subtle", onClick: fetchData }, "Retry"), /* @__PURE__ */ React40.createElement(Button5, { size: "xs", variant: "subtle", onClick: () => setShowErrorDetails(!showErrorDetails) }, showErrorDetails ? "Hide" : "Show", " Details")))) : /* @__PURE__ */ React40.createElement(Stack26, { flex: 1 }, /* @__PURE__ */ React40.createElement(Stack26, { gap: "md" }, renderListComponent(), /* @__PURE__ */ React40.createElement(
3376
+ ))), /* @__PURE__ */ React40.createElement(Flex18, { flex: 1 }, loading ? /* @__PURE__ */ React40.createElement(Center2, { py: "xl", w: "100%" }, /* @__PURE__ */ React40.createElement(Loader2, { size: "md", mx: "auto" })) : error ? /* @__PURE__ */ React40.createElement(Alert4, { color: "red", title: "Failed to load data", icon: /* @__PURE__ */ React40.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React40.createElement(Stack26, { gap: "xs" }, /* @__PURE__ */ React40.createElement(Text26, { size: "sm" }, showErrorDetails ? error : "Unable to fetch list data"), /* @__PURE__ */ React40.createElement(Group7, { gap: "xs" }, /* @__PURE__ */ React40.createElement(Button5, { size: "xs", variant: "subtle", onClick: fetchData }, "Retry"), /* @__PURE__ */ React40.createElement(Button5, { size: "xs", variant: "subtle", onClick: () => setShowErrorDetails(!showErrorDetails) }, showErrorDetails ? "Hide" : "Show", " Details")))) : /* @__PURE__ */ React40.createElement(Stack26, { flex: 1 }, /* @__PURE__ */ React40.createElement(Stack26, { gap: "md" }, renderListComponent(), /* @__PURE__ */ React40.createElement(
3360
3377
  ListPagination,
3361
3378
  {
3362
3379
  page,
@@ -8678,16 +8695,16 @@ var ApiRequestBlockSpec = createReactBlockSpec5(
8678
8695
  // src/mantine/blocks/enumChecklist/EnumChecklistBlock.tsx
8679
8696
  import React103, { useState as useState27, useEffect as useEffect17, useMemo as useMemo17, useCallback as useCallback18 } from "react";
8680
8697
  import { createReactBlockSpec as createReactBlockSpec6 } from "@blocknote/react";
8681
- import { Stack as Stack77, Text as Text52, Button as Button25, ActionIcon as ActionIcon16, Center as Center3, Flex as Flex19 } from "@mantine/core";
8698
+ import { Stack as Stack77, Text as Text52, Button as Button25, ActionIcon as ActionIcon16, Center as Center3, Flex as Flex20 } from "@mantine/core";
8682
8699
 
8683
8700
  // src/mantine/blocks/enumChecklist/oracle_personalities/index.tsx
8684
8701
  import React97 from "react";
8685
- import { Box as Box18, Flex as Flex18, Stack as Stack72, Text as Text47, Image as Image13 } from "@mantine/core";
8702
+ import { Box as Box18, Flex as Flex19, Stack as Stack72, Text as Text47, Image as Image13 } from "@mantine/core";
8686
8703
  function OraclePersonalitiesEnumList({ selectionMode, isItemChecked, onItemCheck, items }) {
8687
8704
  if (!items || items.length === 0) {
8688
8705
  return /* @__PURE__ */ React97.createElement(Text47, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No assets found");
8689
8706
  }
8690
- const rows = items.map(({ id, name, description, voice, icon }) => /* @__PURE__ */ React97.createElement(ListItemContainer, { key: id }, /* @__PURE__ */ React97.createElement(Flex18, { align: "center", gap: "sm" }, /* @__PURE__ */ React97.createElement(Image13, { radius: 16, w: 62, h: 62, src: icon, alt: name }), /* @__PURE__ */ React97.createElement(Stack72, { gap: 0 }, /* @__PURE__ */ React97.createElement(Text47, { size: "sm", fw: 500 }, name || "-"), description !== void 0 && /* @__PURE__ */ React97.createElement(Text47, { size: "sm", c: "dimmed" }, description))), /* @__PURE__ */ React97.createElement(Flex18, { align: "center", gap: "md" }, /* @__PURE__ */ React97.createElement(Stack72, { ta: "right", gap: 0 }, /* @__PURE__ */ React97.createElement(Text47, { size: "sm", fw: 500 }, "Voice"), /* @__PURE__ */ React97.createElement(Text47, { size: "sm", c: "dimmed" }, voice)), selectionMode && /* @__PURE__ */ React97.createElement(ListItemCheckbox, { ariaLabel: `Select oracle ${name}`, checked: isItemChecked?.(id), onCheck: (checked) => onItemCheck?.(id, checked) }))));
8707
+ const rows = items.map(({ id, name, description, voice, icon }) => /* @__PURE__ */ React97.createElement(ListItemContainer, { key: id }, /* @__PURE__ */ React97.createElement(Flex19, { align: "center", gap: "sm" }, /* @__PURE__ */ React97.createElement(Image13, { radius: 16, w: 62, h: 62, src: icon, alt: name }), /* @__PURE__ */ React97.createElement(Stack72, { gap: 0 }, /* @__PURE__ */ React97.createElement(Text47, { size: "sm", fw: 500 }, name || "-"), description !== void 0 && /* @__PURE__ */ React97.createElement(Text47, { size: "sm", c: "dimmed" }, description))), /* @__PURE__ */ React97.createElement(Flex19, { align: "center", gap: "md" }, /* @__PURE__ */ React97.createElement(Stack72, { ta: "right", gap: 0 }, /* @__PURE__ */ React97.createElement(Text47, { size: "sm", fw: 500 }, "Voice"), /* @__PURE__ */ React97.createElement(Text47, { size: "sm", c: "dimmed" }, voice)), selectionMode && /* @__PURE__ */ React97.createElement(ListItemCheckbox, { ariaLabel: `Select oracle ${name}`, checked: isItemChecked?.(id), onCheck: (checked) => onItemCheck?.(id, checked) }))));
8691
8708
  return /* @__PURE__ */ React97.createElement(Box18, { flex: 1 }, /* @__PURE__ */ React97.createElement(Stack72, null, rows));
8692
8709
  }
8693
8710
 
@@ -9141,7 +9158,7 @@ var EnumChecklistBlockContent = ({ block, editor }) => {
9141
9158
  return null;
9142
9159
  }
9143
9160
  };
9144
- return /* @__PURE__ */ React103.createElement(Stack77, { w: "100%" }, listType && /* @__PURE__ */ React103.createElement(Flex19, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React103.createElement(Text52, null, getEnumListNameByType(listType)), listConfig.listSelectionMode && /* @__PURE__ */ React103.createElement(Text52, { lh: 0.5, c: "dimmed" }, listConfig?.selection_mode === "single" ? "Single Selection" : "Multi Selection"), editable && /* @__PURE__ */ React103.createElement(Flex19, { justify: listType ? "space-between" : "flex-end" }, /* @__PURE__ */ React103.createElement(Flex19, { gap: "xs" }, /* @__PURE__ */ React103.createElement(ActionIcon16, { variant: "subtle", size: "sm", onClick: () => setModalOpened(true) }, /* @__PURE__ */ React103.createElement(IconSettings2, null))))), /* @__PURE__ */ React103.createElement(Flex19, { flex: 1 }, !listType ? /* @__PURE__ */ React103.createElement(Center3, { py: "xl" }, /* @__PURE__ */ React103.createElement(Stack77, { align: "center", gap: "sm" }, /* @__PURE__ */ React103.createElement(Text52, { size: "sm", c: "dimmed", ta: "center" }, "No list type configured"), /* @__PURE__ */ React103.createElement(Button25, { size: "sm", variant: "light", onClick: () => setModalOpened(true) }, "Configure List"))) : /* @__PURE__ */ React103.createElement(Stack77, { gap: "md", flex: 1 }, renderListComponent())), /* @__PURE__ */ React103.createElement(
9161
+ return /* @__PURE__ */ React103.createElement(Stack77, { w: "100%" }, listType && /* @__PURE__ */ React103.createElement(Flex20, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React103.createElement(Text52, null, getEnumListNameByType(listType)), listConfig.listSelectionMode && /* @__PURE__ */ React103.createElement(Text52, { lh: 0.5, c: "dimmed" }, listConfig?.selection_mode === "single" ? "Single Selection" : "Multi Selection"), editable && /* @__PURE__ */ React103.createElement(Flex20, { justify: listType ? "space-between" : "flex-end" }, /* @__PURE__ */ React103.createElement(Flex20, { gap: "xs" }, /* @__PURE__ */ React103.createElement(ActionIcon16, { variant: "subtle", size: "sm", onClick: () => setModalOpened(true) }, /* @__PURE__ */ React103.createElement(IconSettings2, null))))), /* @__PURE__ */ React103.createElement(Flex20, { flex: 1 }, !listType ? /* @__PURE__ */ React103.createElement(Center3, { py: "xl" }, /* @__PURE__ */ React103.createElement(Stack77, { align: "center", gap: "sm" }, /* @__PURE__ */ React103.createElement(Text52, { size: "sm", c: "dimmed", ta: "center" }, "No list type configured"), /* @__PURE__ */ React103.createElement(Button25, { size: "sm", variant: "light", onClick: () => setModalOpened(true) }, "Configure List"))) : /* @__PURE__ */ React103.createElement(Stack77, { gap: "md", flex: 1 }, renderListComponent())), /* @__PURE__ */ React103.createElement(
9145
9162
  EnumChecklistConfigModal,
9146
9163
  {
9147
9164
  opened: modalOpened,
@@ -10482,22 +10499,26 @@ import React112 from "react";
10482
10499
  import { getDefaultReactSlashMenuItems, SuggestionMenuController } from "@blocknote/react";
10483
10500
  import { BlockNoteView } from "@blocknote/mantine";
10484
10501
  import { filterSuggestionItems } from "@blocknote/core";
10485
- import { Flex as Flex20, MantineProvider, Text as Text56 } from "@mantine/core";
10502
+ import { Flex as Flex21, MantineProvider, Text as Text56 } from "@mantine/core";
10486
10503
 
10487
10504
  // src/mantine/components/PanelContent.tsx
10488
10505
  import React111 from "react";
10506
+ import { Box as Box21 } from "@mantine/core";
10489
10507
  function PanelContent() {
10490
10508
  const { activePanel, registeredPanels } = usePanelStore();
10491
10509
  const isOpen = activePanel !== null;
10492
10510
  const content = activePanel ? registeredPanels.get(activePanel) : null;
10493
10511
  return /* @__PURE__ */ React111.createElement(
10494
- "div",
10512
+ Box21,
10495
10513
  {
10514
+ pos: "sticky",
10515
+ right: 0,
10516
+ top: 0,
10496
10517
  style: {
10497
- position: "relative",
10498
- flexBasis: isOpen ? "50%" : "0",
10499
- transition: "flex-basis 0.2s ease",
10500
- overflow: "hidden"
10518
+ width: isOpen ? "50%" : "0",
10519
+ height: "calc(100vh - 150px)",
10520
+ transition: "width 0.2s ease",
10521
+ overflow: isOpen ? "auto" : "hidden"
10501
10522
  }
10502
10523
  },
10503
10524
  isOpen && content
@@ -10567,7 +10588,7 @@ function IxoEditor({
10567
10588
  tableHandles: true
10568
10589
  };
10569
10590
  const isEditable = editable;
10570
- const editorContent = /* @__PURE__ */ React112.createElement(BlocknoteProvider, { editor, handlers, blockRequirements, editable: isEditable }, /* @__PURE__ */ React112.createElement(ListBlocksUIProvider, null, /* @__PURE__ */ React112.createElement(Flex20, { pr: 25, justify: "flex-end", align: "center", gap: "xs" }, /* @__PURE__ */ React112.createElement(Text56, { size: "xs", c: "dimmed", tt: "uppercase" }, "Global actions"), /* @__PURE__ */ React112.createElement(ListBlocksToolbar, null)), /* @__PURE__ */ React112.createElement(IxoEditorContent, { editor, config, isEditable, className, onChange, onSelectionChange }, children)));
10591
+ const editorContent = /* @__PURE__ */ React112.createElement(BlocknoteProvider, { editor, handlers, blockRequirements, editable: isEditable }, /* @__PURE__ */ React112.createElement(ListBlocksUIProvider, null, /* @__PURE__ */ React112.createElement(Flex21, { pr: 25, justify: "flex-end", align: "center", gap: "xs" }, /* @__PURE__ */ React112.createElement(Text56, { size: "xs", c: "dimmed", tt: "uppercase" }, "Global actions"), /* @__PURE__ */ React112.createElement(ListBlocksToolbar, null)), /* @__PURE__ */ React112.createElement(IxoEditorContent, { editor, config, isEditable, className, onChange, onSelectionChange }, children)));
10571
10592
  if (mantineTheme) {
10572
10593
  return /* @__PURE__ */ React112.createElement(MantineProvider, { theme: mantineTheme }, editorContent);
10573
10594
  }
@@ -10653,4 +10674,4 @@ export {
10653
10674
  ixoGraphQLClient,
10654
10675
  getEntity
10655
10676
  };
10656
- //# sourceMappingURL=chunk-NWID2DZ5.mjs.map
10677
+ //# sourceMappingURL=chunk-JQ2HK6IY.mjs.map