@ixo/editor 2.32.1 → 2.33.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.
|
@@ -13769,7 +13769,7 @@ var ClaimTemplateView = ({ editor, block }) => {
|
|
|
13769
13769
|
|
|
13770
13770
|
// src/mantine/blocks/claim/flow/FlowView.tsx
|
|
13771
13771
|
import React151, { useMemo as useMemo43, useRef as useRef11, useEffect as useEffect44, useCallback as useCallback40 } from "react";
|
|
13772
|
-
import { Stack as Stack113, Text as Text87, Loader as Loader19, Center as Center9, Alert as Alert20, Title as
|
|
13772
|
+
import { Stack as Stack113, Text as Text87, Loader as Loader19, Center as Center9, Alert as Alert20, Title as Title7, Flex as Flex27, ActionIcon as ActionIcon26 } from "@mantine/core";
|
|
13773
13773
|
|
|
13774
13774
|
// src/mantine/hooks/useCurrentUser.ts
|
|
13775
13775
|
import { useState as useState47, useEffect as useEffect31, useRef as useRef6 } from "react";
|
|
@@ -14378,7 +14378,7 @@ var ClaimCollectionItem = ({ collection, deedId, adminAddress, userRole, onRefre
|
|
|
14378
14378
|
|
|
14379
14379
|
// src/mantine/blocks/bid/flow/components/BidCollectionItem.tsx
|
|
14380
14380
|
import React146, { useMemo as useMemo39 } from "react";
|
|
14381
|
-
import { Stack as Stack108, Text as Text82, Button as Button30, Menu as Menu4, Badge as Badge21, ActionIcon as ActionIcon23, Box as
|
|
14381
|
+
import { Stack as Stack108, Text as Text82, Button as Button30, Menu as Menu4, Badge as Badge21, ActionIcon as ActionIcon23, Box as Box33, Tooltip as Tooltip13, Loader as Loader16 } from "@mantine/core";
|
|
14382
14382
|
import { IconChevronDown as IconChevronDown8, IconArrowRight as IconArrowRight3, IconLock } from "@tabler/icons-react";
|
|
14383
14383
|
|
|
14384
14384
|
// src/mantine/hooks/useBlockAuthorization.ts
|
|
@@ -14622,7 +14622,7 @@ import { IconArrowRight as IconArrowRight2 } from "@tabler/icons-react";
|
|
|
14622
14622
|
|
|
14623
14623
|
// src/mantine/blocks/bid/flow/components/BidViewPanel.tsx
|
|
14624
14624
|
import React141, { useMemo as useMemo37, useState as useState55 } from "react";
|
|
14625
|
-
import { Loader as Loader14, Stack as Stack105, Text as Text79, Button as Button29, Group as Group48, Modal as Modal2, Alert as Alert17 } from "@mantine/core";
|
|
14625
|
+
import { Loader as Loader14, Stack as Stack105, Text as Text79, Button as Button29, Group as Group48, Modal as Modal2, Alert as Alert17, Box as Box32, Title as Title5 } from "@mantine/core";
|
|
14626
14626
|
import { Survey as Survey3 } from "@ixo/surveys";
|
|
14627
14627
|
import { IconCheck as IconCheck3, IconX as IconX9, IconAlertCircle as IconAlertCircle2 } from "@tabler/icons-react";
|
|
14628
14628
|
|
|
@@ -14708,74 +14708,78 @@ function useBidActions(bid, deedId, adminAddress, execution, onRefresh, executeH
|
|
|
14708
14708
|
const { closePanel } = usePanelStore();
|
|
14709
14709
|
const [loading, setLoading] = useState54(false);
|
|
14710
14710
|
const [error, setError] = useState54(null);
|
|
14711
|
-
const approveBid = useCallback35(
|
|
14712
|
-
|
|
14713
|
-
|
|
14714
|
-
|
|
14715
|
-
|
|
14716
|
-
|
|
14717
|
-
|
|
14718
|
-
|
|
14719
|
-
|
|
14720
|
-
|
|
14721
|
-
|
|
14722
|
-
|
|
14723
|
-
|
|
14724
|
-
|
|
14725
|
-
|
|
14726
|
-
|
|
14727
|
-
|
|
14728
|
-
|
|
14729
|
-
|
|
14730
|
-
|
|
14731
|
-
|
|
14732
|
-
|
|
14733
|
-
|
|
14734
|
-
|
|
14735
|
-
|
|
14736
|
-
|
|
14737
|
-
|
|
14711
|
+
const approveBid = useCallback35(
|
|
14712
|
+
async (maxAmounts) => {
|
|
14713
|
+
try {
|
|
14714
|
+
setLoading(true);
|
|
14715
|
+
setError(null);
|
|
14716
|
+
const outcome = await executeNode({
|
|
14717
|
+
node: execution.flowNode,
|
|
14718
|
+
actorDid: execution.actorDid,
|
|
14719
|
+
context: {
|
|
14720
|
+
runtime: execution.runtime,
|
|
14721
|
+
ucanManager: execution.ucanManager,
|
|
14722
|
+
delegationStore: execution.delegationStore,
|
|
14723
|
+
verifySignature: execution.verifySignature,
|
|
14724
|
+
rootIssuer: execution.rootIssuer,
|
|
14725
|
+
flowUri: execution.flowUri
|
|
14726
|
+
},
|
|
14727
|
+
action: async () => {
|
|
14728
|
+
if (bid.role === "service_agent" || bid.role === "SA") {
|
|
14729
|
+
await handlers.approveServiceAgentApplication({
|
|
14730
|
+
adminAddress,
|
|
14731
|
+
collectionId: bid.collection,
|
|
14732
|
+
agentQuota: 30,
|
|
14733
|
+
deedDid: deedId,
|
|
14734
|
+
currentUserAddress: bid.address
|
|
14735
|
+
});
|
|
14736
|
+
} else if (bid.role === "evaluation_agent" || bid.role === "EA") {
|
|
14737
|
+
await handlers.approveEvaluatorApplication({
|
|
14738
|
+
adminAddress,
|
|
14739
|
+
collectionId: bid.collection,
|
|
14740
|
+
deedDid: deedId,
|
|
14741
|
+
evaluatorAddress: bid.address,
|
|
14742
|
+
agentQuota: 10,
|
|
14743
|
+
maxAmounts
|
|
14744
|
+
});
|
|
14745
|
+
} else {
|
|
14746
|
+
throw new Error(`Unknown role: ${bid.role}`);
|
|
14747
|
+
}
|
|
14748
|
+
await handlers.approveBid({
|
|
14749
|
+
bidId: bid.id,
|
|
14738
14750
|
collectionId: bid.collection,
|
|
14739
|
-
|
|
14740
|
-
evaluatorAddress: bid.address,
|
|
14741
|
-
agentQuota: 10
|
|
14751
|
+
did: bid.did
|
|
14742
14752
|
});
|
|
14743
|
-
|
|
14744
|
-
|
|
14753
|
+
return {
|
|
14754
|
+
claimId: bid.id,
|
|
14755
|
+
submittedByDid: execution.actorDid,
|
|
14756
|
+
evaluationStatus: "approved"
|
|
14757
|
+
};
|
|
14745
14758
|
}
|
|
14746
|
-
|
|
14747
|
-
|
|
14748
|
-
|
|
14749
|
-
did: bid.did
|
|
14750
|
-
});
|
|
14751
|
-
return {
|
|
14752
|
-
claimId: bid.id,
|
|
14753
|
-
submittedByDid: execution.actorDid,
|
|
14754
|
-
evaluationStatus: "approved"
|
|
14755
|
-
};
|
|
14759
|
+
});
|
|
14760
|
+
if (!outcome.success) {
|
|
14761
|
+
throw new Error(outcome.error || "Authorization failed");
|
|
14756
14762
|
}
|
|
14757
|
-
|
|
14758
|
-
|
|
14759
|
-
|
|
14760
|
-
|
|
14761
|
-
|
|
14762
|
-
|
|
14763
|
-
|
|
14764
|
-
|
|
14765
|
-
|
|
14766
|
-
|
|
14767
|
-
|
|
14768
|
-
|
|
14769
|
-
|
|
14770
|
-
|
|
14771
|
-
|
|
14772
|
-
|
|
14773
|
-
|
|
14774
|
-
|
|
14775
|
-
|
|
14776
|
-
|
|
14777
|
-
}
|
|
14778
|
-
}, [bid, deedId, adminAddress, handlers, closePanel, onRefresh, execution, executeHookedActions]);
|
|
14763
|
+
executeHookedActions?.("approve", {
|
|
14764
|
+
bidId: bid.id,
|
|
14765
|
+
collectionId: bid.collection,
|
|
14766
|
+
role: bid.role,
|
|
14767
|
+
applicantAddress: bid.address,
|
|
14768
|
+
applicantDid: bid.did,
|
|
14769
|
+
approverDid: execution.actorDid,
|
|
14770
|
+
deedDid: deedId,
|
|
14771
|
+
status: "approved"
|
|
14772
|
+
});
|
|
14773
|
+
closePanel();
|
|
14774
|
+
onRefresh?.();
|
|
14775
|
+
} catch (err) {
|
|
14776
|
+
setError(err instanceof Error ? err.message : "Failed to approve bid");
|
|
14777
|
+
} finally {
|
|
14778
|
+
setLoading(false);
|
|
14779
|
+
}
|
|
14780
|
+
},
|
|
14781
|
+
[bid, deedId, adminAddress, handlers, closePanel, onRefresh, execution, executeHookedActions]
|
|
14782
|
+
);
|
|
14779
14783
|
const rejectBid = useCallback35(
|
|
14780
14784
|
async (reason) => {
|
|
14781
14785
|
if (!reason.trim()) {
|
|
@@ -14838,6 +14842,12 @@ function useBidActions(bid, deedId, adminAddress, execution, onRefresh, executeH
|
|
|
14838
14842
|
}
|
|
14839
14843
|
|
|
14840
14844
|
// src/mantine/blocks/bid/flow/components/BidViewPanel.tsx
|
|
14845
|
+
var USDC_DENOM = "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
|
|
14846
|
+
var IXO_DENOM = "uixo";
|
|
14847
|
+
var DECIMALS = 6;
|
|
14848
|
+
var isEvaluatorRole = (role) => {
|
|
14849
|
+
return role === "evaluation_agent" || role === "EA";
|
|
14850
|
+
};
|
|
14841
14851
|
var BidViewPanel = ({ bid, deedId, adminAddress, onRefresh, execution, executeHookedActions }) => {
|
|
14842
14852
|
const { closePanel } = usePanelStore();
|
|
14843
14853
|
const { surveyModel, loading, error } = useBidView(bid, deedId);
|
|
@@ -14850,6 +14860,30 @@ var BidViewPanel = ({ bid, deedId, adminAddress, onRefresh, execution, executeHo
|
|
|
14850
14860
|
} = useBidActions(bid, deedId, adminAddress, execution, onRefresh, executeHookedActions);
|
|
14851
14861
|
const [rejectModalOpen, setRejectModalOpen] = useState55(false);
|
|
14852
14862
|
const [rejectReason, setRejectReason] = useState55("");
|
|
14863
|
+
const [maxUsdcAmount, setMaxUsdcAmount] = useState55("");
|
|
14864
|
+
const [maxIxoAmount, setMaxIxoAmount] = useState55("");
|
|
14865
|
+
const isEvaluator = isEvaluatorRole(bid.role);
|
|
14866
|
+
const buildMaxAmounts = () => {
|
|
14867
|
+
if (!isEvaluator) return void 0;
|
|
14868
|
+
const coins = [];
|
|
14869
|
+
if (maxUsdcAmount !== "" && Number(maxUsdcAmount) > 0) {
|
|
14870
|
+
coins.push({
|
|
14871
|
+
denom: USDC_DENOM,
|
|
14872
|
+
amount: (Number(maxUsdcAmount) * Math.pow(10, DECIMALS)).toString()
|
|
14873
|
+
});
|
|
14874
|
+
}
|
|
14875
|
+
if (maxIxoAmount !== "" && Number(maxIxoAmount) > 0) {
|
|
14876
|
+
coins.push({
|
|
14877
|
+
denom: IXO_DENOM,
|
|
14878
|
+
amount: (Number(maxIxoAmount) * Math.pow(10, DECIMALS)).toString()
|
|
14879
|
+
});
|
|
14880
|
+
}
|
|
14881
|
+
return coins.length > 0 ? coins : void 0;
|
|
14882
|
+
};
|
|
14883
|
+
const handleApprove = () => {
|
|
14884
|
+
const maxAmounts = buildMaxAmounts();
|
|
14885
|
+
approveBid(maxAmounts);
|
|
14886
|
+
};
|
|
14853
14887
|
const surveyContainerStyle = useMemo37(
|
|
14854
14888
|
() => ({
|
|
14855
14889
|
flex: 1,
|
|
@@ -14871,7 +14905,7 @@ var BidViewPanel = ({ bid, deedId, adminAddress, onRefresh, execution, executeHo
|
|
|
14871
14905
|
setRejectModalOpen(false);
|
|
14872
14906
|
}
|
|
14873
14907
|
};
|
|
14874
|
-
return /* @__PURE__ */ React141.createElement(BaseRightPanelLayout, { onClose: closePanel, title: `${getRoleLabel(bid.role)} Bid`, isTemplate: false }, !loading && !error && /* @__PURE__ */ React141.createElement(Stack105, { gap: "md", mb: "md" }, actionError && /* @__PURE__ */ React141.createElement(Alert17, { color: "red", icon: /* @__PURE__ */ React141.createElement(IconAlertCircle2, { size: 16 }), onClose: () => setActionError(null), withCloseButton: true }, actionError), /* @__PURE__ */ React141.createElement(Group48, { justify: "flex-end" }, /* @__PURE__ */ React141.createElement(Button29, { variant: "outline", color: "red", leftSection: /* @__PURE__ */ React141.createElement(IconX9, { size: 16 }), onClick: handleRejectClick, loading: actionLoading, disabled: actionLoading }, "Reject"), /* @__PURE__ */ React141.createElement(Button29, { variant: "filled", color: "green", leftSection: /* @__PURE__ */ React141.createElement(IconCheck3, { size: 16 }), onClick:
|
|
14908
|
+
return /* @__PURE__ */ React141.createElement(BaseRightPanelLayout, { onClose: closePanel, title: `${getRoleLabel(bid.role)} Bid`, isTemplate: false }, !loading && !error && /* @__PURE__ */ React141.createElement(Stack105, { gap: "md", mb: "md" }, actionError && /* @__PURE__ */ React141.createElement(Alert17, { color: "red", icon: /* @__PURE__ */ React141.createElement(IconAlertCircle2, { size: 16 }), onClose: () => setActionError(null), withCloseButton: true }, actionError), isEvaluator && /* @__PURE__ */ React141.createElement(Box32, null, /* @__PURE__ */ React141.createElement(Title5, { order: 6, c: "dimmed", mb: "xs" }, "Max Approval Amounts (Optional)"), /* @__PURE__ */ React141.createElement(Group48, { grow: true }, /* @__PURE__ */ React141.createElement(BaseNumberInput, { label: "USDC", placeholder: "0", min: 0, value: maxUsdcAmount, onChange: (val) => setMaxUsdcAmount(val) }), /* @__PURE__ */ React141.createElement(BaseNumberInput, { label: "IXO", placeholder: "0", min: 0, value: maxIxoAmount, onChange: (val) => setMaxIxoAmount(val) }))), /* @__PURE__ */ React141.createElement(Group48, { justify: "flex-end" }, /* @__PURE__ */ React141.createElement(Button29, { variant: "outline", color: "red", leftSection: /* @__PURE__ */ React141.createElement(IconX9, { size: 16 }), onClick: handleRejectClick, loading: actionLoading, disabled: actionLoading }, "Reject"), /* @__PURE__ */ React141.createElement(Button29, { variant: "filled", color: "green", leftSection: /* @__PURE__ */ React141.createElement(IconCheck3, { size: 16 }), onClick: handleApprove, loading: actionLoading, disabled: actionLoading }, "Approve"))), /* @__PURE__ */ React141.createElement("div", { style: surveyContainerStyle }, loading && /* @__PURE__ */ React141.createElement(Stack105, { align: "center", justify: "center", style: { height: "100%" } }, /* @__PURE__ */ React141.createElement(Loader14, { size: "lg" }), /* @__PURE__ */ React141.createElement(Text79, { size: "sm", c: "dimmed" }, "Loading bid details...")), error && /* @__PURE__ */ React141.createElement(Stack105, { align: "center", justify: "center", style: { height: "100%", padding: "1rem" } }, /* @__PURE__ */ React141.createElement(Text79, { size: "sm", c: "red" }, error)), !loading && !error && surveyModel && /* @__PURE__ */ React141.createElement(Survey3, { model: surveyModel })), /* @__PURE__ */ React141.createElement(Modal2, { opened: rejectModalOpen, onClose: () => setRejectModalOpen(false), title: "Reject Bid", centered: true }, /* @__PURE__ */ React141.createElement(Stack105, { gap: "md" }, /* @__PURE__ */ React141.createElement(Text79, { size: "sm" }, "Please provide a reason for rejecting this bid:"), /* @__PURE__ */ React141.createElement(BaseTextArea, { placeholder: "Enter rejection reason...", value: rejectReason, onChange: (e) => setRejectReason(e.currentTarget.value), minRows: 3 }), /* @__PURE__ */ React141.createElement(Group48, { justify: "flex-end" }, /* @__PURE__ */ React141.createElement(Button29, { variant: "outline", onClick: () => setRejectModalOpen(false), disabled: actionLoading }, "Cancel"), /* @__PURE__ */ React141.createElement(Button29, { color: "red", onClick: handleRejectConfirm, loading: actionLoading, disabled: !rejectReason.trim() }, "Reject Bid")))));
|
|
14875
14909
|
};
|
|
14876
14910
|
|
|
14877
14911
|
// src/mantine/hooks/useUserProfile.ts
|
|
@@ -15180,7 +15214,7 @@ var BidCollectionItem = ({ collection, deedId, adminAddress, userRole, onRefresh
|
|
|
15180
15214
|
}
|
|
15181
15215
|
return /* @__PURE__ */ React146.createElement(UserPlus_default, null);
|
|
15182
15216
|
};
|
|
15183
|
-
return /* @__PURE__ */ React146.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React146.createElement(
|
|
15217
|
+
return /* @__PURE__ */ React146.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React146.createElement(Box33, { mr: "md", style: { display: "flex", alignItems: "center" } }, getCollectionIcon()), /* @__PURE__ */ React146.createElement(Stack108, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 500 }, getCollectionName(collection)), collection.description && /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, collection.description)), renderActionButton());
|
|
15184
15218
|
};
|
|
15185
15219
|
|
|
15186
15220
|
// src/mantine/blocks/evaluator/flow/EvaluationCollectionItem.tsx
|
|
@@ -15189,7 +15223,7 @@ import { Stack as Stack111, Text as Text85, ActionIcon as ActionIcon25, Tooltip
|
|
|
15189
15223
|
|
|
15190
15224
|
// src/mantine/blocks/evaluator/flow/ClaimsList.tsx
|
|
15191
15225
|
import React148, { useState as useState59, useEffect as useEffect42, useCallback as useCallback39, useMemo as useMemo41 } from "react";
|
|
15192
|
-
import { Paper as Paper14, CloseButton as CloseButton5, Title as
|
|
15226
|
+
import { Paper as Paper14, CloseButton as CloseButton5, Title as Title6, Loader as Loader17, Stack as Stack110, Text as Text84, ActionIcon as ActionIcon24, Alert as Alert19, Badge as Badge23, Group as Group51, Button as Button31, Divider as Divider13, Tabs as Tabs3, ScrollArea as ScrollArea6, Box as Box35, Select as Select4 } from "@mantine/core";
|
|
15193
15227
|
import { IconAlertCircle as IconAlertCircle4, IconArrowRight as IconArrowRight4, IconRefresh as IconRefresh3, IconArrowLeft as IconArrowLeft4, IconFileText as IconFileText3, IconRobot as IconRobot3, IconChecklist as IconChecklist3 } from "@tabler/icons-react";
|
|
15194
15228
|
import { Survey as Survey4, SurveyModel as SurveyModel4 } from "@ixo/surveys";
|
|
15195
15229
|
|
|
@@ -15353,7 +15387,7 @@ var surveyTheme2 = {
|
|
|
15353
15387
|
|
|
15354
15388
|
// src/mantine/blocks/evaluator/flow/RubricEvaluationResults.tsx
|
|
15355
15389
|
import React147, { useMemo as useMemo40 } from "react";
|
|
15356
|
-
import { Paper as Paper13, Stack as Stack109, Text as Text83, Badge as Badge22, Group as Group50, Progress as Progress3, Accordion as Accordion4, ThemeIcon as ThemeIcon2, Timeline, Box as
|
|
15390
|
+
import { Paper as Paper13, Stack as Stack109, Text as Text83, Badge as Badge22, Group as Group50, Progress as Progress3, Accordion as Accordion4, ThemeIcon as ThemeIcon2, Timeline, Box as Box34, Tooltip as Tooltip14, Divider as Divider12, Card as Card18, RingProgress, Center as Center7 } from "@mantine/core";
|
|
15357
15391
|
import { IconCheck as IconCheck4, IconX as IconX10, IconAlertTriangle as IconAlertTriangle2, IconClock, IconBrain, IconUser as IconUser4, IconArrowUp as IconArrowUp4, IconCalculator, IconCloud, IconChecklist as IconChecklist2, IconInfoCircle as IconInfoCircle3 } from "@tabler/icons-react";
|
|
15358
15392
|
var getOutcomeConfig = (outcome) => {
|
|
15359
15393
|
switch (outcome) {
|
|
@@ -15577,7 +15611,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
15577
15611
|
formatDuration(step.duration)
|
|
15578
15612
|
)))
|
|
15579
15613
|
},
|
|
15580
|
-
/* @__PURE__ */ React147.createElement(
|
|
15614
|
+
/* @__PURE__ */ React147.createElement(Box34, { mt: "xs" }, step.message && /* @__PURE__ */ React147.createElement(Text83, { size: "sm", c: "dimmed", mb: "xs" }, step.message), step.error && /* @__PURE__ */ React147.createElement(
|
|
15581
15615
|
Paper13,
|
|
15582
15616
|
{
|
|
15583
15617
|
p: "xs",
|
|
@@ -15620,7 +15654,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
15620
15654
|
);
|
|
15621
15655
|
})
|
|
15622
15656
|
)))
|
|
15623
|
-
), stats && /* @__PURE__ */ React147.createElement(
|
|
15657
|
+
), stats && /* @__PURE__ */ React147.createElement(Box34, null, /* @__PURE__ */ React147.createElement(Group50, { justify: "space-between", mb: 4 }, /* @__PURE__ */ React147.createElement(Text83, { size: "xs", c: "dimmed" }, "Overall Progress"), /* @__PURE__ */ React147.createElement(Text83, { size: "xs", c: "dimmed" }, stats.passed, "/", stats.total, " checks passed")), /* @__PURE__ */ React147.createElement(Progress3.Root, { size: "lg", radius: "xl" }, /* @__PURE__ */ React147.createElement(Progress3.Section, { value: stats.passed / stats.total * 100, color: "green" }, /* @__PURE__ */ React147.createElement(Progress3.Label, null, stats.passed, " passed")), /* @__PURE__ */ React147.createElement(Progress3.Section, { value: stats.failed / stats.total * 100, color: "red" }, /* @__PURE__ */ React147.createElement(Progress3.Label, null, stats.failed, " failed")))));
|
|
15624
15658
|
};
|
|
15625
15659
|
|
|
15626
15660
|
// src/mantine/blocks/evaluator/flow/ClaimsList.tsx
|
|
@@ -15630,6 +15664,13 @@ var SURVEY_THEME_VARIABLES2 = Object.entries(surveyTheme2.cssVariables ?? {}).re
|
|
|
15630
15664
|
}, {});
|
|
15631
15665
|
var SURVEY_THEME_BACKGROUND2 = SURVEY_THEME_VARIABLES2["--sjs-general-backcolor"] ?? "#050505";
|
|
15632
15666
|
var SURVEY_THEME_FOREGROUND2 = SURVEY_THEME_VARIABLES2["--sjs-general-forecolor"] ?? "#ffffff";
|
|
15667
|
+
var USDC_DENOM2 = "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
|
|
15668
|
+
var IXO_DENOM2 = "uixo";
|
|
15669
|
+
var DECIMALS2 = 6;
|
|
15670
|
+
var COIN_OPTIONS = [
|
|
15671
|
+
{ value: USDC_DENOM2, label: "USDC" },
|
|
15672
|
+
{ value: IXO_DENOM2, label: "IXO" }
|
|
15673
|
+
];
|
|
15633
15674
|
var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvaluationComplete }) => {
|
|
15634
15675
|
const { closePanel } = usePanelStore();
|
|
15635
15676
|
const handlers = useBlocknoteHandlers();
|
|
@@ -15648,6 +15689,17 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15648
15689
|
const [evaluationResult, setEvaluationResult] = useState59(null);
|
|
15649
15690
|
const [evaluationLoading, setEvaluationLoading] = useState59(false);
|
|
15650
15691
|
const [activeTab, setActiveTab] = useState59("submission");
|
|
15692
|
+
const [selectedDenom, setSelectedDenom] = useState59(USDC_DENOM2);
|
|
15693
|
+
const [paymentAmount, setPaymentAmount] = useState59("");
|
|
15694
|
+
const buildPaymentCoin = useCallback39(() => {
|
|
15695
|
+
if (!selectedDenom || paymentAmount === "" || Number(paymentAmount) <= 0) {
|
|
15696
|
+
return void 0;
|
|
15697
|
+
}
|
|
15698
|
+
return {
|
|
15699
|
+
denom: selectedDenom,
|
|
15700
|
+
amount: (Number(paymentAmount) * Math.pow(10, DECIMALS2)).toString()
|
|
15701
|
+
};
|
|
15702
|
+
}, [selectedDenom, paymentAmount]);
|
|
15651
15703
|
const fetchClaims = useCallback39(async () => {
|
|
15652
15704
|
try {
|
|
15653
15705
|
setLoading(true);
|
|
@@ -15731,6 +15783,8 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15731
15783
|
setRubricData(null);
|
|
15732
15784
|
setEvaluationResult(null);
|
|
15733
15785
|
setActiveTab("submission");
|
|
15786
|
+
setSelectedDenom(USDC_DENOM2);
|
|
15787
|
+
setPaymentAmount("");
|
|
15734
15788
|
fetchClaims();
|
|
15735
15789
|
}, [fetchClaims]);
|
|
15736
15790
|
const surveyModel = useMemo41(() => {
|
|
@@ -15825,6 +15879,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15825
15879
|
verificationProof = udidResponse.url;
|
|
15826
15880
|
console.log("\u{1F50D} verificationProof set to:", verificationProof);
|
|
15827
15881
|
}
|
|
15882
|
+
const paymentCoin = buildPaymentCoin();
|
|
15828
15883
|
await handlers.evaluateClaim(
|
|
15829
15884
|
currentUser.address,
|
|
15830
15885
|
// granteeAddress (evaluator address)
|
|
@@ -15838,8 +15893,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15838
15893
|
// EvaluationStatus.APPROVED
|
|
15839
15894
|
verificationProof,
|
|
15840
15895
|
// URL of the stored UDID
|
|
15841
|
-
amount:
|
|
15842
|
-
// Optional - pass undefined for now
|
|
15896
|
+
amount: paymentCoin
|
|
15843
15897
|
}
|
|
15844
15898
|
);
|
|
15845
15899
|
handleBackToList();
|
|
@@ -15848,7 +15902,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15848
15902
|
setSurveyError(error2 instanceof Error ? error2.message : "Failed to approve claim");
|
|
15849
15903
|
setEvaluating(false);
|
|
15850
15904
|
}
|
|
15851
|
-
}, [selectedClaim, handlers, deedId, collectionId, adminAddress, evaluationResult, handleBackToList, onEvaluationComplete, editor]);
|
|
15905
|
+
}, [selectedClaim, handlers, deedId, collectionId, adminAddress, evaluationResult, handleBackToList, onEvaluationComplete, editor, buildPaymentCoin]);
|
|
15852
15906
|
const handleReject = useCallback39(async () => {
|
|
15853
15907
|
if (!selectedClaim) return;
|
|
15854
15908
|
try {
|
|
@@ -15918,6 +15972,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15918
15972
|
verificationProof = udidResponse.url;
|
|
15919
15973
|
console.log("\u{1F50D} verificationProof set to:", verificationProof);
|
|
15920
15974
|
}
|
|
15975
|
+
const paymentCoin = buildPaymentCoin();
|
|
15921
15976
|
await handlers.evaluateClaim(
|
|
15922
15977
|
currentUser.address,
|
|
15923
15978
|
// granteeAddress (evaluator address)
|
|
@@ -15931,8 +15986,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15931
15986
|
// EvaluationStatus.REJECTED
|
|
15932
15987
|
verificationProof,
|
|
15933
15988
|
// URL of the stored UDID
|
|
15934
|
-
amount:
|
|
15935
|
-
// Optional - pass undefined for now
|
|
15989
|
+
amount: paymentCoin
|
|
15936
15990
|
}
|
|
15937
15991
|
);
|
|
15938
15992
|
handleBackToList();
|
|
@@ -15942,7 +15996,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15942
15996
|
} finally {
|
|
15943
15997
|
setEvaluating(false);
|
|
15944
15998
|
}
|
|
15945
|
-
}, [selectedClaim, handlers, deedId, collectionId, adminAddress, evaluationResult, handleBackToList, onEvaluationComplete, editor]);
|
|
15999
|
+
}, [selectedClaim, handlers, deedId, collectionId, adminAddress, evaluationResult, handleBackToList, onEvaluationComplete, editor, buildPaymentCoin]);
|
|
15946
16000
|
const isClaimAlreadyEvaluated = useMemo41(() => {
|
|
15947
16001
|
if (!selectedClaim) return false;
|
|
15948
16002
|
if ("status" in selectedClaim && selectedClaim.status) {
|
|
@@ -15981,7 +16035,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
15981
16035
|
marginBottom: "1rem"
|
|
15982
16036
|
}
|
|
15983
16037
|
},
|
|
15984
|
-
/* @__PURE__ */ React148.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React148.createElement(ActionIcon24, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React148.createElement(IconArrowLeft4, { size: 20 })), /* @__PURE__ */ React148.createElement(
|
|
16038
|
+
/* @__PURE__ */ React148.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React148.createElement(ActionIcon24, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React148.createElement(IconArrowLeft4, { size: 20 })), /* @__PURE__ */ React148.createElement(Title6, { order: 3 }, viewMode === "list" ? `${collectionName} - Claims` : `Evaluate Claim #${selectedClaim?.claimId}`), viewMode === "list" && !loading && claims.length > 0 && /* @__PURE__ */ React148.createElement(Badge23, { size: "lg", variant: "light" }, claims.length)),
|
|
15985
16039
|
/* @__PURE__ */ React148.createElement(Group51, { gap: "xs" }, viewMode === "list" && /* @__PURE__ */ React148.createElement(ActionIcon24, { variant: "subtle", onClick: fetchClaims, loading, title: "Refresh claims" }, /* @__PURE__ */ React148.createElement(IconRefresh3, { size: 18 })), /* @__PURE__ */ React148.createElement(CloseButton5, { onClick: closePanel }))
|
|
15986
16040
|
),
|
|
15987
16041
|
/* @__PURE__ */ React148.createElement(
|
|
@@ -16039,7 +16093,22 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
16039
16093
|
rightSection: evaluationLoading ? /* @__PURE__ */ React148.createElement(Loader17, { size: 12 }) : evaluationResult?.trace?.result?.outcome ? /* @__PURE__ */ React148.createElement(Badge23, { size: "xs", color: evaluationResult.trace.result.outcome === "pass" ? "green" : evaluationResult.trace.result.outcome === "fail" ? "red" : "orange" }, evaluationResult.trace.result.outcome) : null
|
|
16040
16094
|
},
|
|
16041
16095
|
"AI Evaluation"
|
|
16042
|
-
)), /* @__PURE__ */ React148.createElement(Tabs3.Panel, { value: "submission", style: { flex: 1, overflow: "hidden", display: activeTab === "submission" ? "flex" : "none" } }, /* @__PURE__ */ React148.createElement(ScrollArea6, { style: { flex: 1 } }, /* @__PURE__ */ React148.createElement("div", { style: surveyContainerStyle }, surveyModel && /* @__PURE__ */ React148.createElement(Survey4, { model: surveyModel })))), /* @__PURE__ */ React148.createElement(Tabs3.Panel, { value: "evaluation", style: { flex: 1, overflow: "hidden", display: activeTab === "evaluation" ? "flex" : "none" } }, /* @__PURE__ */ React148.createElement(ScrollArea6, { style: { flex: 1, padding: "1rem" } }, evaluationLoading ? /* @__PURE__ */ React148.createElement(Stack110, { align: "center", justify: "center", py: "xl" }, /* @__PURE__ */ React148.createElement(Loader17, { size: "lg" }), /* @__PURE__ */ React148.createElement(Text84, { size: "sm", c: "dimmed" }, "Running AI evaluation...")) : evaluationResult ? /* @__PURE__ */ React148.createElement(RubricEvaluationResults, { evaluation: evaluationResult }) : rubricData === null && !evaluationLoading ? /* @__PURE__ */ React148.createElement(Alert19, { color: "yellow", title: "No Rubric Available", icon: /* @__PURE__ */ React148.createElement(IconChecklist3, { size: 18 }) }, /* @__PURE__ */ React148.createElement(Text84, { size: "sm" }, "No evaluation rubric is configured for this deed. Manual evaluation is required.")) : /* @__PURE__ */ React148.createElement(Alert19, { color: "gray", title: "Evaluation Not Available", icon: /* @__PURE__ */ React148.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React148.createElement(Text84, { size: "sm" }, "Evaluation data is not available for this claim."))))), /* @__PURE__ */ React148.createElement(Divider13, null), /* @__PURE__ */ React148.createElement(
|
|
16096
|
+
)), /* @__PURE__ */ React148.createElement(Tabs3.Panel, { value: "submission", style: { flex: 1, overflow: "hidden", display: activeTab === "submission" ? "flex" : "none" } }, /* @__PURE__ */ React148.createElement(ScrollArea6, { style: { flex: 1 } }, /* @__PURE__ */ React148.createElement("div", { style: surveyContainerStyle }, surveyModel && /* @__PURE__ */ React148.createElement(Survey4, { model: surveyModel })))), /* @__PURE__ */ React148.createElement(Tabs3.Panel, { value: "evaluation", style: { flex: 1, overflow: "hidden", display: activeTab === "evaluation" ? "flex" : "none" } }, /* @__PURE__ */ React148.createElement(ScrollArea6, { style: { flex: 1, padding: "1rem" } }, evaluationLoading ? /* @__PURE__ */ React148.createElement(Stack110, { align: "center", justify: "center", py: "xl" }, /* @__PURE__ */ React148.createElement(Loader17, { size: "lg" }), /* @__PURE__ */ React148.createElement(Text84, { size: "sm", c: "dimmed" }, "Running AI evaluation...")) : evaluationResult ? /* @__PURE__ */ React148.createElement(RubricEvaluationResults, { evaluation: evaluationResult }) : rubricData === null && !evaluationLoading ? /* @__PURE__ */ React148.createElement(Alert19, { color: "yellow", title: "No Rubric Available", icon: /* @__PURE__ */ React148.createElement(IconChecklist3, { size: 18 }) }, /* @__PURE__ */ React148.createElement(Text84, { size: "sm" }, "No evaluation rubric is configured for this deed. Manual evaluation is required.")) : /* @__PURE__ */ React148.createElement(Alert19, { color: "gray", title: "Evaluation Not Available", icon: /* @__PURE__ */ React148.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React148.createElement(Text84, { size: "sm" }, "Evaluation data is not available for this claim."))))), /* @__PURE__ */ React148.createElement(Divider13, null), /* @__PURE__ */ React148.createElement(Box35, null, /* @__PURE__ */ React148.createElement(Text84, { size: "sm", fw: 500, c: "dimmed", mb: "xs" }, "Payment Amount (Optional)"), /* @__PURE__ */ React148.createElement(Group51, { grow: true }, /* @__PURE__ */ React148.createElement(
|
|
16097
|
+
Select4,
|
|
16098
|
+
{
|
|
16099
|
+
data: COIN_OPTIONS,
|
|
16100
|
+
value: selectedDenom,
|
|
16101
|
+
onChange: setSelectedDenom,
|
|
16102
|
+
allowDeselect: false,
|
|
16103
|
+
styles: {
|
|
16104
|
+
input: {
|
|
16105
|
+
backgroundColor: "#1a1a1a",
|
|
16106
|
+
borderColor: "#333",
|
|
16107
|
+
color: "#f1f3f5"
|
|
16108
|
+
}
|
|
16109
|
+
}
|
|
16110
|
+
}
|
|
16111
|
+
), /* @__PURE__ */ React148.createElement(BaseNumberInput, { placeholder: "0", min: 0, value: paymentAmount, onChange: (val) => setPaymentAmount(val) }))), /* @__PURE__ */ React148.createElement(Stack110, { gap: "sm" }, /* @__PURE__ */ React148.createElement(Group51, { grow: true }, /* @__PURE__ */ React148.createElement(Button31, { color: "green", onClick: handleApprove, loading: evaluating, disabled: evaluating || isClaimAlreadyEvaluated }, "Approve Claim"), /* @__PURE__ */ React148.createElement(Button31, { color: "red", variant: "outline", onClick: handleReject, loading: evaluating, disabled: evaluating || isClaimAlreadyEvaluated }, "Reject Claim")), evaluationResult?.trace?.result?.outcome === "escalated" && /* @__PURE__ */ React148.createElement(Alert19, { color: "orange", title: "Escalation Required", icon: /* @__PURE__ */ React148.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React148.createElement(Text84, { size: "sm" }, "This claim has been flagged for human review. Please carefully review all details before making a decision.", evaluationResult.trace.result.escalatedTo && /* @__PURE__ */ React148.createElement(Text84, { size: "xs", c: "dimmed", mt: "xs" }, "Escalated to: ", evaluationResult.trace.result.escalatedTo)))))
|
|
16043
16112
|
)
|
|
16044
16113
|
)
|
|
16045
16114
|
);
|
|
@@ -16327,7 +16396,7 @@ var ClaimFlowView = ({ editor, block }) => {
|
|
|
16327
16396
|
if (selectedCollectionIds.length === 0) {
|
|
16328
16397
|
return /* @__PURE__ */ React151.createElement(Center9, { py: "xl" }, /* @__PURE__ */ React151.createElement(Text87, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
16329
16398
|
}
|
|
16330
|
-
return /* @__PURE__ */ React151.createElement(Stack113, { w: "100%" }, /* @__PURE__ */ React151.createElement(Flex27, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React151.createElement(
|
|
16399
|
+
return /* @__PURE__ */ React151.createElement(Stack113, { w: "100%" }, /* @__PURE__ */ React151.createElement(Flex27, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React151.createElement(Title7, { order: 4 }, title), /* @__PURE__ */ React151.createElement(Flex27, { gap: "xs" }, /* @__PURE__ */ React151.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React151.createElement(ActionIcon26, { variant: "subtle", size: "sm", onClick: stableRefetch, loading }, /* @__PURE__ */ React151.createElement(IconRefresh4, { size: 18 })), editable && /* @__PURE__ */ React151.createElement(ActionIcon26, { variant: "subtle", size: "sm", onClick: open }, /* @__PURE__ */ React151.createElement(IconSettings3, { size: 18 })))), loading ? /* @__PURE__ */ React151.createElement(Center9, { py: "xl" }, /* @__PURE__ */ React151.createElement(Loader19, { size: "md" })) : error ? /* @__PURE__ */ React151.createElement(Alert20, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React151.createElement(IconAlertCircle5, { size: 18 }) }, /* @__PURE__ */ React151.createElement(Text87, { size: "sm" }, error)) : /* @__PURE__ */ React151.createElement(
|
|
16331
16400
|
ClaimCollectionsList,
|
|
16332
16401
|
{
|
|
16333
16402
|
listType: "claims",
|
|
@@ -16769,7 +16838,7 @@ var BidTemplateView = ({ editor, block }) => {
|
|
|
16769
16838
|
|
|
16770
16839
|
// src/mantine/blocks/bid/flow/components/FlowView.tsx
|
|
16771
16840
|
import React157, { useMemo as useMemo46, useRef as useRef12, useEffect as useEffect46, useCallback as useCallback43 } from "react";
|
|
16772
|
-
import { Stack as Stack115, Text as Text89, Loader as Loader20, Center as Center10, Alert as Alert21, Title as
|
|
16841
|
+
import { Stack as Stack115, Text as Text89, Loader as Loader20, Center as Center10, Alert as Alert21, Title as Title8, Flex as Flex28, ActionIcon as ActionIcon27 } from "@mantine/core";
|
|
16773
16842
|
import { IconSettings as IconSettings4, IconRefresh as IconRefresh5, IconAlertCircle as IconAlertCircle6 } from "@tabler/icons-react";
|
|
16774
16843
|
var BID_FLOW_PANEL_ID = "bid-flow-panel";
|
|
16775
16844
|
var BID_ASSIGNMENT_PANEL_ID2 = "bid-assignment-panel";
|
|
@@ -16882,7 +16951,7 @@ var BidFlowView = ({ editor, block }) => {
|
|
|
16882
16951
|
if (selectedCollectionIds.length === 0) {
|
|
16883
16952
|
return /* @__PURE__ */ React157.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React157.createElement(Text89, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
16884
16953
|
}
|
|
16885
|
-
return /* @__PURE__ */ React157.createElement(Stack115, { w: "100%" }, /* @__PURE__ */ React157.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React157.createElement(
|
|
16954
|
+
return /* @__PURE__ */ React157.createElement(Stack115, { w: "100%" }, /* @__PURE__ */ React157.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React157.createElement(Title8, { order: 4 }, title), /* @__PURE__ */ React157.createElement(Flex28, { gap: "xs" }, /* @__PURE__ */ React157.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React157.createElement(ActionIcon27, { variant: "subtle", size: "sm", onClick: stableRefetch, loading }, /* @__PURE__ */ React157.createElement(IconRefresh5, { size: 18 })), editable && /* @__PURE__ */ React157.createElement(ActionIcon27, { variant: "subtle", size: "sm", onClick: open }, /* @__PURE__ */ React157.createElement(IconSettings4, { size: 18 })))), loading ? /* @__PURE__ */ React157.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React157.createElement(Loader20, { size: "md" })) : error ? /* @__PURE__ */ React157.createElement(Alert21, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React157.createElement(IconAlertCircle6, { size: 18 }) }, /* @__PURE__ */ React157.createElement(Text89, { size: "sm" }, error)) : /* @__PURE__ */ React157.createElement(
|
|
16886
16955
|
ClaimCollectionsList,
|
|
16887
16956
|
{
|
|
16888
16957
|
listType: "bids",
|
|
@@ -17109,7 +17178,7 @@ var EvaluatorTemplateView = ({ editor, block }) => {
|
|
|
17109
17178
|
|
|
17110
17179
|
// src/mantine/blocks/evaluator/flow/FlowView.tsx
|
|
17111
17180
|
import React163, { useMemo as useMemo49 } from "react";
|
|
17112
|
-
import { Stack as Stack117, Text as Text91, Loader as Loader21, Center as Center11, Alert as Alert22, Title as
|
|
17181
|
+
import { Stack as Stack117, Text as Text91, Loader as Loader21, Center as Center11, Alert as Alert22, Title as Title9, Flex as Flex29, ActionIcon as ActionIcon28 } from "@mantine/core";
|
|
17113
17182
|
import { IconSettings as IconSettings5, IconRefresh as IconRefresh6, IconAlertCircle as IconAlertCircle7 } from "@tabler/icons-react";
|
|
17114
17183
|
var EVALUATOR_ASSIGNMENT_PANEL_ID2 = "evaluator-assignment-panel";
|
|
17115
17184
|
var EvaluatorFlowView = ({ editor, block }) => {
|
|
@@ -17140,7 +17209,7 @@ var EvaluatorFlowView = ({ editor, block }) => {
|
|
|
17140
17209
|
if (selectedCollectionIds.length === 0) {
|
|
17141
17210
|
return /* @__PURE__ */ React163.createElement(Center11, { py: "xl" }, /* @__PURE__ */ React163.createElement(Text91, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
17142
17211
|
}
|
|
17143
|
-
return /* @__PURE__ */ React163.createElement(Stack117, { w: "100%" }, /* @__PURE__ */ React163.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React163.createElement(
|
|
17212
|
+
return /* @__PURE__ */ React163.createElement(Stack117, { w: "100%" }, /* @__PURE__ */ React163.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React163.createElement(Title9, { order: 4 }, title), /* @__PURE__ */ React163.createElement(Flex29, { gap: "xs" }, /* @__PURE__ */ React163.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React163.createElement(ActionIcon28, { variant: "subtle", size: "sm", onClick: refetch, loading }, /* @__PURE__ */ React163.createElement(IconRefresh6, { size: 18 })), editable && /* @__PURE__ */ React163.createElement(ActionIcon28, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React163.createElement(IconSettings5, { size: 18 })))), loading ? /* @__PURE__ */ React163.createElement(Center11, { py: "xl" }, /* @__PURE__ */ React163.createElement(Loader21, { size: "md" })) : error ? /* @__PURE__ */ React163.createElement(Alert22, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React163.createElement(IconAlertCircle7, { size: 18 }) }, /* @__PURE__ */ React163.createElement(Text91, { size: "sm" }, error)) : /* @__PURE__ */ React163.createElement(ClaimCollectionsList, { listType: "evaluations", collections, deedId: did, adminAddress, userAddress, onRefresh: refetch }));
|
|
17144
17213
|
};
|
|
17145
17214
|
|
|
17146
17215
|
// src/mantine/blocks/evaluator/EvaluatorBlock.tsx
|
|
@@ -17193,7 +17262,7 @@ import { createReactBlockSpec as createReactBlockSpec12 } from "@blocknote/react
|
|
|
17193
17262
|
|
|
17194
17263
|
// src/mantine/blocks/visualization/VisualizationBlock.tsx
|
|
17195
17264
|
import React166, { useMemo as useMemo50, useCallback as useCallback46, useRef as useRef13, useState as useState62, useEffect as useEffect48 } from "react";
|
|
17196
|
-
import { Box as
|
|
17265
|
+
import { Box as Box36, Stack as Stack118, Text as Text92, Paper as Paper15, Group as Group54 } from "@mantine/core";
|
|
17197
17266
|
function VisualizationBlock({ block, editor }) {
|
|
17198
17267
|
const { visualizationRenderer } = useBlocknoteContext();
|
|
17199
17268
|
const { vizType, config, title, preferences } = block.props;
|
|
@@ -17248,7 +17317,7 @@ function VisualizationBlock({ block, editor }) {
|
|
|
17248
17317
|
if (visualizationRenderer) {
|
|
17249
17318
|
const renderedContent = visualizationRenderer(vizType, parsedConfig, parsedPreferences, handlePreferencesChange);
|
|
17250
17319
|
if (renderedContent) {
|
|
17251
|
-
return /* @__PURE__ */ React166.createElement(
|
|
17320
|
+
return /* @__PURE__ */ React166.createElement(Box36, { ref: containerRef, w: "100%", miw: 200, mih: 200 }, hasValidDimensions ? renderedContent : null);
|
|
17252
17321
|
}
|
|
17253
17322
|
}
|
|
17254
17323
|
return /* @__PURE__ */ React166.createElement(Paper15, { p: "lg", withBorder: true, radius: "lg", w: "100%" }, /* @__PURE__ */ React166.createElement(Stack118, { gap: "sm" }, /* @__PURE__ */ React166.createElement(Text92, { fz: "18", ta: "center" }, "Visualization Block"), /* @__PURE__ */ React166.createElement(Paper15, { p: "sm", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React166.createElement(Stack118, { gap: "xs" }, !title && /* @__PURE__ */ React166.createElement(Group54, { gap: "xs" }, /* @__PURE__ */ React166.createElement(Text92, { size: "xs", c: "dimmed", fw: 500 }, "Title:"), /* @__PURE__ */ React166.createElement(Text92, { size: "xs", c: "white" }, title || "No title")), /* @__PURE__ */ React166.createElement(Group54, { gap: "xs" }, /* @__PURE__ */ React166.createElement(Text92, { size: "xs", c: "dimmed", fw: 500 }, "Type:"), /* @__PURE__ */ React166.createElement(Text92, { size: "xs", c: "white" }, vizType)))), /* @__PURE__ */ React166.createElement(Text92, { c: "dimmed", fz: "sm", fs: "italic", ta: "center" }, "View in a compatible client to see the full visualization.")));
|
|
@@ -18798,7 +18867,7 @@ import React177, { useCallback as useCallback52, useMemo as useMemo55 } from "re
|
|
|
18798
18867
|
|
|
18799
18868
|
// src/mantine/blocks/email/template/GeneralTab.tsx
|
|
18800
18869
|
import React175, { useEffect as useEffect51, useState as useState66, useCallback as useCallback50, useRef as useRef15 } from "react";
|
|
18801
|
-
import { Divider as Divider14, Loader as Loader23, Select as
|
|
18870
|
+
import { Divider as Divider14, Loader as Loader23, Select as Select5, Stack as Stack122, Text as Text96 } from "@mantine/core";
|
|
18802
18871
|
var GeneralTab10 = ({ editor, blockId, getCurrentBlock, onTitleChange, onTemplateChange, onToChange }) => {
|
|
18803
18872
|
const handlers = useBlocknoteHandlers();
|
|
18804
18873
|
const block = getCurrentBlock();
|
|
@@ -18897,7 +18966,7 @@ var GeneralTab10 = ({ editor, blockId, getCurrentBlock, onTitleChange, onTemplat
|
|
|
18897
18966
|
}
|
|
18898
18967
|
}
|
|
18899
18968
|
)), /* @__PURE__ */ React175.createElement(Divider14, { variant: "dashed" }), /* @__PURE__ */ React175.createElement(Stack122, { gap: "xs" }, /* @__PURE__ */ React175.createElement(Text96, { size: "sm", fw: 600 }, "Email Template"), /* @__PURE__ */ React175.createElement(Text96, { size: "xs", c: "dimmed" }, "Select a Mailgun template to use for this email."), /* @__PURE__ */ React175.createElement(
|
|
18900
|
-
|
|
18969
|
+
Select5,
|
|
18901
18970
|
{
|
|
18902
18971
|
placeholder: loadingTemplates ? "Loading templates..." : "Select a template",
|
|
18903
18972
|
data: templates.map((t) => ({ value: t.name, label: t.name })),
|
|
@@ -19329,7 +19398,7 @@ import React183, { useCallback as useCallback54 } from "react";
|
|
|
19329
19398
|
|
|
19330
19399
|
// src/mantine/blocks/protocolSelector/template/GeneralTab.tsx
|
|
19331
19400
|
import React182, { useEffect as useEffect53, useMemo as useMemo58, useState as useState69 } from "react";
|
|
19332
|
-
import { Divider as Divider17, Stack as Stack126, Text as Text100, PillsInput as PillsInput2, Pill as Pill2, Box as
|
|
19401
|
+
import { Divider as Divider17, Stack as Stack126, Text as Text100, PillsInput as PillsInput2, Pill as Pill2, Box as Box37 } from "@mantine/core";
|
|
19333
19402
|
var GeneralTab11 = ({ title, description, protocolDids, onTitleChange, onDescriptionChange, onProtocolDidsChange }) => {
|
|
19334
19403
|
const [localTitle, setLocalTitle] = useState69(title || "");
|
|
19335
19404
|
const [localDescription, setLocalDescription] = useState69(description || "");
|
|
@@ -19397,7 +19466,7 @@ var GeneralTab11 = ({ title, description, protocolDids, onTitleChange, onDescrip
|
|
|
19397
19466
|
}
|
|
19398
19467
|
}
|
|
19399
19468
|
}
|
|
19400
|
-
))), localDids.length > 0 && /* @__PURE__ */ React182.createElement(
|
|
19469
|
+
))), localDids.length > 0 && /* @__PURE__ */ React182.createElement(Box37, { mt: "xs" }, /* @__PURE__ */ React182.createElement(Text100, { size: "xs", c: "dimmed" }, localDids.length, " protocol", localDids.length !== 1 ? "s" : "", " configured"))));
|
|
19401
19470
|
};
|
|
19402
19471
|
|
|
19403
19472
|
// src/mantine/blocks/protocolSelector/template/TemplateConfig.tsx
|
|
@@ -19440,7 +19509,7 @@ var TemplateConfig11 = ({ editor, block }) => {
|
|
|
19440
19509
|
};
|
|
19441
19510
|
|
|
19442
19511
|
// src/mantine/blocks/protocolSelector/template/TemplateView.tsx
|
|
19443
|
-
import { Box as
|
|
19512
|
+
import { Box as Box38, Group as Group61, Stack as Stack127, Text as Text101 } from "@mantine/core";
|
|
19444
19513
|
import { IconCircleDashed as IconCircleDashed2 } from "@tabler/icons-react";
|
|
19445
19514
|
var PROTOCOL_SELECTOR_TEMPLATE_PANEL_ID = "protocol-selector-template-panel";
|
|
19446
19515
|
var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
@@ -19456,7 +19525,7 @@ var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
|
19456
19525
|
}
|
|
19457
19526
|
}, [block.props.protocolDids]);
|
|
19458
19527
|
return /* @__PURE__ */ React184.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React184.createElement(Group61, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React184.createElement(Group61, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React184.createElement(
|
|
19459
|
-
|
|
19528
|
+
Box38,
|
|
19460
19529
|
{
|
|
19461
19530
|
style: {
|
|
19462
19531
|
width: 40,
|
|
@@ -19474,12 +19543,12 @@ var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
|
19474
19543
|
|
|
19475
19544
|
// src/mantine/blocks/protocolSelector/flow/FlowView.tsx
|
|
19476
19545
|
import React187, { useMemo as useMemo61 } from "react";
|
|
19477
|
-
import { Badge as Badge29, Box as
|
|
19546
|
+
import { Badge as Badge29, Box as Box40, Group as Group63, Stack as Stack129, Text as Text103, Tooltip as Tooltip18 } from "@mantine/core";
|
|
19478
19547
|
import { IconCircleDashed as IconCircleDashed3, IconChecks } from "@tabler/icons-react";
|
|
19479
19548
|
|
|
19480
19549
|
// src/mantine/blocks/protocolSelector/flow/ProtocolSelectionPanel.tsx
|
|
19481
19550
|
import React186, { useState as useState70, useEffect as useEffect54, useMemo as useMemo60, useCallback as useCallback55 } from "react";
|
|
19482
|
-
import { Stack as Stack128, Text as Text102, Box as
|
|
19551
|
+
import { Stack as Stack128, Text as Text102, Box as Box39, Group as Group62, Loader as Loader25 } from "@mantine/core";
|
|
19483
19552
|
|
|
19484
19553
|
// src/icons/EntityAvatar.tsx
|
|
19485
19554
|
import React185 from "react";
|
|
@@ -19601,10 +19670,10 @@ var ProtocolSelectionPanel = ({ editor, block }) => {
|
|
|
19601
19670
|
[editor, block, closePanel]
|
|
19602
19671
|
);
|
|
19603
19672
|
const selectedDid = block.props.selectedProtocolDid;
|
|
19604
|
-
return /* @__PURE__ */ React186.createElement(BaseRightPanelLayout, { title: block.props.title || "Select Protocol", onClose: closePanel }, /* @__PURE__ */ React186.createElement(Stack128, { gap: "sm", style: { flex: 1, overflow: "auto" } }, protocols.length === 0 ? /* @__PURE__ */ React186.createElement(
|
|
19673
|
+
return /* @__PURE__ */ React186.createElement(BaseRightPanelLayout, { title: block.props.title || "Select Protocol", onClose: closePanel }, /* @__PURE__ */ React186.createElement(Stack128, { gap: "sm", style: { flex: 1, overflow: "auto" } }, protocols.length === 0 ? /* @__PURE__ */ React186.createElement(Box39, { py: "md" }, /* @__PURE__ */ React186.createElement(Text102, { c: "dimmed", ta: "center" }, "No protocols configured.", /* @__PURE__ */ React186.createElement("br", null), "Add protocol DIDs in template mode.")) : protocols.map((protocol) => {
|
|
19605
19674
|
const isSelected = protocol.did === selectedDid;
|
|
19606
19675
|
return /* @__PURE__ */ React186.createElement(
|
|
19607
|
-
|
|
19676
|
+
Box39,
|
|
19608
19677
|
{
|
|
19609
19678
|
key: protocol.did,
|
|
19610
19679
|
onClick: () => !protocol.loading && handleSelectProtocol(protocol),
|
|
@@ -19638,7 +19707,7 @@ var ProtocolSelectorFlowView = ({ editor, block, isDisabled }) => {
|
|
|
19638
19707
|
open();
|
|
19639
19708
|
};
|
|
19640
19709
|
const containerContent = /* @__PURE__ */ React187.createElement(BaseContainer, { onClick: disabled ? void 0 : handleClick }, /* @__PURE__ */ React187.createElement(Group63, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React187.createElement(Group63, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React187.createElement(
|
|
19641
|
-
|
|
19710
|
+
Box40,
|
|
19642
19711
|
{
|
|
19643
19712
|
style: {
|
|
19644
19713
|
display: "flex",
|
|
@@ -19650,7 +19719,7 @@ var ProtocolSelectorFlowView = ({ editor, block, isDisabled }) => {
|
|
|
19650
19719
|
/* @__PURE__ */ React187.createElement(IconCircleDashed3, { size: 26, color: "white" })
|
|
19651
19720
|
), /* @__PURE__ */ React187.createElement(Stack129, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React187.createElement(Text103, { fw: 500, size: "sm", lineClamp: 1, style: { opacity: disabled ? 0.5 : 1 } }, block.props.title || "Select Protocol"), isCompleted && block.props.selectedProtocolType ? /* @__PURE__ */ React187.createElement(Badge29, { size: "sm", styles: { root: { backgroundColor: "var(--mantine-primary-color-light)", color: "var(--mantine-primary-color-filled)" } } }, block.props.selectedProtocolType) : /* @__PURE__ */ React187.createElement(Text103, { size: "xs", c: "dimmed", style: { opacity: disabled ? 0.5 : 1 } }, "Selection"))), /* @__PURE__ */ React187.createElement(Stack129, { gap: 2, align: "flex-end" }, isCompleted ? /* @__PURE__ */ React187.createElement(React187.Fragment, null, /* @__PURE__ */ React187.createElement(Group63, { gap: 4 }, /* @__PURE__ */ React187.createElement(IconChecks, { size: 16, color: "var(--mantine-color-green-4)" }), /* @__PURE__ */ React187.createElement(Text103, { size: "sm", c: "green.4", fw: 500 }, "Completed")), /* @__PURE__ */ React187.createElement(Text103, { size: "xs", c: "dimmed", lineClamp: 1 }, block.props.selectedProtocolName || block.props.selectedProtocolDid)) : /* @__PURE__ */ React187.createElement(React187.Fragment, null, /* @__PURE__ */ React187.createElement(Text103, { size: "sm" }, "Pending"), /* @__PURE__ */ React187.createElement(Text103, { size: "xs", c: "dimmed" }, "Complete now")))));
|
|
19652
19721
|
if (disabled && isDisabled?.message) {
|
|
19653
|
-
return /* @__PURE__ */ React187.createElement(Tooltip18, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React187.createElement(
|
|
19722
|
+
return /* @__PURE__ */ React187.createElement(Tooltip18, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React187.createElement(Box40, { style: { cursor: "not-allowed" } }, containerContent));
|
|
19654
19723
|
}
|
|
19655
19724
|
return containerContent;
|
|
19656
19725
|
};
|
|
@@ -19742,7 +19811,7 @@ import { Badge as Badge30, Group as Group64, Stack as Stack130, Text as Text105
|
|
|
19742
19811
|
|
|
19743
19812
|
// src/mantine/blocks/form/template/TemplateConfig.tsx
|
|
19744
19813
|
import React191, { useCallback as useCallback56 } from "react";
|
|
19745
|
-
import { Paper as Paper16, CloseButton as CloseButton6, Title as
|
|
19814
|
+
import { Paper as Paper16, CloseButton as CloseButton6, Title as Title10 } from "@mantine/core";
|
|
19746
19815
|
|
|
19747
19816
|
// src/mantine/blocks/form/template/GeneralTab.tsx
|
|
19748
19817
|
import React190, { useEffect as useEffect55, useState as useState71 } from "react";
|
|
@@ -19858,7 +19927,7 @@ var TemplateConfig12 = ({ editor, block }) => {
|
|
|
19858
19927
|
marginBottom: "1rem"
|
|
19859
19928
|
}
|
|
19860
19929
|
},
|
|
19861
|
-
/* @__PURE__ */ React191.createElement(
|
|
19930
|
+
/* @__PURE__ */ React191.createElement(Title10, { order: 3 }, "Form Settings"),
|
|
19862
19931
|
/* @__PURE__ */ React191.createElement(CloseButton6, { onClick: closePanel })
|
|
19863
19932
|
),
|
|
19864
19933
|
/* @__PURE__ */ React191.createElement(
|
|
@@ -20282,7 +20351,7 @@ function buildGovernanceGroupLinkedEntities(linkedEntities) {
|
|
|
20282
20351
|
}
|
|
20283
20352
|
|
|
20284
20353
|
// src/mantine/components/Base/BaseSigning.tsx
|
|
20285
|
-
import { Badge as Badge33, Box as
|
|
20354
|
+
import { Badge as Badge33, Box as Box41, Flex as Flex30, Group as Group67, Slider, Stack as Stack133, Tabs as Tabs4, Text as Text109, Tooltip as Tooltip20 } from "@mantine/core";
|
|
20286
20355
|
import { IconClock as IconClock2, IconFeather as IconFeather2, IconUsers as IconUsers3, IconArrowsExchange as IconArrowsExchange2, IconCalendar as IconCalendar2, IconLeaf as IconLeaf2, IconBolt } from "@tabler/icons-react";
|
|
20287
20356
|
import React200, { useState as useState74 } from "react";
|
|
20288
20357
|
function BaseSigning({ handleSign }) {
|
|
@@ -20317,7 +20386,7 @@ function BaseSigning({ handleSign }) {
|
|
|
20317
20386
|
c: "var(--mantine-color-accent-2)",
|
|
20318
20387
|
fw: 400,
|
|
20319
20388
|
tt: "capitalize",
|
|
20320
|
-
leftSection: /* @__PURE__ */ React200.createElement(
|
|
20389
|
+
leftSection: /* @__PURE__ */ React200.createElement(Box41, { style: { display: "inline-flex", alignItems: "center", lineHeight: 1 } }, /* @__PURE__ */ React200.createElement(IconClock2, { size: 14 })),
|
|
20321
20390
|
styles: {
|
|
20322
20391
|
root: {
|
|
20323
20392
|
display: "inline-flex",
|
|
@@ -20327,7 +20396,7 @@ function BaseSigning({ handleSign }) {
|
|
|
20327
20396
|
},
|
|
20328
20397
|
"12h 5min"
|
|
20329
20398
|
)),
|
|
20330
|
-
/* @__PURE__ */ React200.createElement(
|
|
20399
|
+
/* @__PURE__ */ React200.createElement(Box41, { mb: "sm", bg: "neutralColor.5", p: 8, style: { borderRadius: 8 } }, /* @__PURE__ */ React200.createElement(
|
|
20331
20400
|
Tabs4,
|
|
20332
20401
|
{
|
|
20333
20402
|
value: activeTab,
|
|
@@ -20362,7 +20431,7 @@ function BaseSigning({ handleSign }) {
|
|
|
20362
20431
|
/* @__PURE__ */ React200.createElement(Tabs4.Panel, { value: "charge" }, /* @__PURE__ */ React200.createElement(Text109, { c: "white", size: "sm" }, "Charge content")),
|
|
20363
20432
|
/* @__PURE__ */ React200.createElement(Tabs4.Panel, { value: "impact" }, /* @__PURE__ */ React200.createElement(Text109, { c: "white", size: "sm" }, "Impact content"))
|
|
20364
20433
|
)),
|
|
20365
|
-
isSigned ? /* @__PURE__ */ React200.createElement(
|
|
20434
|
+
isSigned ? /* @__PURE__ */ React200.createElement(Box41, { bg: "dark.6", p: "sm", style: { borderRadius: "var(--mantine-radius-md)" } }, /* @__PURE__ */ React200.createElement(Group67, { justify: "center" }, /* @__PURE__ */ React200.createElement(Text109, { size: "sm", c: "dimmed" }, "Transaction signed successfully"))) : /* @__PURE__ */ React200.createElement(
|
|
20366
20435
|
Slider,
|
|
20367
20436
|
{
|
|
20368
20437
|
value,
|
|
@@ -20730,7 +20799,7 @@ import { Badge as Badge35, Group as Group70, Stack as Stack136, Text as Text112
|
|
|
20730
20799
|
|
|
20731
20800
|
// src/mantine/blocks/domainCardViewer/template/TemplateConfig.tsx
|
|
20732
20801
|
import React206, { useCallback as useCallback62 } from "react";
|
|
20733
|
-
import { Paper as Paper17, CloseButton as CloseButton7, Title as
|
|
20802
|
+
import { Paper as Paper17, CloseButton as CloseButton7, Title as Title11 } from "@mantine/core";
|
|
20734
20803
|
|
|
20735
20804
|
// src/mantine/blocks/domainCardViewer/template/GeneralTab.tsx
|
|
20736
20805
|
import React205, { useEffect as useEffect59, useState as useState76 } from "react";
|
|
@@ -20817,7 +20886,7 @@ var TemplateConfig14 = ({ editor, block }) => {
|
|
|
20817
20886
|
marginBottom: "1rem"
|
|
20818
20887
|
}
|
|
20819
20888
|
},
|
|
20820
|
-
/* @__PURE__ */ React206.createElement(
|
|
20889
|
+
/* @__PURE__ */ React206.createElement(Title11, { order: 5 }, "Domain Card Settings"),
|
|
20821
20890
|
/* @__PURE__ */ React206.createElement(CloseButton7, { onClick: closePanel })
|
|
20822
20891
|
),
|
|
20823
20892
|
/* @__PURE__ */ React206.createElement(
|
|
@@ -20862,7 +20931,7 @@ import { IconChevronRight as IconChevronRight9, IconLoader, IconTestPipe, IconTr
|
|
|
20862
20931
|
|
|
20863
20932
|
// src/mantine/blocks/domainCardViewer/flow/ViewerPanel.tsx
|
|
20864
20933
|
import React208, { useMemo as useMemo68 } from "react";
|
|
20865
|
-
import { Paper as Paper18, CloseButton as CloseButton8, Title as
|
|
20934
|
+
import { Paper as Paper18, CloseButton as CloseButton8, Title as Title12, Stack as Stack137, Text as Text113, Loader as Loader27, Alert as Alert28, Button as Button35, Box as Box42, ScrollArea as ScrollArea7, Code as Code6 } from "@mantine/core";
|
|
20866
20935
|
import { IconAlertCircle as IconAlertCircle12, IconCheck as IconCheck10, IconSparkles as IconSparkles3 } from "@tabler/icons-react";
|
|
20867
20936
|
function parsePreviewData(jsonString) {
|
|
20868
20937
|
if (!jsonString || jsonString === "{}") return null;
|
|
@@ -20873,7 +20942,7 @@ function parsePreviewData(jsonString) {
|
|
|
20873
20942
|
}
|
|
20874
20943
|
}
|
|
20875
20944
|
var JsonViewer = ({ data }) => {
|
|
20876
|
-
return /* @__PURE__ */ React208.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React208.createElement(Stack137, { gap: "md" }, data.name && /* @__PURE__ */ React208.createElement(
|
|
20945
|
+
return /* @__PURE__ */ React208.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React208.createElement(Stack137, { gap: "md" }, data.name && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React208.createElement(Text113, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React208.createElement(Text113, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React208.createElement(Text113, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React208.createElement(Text113, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React208.createElement(Text113, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React208.createElement(Stack137, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React208.createElement(Box42, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React208.createElement(Text113, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React208.createElement(Box42, null, /* @__PURE__ */ React208.createElement(Text113, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React208.createElement(Code6, { block: true, style: { fontSize: 11, maxHeight: 200, overflow: "auto" } }, JSON.stringify(data, null, 2)))));
|
|
20877
20946
|
};
|
|
20878
20947
|
var ViewerPanel = ({ block, onApprove }) => {
|
|
20879
20948
|
const { closePanel } = usePanelStore();
|
|
@@ -20909,10 +20978,10 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
20909
20978
|
flexShrink: 0
|
|
20910
20979
|
}
|
|
20911
20980
|
},
|
|
20912
|
-
/* @__PURE__ */ React208.createElement(
|
|
20981
|
+
/* @__PURE__ */ React208.createElement(Title12, { order: 5 }, block.props.title || "Domain Card"),
|
|
20913
20982
|
/* @__PURE__ */ React208.createElement(CloseButton8, { onClick: closePanel })
|
|
20914
20983
|
),
|
|
20915
|
-
/* @__PURE__ */ React208.createElement(
|
|
20984
|
+
/* @__PURE__ */ React208.createElement(Box42, { style: { flex: 1, overflow: "hidden", display: "flex", flexDirection: "column" } }, isLoading && /* @__PURE__ */ React208.createElement(Stack137, { align: "center", justify: "center", style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React208.createElement(Loader27, { size: "lg", color: "blue" }), /* @__PURE__ */ React208.createElement(Stack137, { align: "center", gap: "xs" }, /* @__PURE__ */ React208.createElement(IconSparkles3, { size: 24, color: "var(--mantine-color-blue-5)" }), /* @__PURE__ */ React208.createElement(Text113, { size: "sm", c: "dimmed", ta: "center" }, loadingMessage))), isError && /* @__PURE__ */ React208.createElement(Stack137, { style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React208.createElement(Alert28, { icon: /* @__PURE__ */ React208.createElement(IconAlertCircle12, { size: 16 }), title: "Error", color: "red", variant: "light" }, errorMessage), /* @__PURE__ */ React208.createElement(Text113, { size: "sm", c: "dimmed", ta: "center" }, "Please ask the oracle to try again.")), (isReady || isApproved) && hasData && /* @__PURE__ */ React208.createElement(Box42, { style: { flex: 1, overflow: "hidden" } }, domainCardRenderer ? (
|
|
20916
20985
|
// Use custom renderer from web app
|
|
20917
20986
|
/* @__PURE__ */ React208.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, domainCardRenderer(domainPreviewData))
|
|
20918
20987
|
) : (
|
|
@@ -20920,7 +20989,7 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
20920
20989
|
/* @__PURE__ */ React208.createElement(JsonViewer, { data: domainPreviewData })
|
|
20921
20990
|
)), !isLoading && !isError && !hasData && /* @__PURE__ */ React208.createElement(Stack137, { align: "center", justify: "center", style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React208.createElement(Text113, { size: "sm", c: "dimmed", ta: "center" }, "No domain data available yet."))),
|
|
20922
20991
|
isReady && hasData && /* @__PURE__ */ React208.createElement(
|
|
20923
|
-
|
|
20992
|
+
Box42,
|
|
20924
20993
|
{
|
|
20925
20994
|
pt: "md",
|
|
20926
20995
|
mt: "md",
|
|
@@ -20934,7 +21003,7 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
20934
21003
|
/* @__PURE__ */ React208.createElement(Button35, { fullWidth: true, color: "teal", leftSection: /* @__PURE__ */ React208.createElement(IconCheck10, { size: 16 }), onClick: onApprove }, "Approve")
|
|
20935
21004
|
),
|
|
20936
21005
|
isApproved && /* @__PURE__ */ React208.createElement(
|
|
20937
|
-
|
|
21006
|
+
Box42,
|
|
20938
21007
|
{
|
|
20939
21008
|
pt: "md",
|
|
20940
21009
|
mt: "md",
|
|
@@ -24440,7 +24509,7 @@ function useCreateCollaborativeIxoEditor(options) {
|
|
|
24440
24509
|
|
|
24441
24510
|
// src/mantine/components/Base/BaseIconPicker.tsx
|
|
24442
24511
|
import React229, { useState as useState85, useMemo as useMemo81, useEffect as useEffect69 } from "react";
|
|
24443
|
-
import { TextInput as TextInput7, Tabs as Tabs5, Box as
|
|
24512
|
+
import { TextInput as TextInput7, Tabs as Tabs5, Box as Box43, Stack as Stack148, UnstyledButton as UnstyledButton2, Text as Text123, Center as Center12, ScrollArea as ScrollArea8, Group as Group79, Popover as Popover4 } from "@mantine/core";
|
|
24444
24513
|
import * as TablerIcons from "@tabler/icons-react";
|
|
24445
24514
|
import { IconSearch as IconSearch6, IconX as IconX12, IconChevronLeft, IconChevronRight as IconChevronRight11 } from "@tabler/icons-react";
|
|
24446
24515
|
|
|
@@ -24536,7 +24605,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
24536
24605
|
return /* @__PURE__ */ React229.createElement(Center12, { py: "xl" }, /* @__PURE__ */ React229.createElement(Text123, { c: "dimmed", size: "sm" }, "No icons found"));
|
|
24537
24606
|
}
|
|
24538
24607
|
return /* @__PURE__ */ React229.createElement(
|
|
24539
|
-
|
|
24608
|
+
Box43,
|
|
24540
24609
|
{
|
|
24541
24610
|
style: {
|
|
24542
24611
|
display: "grid",
|
|
@@ -24606,7 +24675,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
24606
24675
|
}
|
|
24607
24676
|
}
|
|
24608
24677
|
}
|
|
24609
|
-
), !searchQuery && /* @__PURE__ */ React229.createElement(
|
|
24678
|
+
), !searchQuery && /* @__PURE__ */ React229.createElement(Box43, { mb: "md" }, /* @__PURE__ */ React229.createElement(Text123, { size: "sm", fw: 500, mb: "xs", px: "xs" }, "Recent"), /* @__PURE__ */ React229.createElement(ScrollArea8.Autosize, { scrollbarSize: 0, mah: 60 }, renderIconGrid(recentIcons))), /* @__PURE__ */ React229.createElement(Box43, null, /* @__PURE__ */ React229.createElement(Group79, { justify: "space-between", mb: "xs", px: "xs" }, /* @__PURE__ */ React229.createElement(Text123, { size: "sm", fw: 500 }, searchQuery ? "Results" : "Icons"), totalPages > 1 && /* @__PURE__ */ React229.createElement(Group79, { gap: "xs" }, /* @__PURE__ */ React229.createElement(Text123, { size: "xs", c: "dimmed" }, "Page ", currentPage, " of ", totalPages, " (", filteredIcons.length, " total)"), /* @__PURE__ */ React229.createElement(BaseButton, { size: "xs", onClick: () => setCurrentPage((p) => Math.max(1, p - 1)), disabled: currentPage === 1, leftSection: /* @__PURE__ */ React229.createElement(IconChevronLeft, { size: 14 }) }, "Prev"), /* @__PURE__ */ React229.createElement(
|
|
24610
24679
|
BaseButton,
|
|
24611
24680
|
{
|
|
24612
24681
|
size: "xs",
|
|
@@ -24621,7 +24690,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
24621
24690
|
|
|
24622
24691
|
// src/mantine/components/CoverImage.tsx
|
|
24623
24692
|
import React231, { useState as useState86, useRef as useRef20, useEffect as useEffect70 } from "react";
|
|
24624
|
-
import { Box as
|
|
24693
|
+
import { Box as Box45, Group as Group80 } from "@mantine/core";
|
|
24625
24694
|
|
|
24626
24695
|
// src/core/lib/imageTransform.ts
|
|
24627
24696
|
var CLOUDFLARE_CDN_BASE = "https://www.ixo.earth/cdn-cgi/image";
|
|
@@ -24755,7 +24824,7 @@ function transformIconImage(sourceUrl, size = "default", customOptions) {
|
|
|
24755
24824
|
|
|
24756
24825
|
// src/mantine/components/Base/PageIcon.tsx
|
|
24757
24826
|
import React230, { useMemo as useMemo82 } from "react";
|
|
24758
|
-
import { Center as Center13, Box as
|
|
24827
|
+
import { Center as Center13, Box as Box44 } from "@mantine/core";
|
|
24759
24828
|
import * as TablerIcons2 from "@tabler/icons-react";
|
|
24760
24829
|
function PageIcon({ src, iconSize = 64, useCenter = false, style }) {
|
|
24761
24830
|
const isIconName = src && !src.startsWith("http");
|
|
@@ -24767,7 +24836,7 @@ function PageIcon({ src, iconSize = 64, useCenter = false, style }) {
|
|
|
24767
24836
|
}
|
|
24768
24837
|
return null;
|
|
24769
24838
|
}, [isIconName, src]);
|
|
24770
|
-
const Container = useCenter ? Center13 :
|
|
24839
|
+
const Container = useCenter ? Center13 : Box44;
|
|
24771
24840
|
if (!src) return null;
|
|
24772
24841
|
if (IconComponent) {
|
|
24773
24842
|
return /* @__PURE__ */ React230.createElement(
|
|
@@ -24896,7 +24965,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
24896
24965
|
}
|
|
24897
24966
|
if (!hasCover) {
|
|
24898
24967
|
return /* @__PURE__ */ React231.createElement(
|
|
24899
|
-
|
|
24968
|
+
Box45,
|
|
24900
24969
|
{
|
|
24901
24970
|
style: {
|
|
24902
24971
|
position: "relative",
|
|
@@ -24932,7 +25001,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
24932
25001
|
),
|
|
24933
25002
|
/* @__PURE__ */ React231.createElement(CoverImageButton, { onClick: () => coverFileInputRef.current?.click() }, "Add cover")
|
|
24934
25003
|
), logoSrc && /* @__PURE__ */ React231.createElement(
|
|
24935
|
-
|
|
25004
|
+
Box45,
|
|
24936
25005
|
{
|
|
24937
25006
|
style: {
|
|
24938
25007
|
position: "relative",
|
|
@@ -24979,7 +25048,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
24979
25048
|
);
|
|
24980
25049
|
}
|
|
24981
25050
|
return /* @__PURE__ */ React231.createElement(
|
|
24982
|
-
|
|
25051
|
+
Box45,
|
|
24983
25052
|
{
|
|
24984
25053
|
style: {
|
|
24985
25054
|
position: "relative",
|
|
@@ -25032,7 +25101,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
25032
25101
|
/* @__PURE__ */ React231.createElement(CoverImageButton, { onClick: handleRemoveCover }, "Remove")
|
|
25033
25102
|
),
|
|
25034
25103
|
/* @__PURE__ */ React231.createElement("div", { style: { maxWidth: "900px", margin: "0 auto", position: "absolute", bottom: 0, left: -40, right: 0, height: "70px" } }, /* @__PURE__ */ React231.createElement(
|
|
25035
|
-
|
|
25104
|
+
Box45,
|
|
25036
25105
|
{
|
|
25037
25106
|
style: {
|
|
25038
25107
|
position: "absolute",
|
|
@@ -25303,7 +25372,7 @@ var styles = {
|
|
|
25303
25372
|
|
|
25304
25373
|
// src/mantine/components/ExternalDropZone.tsx
|
|
25305
25374
|
import React233, { useCallback as useCallback70, useEffect as useEffect72, useRef as useRef22, useState as useState88 } from "react";
|
|
25306
|
-
import { Box as
|
|
25375
|
+
import { Box as Box46 } from "@mantine/core";
|
|
25307
25376
|
var SCROLL_ZONE_SIZE = 80;
|
|
25308
25377
|
var SCROLL_SPEED = 12;
|
|
25309
25378
|
var ExternalDropZone = ({
|
|
@@ -25588,7 +25657,7 @@ var ExternalDropZone = ({
|
|
|
25588
25657
|
}) : dropIndicator;
|
|
25589
25658
|
const shouldShowIndicator = isValidDrag || isPlacementMode && isHoveringInPlacementMode;
|
|
25590
25659
|
return /* @__PURE__ */ React233.createElement(
|
|
25591
|
-
|
|
25660
|
+
Box46,
|
|
25592
25661
|
{
|
|
25593
25662
|
ref: containerRef,
|
|
25594
25663
|
style: {
|
|
@@ -25604,7 +25673,7 @@ var ExternalDropZone = ({
|
|
|
25604
25673
|
},
|
|
25605
25674
|
children,
|
|
25606
25675
|
isPlacementMode && /* @__PURE__ */ React233.createElement(
|
|
25607
|
-
|
|
25676
|
+
Box46,
|
|
25608
25677
|
{
|
|
25609
25678
|
style: {
|
|
25610
25679
|
position: "absolute",
|
|
@@ -25623,7 +25692,7 @@ var ExternalDropZone = ({
|
|
|
25623
25692
|
onWheel: handleOverlayWheel
|
|
25624
25693
|
}
|
|
25625
25694
|
),
|
|
25626
|
-
shouldShowIndicator && indicatorWithPosition && /* @__PURE__ */ React233.createElement(
|
|
25695
|
+
shouldShowIndicator && indicatorWithPosition && /* @__PURE__ */ React233.createElement(Box46, { style: { ...indicatorStyle, background: "none", border: "none", boxShadow: "none" } }, indicatorWithPosition)
|
|
25627
25696
|
);
|
|
25628
25697
|
};
|
|
25629
25698
|
|
|
@@ -25636,7 +25705,7 @@ import { MantineProvider } from "@mantine/core";
|
|
|
25636
25705
|
|
|
25637
25706
|
// src/mantine/components/PanelContent.tsx
|
|
25638
25707
|
import React234 from "react";
|
|
25639
|
-
import { Box as
|
|
25708
|
+
import { Box as Box47 } from "@mantine/core";
|
|
25640
25709
|
var panelStyles = {
|
|
25641
25710
|
light: {
|
|
25642
25711
|
backgroundColor: "#ffffff",
|
|
@@ -25666,7 +25735,7 @@ function PanelContent({ theme }) {
|
|
|
25666
25735
|
const isOpen = activePanel !== null;
|
|
25667
25736
|
const content = activePanel ? registeredPanels.get(activePanel) : null;
|
|
25668
25737
|
return /* @__PURE__ */ React234.createElement(
|
|
25669
|
-
|
|
25738
|
+
Box47,
|
|
25670
25739
|
{
|
|
25671
25740
|
pos: "sticky",
|
|
25672
25741
|
right: 0,
|
|
@@ -26416,4 +26485,4 @@ export {
|
|
|
26416
26485
|
ixoGraphQLClient,
|
|
26417
26486
|
getEntity
|
|
26418
26487
|
};
|
|
26419
|
-
//# sourceMappingURL=chunk-
|
|
26488
|
+
//# sourceMappingURL=chunk-GXVDLVQA.mjs.map
|