@ixo/editor 1.24.0 → 1.25.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.
|
@@ -1356,6 +1356,57 @@ var CheckboxBlockSpec = createReactBlockSpec(
|
|
|
1356
1356
|
}
|
|
1357
1357
|
);
|
|
1358
1358
|
|
|
1359
|
+
// src/mantine/context/types.ts
|
|
1360
|
+
var StakeType = {
|
|
1361
|
+
Delegate: "delegate",
|
|
1362
|
+
Undelegate: "undelegate",
|
|
1363
|
+
Redelegate: "redelegate",
|
|
1364
|
+
WithdrawDelegatorReward: "withdraw_delegator_reward"
|
|
1365
|
+
};
|
|
1366
|
+
var AuthzExecActionTypes = {
|
|
1367
|
+
Delegate: "/cosmos.staking.v1beta1.MsgDelegate",
|
|
1368
|
+
Undelegate: "/cosmos.staking.v1beta1.MsgUndelegate",
|
|
1369
|
+
Redelegate: "/cosmos.staking.v1beta1.MsgBeginRedelegate",
|
|
1370
|
+
ClaimRewards: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
|
|
1371
|
+
Custom: "custom"
|
|
1372
|
+
};
|
|
1373
|
+
var ValidatorActionType = /* @__PURE__ */ ((ValidatorActionType2) => {
|
|
1374
|
+
ValidatorActionType2["CreateValidator"] = "/cosmos.staking.v1beta1.MsgCreateValidator";
|
|
1375
|
+
ValidatorActionType2["EditValidator"] = "/cosmos.staking.v1beta1.MsgEditValidator";
|
|
1376
|
+
ValidatorActionType2["UnjailValidator"] = "/cosmos.slashing.v1beta1.MsgUnjail";
|
|
1377
|
+
ValidatorActionType2["WithdrawValidatorCommission"] = "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission";
|
|
1378
|
+
return ValidatorActionType2;
|
|
1379
|
+
})(ValidatorActionType || {});
|
|
1380
|
+
|
|
1381
|
+
// src/mantine/context/hooks/useSharedProposal.ts
|
|
1382
|
+
import { useState as useState4, useEffect as useEffect5, useCallback as useCallback8 } from "react";
|
|
1383
|
+
var useSharedProposal = ({ proposalId, contractAddress, autoFetch = true }) => {
|
|
1384
|
+
const { sharedProposals, fetchSharedProposal, invalidateProposal, subscribeToProposal } = useBlocknoteContext();
|
|
1385
|
+
const [localProposal, setLocalProposal] = useState4(null);
|
|
1386
|
+
const cacheKey = `${contractAddress}:${proposalId}`;
|
|
1387
|
+
useEffect5(() => {
|
|
1388
|
+
if (!proposalId || !contractAddress || !autoFetch) return;
|
|
1389
|
+
fetchSharedProposal(proposalId, contractAddress).then(setLocalProposal).catch((error) => {
|
|
1390
|
+
console.error("Failed to fetch proposal:", error);
|
|
1391
|
+
});
|
|
1392
|
+
}, [proposalId, contractAddress, fetchSharedProposal, autoFetch]);
|
|
1393
|
+
useEffect5(() => {
|
|
1394
|
+
const proposal = subscribeToProposal(cacheKey);
|
|
1395
|
+
if (proposal) {
|
|
1396
|
+
setLocalProposal(proposal);
|
|
1397
|
+
}
|
|
1398
|
+
}, [subscribeToProposal, cacheKey]);
|
|
1399
|
+
const refetch = useCallback8(() => fetchSharedProposal(proposalId, contractAddress, true), [fetchSharedProposal, proposalId, contractAddress]);
|
|
1400
|
+
const invalidate = useCallback8(() => invalidateProposal(proposalId), [invalidateProposal, proposalId]);
|
|
1401
|
+
return {
|
|
1402
|
+
proposal: localProposal,
|
|
1403
|
+
loading: sharedProposals[cacheKey]?.loading ?? false,
|
|
1404
|
+
error: sharedProposals[cacheKey]?.error,
|
|
1405
|
+
refetch,
|
|
1406
|
+
invalidate
|
|
1407
|
+
};
|
|
1408
|
+
};
|
|
1409
|
+
|
|
1359
1410
|
// src/mantine/blocks/list/ListBlockSpec.tsx
|
|
1360
1411
|
import React43 from "react";
|
|
1361
1412
|
import { createReactBlockSpec as createReactBlockSpec2 } from "@blocknote/react";
|
|
@@ -1367,11 +1418,11 @@ import React42 from "react";
|
|
|
1367
1418
|
import React16, { useMemo as useMemo6 } from "react";
|
|
1368
1419
|
|
|
1369
1420
|
// src/mantine/blocks/list/template/TemplateConfig.tsx
|
|
1370
|
-
import React15, { useCallback as
|
|
1421
|
+
import React15, { useCallback as useCallback9 } from "react";
|
|
1371
1422
|
import { Paper as Paper2, CloseButton as CloseButton2, Title as Title2, Flex } from "@mantine/core";
|
|
1372
1423
|
|
|
1373
1424
|
// src/mantine/blocks/list/template/GeneralTab.tsx
|
|
1374
|
-
import React14, { useState as
|
|
1425
|
+
import React14, { useState as useState5 } from "react";
|
|
1375
1426
|
import { Stack as Stack8, Card as Card4, Group as Group4, Text as Text6, Box, TextInput as TextInput4, Button as Button4, Switch as Switch3, Accordion } from "@mantine/core";
|
|
1376
1427
|
|
|
1377
1428
|
// src/mantine/blocks/list/linked_resources/config.ts
|
|
@@ -1459,7 +1510,7 @@ var assetsSelectionPanelConfig = {
|
|
|
1459
1510
|
image: (item) => item.image,
|
|
1460
1511
|
title: (item) => item.name || "Unnamed Asset",
|
|
1461
1512
|
description: (item) => item.description || "No description",
|
|
1462
|
-
prompts: () => [{ text: `How many assets are available?` }, { text: `What are carbon credits
|
|
1513
|
+
prompts: () => [{ text: `How many assets are available?` }, { text: `What are carbon credits?` }],
|
|
1463
1514
|
actionSections: (item) => item.actionSections,
|
|
1464
1515
|
detailsHandlerKey: "getAssetDetails"
|
|
1465
1516
|
};
|
|
@@ -1491,7 +1542,7 @@ var transactionsSortFields = [
|
|
|
1491
1542
|
var transactionsSelectionPanelConfig = {
|
|
1492
1543
|
title: (item) => item.typeUrl || "Transaction",
|
|
1493
1544
|
description: (item) => item.description || "No description",
|
|
1494
|
-
prompts: (item) => [{ text: `
|
|
1545
|
+
prompts: (item) => [{ text: `What is the purpose of ${item.transactionHash}?` }, { text: `Explain the transaction of type ${item.typeUrl}.` }],
|
|
1495
1546
|
actionSections: (item) => item.actionSections,
|
|
1496
1547
|
detailsHandlerKey: "getTransactionDetails"
|
|
1497
1548
|
};
|
|
@@ -1529,7 +1580,7 @@ var collectionsSelectionPanelConfig = {
|
|
|
1529
1580
|
image: (item) => item.image,
|
|
1530
1581
|
title: (item) => item.name || "Unnamed Collection",
|
|
1531
1582
|
description: (item) => item.description || "No description",
|
|
1532
|
-
prompts: (
|
|
1583
|
+
prompts: () => [{ text: `What is the purpose of this collection?` }, { text: `How is this collection different from others in the registry?` }],
|
|
1533
1584
|
actionSections: (item) => item.actionSections,
|
|
1534
1585
|
detailsHandlerKey: "getCollectionDetails"
|
|
1535
1586
|
};
|
|
@@ -1568,10 +1619,13 @@ var investmentsSelectionPanelConfig = {
|
|
|
1568
1619
|
title: (item) => item.name || "Investment Opportunity",
|
|
1569
1620
|
image: (item) => item.image,
|
|
1570
1621
|
description: (item) => item.description || "No description",
|
|
1571
|
-
prompts: (
|
|
1572
|
-
{ text: `
|
|
1573
|
-
{ text: `
|
|
1574
|
-
{ text: `
|
|
1622
|
+
prompts: () => [
|
|
1623
|
+
{ text: `What is the purpose of this investment opportunity?` },
|
|
1624
|
+
{ text: `How is this investment opportunity different from others in the registry?` },
|
|
1625
|
+
{ text: `What is the current amount of this investment opportunity?` },
|
|
1626
|
+
{ text: `What is the max amount of this investment opportunity?` },
|
|
1627
|
+
{ text: `What is the status of this investment opportunity?` },
|
|
1628
|
+
{ text: `What is the name of this investment opportunity?` }
|
|
1575
1629
|
],
|
|
1576
1630
|
actionSections: (item) => item.actionSections,
|
|
1577
1631
|
detailsHandlerKey: "getInvestmentDetails"
|
|
@@ -1611,7 +1665,11 @@ var oraclesSelectionPanelConfig = {
|
|
|
1611
1665
|
title: (item) => item.name || "Oracle",
|
|
1612
1666
|
image: (item) => item.image,
|
|
1613
1667
|
description: (item) => item.description || "No description",
|
|
1614
|
-
prompts: (
|
|
1668
|
+
prompts: () => [
|
|
1669
|
+
{ text: `What tasks can this oracle assist with?` },
|
|
1670
|
+
{ text: `How is this oracle different from others in the registry?` },
|
|
1671
|
+
{ text: `What kinds of data or knowledge does this oracle specialize in?` }
|
|
1672
|
+
],
|
|
1615
1673
|
actionSections: (item) => item.actionSections,
|
|
1616
1674
|
detailsHandlerKey: "getOracleDetails"
|
|
1617
1675
|
};
|
|
@@ -1648,7 +1706,7 @@ var podsSelectionPanelConfig = {
|
|
|
1648
1706
|
image: (item) => item.image,
|
|
1649
1707
|
title: (item) => item.name || "POD",
|
|
1650
1708
|
description: (item) => item.description || "No description",
|
|
1651
|
-
prompts: (
|
|
1709
|
+
prompts: () => [{ text: `What are the pods?` }, { text: `How to join a pod?` }],
|
|
1652
1710
|
actionSections: (item) => item.actionSections,
|
|
1653
1711
|
detailsHandlerKey: "getPODDetails"
|
|
1654
1712
|
};
|
|
@@ -1682,7 +1740,7 @@ var proposalsSelectionPanelConfig = {
|
|
|
1682
1740
|
image: (item) => item.image,
|
|
1683
1741
|
title: (item) => item.name || "Proposal",
|
|
1684
1742
|
description: (item) => item.description || "No description",
|
|
1685
|
-
prompts: (
|
|
1743
|
+
prompts: () => [{ text: `What is the purpose of this proposal?` }, { text: `How is this proposal different from others in the registry?` }],
|
|
1686
1744
|
actionSections: (item) => item.actionSections,
|
|
1687
1745
|
detailsHandlerKey: "getProposalDetails"
|
|
1688
1746
|
};
|
|
@@ -1718,7 +1776,7 @@ var requestsSelectionPanelConfig = {
|
|
|
1718
1776
|
image: (item) => item.image,
|
|
1719
1777
|
title: (item) => item.name || "Request",
|
|
1720
1778
|
description: (item) => item.description || "No description",
|
|
1721
|
-
prompts: (
|
|
1779
|
+
prompts: () => [{ text: `What is the purpose of this request?` }, { text: `How is this request different from others in the registry?` }],
|
|
1722
1780
|
actionSections: (item) => item.actionSections,
|
|
1723
1781
|
detailsHandlerKey: "getRequestDetails"
|
|
1724
1782
|
};
|
|
@@ -1763,7 +1821,7 @@ var groupMembersSelectionPanelConfig = {
|
|
|
1763
1821
|
image: (item) => item.image,
|
|
1764
1822
|
title: (item) => item.username || "Unknown Member",
|
|
1765
1823
|
description: (item) => item.description || "No description",
|
|
1766
|
-
prompts: (
|
|
1824
|
+
prompts: () => [{ text: `What are the dao dao groups?` }, { text: `How to join a dao group?` }],
|
|
1767
1825
|
actionSections: (item) => item.actionSections,
|
|
1768
1826
|
detailsHandlerKey: "getMemberDetails"
|
|
1769
1827
|
};
|
|
@@ -1798,10 +1856,10 @@ var validatorsHandlerKey = "getValidators";
|
|
|
1798
1856
|
var validatorsSelectionPanelConfig = {
|
|
1799
1857
|
title: (item) => item.name || "Unknown Validator",
|
|
1800
1858
|
description: (item) => item.description || "No description",
|
|
1801
|
-
prompts: (
|
|
1802
|
-
{ text: `
|
|
1803
|
-
{ text: `
|
|
1804
|
-
{ text: `
|
|
1859
|
+
prompts: () => [
|
|
1860
|
+
{ text: `What is the status of this validator?` },
|
|
1861
|
+
{ text: `What is the staked amount of this validator?` },
|
|
1862
|
+
{ text: `What is the bonding amount of this validator?` }
|
|
1805
1863
|
],
|
|
1806
1864
|
actionSections: (item) => item.actionSections,
|
|
1807
1865
|
detailsHandlerKey: "getValidatorDetails"
|
|
@@ -1847,7 +1905,7 @@ var daoMembersSelectionPanelConfig = {
|
|
|
1847
1905
|
image: (item) => item.image,
|
|
1848
1906
|
title: (item) => item.username || "Unknown Member",
|
|
1849
1907
|
description: (item) => item.description || "No description",
|
|
1850
|
-
prompts: (item) => [{ text: `
|
|
1908
|
+
prompts: (item) => [{ text: `What is the DAO member ${item.username} doing?` }, { text: `What is the role of dao members?` }],
|
|
1851
1909
|
actionSections: (item) => item.actionSections,
|
|
1852
1910
|
detailsHandlerKey: "getDaoMemberDetails"
|
|
1853
1911
|
};
|
|
@@ -1875,7 +1933,7 @@ var projectsSelectionPanelConfig = {
|
|
|
1875
1933
|
image: (item) => item.image,
|
|
1876
1934
|
title: (item) => item.name || "Project",
|
|
1877
1935
|
description: (item) => item.description || "No description",
|
|
1878
|
-
prompts: (
|
|
1936
|
+
prompts: () => [{ text: `What are the projects?` }, { text: `How to join a project?` }],
|
|
1879
1937
|
actionSections: (item) => item.actionSections,
|
|
1880
1938
|
detailsHandlerKey: "getProjectDetails"
|
|
1881
1939
|
};
|
|
@@ -1903,7 +1961,7 @@ var daosSelectionPanelConfig = {
|
|
|
1903
1961
|
title: (item) => item.name || "Dao",
|
|
1904
1962
|
image: (item) => item.image,
|
|
1905
1963
|
description: (item) => item.description || "No description",
|
|
1906
|
-
prompts: (
|
|
1964
|
+
prompts: () => [{ text: `What is the purpose of this DAO?` }, { text: `How is this DAO different from others in the registry?` }],
|
|
1907
1965
|
actionSections: (item) => item.actionSections,
|
|
1908
1966
|
detailsHandlerKey: "getDaoDetails"
|
|
1909
1967
|
};
|
|
@@ -1938,7 +1996,7 @@ var balancesSelectionPanelConfig = {
|
|
|
1938
1996
|
title: (item) => item.tokenName || "Unnamed Token",
|
|
1939
1997
|
image: (item) => item.tokenImage,
|
|
1940
1998
|
description: (item) => item.description || "No description",
|
|
1941
|
-
prompts: (
|
|
1999
|
+
prompts: () => [{ text: `What are the balances of this address?` }, { text: `How to get the balances of an address?` }],
|
|
1942
2000
|
actionSections: (item) => item.actionSections,
|
|
1943
2001
|
detailsHandlerKey: "getBalanceDetails"
|
|
1944
2002
|
};
|
|
@@ -2084,11 +2142,11 @@ var listTypesWithAddresses = ["transactions"];
|
|
|
2084
2142
|
|
|
2085
2143
|
// src/mantine/blocks/list/template/GeneralTab.tsx
|
|
2086
2144
|
var GeneralTab2 = ({ initialConfig, onSave }) => {
|
|
2087
|
-
const [selectedType, setSelectedType] =
|
|
2088
|
-
const [config, setConfig] =
|
|
2089
|
-
const [sortConfig, setSortConfig] =
|
|
2090
|
-
const [filterConfig, setFilterConfig] =
|
|
2091
|
-
const [accordionValue, setAccordionValue] =
|
|
2145
|
+
const [selectedType, setSelectedType] = useState5(initialConfig?.type || null);
|
|
2146
|
+
const [config, setConfig] = useState5(initialConfig?.config || {});
|
|
2147
|
+
const [sortConfig, setSortConfig] = useState5(initialConfig?.sortOptions || {});
|
|
2148
|
+
const [filterConfig, setFilterConfig] = useState5(initialConfig?.filterOptions || {});
|
|
2149
|
+
const [accordionValue, setAccordionValue] = useState5(initialConfig ? "configure" : "type");
|
|
2092
2150
|
const handlers = useBlocknoteHandlers();
|
|
2093
2151
|
const listTypes = getAllListTypes();
|
|
2094
2152
|
const handleTypeSelect = (type) => {
|
|
@@ -2269,7 +2327,7 @@ var GeneralTab2 = ({ initialConfig, onSave }) => {
|
|
|
2269
2327
|
// src/mantine/blocks/list/template/TemplateConfig.tsx
|
|
2270
2328
|
var TemplateConfig2 = ({ editor, block }) => {
|
|
2271
2329
|
const { closePanel } = usePanelStore();
|
|
2272
|
-
const handleConfigSave =
|
|
2330
|
+
const handleConfigSave = useCallback9(
|
|
2273
2331
|
(config) => {
|
|
2274
2332
|
editor.updateBlock(block, {
|
|
2275
2333
|
props: {
|
|
@@ -2360,7 +2418,7 @@ var ListTemplateView = ({ editor, block }) => {
|
|
|
2360
2418
|
};
|
|
2361
2419
|
|
|
2362
2420
|
// src/mantine/blocks/list/flow/ListFlowView.tsx
|
|
2363
|
-
import React41, { useState as
|
|
2421
|
+
import React41, { useState as useState7, useEffect as useEffect7, useMemo as useMemo9, useCallback as useCallback11 } from "react";
|
|
2364
2422
|
import { Group as Group8, Stack as Stack27, Text as Text27, ActionIcon as ActionIcon5, Alert as Alert4, Loader as Loader2, Center as Center2, Flex as Flex19, Button as Button5, Title as Title4, Collapse } from "@mantine/core";
|
|
2365
2423
|
|
|
2366
2424
|
// src/mantine/blocks/list/linked_resources/LinkedResourcesList.tsx
|
|
@@ -2402,8 +2460,18 @@ function getMediaTypeIcon(mediaType, props = {}) {
|
|
|
2402
2460
|
// src/mantine/blocks/list/ListItemContainer.tsx
|
|
2403
2461
|
import { Flex as Flex2 } from "@mantine/core";
|
|
2404
2462
|
import React18 from "react";
|
|
2405
|
-
function ListItemContainer({ children }) {
|
|
2406
|
-
return /* @__PURE__ */ React18.createElement(
|
|
2463
|
+
function ListItemContainer({ children, onClick, isChecked }) {
|
|
2464
|
+
return /* @__PURE__ */ React18.createElement(
|
|
2465
|
+
Flex2,
|
|
2466
|
+
{
|
|
2467
|
+
onClick,
|
|
2468
|
+
styles: { root: { borderRadius: 16, border: isChecked ? `1px solid rgb(0, 255, 157)` : `1px solid rgba(255, 255, 255, 0.06)` } },
|
|
2469
|
+
p: 20,
|
|
2470
|
+
bg: "rgba(255, 255, 255, 0.02)",
|
|
2471
|
+
justify: "space-between"
|
|
2472
|
+
},
|
|
2473
|
+
children
|
|
2474
|
+
);
|
|
2407
2475
|
}
|
|
2408
2476
|
|
|
2409
2477
|
// src/mantine/blocks/list/ListItemCheckbox.tsx
|
|
@@ -2429,13 +2497,15 @@ function ListItemCheckbox({ checked, onCheck, ariaLabel }) {
|
|
|
2429
2497
|
}
|
|
2430
2498
|
|
|
2431
2499
|
// src/mantine/blocks/list/linked_resources/LinkedResourcesList.tsx
|
|
2432
|
-
var LinkedResourcesList = ({ items,
|
|
2500
|
+
var LinkedResourcesList = ({ items, isMultiSelect, isItemChecked, onItemCheck, config: _config }) => {
|
|
2433
2501
|
if (!items || items.length === 0) {
|
|
2434
2502
|
return /* @__PURE__ */ React20.createElement(Text8, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No linked resources found");
|
|
2435
2503
|
}
|
|
2436
2504
|
const rows = items.map((item, index) => {
|
|
2505
|
+
console.log(item);
|
|
2437
2506
|
const title = item.description || item.id || `Resource ${index + 1}`;
|
|
2438
|
-
|
|
2507
|
+
const isChecked = isItemChecked?.(item.id);
|
|
2508
|
+
return /* @__PURE__ */ React20.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.id, !isChecked), key: item.id || index, isChecked: !!isChecked }, /* @__PURE__ */ React20.createElement(Flex3, { align: "center", gap: "sm" }, /* @__PURE__ */ React20.createElement(
|
|
2439
2509
|
Box2,
|
|
2440
2510
|
{
|
|
2441
2511
|
style: {
|
|
@@ -2450,7 +2520,7 @@ var LinkedResourcesList = ({ items, mods, isItemChecked, onItemCheck, config: _c
|
|
|
2450
2520
|
}
|
|
2451
2521
|
},
|
|
2452
2522
|
getMediaTypeIcon(item.mediaType, { size: 16 })
|
|
2453
|
-
), /* @__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")),
|
|
2523
|
+
), /* @__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")), isMultiSelect && /* @__PURE__ */ React20.createElement(
|
|
2454
2524
|
ListItemCheckbox,
|
|
2455
2525
|
{
|
|
2456
2526
|
ariaLabel: `Select resource ${item.id}`,
|
|
@@ -2478,11 +2548,14 @@ function shortStr(str, threshold = 30, saveSymbolsAtTheEnd = 10, insert = "...")
|
|
|
2478
2548
|
}
|
|
2479
2549
|
|
|
2480
2550
|
// src/mantine/blocks/list/assets/AssetsList.tsx
|
|
2481
|
-
var AssetsList = ({ items,
|
|
2551
|
+
var AssetsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2482
2552
|
if (!items || items.length === 0) {
|
|
2483
2553
|
return /* @__PURE__ */ React21.createElement(Text9, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No assets found");
|
|
2484
2554
|
}
|
|
2485
|
-
const rows = items.map((asset) =>
|
|
2555
|
+
const rows = items.map((asset) => {
|
|
2556
|
+
const isChecked = isItemChecked?.(asset.did);
|
|
2557
|
+
return /* @__PURE__ */ React21.createElement(ListItemContainer, { onClick: () => onItemCheck?.(asset.did, !isChecked), key: asset.did, isChecked: !!isChecked }, /* @__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")), isMultiSelect && /* @__PURE__ */ React21.createElement(ListItemCheckbox, { ariaLabel: `Select asset ${asset.did}`, checked: isItemChecked?.(asset.did), onCheck: (checked) => onItemCheck?.(asset.did, checked) })));
|
|
2558
|
+
});
|
|
2486
2559
|
return /* @__PURE__ */ React21.createElement(Box3, { flex: 1 }, /* @__PURE__ */ React21.createElement(Stack11, null, rows));
|
|
2487
2560
|
};
|
|
2488
2561
|
|
|
@@ -2498,39 +2571,38 @@ var formatTime = (timeStr) => {
|
|
|
2498
2571
|
}
|
|
2499
2572
|
};
|
|
2500
2573
|
var truncateHash = (hash, length = 8) => {
|
|
2501
|
-
if (hash.length <= length * 2) return hash;
|
|
2502
|
-
return `${hash
|
|
2574
|
+
if (hash && hash.length <= length * 2) return hash;
|
|
2575
|
+
return `${hash?.slice(0, length)}...${hash?.slice(-length)}`;
|
|
2503
2576
|
};
|
|
2504
|
-
var TransactionsList = ({ items,
|
|
2577
|
+
var TransactionsList = ({ items, isMultiSelect, isItemChecked, onItemCheck, config: _config }) => {
|
|
2505
2578
|
if (!items || items.length === 0) {
|
|
2506
2579
|
return /* @__PURE__ */ React22.createElement(Text10, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No transactions found");
|
|
2507
2580
|
}
|
|
2508
|
-
const rows = items.map((transaction
|
|
2509
|
-
|
|
2510
|
-
{
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2581
|
+
const rows = items.map((transaction) => {
|
|
2582
|
+
const isChecked = isItemChecked?.(transaction.transactionHash);
|
|
2583
|
+
return /* @__PURE__ */ React22.createElement(ListItemContainer, { onClick: () => onItemCheck?.(transaction.transactionHash, !isChecked), key: transaction.transactionHash, isChecked: !!isChecked }, /* @__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))), isMultiSelect && /* @__PURE__ */ React22.createElement(
|
|
2584
|
+
ListItemCheckbox,
|
|
2585
|
+
{
|
|
2586
|
+
ariaLabel: `Select transaction ${transaction.transactionHash}`,
|
|
2587
|
+
checked: isItemChecked?.(transaction.transactionHash),
|
|
2588
|
+
onCheck: (checked) => onItemCheck?.(transaction.transactionHash, checked)
|
|
2589
|
+
}
|
|
2590
|
+
)));
|
|
2591
|
+
});
|
|
2516
2592
|
return /* @__PURE__ */ React22.createElement(Box4, { flex: 1 }, /* @__PURE__ */ React22.createElement(Stack12, null, rows));
|
|
2517
2593
|
};
|
|
2518
2594
|
|
|
2519
2595
|
// src/mantine/blocks/list/collections/CollectionsList.tsx
|
|
2520
2596
|
import React23 from "react";
|
|
2521
2597
|
import { Text as Text11, Box as Box5, Image as Image2, Stack as Stack13, Flex as Flex6 } from "@mantine/core";
|
|
2522
|
-
var CollectionsList = ({ items,
|
|
2598
|
+
var CollectionsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2523
2599
|
if (!items || items.length === 0) {
|
|
2524
2600
|
return /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No collections found");
|
|
2525
2601
|
}
|
|
2526
|
-
const rows = items.map((
|
|
2527
|
-
|
|
2528
|
-
{
|
|
2529
|
-
|
|
2530
|
-
checked: isItemChecked?.(collection.did),
|
|
2531
|
-
onCheck: (checked) => onItemCheck?.(collection.did, checked)
|
|
2532
|
-
}
|
|
2533
|
-
))));
|
|
2602
|
+
const rows = items.map((item) => {
|
|
2603
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2604
|
+
return /* @__PURE__ */ React23.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React23.createElement(Flex6, { align: "center", gap: "sm" }, /* @__PURE__ */ React23.createElement(Image2, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React23.createElement(Stack13, { gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, item.name), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, item.brand))), /* @__PURE__ */ React23.createElement(Flex6, { align: "center", gap: "md" }, /* @__PURE__ */ React23.createElement(Stack13, { ta: "right", gap: 0 }, /* @__PURE__ */ React23.createElement(Text11, { size: "sm" }, item.totalAssets, " Assets"), /* @__PURE__ */ React23.createElement(Text11, { size: "sm", c: "dimmed" }, item.currency, item.price)), isMultiSelect && /* @__PURE__ */ React23.createElement(ListItemCheckbox, { ariaLabel: `Select collection ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2605
|
+
});
|
|
2534
2606
|
return /* @__PURE__ */ React23.createElement(Box5, { flex: 1 }, /* @__PURE__ */ React23.createElement(Stack13, null, rows));
|
|
2535
2607
|
};
|
|
2536
2608
|
|
|
@@ -2565,84 +2637,98 @@ function renderNumber(value) {
|
|
|
2565
2637
|
}
|
|
2566
2638
|
|
|
2567
2639
|
// src/mantine/blocks/list/balances/BalancesList.tsx
|
|
2568
|
-
var BalancesList = ({ items,
|
|
2640
|
+
var BalancesList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2569
2641
|
if (!items || items.length === 0) {
|
|
2570
2642
|
return /* @__PURE__ */ React24.createElement(Text12, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No balances found");
|
|
2571
2643
|
}
|
|
2572
|
-
const rows = items.map((
|
|
2644
|
+
const rows = items.map((item) => {
|
|
2645
|
+
const isChecked = isItemChecked?.(item.denom);
|
|
2646
|
+
return /* @__PURE__ */ React24.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.denom, !isChecked), key: item.denom, isChecked: !!isChecked }, /* @__PURE__ */ React24.createElement(Group6, { gap: 12 }, /* @__PURE__ */ React24.createElement(Avatar, { src: item.tokenImage, size: 40, radius: "xl" }), /* @__PURE__ */ React24.createElement(Stack14, { gap: 4 }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm", fw: 500 }, item.tokenName), item.chainCount > 1 && /* @__PURE__ */ React24.createElement(Group6, { gap: 4 }, /* @__PURE__ */ React24.createElement(Text12, { size: "xs", c: "dimmed" }, item.chainCount, " chains"), /* @__PURE__ */ React24.createElement(Group6, { gap: -4 }, /* @__PURE__ */ React24.createElement(Avatar, { size: 16, radius: "xl", bg: "dimmed" }), /* @__PURE__ */ React24.createElement(Avatar, { size: 16, radius: "xl", bg: "dimmed", ml: -4 }), item.chainCount > 2 && /* @__PURE__ */ React24.createElement(Avatar, { size: 16, radius: "xl", bg: "dimmed", ml: -4 }))))), /* @__PURE__ */ React24.createElement(Flex7, { align: "center", gap: "md" }, /* @__PURE__ */ React24.createElement(Stack14, { gap: 4, align: "flex-end" }, /* @__PURE__ */ React24.createElement(Text12, { size: "sm", fw: 500 }, renderNumber(item.amount)), /* @__PURE__ */ React24.createElement(Text12, { size: "xs", c: "dimmed" }, "$", renderNumber(item.usdAmount))), isMultiSelect && /* @__PURE__ */ React24.createElement(ListItemCheckbox, { ariaLabel: `Select balance ${item.denom}`, checked: isItemChecked?.(item.denom), onCheck: (checked) => onItemCheck?.(item.denom, checked) })));
|
|
2647
|
+
});
|
|
2573
2648
|
return /* @__PURE__ */ React24.createElement(Box6, { flex: 1 }, /* @__PURE__ */ React24.createElement(Stack14, null, rows));
|
|
2574
2649
|
};
|
|
2575
2650
|
|
|
2576
2651
|
// src/mantine/blocks/list/investments/InvestmentsList.tsx
|
|
2577
2652
|
import React25 from "react";
|
|
2578
2653
|
import { Text as Text13, Box as Box7, Image as Image3, Stack as Stack15, Flex as Flex8, Progress } from "@mantine/core";
|
|
2579
|
-
var InvestmentsList = ({ items,
|
|
2654
|
+
var InvestmentsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2580
2655
|
if (!items || items.length === 0) {
|
|
2581
2656
|
return /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No investments found");
|
|
2582
2657
|
}
|
|
2583
|
-
const rows = items.map((
|
|
2584
|
-
|
|
2585
|
-
{
|
|
2586
|
-
|
|
2587
|
-
checked: isItemChecked?.(investment.did),
|
|
2588
|
-
onCheck: (checked) => onItemCheck?.(investment.did, checked)
|
|
2589
|
-
}
|
|
2590
|
-
))));
|
|
2658
|
+
const rows = items.map((item) => {
|
|
2659
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2660
|
+
return /* @__PURE__ */ React25.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React25.createElement(Flex8, { align: "center", gap: "sm" }, /* @__PURE__ */ React25.createElement(Image3, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React25.createElement(Stack15, { gap: 0 }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed" }, item.brand || "-"))), /* @__PURE__ */ React25.createElement(Flex8, { align: "center", gap: "md" }, /* @__PURE__ */ React25.createElement(Stack15, { ta: "right", gap: 0 }, /* @__PURE__ */ React25.createElement(Flex8, { gap: "5px" }, /* @__PURE__ */ React25.createElement(Text13, { size: "sm" }, item.currency + formatNumber(item.currentAmount)), /* @__PURE__ */ React25.createElement(Text13, { size: "sm", c: "dimmed" }, "/ ", item.currency + formatNumber(item.maxAmount))), /* @__PURE__ */ React25.createElement(Text13, { size: "xs", c: "dimmed" }, /* @__PURE__ */ React25.createElement(Progress, { color: "rgb(0, 255, 157)", radius: "xl", size: "lg", value: item.currentAmount * 100 / item.maxAmount }))), isMultiSelect && /* @__PURE__ */ React25.createElement(ListItemCheckbox, { ariaLabel: `Select investment ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2661
|
+
});
|
|
2591
2662
|
return /* @__PURE__ */ React25.createElement(Box7, { flex: 1 }, /* @__PURE__ */ React25.createElement(Stack15, null, rows));
|
|
2592
2663
|
};
|
|
2593
2664
|
|
|
2594
2665
|
// src/mantine/blocks/list/oracles/OraclesList.tsx
|
|
2595
2666
|
import React26 from "react";
|
|
2596
2667
|
import { Text as Text14, Box as Box8, Image as Image4, Stack as Stack16, Flex as Flex9 } from "@mantine/core";
|
|
2597
|
-
var OraclesList = ({ items,
|
|
2668
|
+
var OraclesList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2598
2669
|
if (!items || items.length === 0) {
|
|
2599
2670
|
return /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No oracles found");
|
|
2600
2671
|
}
|
|
2601
|
-
const rows = items.map((
|
|
2672
|
+
const rows = items.map((item) => {
|
|
2673
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2674
|
+
return /* @__PURE__ */ React26.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React26.createElement(Flex9, { align: "center", gap: "sm" }, /* @__PURE__ */ React26.createElement(Image4, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React26.createElement(Stack16, { gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React26.createElement(Text14, { size: "sm", c: "dimmed" }, item.brand || "-"))), /* @__PURE__ */ React26.createElement(Flex9, { align: "center", gap: "md" }, /* @__PURE__ */ React26.createElement(Stack16, { ta: "right", gap: 0 }, /* @__PURE__ */ React26.createElement(Text14, { size: "sm" }, item.currency || "-"), /* @__PURE__ */ React26.createElement(Text14, { size: "xs", c: "dimmed" }, item.minPoints, " - ", item.maxPoints, " pts"), /* @__PURE__ */ React26.createElement(Text14, { size: "xs", c: "dimmed" }, item.flowsAmount, " Flows")), isMultiSelect && /* @__PURE__ */ React26.createElement(ListItemCheckbox, { ariaLabel: `Select oracle ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2675
|
+
});
|
|
2602
2676
|
return /* @__PURE__ */ React26.createElement(Box8, { flex: 1 }, /* @__PURE__ */ React26.createElement(Stack16, null, rows));
|
|
2603
2677
|
};
|
|
2604
2678
|
|
|
2605
2679
|
// src/mantine/blocks/list/pods/PODsList.tsx
|
|
2606
2680
|
import React27 from "react";
|
|
2607
2681
|
import { Text as Text15, Box as Box9, Image as Image5, Stack as Stack17, Flex as Flex10 } from "@mantine/core";
|
|
2608
|
-
var PodsList = ({ items,
|
|
2682
|
+
var PodsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2609
2683
|
if (!items || items.length === 0) {
|
|
2610
2684
|
return /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No PODs found");
|
|
2611
2685
|
}
|
|
2612
|
-
const rows = items.map((
|
|
2686
|
+
const rows = items.map((item) => {
|
|
2687
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2688
|
+
return /* @__PURE__ */ React27.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React27.createElement(Flex10, { align: "center", gap: "sm" }, /* @__PURE__ */ React27.createElement(Image5, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React27.createElement(Stack17, { gap: 0 }, /* @__PURE__ */ React27.createElement(Text15, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed" }, item.startDate, " \u2192 ", item.endDate))), /* @__PURE__ */ React27.createElement(Flex10, { align: "center", gap: "md" }, /* @__PURE__ */ React27.createElement(Stack17, { ta: "right", gap: 0 }, /* @__PURE__ */ React27.createElement(Text15, { size: "sm" }, item.members, " Members"), /* @__PURE__ */ React27.createElement(Text15, { size: "sm", c: "dimmed" }, item.totalProposals, " Proposals")), isMultiSelect && /* @__PURE__ */ React27.createElement(ListItemCheckbox, { ariaLabel: `Select POD ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2689
|
+
});
|
|
2613
2690
|
return /* @__PURE__ */ React27.createElement(Box9, { flex: 1 }, /* @__PURE__ */ React27.createElement(Stack17, null, rows));
|
|
2614
2691
|
};
|
|
2615
2692
|
|
|
2616
2693
|
// src/mantine/blocks/list/proposals/ProposalsList.tsx
|
|
2617
2694
|
import React28 from "react";
|
|
2618
2695
|
import { Text as Text16, Box as Box10, Image as Image6, Stack as Stack18, Flex as Flex11, Badge as Badge4 } from "@mantine/core";
|
|
2619
|
-
var ProposalsList = ({ items,
|
|
2696
|
+
var ProposalsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2620
2697
|
if (!items || items.length === 0) {
|
|
2621
2698
|
return /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No proposals found");
|
|
2622
2699
|
}
|
|
2623
|
-
const rows = items.map((
|
|
2700
|
+
const rows = items.map((item) => {
|
|
2701
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2702
|
+
return /* @__PURE__ */ React28.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React28.createElement(Flex11, { align: "center", gap: "sm" }, /* @__PURE__ */ React28.createElement(Image6, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React28.createElement(Stack18, { gap: 0 }, /* @__PURE__ */ React28.createElement(Text16, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React28.createElement(Text16, { size: "xs", c: "dimmed" }, item.description || "-"))), /* @__PURE__ */ React28.createElement(Flex11, { align: "center", gap: "md" }, /* @__PURE__ */ React28.createElement(Stack18, { ta: "right", align: "end", gap: 0 }, /* @__PURE__ */ React28.createElement(Badge4, { size: "sm", variant: "light", color: "blue", style: { fontFamily: "monospace", fontSize: "10px" } }, item.status), /* @__PURE__ */ React28.createElement(Text16, { size: "sm", c: "dimmed" }, item.isVotedOn ? "Voted" : "Not voted")), isMultiSelect && /* @__PURE__ */ React28.createElement(ListItemCheckbox, { ariaLabel: `Select proposal ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2703
|
+
});
|
|
2624
2704
|
return /* @__PURE__ */ React28.createElement(Box10, { flex: 1 }, /* @__PURE__ */ React28.createElement(Stack18, null, rows));
|
|
2625
2705
|
};
|
|
2626
2706
|
|
|
2627
2707
|
// src/mantine/blocks/list/requests/RequestsList.tsx
|
|
2628
2708
|
import React29 from "react";
|
|
2629
2709
|
import { Text as Text17, Box as Box11, Image as Image7, Stack as Stack19, Flex as Flex12 } from "@mantine/core";
|
|
2630
|
-
var RequestsList = ({ items,
|
|
2710
|
+
var RequestsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2631
2711
|
if (!items || items.length === 0) {
|
|
2632
2712
|
return /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No requests found");
|
|
2633
2713
|
}
|
|
2634
|
-
const rows = items.map((
|
|
2714
|
+
const rows = items.map((item) => {
|
|
2715
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2716
|
+
return /* @__PURE__ */ React29.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React29.createElement(Flex12, { align: "center", gap: "sm" }, /* @__PURE__ */ React29.createElement(Image7, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React29.createElement(Stack19, { gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed" }, item.brand || "-"))), /* @__PURE__ */ React29.createElement(Flex12, { align: "center", gap: "md" }, /* @__PURE__ */ React29.createElement(Stack19, { ta: "right", gap: 0 }, /* @__PURE__ */ React29.createElement(Text17, { size: "sm", c: "dimmed" }, item.currency || "", item.budget ?? "-"), /* @__PURE__ */ React29.createElement(Text17, { size: "xs", c: "dimmed" }, item.totalApplications ?? 0, " Applications")), isMultiSelect && /* @__PURE__ */ React29.createElement(ListItemCheckbox, { ariaLabel: `Select request ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2717
|
+
});
|
|
2635
2718
|
return /* @__PURE__ */ React29.createElement(Box11, { flex: 1 }, /* @__PURE__ */ React29.createElement(Stack19, null, rows));
|
|
2636
2719
|
};
|
|
2637
2720
|
|
|
2638
2721
|
// src/mantine/blocks/list/members/MembersList.tsx
|
|
2639
2722
|
import React30 from "react";
|
|
2640
2723
|
import { Text as Text18, Box as Box12, Image as Image8, Stack as Stack20, Flex as Flex13 } from "@mantine/core";
|
|
2641
|
-
var MembersList = ({ items,
|
|
2724
|
+
var MembersList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2642
2725
|
if (!items || items.length === 0) {
|
|
2643
2726
|
return /* @__PURE__ */ React30.createElement(Text18, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No members found");
|
|
2644
2727
|
}
|
|
2645
|
-
const rows = items.map((
|
|
2728
|
+
const rows = items.map((item) => {
|
|
2729
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2730
|
+
return /* @__PURE__ */ React30.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React30.createElement(Flex13, { align: "center", gap: "sm" }, /* @__PURE__ */ React30.createElement(Image8, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React30.createElement(Stack20, { gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, item.username || "-"), /* @__PURE__ */ React30.createElement(Text18, { size: "xs", c: "dimmed" }, item.address || "-"))), /* @__PURE__ */ React30.createElement(Flex13, { align: "center", gap: "md" }, /* @__PURE__ */ React30.createElement(Stack20, { ta: "right", gap: 0 }, /* @__PURE__ */ React30.createElement(Text18, { size: "sm" }, item.percentage), /* @__PURE__ */ React30.createElement(Text18, { size: "sm", c: "dimmed" }, item.role)), isMultiSelect && /* @__PURE__ */ React30.createElement(ListItemCheckbox, { ariaLabel: `Select member ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2731
|
+
});
|
|
2646
2732
|
return /* @__PURE__ */ React30.createElement(Box12, { flex: 1 }, /* @__PURE__ */ React30.createElement(Stack20, null, rows));
|
|
2647
2733
|
};
|
|
2648
2734
|
|
|
@@ -2655,11 +2741,14 @@ var getDelegatedTokensFromValidator = (validator) => Number(validator?.amount ??
|
|
|
2655
2741
|
var getDisplayDelegatedTokensFromValidator = (validator) => microAmountToAmount(getDelegatedTokensFromValidator(validator), 6);
|
|
2656
2742
|
|
|
2657
2743
|
// src/mantine/blocks/list/validators/ValidatorsList.tsx
|
|
2658
|
-
var ValidatorsList = ({ items,
|
|
2744
|
+
var ValidatorsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2659
2745
|
if (!items || items.length === 0) {
|
|
2660
2746
|
return /* @__PURE__ */ React31.createElement(Text19, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No validators found");
|
|
2661
2747
|
}
|
|
2662
|
-
const rows = items.map((
|
|
2748
|
+
const rows = items.map((item) => {
|
|
2749
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2750
|
+
return /* @__PURE__ */ React31.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React31.createElement(Flex14, { align: "center", gap: "sm" }, /* @__PURE__ */ React31.createElement(Image9, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React31.createElement(Stack21, { gap: 0 }, /* @__PURE__ */ React31.createElement(Text19, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React31.createElement(Text19, { size: "xs", c: "dimmed" }, item.description || "-"))), /* @__PURE__ */ React31.createElement(Flex14, { align: "center", gap: "md" }, /* @__PURE__ */ React31.createElement(Stack21, { ta: "right", gap: 0 }, /* @__PURE__ */ React31.createElement(Text19, { size: "sm" }, numberFormatter(getDisplayDelegatedTokensFromValidator(item), 2), " ", item.currency), /* @__PURE__ */ React31.createElement(Text19, { size: "sm", c: "dimmed" }, item.commission, "% fee"), /* @__PURE__ */ React31.createElement(Text19, { size: "xs", c: "dimmed" }, item.isActive ? "Active" : "Inactive", " \u2022 ", item.isStaked ? "Staked" : "Not staked", " \u2022 ", item.isBonding ? "Bonding" : "Not bonding")), isMultiSelect && /* @__PURE__ */ React31.createElement(ListItemCheckbox, { ariaLabel: `Select validator ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
2751
|
+
});
|
|
2663
2752
|
return /* @__PURE__ */ React31.createElement(Box13, { flex: 1 }, /* @__PURE__ */ React31.createElement(Stack21, null, rows));
|
|
2664
2753
|
};
|
|
2665
2754
|
|
|
@@ -2667,7 +2756,7 @@ var ValidatorsList = ({ items, mods, isItemChecked, onItemCheck }) => {
|
|
|
2667
2756
|
import React32 from "react";
|
|
2668
2757
|
import { Menu, Text as Text20, ActionIcon as ActionIcon4 } from "@mantine/core";
|
|
2669
2758
|
import { IconArrowDown, IconArrowUp, IconAdjustments, IconCheckbox as IconCheckbox2, IconAdjustmentsHorizontal, IconDownload } from "@tabler/icons-react";
|
|
2670
|
-
var ListActionsMenu = ({ options,
|
|
2759
|
+
var ListActionsMenu = ({ options, isMultiSelect, setIsMultiSelect, value, onChange, onDownloadCsv }) => {
|
|
2671
2760
|
const renderItem = (opt, direction) => {
|
|
2672
2761
|
const isActive = value?.key === opt.key && value?.direction === direction;
|
|
2673
2762
|
const Icon = direction === "asc" ? IconArrowUp : IconArrowDown;
|
|
@@ -2713,7 +2802,7 @@ var ListActionsMenu = ({ options, selectionMode, onSelectActionClick, value, onC
|
|
|
2713
2802
|
}
|
|
2714
2803
|
},
|
|
2715
2804
|
/* @__PURE__ */ React32.createElement(Menu.Target, null, /* @__PURE__ */ React32.createElement(ActionIcon4, { variant: "subtle", size: "sm", "aria-label": "List actions", title: "List actions" }, /* @__PURE__ */ React32.createElement(IconAdjustmentsHorizontal, { size: 18 }))),
|
|
2716
|
-
/* @__PURE__ */ React32.createElement(Menu.Dropdown, null, /* @__PURE__ */ React32.createElement(Menu.Label, null, /* @__PURE__ */ React32.createElement(Text20, null, "Order By")), options.map((opt) => /* @__PURE__ */ React32.createElement(React32.Fragment, { key: opt.key }, renderItem(opt, "desc"), renderItem(opt, "asc"))), /* @__PURE__ */ React32.createElement(Menu.Divider, null), /* @__PURE__ */ React32.createElement(Menu.Item, { leftSection: /* @__PURE__ */ React32.createElement(IconAdjustments, { size: 16 }) }, "Smart Filter"), /* @__PURE__ */ React32.createElement(Menu.Divider, null), /* @__PURE__ */ React32.createElement(Menu.Item, { onClick: () =>
|
|
2805
|
+
/* @__PURE__ */ React32.createElement(Menu.Dropdown, null, /* @__PURE__ */ React32.createElement(Menu.Label, null, /* @__PURE__ */ React32.createElement(Text20, null, "Order By")), options.map((opt) => /* @__PURE__ */ React32.createElement(React32.Fragment, { key: opt.key }, renderItem(opt, "desc"), renderItem(opt, "asc"))), /* @__PURE__ */ React32.createElement(Menu.Divider, null), /* @__PURE__ */ React32.createElement(Menu.Item, { leftSection: /* @__PURE__ */ React32.createElement(IconAdjustments, { size: 16 }) }, "Smart Filter"), /* @__PURE__ */ React32.createElement(Menu.Divider, null), /* @__PURE__ */ React32.createElement(Menu.Item, { onClick: () => setIsMultiSelect(!isMultiSelect), leftSection: /* @__PURE__ */ React32.createElement(IconCheckbox2, { size: 16 }) }, "Multi Select"), onDownloadCsv && /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(Menu.Divider, null), /* @__PURE__ */ React32.createElement(Menu.Item, { onClick: onDownloadCsv, leftSection: /* @__PURE__ */ React32.createElement(IconDownload, { size: 16 }) }, "Download CSV")))
|
|
2717
2806
|
);
|
|
2718
2807
|
};
|
|
2719
2808
|
|
|
@@ -2823,23 +2912,26 @@ var DEFAULT_PAGE_SIZE = 5;
|
|
|
2823
2912
|
// src/mantine/blocks/list/dao_members/MembersList.tsx
|
|
2824
2913
|
import React35 from "react";
|
|
2825
2914
|
import { Text as Text22, Box as Box14, Image as Image10, Stack as Stack22, Flex as Flex15 } from "@mantine/core";
|
|
2826
|
-
var DaoMembersList = ({ items,
|
|
2915
|
+
var DaoMembersList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
2827
2916
|
if (!items || items.length === 0) {
|
|
2828
2917
|
return /* @__PURE__ */ React35.createElement(Text22, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No members found");
|
|
2829
2918
|
}
|
|
2830
|
-
const rows = items.map((
|
|
2831
|
-
|
|
2832
|
-
{
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2919
|
+
const rows = items.map((item) => {
|
|
2920
|
+
const isChecked = isItemChecked?.(item.did);
|
|
2921
|
+
return /* @__PURE__ */ React35.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React35.createElement(Flex15, { align: "center", gap: "sm" }, /* @__PURE__ */ React35.createElement(Image10, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React35.createElement(Stack22, { gap: 0 }, /* @__PURE__ */ React35.createElement(Text22, { size: "sm", fw: 500 }, item.username || "Unknown User"), /* @__PURE__ */ React35.createElement(Text22, { size: "xs", c: "dimmed", lineClamp: 1 }, item.address || "No address"))), /* @__PURE__ */ React35.createElement(Flex15, { align: "center", gap: "md" }, /* @__PURE__ */ React35.createElement(Stack22, { ta: "right", gap: 0 }, /* @__PURE__ */ React35.createElement(Text22, { size: "sm", fw: 500, c: "blue" }, item.percentage || "0%"), /* @__PURE__ */ React35.createElement(Text22, { size: "xs", c: "dimmed", tt: "capitalize" }, item.role || "member")), isMultiSelect && /* @__PURE__ */ React35.createElement(
|
|
2922
|
+
ListItemCheckbox,
|
|
2923
|
+
{
|
|
2924
|
+
ariaLabel: `Select member ${item.username || item.did}`,
|
|
2925
|
+
checked: isItemChecked?.(item.did) || false,
|
|
2926
|
+
onCheck: (checked) => onItemCheck?.(item.did, checked)
|
|
2927
|
+
}
|
|
2928
|
+
)));
|
|
2929
|
+
});
|
|
2838
2930
|
return /* @__PURE__ */ React35.createElement(Box14, { flex: 1 }, /* @__PURE__ */ React35.createElement(Stack22, { gap: "xs" }, rows));
|
|
2839
2931
|
};
|
|
2840
2932
|
|
|
2841
2933
|
// src/mantine/blocks/list/ListSelectionPanel.tsx
|
|
2842
|
-
import React37, { useState as
|
|
2934
|
+
import React37, { useState as useState6, useEffect as useEffect6, useMemo as useMemo7 } from "react";
|
|
2843
2935
|
import { Paper as Paper4, CloseButton as CloseButton3, Stack as Stack24, Alert as Alert3, Text as Text24, Loader, Center } from "@mantine/core";
|
|
2844
2936
|
|
|
2845
2937
|
// src/mantine/blocks/list/components/SelectionPanelContent.tsx
|
|
@@ -2850,12 +2942,13 @@ import { IconArrowRight, IconTarget } from "@tabler/icons-react";
|
|
|
2850
2942
|
var SelectionPanelHeader = ({ title, description }) => {
|
|
2851
2943
|
return /* @__PURE__ */ React36.createElement(Stack23, { gap: "xs" }, /* @__PURE__ */ React36.createElement(Title3, { fw: 400, order: 3 }, title), /* @__PURE__ */ React36.createElement(Text23, { c: "dimmed" }, description));
|
|
2852
2944
|
};
|
|
2853
|
-
var SelectionPromptItem = ({ prompt }) => {
|
|
2854
|
-
return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(Flex16, { gap: 10 }, /* @__PURE__ */ React36.createElement(IconArrowRight, { size: 24, color: "white" }), /* @__PURE__ */ React36.createElement(Text23, null, prompt.text)), /* @__PURE__ */ React36.createElement(Divider2, { c: "dimmed", h: 1 }));
|
|
2945
|
+
var SelectionPromptItem = ({ prompt, onClick }) => {
|
|
2946
|
+
return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(Flex16, { style: { cursor: "pointer" }, onClick: () => onClick(), gap: 10 }, /* @__PURE__ */ React36.createElement(IconArrowRight, { size: 24, color: "white" }), /* @__PURE__ */ React36.createElement(Text23, null, shortStr(prompt.text, 50, 0))), /* @__PURE__ */ React36.createElement(Divider2, { c: "dimmed", h: 1 }));
|
|
2855
2947
|
};
|
|
2856
2948
|
var SelectionPrompts = ({ prompts }) => {
|
|
2949
|
+
const handlers = useBlocknoteHandlers();
|
|
2857
2950
|
if (!prompts || prompts.length === 0) return null;
|
|
2858
|
-
return /* @__PURE__ */ React36.createElement(Stack23, { gap: "xs" }, prompts.map((prompt, index) => /* @__PURE__ */ React36.createElement(SelectionPromptItem, { key: index, prompt })));
|
|
2951
|
+
return /* @__PURE__ */ React36.createElement(Stack23, { gap: "xs" }, prompts.map((prompt, index) => /* @__PURE__ */ React36.createElement(SelectionPromptItem, { onClick: () => handlers.askCompanion(prompt.text), key: index, prompt })));
|
|
2859
2952
|
};
|
|
2860
2953
|
var SelectionActionButton = ({ action, itemId, itemData }) => {
|
|
2861
2954
|
const { hovered, ref } = useHover();
|
|
@@ -2896,9 +2989,9 @@ var SelectionPanelEmpty = ({ message = "No item selected" }) => {
|
|
|
2896
2989
|
var ListSelectionPanel = ({ selectedIds, listType }) => {
|
|
2897
2990
|
const { closePanel } = usePanelStore();
|
|
2898
2991
|
const handlers = useBlocknoteHandlers();
|
|
2899
|
-
const [itemData, setItemData] =
|
|
2900
|
-
const [loading, setLoading] =
|
|
2901
|
-
const [error, setError] =
|
|
2992
|
+
const [itemData, setItemData] = useState6(null);
|
|
2993
|
+
const [loading, setLoading] = useState6(false);
|
|
2994
|
+
const [error, setError] = useState6(null);
|
|
2902
2995
|
const selectedItemId = useMemo7(() => {
|
|
2903
2996
|
if (selectedIds.size === 0) return null;
|
|
2904
2997
|
const idsArray = Array.from(selectedIds);
|
|
@@ -2908,7 +3001,7 @@ var ListSelectionPanel = ({ selectedIds, listType }) => {
|
|
|
2908
3001
|
if (!listType) return null;
|
|
2909
3002
|
return getSelectionPanelConfig(listType);
|
|
2910
3003
|
}, [listType]);
|
|
2911
|
-
|
|
3004
|
+
useEffect6(() => {
|
|
2912
3005
|
const fetchItemDetails = async () => {
|
|
2913
3006
|
if (!selectedItemId || !listType || !handlers || !panelConfig) {
|
|
2914
3007
|
setItemData(null);
|
|
@@ -3033,22 +3126,28 @@ var ListSelectionPanel = ({ selectedIds, listType }) => {
|
|
|
3033
3126
|
// src/mantine/blocks/list/projects/ProjectsList.tsx
|
|
3034
3127
|
import React38 from "react";
|
|
3035
3128
|
import { Text as Text25, Box as Box15, Image as Image11, Stack as Stack25, Flex as Flex17 } from "@mantine/core";
|
|
3036
|
-
var ProjectsList = ({ items,
|
|
3129
|
+
var ProjectsList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
3037
3130
|
if (!items || items.length === 0) {
|
|
3038
3131
|
return /* @__PURE__ */ React38.createElement(Text25, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No Projects found");
|
|
3039
3132
|
}
|
|
3040
|
-
const rows = items.map((
|
|
3133
|
+
const rows = items.map((item) => {
|
|
3134
|
+
const isChecked = isItemChecked?.(item.did);
|
|
3135
|
+
return /* @__PURE__ */ React38.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React38.createElement(Flex17, { align: "center", gap: "sm" }, /* @__PURE__ */ React38.createElement(Image11, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React38.createElement(Stack25, { gap: 0 }, /* @__PURE__ */ React38.createElement(Text25, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React38.createElement(Text25, { size: "sm", c: "dimmed" }, shortStr(item.description, 50, 0) || "-"))), /* @__PURE__ */ React38.createElement(Flex17, { align: "center", gap: "md" }, isMultiSelect && /* @__PURE__ */ React38.createElement(ListItemCheckbox, { ariaLabel: `Select project ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
3136
|
+
});
|
|
3041
3137
|
return /* @__PURE__ */ React38.createElement(Box15, { flex: 1 }, /* @__PURE__ */ React38.createElement(Stack25, null, rows));
|
|
3042
3138
|
};
|
|
3043
3139
|
|
|
3044
3140
|
// src/mantine/blocks/list/daos/DaosList.tsx
|
|
3045
3141
|
import React39 from "react";
|
|
3046
3142
|
import { Text as Text26, Box as Box16, Image as Image12, Stack as Stack26, Flex as Flex18 } from "@mantine/core";
|
|
3047
|
-
var DaosList = ({ items,
|
|
3143
|
+
var DaosList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
|
|
3048
3144
|
if (!items || items.length === 0) {
|
|
3049
3145
|
return /* @__PURE__ */ React39.createElement(Text26, { size: "sm", c: "dimmed", ta: "center", py: "md" }, "No Daos found");
|
|
3050
3146
|
}
|
|
3051
|
-
const rows = items.map((
|
|
3147
|
+
const rows = items.map((item) => {
|
|
3148
|
+
const isChecked = isItemChecked?.(item.did);
|
|
3149
|
+
return /* @__PURE__ */ React39.createElement(ListItemContainer, { onClick: () => onItemCheck?.(item.did, !isChecked), key: item.did, isChecked: !!isChecked }, /* @__PURE__ */ React39.createElement(Flex18, { align: "center", gap: "sm" }, /* @__PURE__ */ React39.createElement(Image12, { radius: 16, w: 32, h: 32, src: item.icon }), /* @__PURE__ */ React39.createElement(Stack26, { gap: 0 }, /* @__PURE__ */ React39.createElement(Text26, { size: "sm" }, item.name || "-"), /* @__PURE__ */ React39.createElement(Text26, { size: "sm", c: "dimmed" }, shortStr(item.description, 50, 0) || "-"))), /* @__PURE__ */ React39.createElement(Flex18, { align: "center", gap: "md" }, isMultiSelect && /* @__PURE__ */ React39.createElement(ListItemCheckbox, { ariaLabel: `Select DAO ${item.did}`, checked: isItemChecked?.(item.did), onCheck: (checked) => onItemCheck?.(item.did, checked) })));
|
|
3150
|
+
});
|
|
3052
3151
|
return /* @__PURE__ */ React39.createElement(Box16, { flex: 1 }, /* @__PURE__ */ React39.createElement(Stack26, null, rows));
|
|
3053
3152
|
};
|
|
3054
3153
|
|
|
@@ -3113,17 +3212,17 @@ function downloadArrayAsCsv(rows, options) {
|
|
|
3113
3212
|
import { useDisclosure } from "@mantine/hooks";
|
|
3114
3213
|
|
|
3115
3214
|
// src/mantine/blocks/list/ui/ListBlocksUIContext.tsx
|
|
3116
|
-
import React40, { createContext as createContext2, useCallback as
|
|
3215
|
+
import React40, { createContext as createContext2, useCallback as useCallback10, useContext as useContext2, useMemo as useMemo8, useRef as useRef3 } from "react";
|
|
3117
3216
|
var ListBlocksUIContext = createContext2(null);
|
|
3118
3217
|
var ListBlocksUIProvider = ({ children }) => {
|
|
3119
3218
|
const listenersRef = useRef3(/* @__PURE__ */ new Set());
|
|
3120
|
-
const subscribe =
|
|
3219
|
+
const subscribe = useCallback10((listener) => {
|
|
3121
3220
|
listenersRef.current.add(listener);
|
|
3122
3221
|
return () => {
|
|
3123
3222
|
listenersRef.current.delete(listener);
|
|
3124
3223
|
};
|
|
3125
3224
|
}, []);
|
|
3126
|
-
const broadcastCollapse =
|
|
3225
|
+
const broadcastCollapse = useCallback10((event) => {
|
|
3127
3226
|
listenersRef.current.forEach((listener) => listener(event));
|
|
3128
3227
|
}, []);
|
|
3129
3228
|
const value = useMemo8(() => ({ broadcastCollapse, subscribe }), [broadcastCollapse, subscribe]);
|
|
@@ -3142,15 +3241,15 @@ var LIST_FLOW_PANEL_ID = "list-flow-panel";
|
|
|
3142
3241
|
var LIST_SELECTION_FLOW_PANEL_ID = "list-selection-flow-panel";
|
|
3143
3242
|
var ListFlowView = ({ block, editor }) => {
|
|
3144
3243
|
const { editable } = useBlocknoteContext();
|
|
3145
|
-
const [data, setData] =
|
|
3146
|
-
const [loading, setLoading] =
|
|
3244
|
+
const [data, setData] = useState7(null);
|
|
3245
|
+
const [loading, setLoading] = useState7(false);
|
|
3147
3246
|
const [opened, { toggle, open, close }] = useDisclosure(true);
|
|
3148
|
-
const [error, setError] =
|
|
3149
|
-
const [showErrorDetails, setShowErrorDetails] =
|
|
3150
|
-
const [page, setPage] =
|
|
3151
|
-
const [
|
|
3152
|
-
const [totalPages, setTotalPages] =
|
|
3153
|
-
const [selectedIds, setSelectedIds] =
|
|
3247
|
+
const [error, setError] = useState7(null);
|
|
3248
|
+
const [showErrorDetails, setShowErrorDetails] = useState7(false);
|
|
3249
|
+
const [page, setPage] = useState7(1);
|
|
3250
|
+
const [isMultiSelect, setIsMultiSelect] = useState7(false);
|
|
3251
|
+
const [totalPages, setTotalPages] = useState7(0);
|
|
3252
|
+
const [selectedIds, setSelectedIds] = useState7(/* @__PURE__ */ new Set());
|
|
3154
3253
|
const panelId = `${LIST_FLOW_PANEL_ID}-${block.id}`;
|
|
3155
3254
|
const panelContent = useMemo9(() => /* @__PURE__ */ React41.createElement(TemplateConfig2, { editor, block }), [editor, block]);
|
|
3156
3255
|
const { open: openPanel } = usePanel(panelId, panelContent);
|
|
@@ -3163,24 +3262,24 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3163
3262
|
[editor, block, selectedIds, listType]
|
|
3164
3263
|
);
|
|
3165
3264
|
const { open: openSelectionPanel, close: closeSelectionPanel } = usePanel(selectionPanelId, selectionPanelContent);
|
|
3166
|
-
|
|
3167
|
-
if (
|
|
3265
|
+
useEffect7(() => {
|
|
3266
|
+
if (!isMultiSelect && selectedIds.size > 1) {
|
|
3168
3267
|
const arr = Array.from(selectedIds);
|
|
3169
3268
|
const lastSelected = arr.length > 0 ? arr[arr.length - 1] : void 0;
|
|
3170
3269
|
setSelectedIds(new Set(lastSelected ? [lastSelected] : []));
|
|
3171
3270
|
}
|
|
3172
|
-
}, [
|
|
3173
|
-
const isItemChecked =
|
|
3271
|
+
}, [isMultiSelect, selectedIds]);
|
|
3272
|
+
const isItemChecked = useCallback11(
|
|
3174
3273
|
(id) => {
|
|
3175
3274
|
return selectedIds.has(id);
|
|
3176
3275
|
},
|
|
3177
3276
|
[selectedIds]
|
|
3178
3277
|
);
|
|
3179
|
-
const onItemCheck =
|
|
3278
|
+
const onItemCheck = useCallback11(
|
|
3180
3279
|
(id, checked) => {
|
|
3181
3280
|
setSelectedIds((prev) => {
|
|
3182
3281
|
const nextSelectedIds = new Set(prev);
|
|
3183
|
-
if (
|
|
3282
|
+
if (!isMultiSelect) {
|
|
3184
3283
|
if (checked) {
|
|
3185
3284
|
openSelectionPanel();
|
|
3186
3285
|
return /* @__PURE__ */ new Set([id]);
|
|
@@ -3201,7 +3300,7 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3201
3300
|
return nextSelectedIds;
|
|
3202
3301
|
});
|
|
3203
3302
|
},
|
|
3204
|
-
[
|
|
3303
|
+
[isMultiSelect]
|
|
3205
3304
|
);
|
|
3206
3305
|
const listConfig = useMemo9(() => {
|
|
3207
3306
|
if (block.props.listConfig && block.props.listConfig !== "{}") {
|
|
@@ -3258,7 +3357,7 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3258
3357
|
}
|
|
3259
3358
|
return {};
|
|
3260
3359
|
}, [block.props.sort]);
|
|
3261
|
-
|
|
3360
|
+
useEffect7(() => {
|
|
3262
3361
|
const unsubscribe = subscribe((event) => {
|
|
3263
3362
|
if (event === "collapse") close();
|
|
3264
3363
|
else if (event === "expand") open();
|
|
@@ -3274,7 +3373,7 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3274
3373
|
}
|
|
3275
3374
|
});
|
|
3276
3375
|
};
|
|
3277
|
-
const fetchData =
|
|
3376
|
+
const fetchData = useCallback11(async () => {
|
|
3278
3377
|
if (!handlers || !listType || !listConfig) return;
|
|
3279
3378
|
setLoading(true);
|
|
3280
3379
|
setError(null);
|
|
@@ -3397,7 +3496,7 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3397
3496
|
setLoading(false);
|
|
3398
3497
|
}
|
|
3399
3498
|
}, [handlers, page, listType, listConfig]);
|
|
3400
|
-
|
|
3499
|
+
useEffect7(() => {
|
|
3401
3500
|
if (listType && listConfig) {
|
|
3402
3501
|
fetchData();
|
|
3403
3502
|
}
|
|
@@ -3427,35 +3526,35 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3427
3526
|
if (!filteredData || !listType) return null;
|
|
3428
3527
|
switch (listType) {
|
|
3429
3528
|
case "linked_resources":
|
|
3430
|
-
return /* @__PURE__ */ React41.createElement(LinkedResourcesList, { items: filteredData, config: listConfig,
|
|
3529
|
+
return /* @__PURE__ */ React41.createElement(LinkedResourcesList, { items: filteredData, config: listConfig, isMultiSelect, isItemChecked, onItemCheck });
|
|
3431
3530
|
case "assets":
|
|
3432
|
-
return /* @__PURE__ */ React41.createElement(AssetsList, { items: filteredData, config: listConfig,
|
|
3531
|
+
return /* @__PURE__ */ React41.createElement(AssetsList, { items: filteredData, config: listConfig, isMultiSelect, isItemChecked, onItemCheck });
|
|
3433
3532
|
case "transactions":
|
|
3434
|
-
return /* @__PURE__ */ React41.createElement(TransactionsList, { items: filteredData, config: listConfig,
|
|
3533
|
+
return /* @__PURE__ */ React41.createElement(TransactionsList, { items: filteredData, config: listConfig, isMultiSelect, isItemChecked, onItemCheck });
|
|
3435
3534
|
case "collections":
|
|
3436
|
-
return /* @__PURE__ */ React41.createElement(CollectionsList, { items: filteredData,
|
|
3535
|
+
return /* @__PURE__ */ React41.createElement(CollectionsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3437
3536
|
case "balances":
|
|
3438
|
-
return /* @__PURE__ */ React41.createElement(BalancesList, { items: filteredData,
|
|
3537
|
+
return /* @__PURE__ */ React41.createElement(BalancesList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3439
3538
|
case "investments":
|
|
3440
|
-
return /* @__PURE__ */ React41.createElement(InvestmentsList, { items: filteredData,
|
|
3539
|
+
return /* @__PURE__ */ React41.createElement(InvestmentsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3441
3540
|
case "oracles":
|
|
3442
|
-
return /* @__PURE__ */ React41.createElement(OraclesList, { items: filteredData,
|
|
3541
|
+
return /* @__PURE__ */ React41.createElement(OraclesList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3443
3542
|
case "pods":
|
|
3444
|
-
return /* @__PURE__ */ React41.createElement(PodsList, { items: filteredData,
|
|
3543
|
+
return /* @__PURE__ */ React41.createElement(PodsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3445
3544
|
case "proposals":
|
|
3446
|
-
return /* @__PURE__ */ React41.createElement(ProposalsList, { items: filteredData,
|
|
3545
|
+
return /* @__PURE__ */ React41.createElement(ProposalsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3447
3546
|
case "requests":
|
|
3448
|
-
return /* @__PURE__ */ React41.createElement(RequestsList, { items: filteredData,
|
|
3547
|
+
return /* @__PURE__ */ React41.createElement(RequestsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3449
3548
|
case "projects":
|
|
3450
|
-
return /* @__PURE__ */ React41.createElement(ProjectsList, { items: filteredData,
|
|
3549
|
+
return /* @__PURE__ */ React41.createElement(ProjectsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3451
3550
|
case "daos":
|
|
3452
|
-
return /* @__PURE__ */ React41.createElement(DaosList, { items: filteredData,
|
|
3551
|
+
return /* @__PURE__ */ React41.createElement(DaosList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3453
3552
|
case "group_members":
|
|
3454
|
-
return /* @__PURE__ */ React41.createElement(MembersList, { items: filteredData,
|
|
3553
|
+
return /* @__PURE__ */ React41.createElement(MembersList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3455
3554
|
case "dao_members":
|
|
3456
|
-
return /* @__PURE__ */ React41.createElement(DaoMembersList, { items: filteredData,
|
|
3555
|
+
return /* @__PURE__ */ React41.createElement(DaoMembersList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3457
3556
|
case "validators":
|
|
3458
|
-
return /* @__PURE__ */ React41.createElement(ValidatorsList, { items: filteredData,
|
|
3557
|
+
return /* @__PURE__ */ React41.createElement(ValidatorsList, { items: filteredData, isMultiSelect, isItemChecked, onItemCheck });
|
|
3459
3558
|
default:
|
|
3460
3559
|
return null;
|
|
3461
3560
|
}
|
|
@@ -3466,7 +3565,7 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3466
3565
|
return /* @__PURE__ */ React41.createElement(Stack27, { w: "100%" }, /* @__PURE__ */ React41.createElement(Flex19, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React41.createElement(Title4, { order: 4 }, getListNameByType(listType)), /* @__PURE__ */ React41.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand", title: opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React41.createElement(IconChevronUp, { size: 18 }) : /* @__PURE__ */ React41.createElement(IconChevronDown, { size: 18 }))), /* @__PURE__ */ React41.createElement(Collapse, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React41.createElement(Stack27, { mih: totalPages !== 1 ? 500 : void 0, w: "100%" }, /* @__PURE__ */ React41.createElement(Flex19, { align: "center", gap: "xs" }, listSortConfig?.key && /* @__PURE__ */ React41.createElement(Flex19, { align: "center" }, /* @__PURE__ */ React41.createElement(Text27, { size: "xs" }, listSortConfig.key?.replace(/([A-Z])/g, " $1").replace(
|
|
3467
3566
|
/^./,
|
|
3468
3567
|
(str) => str.toUpperCase()
|
|
3469
|
-
), " "), /* @__PURE__ */ React41.createElement(Text27, { lh: 0.5 }, listSortConfig.direction === "asc" && /* @__PURE__ */ React41.createElement(IconArrowUp2, { size: 18 }), listSortConfig.direction === "desc" && /* @__PURE__ */ React41.createElement(IconArrowDown2, { size: 18 }))),
|
|
3568
|
+
), " "), /* @__PURE__ */ React41.createElement(Text27, { lh: 0.5 }, listSortConfig.direction === "asc" && /* @__PURE__ */ React41.createElement(IconArrowUp2, { size: 18 }), listSortConfig.direction === "desc" && /* @__PURE__ */ React41.createElement(IconArrowDown2, { size: 18 }))), isMultiSelect && /* @__PURE__ */ React41.createElement(Text27, { lh: 0.5 }, "Multi Selection")), /* @__PURE__ */ React41.createElement(Flex19, { justify: "space-between" }, /* @__PURE__ */ React41.createElement(Flex19, { gap: "xs", align: "center" }, /* @__PURE__ */ React41.createElement(FilterTab, { key: "All", label: "All", isActive: !listFilterConfig?.key, onClick: () => handleFilterChange(null) }), Array.isArray(listFilterConfigOptions) && listFilterConfigOptions.length > 0 && listFilterConfigOptions.map(({ key, label, type }) => /* @__PURE__ */ React41.createElement(
|
|
3470
3569
|
FilterTab,
|
|
3471
3570
|
{
|
|
3472
3571
|
key: label,
|
|
@@ -3477,14 +3576,14 @@ var ListFlowView = ({ block, editor }) => {
|
|
|
3477
3576
|
))), /* @__PURE__ */ React41.createElement(Flex19, { gap: "xs" }, /* @__PURE__ */ React41.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: fetchData, loading }, /* @__PURE__ */ React41.createElement(IconRefresh, { size: 18 })), editable && /* @__PURE__ */ React41.createElement(ActionIcon5, { variant: "subtle", size: "sm", onClick: openPanel }, /* @__PURE__ */ React41.createElement(IconSettings, { size: 18 })), listConfig && listSortConfigOptions && listSortConfigOptions?.length > 0 && /* @__PURE__ */ React41.createElement(
|
|
3478
3577
|
ListActionsMenu,
|
|
3479
3578
|
{
|
|
3480
|
-
|
|
3481
|
-
|
|
3579
|
+
isMultiSelect,
|
|
3580
|
+
setIsMultiSelect,
|
|
3482
3581
|
options: listSortConfigOptions,
|
|
3483
3582
|
value: listSortConfig,
|
|
3484
3583
|
onChange: (sortOption) => handleSortChange(sortOption),
|
|
3485
3584
|
onDownloadCsv: data?.items ? () => downloadArrayAsCsv(data.items) : void 0
|
|
3486
3585
|
}
|
|
3487
|
-
))), /* @__PURE__ */ React41.createElement(Flex19, { flex: 1 }, loading ? /* @__PURE__ */ React41.createElement(Center2, { py: "xl", w: "100%" }, /* @__PURE__ */ React41.createElement(Loader2, { size: "md", mx: "auto" })) : error ? /* @__PURE__ */ React41.createElement(Alert4, { color: "red", title: "Failed to load data", icon: /* @__PURE__ */ React41.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React41.createElement(Stack27, { gap: "xs" }, /* @__PURE__ */ React41.createElement(Text27, { size: "sm" }, showErrorDetails ? error : "Unable to fetch list data"), /* @__PURE__ */ React41.createElement(Group8, { gap: "xs" }, /* @__PURE__ */ React41.createElement(Button5, { size: "xs", variant: "subtle", onClick: fetchData }, "Retry"), /* @__PURE__ */ React41.createElement(Button5, { size: "xs", variant: "subtle", onClick: () => setShowErrorDetails(!showErrorDetails) }, showErrorDetails ? "Hide" : "Show", " Details")))) : /* @__PURE__ */ React41.createElement(Stack27, { flex: 1 }, /* @__PURE__ */ React41.createElement(Stack27, { gap: "md" }, renderListComponent(), /* @__PURE__ */ React41.createElement(
|
|
3586
|
+
))), /* @__PURE__ */ React41.createElement(Flex19, { flex: 1 }, loading ? /* @__PURE__ */ React41.createElement(Center2, { py: "xl", w: "100%" }, /* @__PURE__ */ React41.createElement(Loader2, { size: "md", mx: "auto" })) : error ? /* @__PURE__ */ React41.createElement(Alert4, { w: "100%", color: "red", title: "Failed to load data", icon: /* @__PURE__ */ React41.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React41.createElement(Stack27, { justify: "center", align: "center", ta: "center", gap: "xs" }, /* @__PURE__ */ React41.createElement(Text27, { size: "sm" }, showErrorDetails ? error : "Unable to fetch list data"), /* @__PURE__ */ React41.createElement(Group8, { justify: "center", gap: "xs" }, /* @__PURE__ */ React41.createElement(Button5, { size: "xs", variant: "subtle", onClick: fetchData }, "Retry"), /* @__PURE__ */ React41.createElement(Button5, { size: "xs", variant: "subtle", onClick: () => setShowErrorDetails(!showErrorDetails) }, showErrorDetails ? "Hide" : "Show", " Details")))) : /* @__PURE__ */ React41.createElement(Stack27, { flex: 1 }, /* @__PURE__ */ React41.createElement(Stack27, { gap: "md" }, renderListComponent(), /* @__PURE__ */ React41.createElement(
|
|
3488
3587
|
ListPagination,
|
|
3489
3588
|
{
|
|
3490
3589
|
page,
|
|
@@ -3545,18 +3644,18 @@ var ListBlockSpec = createReactBlockSpec2(
|
|
|
3545
3644
|
);
|
|
3546
3645
|
|
|
3547
3646
|
// src/mantine/blocks/overview/OverviewBlock.tsx
|
|
3548
|
-
import React44, { useEffect as
|
|
3647
|
+
import React44, { useEffect as useEffect8, useState as useState8 } from "react";
|
|
3549
3648
|
import { createReactBlockSpec as createReactBlockSpec3 } from "@blocknote/react";
|
|
3550
3649
|
import { Stack as Stack28, Text as Text28, Box as Box17, Loader as Loader3, Alert as Alert5, Group as Group9, Accordion as Accordion2, Collapse as Collapse2 } from "@mantine/core";
|
|
3551
3650
|
import { IconChevronRight, IconChevronDown as IconChevronDown2, IconFileDescription, IconWorld, IconCalendar, IconUser, IconCircleCheck } from "@tabler/icons-react";
|
|
3552
3651
|
import { useDisclosure as useDisclosure2 } from "@mantine/hooks";
|
|
3553
3652
|
var OverviewBlockContent = () => {
|
|
3554
3653
|
const handlers = useBlocknoteHandlers();
|
|
3555
|
-
const [domainCard, setDomainCard] =
|
|
3556
|
-
const [loading, setLoading] =
|
|
3557
|
-
const [error, setError] =
|
|
3654
|
+
const [domainCard, setDomainCard] = useState8(null);
|
|
3655
|
+
const [loading, setLoading] = useState8(true);
|
|
3656
|
+
const [error, setError] = useState8(null);
|
|
3558
3657
|
const [detailsOpened, { toggle: toggleDetails }] = useDisclosure2(false);
|
|
3559
|
-
|
|
3658
|
+
useEffect8(() => {
|
|
3560
3659
|
const fetchDomainCard = async () => {
|
|
3561
3660
|
setLoading(true);
|
|
3562
3661
|
setError(null);
|
|
@@ -3690,57 +3789,6 @@ var OverviewBlock = createReactBlockSpec3(
|
|
|
3690
3789
|
}
|
|
3691
3790
|
);
|
|
3692
3791
|
|
|
3693
|
-
// src/mantine/context/types.ts
|
|
3694
|
-
var StakeType = {
|
|
3695
|
-
Delegate: "delegate",
|
|
3696
|
-
Undelegate: "undelegate",
|
|
3697
|
-
Redelegate: "redelegate",
|
|
3698
|
-
WithdrawDelegatorReward: "withdraw_delegator_reward"
|
|
3699
|
-
};
|
|
3700
|
-
var AuthzExecActionTypes = {
|
|
3701
|
-
Delegate: "/cosmos.staking.v1beta1.MsgDelegate",
|
|
3702
|
-
Undelegate: "/cosmos.staking.v1beta1.MsgUndelegate",
|
|
3703
|
-
Redelegate: "/cosmos.staking.v1beta1.MsgBeginRedelegate",
|
|
3704
|
-
ClaimRewards: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
|
|
3705
|
-
Custom: "custom"
|
|
3706
|
-
};
|
|
3707
|
-
var ValidatorActionType = /* @__PURE__ */ ((ValidatorActionType2) => {
|
|
3708
|
-
ValidatorActionType2["CreateValidator"] = "/cosmos.staking.v1beta1.MsgCreateValidator";
|
|
3709
|
-
ValidatorActionType2["EditValidator"] = "/cosmos.staking.v1beta1.MsgEditValidator";
|
|
3710
|
-
ValidatorActionType2["UnjailValidator"] = "/cosmos.slashing.v1beta1.MsgUnjail";
|
|
3711
|
-
ValidatorActionType2["WithdrawValidatorCommission"] = "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission";
|
|
3712
|
-
return ValidatorActionType2;
|
|
3713
|
-
})(ValidatorActionType || {});
|
|
3714
|
-
|
|
3715
|
-
// src/mantine/context/hooks/useSharedProposal.ts
|
|
3716
|
-
import { useState as useState8, useEffect as useEffect8, useCallback as useCallback11 } from "react";
|
|
3717
|
-
var useSharedProposal = ({ proposalId, contractAddress, autoFetch = true }) => {
|
|
3718
|
-
const { sharedProposals, fetchSharedProposal, invalidateProposal, subscribeToProposal } = useBlocknoteContext();
|
|
3719
|
-
const [localProposal, setLocalProposal] = useState8(null);
|
|
3720
|
-
const cacheKey = `${contractAddress}:${proposalId}`;
|
|
3721
|
-
useEffect8(() => {
|
|
3722
|
-
if (!proposalId || !contractAddress || !autoFetch) return;
|
|
3723
|
-
fetchSharedProposal(proposalId, contractAddress).then(setLocalProposal).catch((error) => {
|
|
3724
|
-
console.error("Failed to fetch proposal:", error);
|
|
3725
|
-
});
|
|
3726
|
-
}, [proposalId, contractAddress, fetchSharedProposal, autoFetch]);
|
|
3727
|
-
useEffect8(() => {
|
|
3728
|
-
const proposal = subscribeToProposal(cacheKey);
|
|
3729
|
-
if (proposal) {
|
|
3730
|
-
setLocalProposal(proposal);
|
|
3731
|
-
}
|
|
3732
|
-
}, [subscribeToProposal, cacheKey]);
|
|
3733
|
-
const refetch = useCallback11(() => fetchSharedProposal(proposalId, contractAddress, true), [fetchSharedProposal, proposalId, contractAddress]);
|
|
3734
|
-
const invalidate = useCallback11(() => invalidateProposal(proposalId), [invalidateProposal, proposalId]);
|
|
3735
|
-
return {
|
|
3736
|
-
proposal: localProposal,
|
|
3737
|
-
loading: sharedProposals[cacheKey]?.loading ?? false,
|
|
3738
|
-
error: sharedProposals[cacheKey]?.error,
|
|
3739
|
-
refetch,
|
|
3740
|
-
invalidate
|
|
3741
|
-
};
|
|
3742
|
-
};
|
|
3743
|
-
|
|
3744
3792
|
// src/mantine/blocks/proposal/ProposalBlockSpec.tsx
|
|
3745
3793
|
import React88 from "react";
|
|
3746
3794
|
import { createReactBlockSpec as createReactBlockSpec4 } from "@blocknote/react";
|
|
@@ -13922,11 +13970,11 @@ export {
|
|
|
13922
13970
|
useBlocknoteContext,
|
|
13923
13971
|
useBlocknoteHandlers,
|
|
13924
13972
|
CheckboxBlockSpec,
|
|
13925
|
-
ListBlockSpec,
|
|
13926
|
-
OverviewBlock,
|
|
13927
13973
|
StakeType,
|
|
13928
13974
|
AuthzExecActionTypes,
|
|
13929
13975
|
ValidatorActionType,
|
|
13976
|
+
ListBlockSpec,
|
|
13977
|
+
OverviewBlock,
|
|
13930
13978
|
ProposalBlockSpec,
|
|
13931
13979
|
ApiRequestBlockSpec,
|
|
13932
13980
|
blockSpecs,
|
|
@@ -13939,4 +13987,4 @@ export {
|
|
|
13939
13987
|
ixoGraphQLClient,
|
|
13940
13988
|
getEntity
|
|
13941
13989
|
};
|
|
13942
|
-
//# sourceMappingURL=chunk-
|
|
13990
|
+
//# sourceMappingURL=chunk-GGIZAV43.mjs.map
|