@ixo/editor 2.25.0 → 2.26.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.
|
@@ -12346,7 +12346,7 @@ var ClaimTemplateView = ({ editor, block }) => {
|
|
|
12346
12346
|
|
|
12347
12347
|
// src/mantine/blocks/claim/flow/FlowView.tsx
|
|
12348
12348
|
import React147, { useMemo as useMemo41 } from "react";
|
|
12349
|
-
import { Stack as Stack109, Text as Text83, Loader as Loader17, Center as Center9, Alert as Alert19, Title as
|
|
12349
|
+
import { Stack as Stack109, Text as Text83, Loader as Loader17, Center as Center9, Alert as Alert19, Title as Title6, Flex as Flex27, ActionIcon as ActionIcon24 } from "@mantine/core";
|
|
12350
12350
|
|
|
12351
12351
|
// src/mantine/hooks/useCurrentUser.ts
|
|
12352
12352
|
import { useState as useState44, useEffect as useEffect27, useRef as useRef4 } from "react";
|
|
@@ -12521,7 +12521,7 @@ import { Stack as Stack99, Text as Text73, ActionIcon as ActionIcon19, Tooltip a
|
|
|
12521
12521
|
|
|
12522
12522
|
// src/mantine/blocks/claim/flow/ClaimsListSheet.tsx
|
|
12523
12523
|
import React134, { useState as useState47, useEffect as useEffect30, useCallback as useCallback27, useMemo as useMemo29 } from "react";
|
|
12524
|
-
import {
|
|
12524
|
+
import { Loader as Loader10, Stack as Stack98, Text as Text72, ActionIcon as ActionIcon18, Alert as Alert15, Box as Box31, Group as Group43 } from "@mantine/core";
|
|
12525
12525
|
import { IconArrowLeft as IconArrowLeft3, IconAlertCircle } from "@tabler/icons-react";
|
|
12526
12526
|
import { Survey, SurveyModel } from "@ixo/surveys";
|
|
12527
12527
|
|
|
@@ -12833,83 +12833,70 @@ var ClaimsListSheet = ({ collectionId, collectionName, deedId, adminAddress, use
|
|
|
12833
12833
|
return "yellow";
|
|
12834
12834
|
}
|
|
12835
12835
|
};
|
|
12836
|
-
return /* @__PURE__ */ React134.createElement(
|
|
12837
|
-
|
|
12836
|
+
return /* @__PURE__ */ React134.createElement(BaseRightPanelLayout, { title: viewMode === "list" ? collectionName : "Submit New Claim", onClose: closePanel }, /* @__PURE__ */ React134.createElement(
|
|
12837
|
+
Box31,
|
|
12838
12838
|
{
|
|
12839
|
+
pos: "relative",
|
|
12839
12840
|
style: {
|
|
12840
|
-
height: "
|
|
12841
|
-
|
|
12842
|
-
|
|
12843
|
-
|
|
12841
|
+
height: "calc(100vh - 120px)",
|
|
12842
|
+
overflow: "hidden",
|
|
12843
|
+
marginLeft: -40,
|
|
12844
|
+
marginRight: -40,
|
|
12845
|
+
paddingLeft: 40,
|
|
12846
|
+
paddingRight: 40
|
|
12844
12847
|
}
|
|
12845
12848
|
},
|
|
12846
12849
|
/* @__PURE__ */ React134.createElement(
|
|
12847
|
-
|
|
12850
|
+
Box31,
|
|
12848
12851
|
{
|
|
12852
|
+
pos: "absolute",
|
|
12853
|
+
top: 0,
|
|
12854
|
+
left: 0,
|
|
12855
|
+
right: 0,
|
|
12856
|
+
bottom: 0,
|
|
12857
|
+
px: 40,
|
|
12849
12858
|
style: {
|
|
12850
12859
|
display: "flex",
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12860
|
+
flexDirection: "column",
|
|
12861
|
+
overflow: "auto",
|
|
12862
|
+
transform: viewMode === "list" ? "translateX(0)" : "translateX(-100%)",
|
|
12863
|
+
opacity: viewMode === "list" ? 1 : 0,
|
|
12864
|
+
transition: "transform 300ms ease-out, opacity 300ms ease-out",
|
|
12865
|
+
pointerEvents: viewMode === "list" ? "auto" : "none"
|
|
12854
12866
|
}
|
|
12855
12867
|
},
|
|
12856
|
-
/* @__PURE__ */ React134.createElement("
|
|
12857
|
-
|
|
12868
|
+
/* @__PURE__ */ React134.createElement(Stack98, { gap: "md", h: "100%" }, /* @__PURE__ */ React134.createElement(BaseButton, { onClick: handleNewClaim, fullWidth: true }, "New Claim"), loading ? /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Loader10, { size: "lg" }), /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed" }, "Loading claims...")) : error ? /* @__PURE__ */ React134.createElement(Alert15, { color: "red", title: "Failed to load claims", icon: /* @__PURE__ */ React134.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm" }, error)) : claims.length === 0 ? /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed", ta: "center" }, 'No claims found. Click "New Claim" to submit your first claim.')) : /* @__PURE__ */ React134.createElement(Stack98, { gap: "xs" }, claims.map((claim) => {
|
|
12869
|
+
const status = getClaimStatus(claim.paymentsStatus);
|
|
12870
|
+
return /* @__PURE__ */ React134.createElement(ListItemContainer, { key: claim.claimId, isChecked: false }, /* @__PURE__ */ React134.createElement(Stack98, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React134.createElement(Text72, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate))), /* @__PURE__ */ React134.createElement(Text72, { size: "xs", fw: 500, c: getStatusColor2(status) }, status.toUpperCase()));
|
|
12871
|
+
})))
|
|
12858
12872
|
),
|
|
12859
12873
|
/* @__PURE__ */ React134.createElement(
|
|
12860
|
-
|
|
12874
|
+
Box31,
|
|
12861
12875
|
{
|
|
12876
|
+
pos: "absolute",
|
|
12877
|
+
top: 0,
|
|
12878
|
+
left: 0,
|
|
12879
|
+
right: 0,
|
|
12880
|
+
bottom: 0,
|
|
12881
|
+
px: 40,
|
|
12862
12882
|
style: {
|
|
12863
|
-
|
|
12864
|
-
|
|
12865
|
-
|
|
12883
|
+
display: "flex",
|
|
12884
|
+
flexDirection: "column",
|
|
12885
|
+
overflow: "auto",
|
|
12886
|
+
transform: viewMode === "survey" ? "translateX(0)" : "translateX(100%)",
|
|
12887
|
+
opacity: viewMode === "survey" ? 1 : 0,
|
|
12888
|
+
transition: "transform 300ms ease-out, opacity 300ms ease-out",
|
|
12889
|
+
pointerEvents: viewMode === "survey" ? "auto" : "none",
|
|
12890
|
+
scrollbarWidth: "none",
|
|
12891
|
+
msOverflowStyle: "none",
|
|
12892
|
+
"&::-webkit-scrollbar": {
|
|
12893
|
+
display: "none"
|
|
12894
|
+
}
|
|
12866
12895
|
}
|
|
12867
12896
|
},
|
|
12868
|
-
/* @__PURE__ */ React134.createElement(
|
|
12869
|
-
"div",
|
|
12870
|
-
{
|
|
12871
|
-
style: {
|
|
12872
|
-
position: "absolute",
|
|
12873
|
-
top: 0,
|
|
12874
|
-
left: 0,
|
|
12875
|
-
right: 0,
|
|
12876
|
-
bottom: 0,
|
|
12877
|
-
display: "flex",
|
|
12878
|
-
flexDirection: "column",
|
|
12879
|
-
overflow: "auto",
|
|
12880
|
-
transform: viewMode === "list" ? "translateX(0)" : "translateX(-100%)",
|
|
12881
|
-
opacity: viewMode === "list" ? 1 : 0,
|
|
12882
|
-
transition: "transform 0.3s ease-out, opacity 0.3s ease-out",
|
|
12883
|
-
pointerEvents: viewMode === "list" ? "auto" : "none"
|
|
12884
|
-
}
|
|
12885
|
-
},
|
|
12886
|
-
/* @__PURE__ */ React134.createElement(Stack98, { gap: "md", style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Button28, { onClick: handleNewClaim, fullWidth: true }, "New Claim"), loading ? /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Loader10, { size: "lg" }), /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed" }, "Loading claims...")) : error ? /* @__PURE__ */ React134.createElement(Alert15, { color: "red", title: "Failed to load claims", icon: /* @__PURE__ */ React134.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm" }, error)) : claims.length === 0 ? /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed", ta: "center" }, 'No claims found. Click "New Claim" to submit your first claim.')) : /* @__PURE__ */ React134.createElement(Stack98, { gap: "xs" }, claims.map((claim) => {
|
|
12887
|
-
const status = getClaimStatus(claim.paymentsStatus);
|
|
12888
|
-
return /* @__PURE__ */ React134.createElement(ListItemContainer, { key: claim.claimId, isChecked: false }, /* @__PURE__ */ React134.createElement(Stack98, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React134.createElement(Text72, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate))), /* @__PURE__ */ React134.createElement(Text72, { size: "xs", fw: 500, c: getStatusColor2(status) }, status.toUpperCase()));
|
|
12889
|
-
})))
|
|
12890
|
-
),
|
|
12891
|
-
/* @__PURE__ */ React134.createElement(
|
|
12892
|
-
"div",
|
|
12893
|
-
{
|
|
12894
|
-
style: {
|
|
12895
|
-
position: "absolute",
|
|
12896
|
-
top: 0,
|
|
12897
|
-
left: 0,
|
|
12898
|
-
right: 0,
|
|
12899
|
-
bottom: 0,
|
|
12900
|
-
display: "flex",
|
|
12901
|
-
flexDirection: "column",
|
|
12902
|
-
overflow: "auto",
|
|
12903
|
-
transform: viewMode === "survey" ? "translateX(0)" : "translateX(100%)",
|
|
12904
|
-
opacity: viewMode === "survey" ? 1 : 0,
|
|
12905
|
-
transition: "transform 0.3s ease-out, opacity 0.3s ease-out",
|
|
12906
|
-
pointerEvents: viewMode === "survey" ? "auto" : "none"
|
|
12907
|
-
}
|
|
12908
|
-
},
|
|
12909
|
-
/* @__PURE__ */ React134.createElement("div", null, surveyLoading && /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { height: "100%" } }, /* @__PURE__ */ React134.createElement(Loader10, { size: "lg" }), /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed" }, "Loading survey template...")), surveyError && /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", style: { height: "100%", padding: "1rem" } }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "red" }, surveyError)), !surveyLoading && !surveyError && surveyModel && /* @__PURE__ */ React134.createElement(Survey, { model: surveyModel }))
|
|
12910
|
-
)
|
|
12897
|
+
/* @__PURE__ */ React134.createElement(Stack98, { gap: "md" }, /* @__PURE__ */ React134.createElement(Group43, { gap: "xs" }, /* @__PURE__ */ React134.createElement(ActionIcon18, { variant: "subtle", onClick: handleBackToList, size: "md" }, /* @__PURE__ */ React134.createElement(IconArrowLeft3, { size: 20 })), /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed" }, "Back to claims list")), /* @__PURE__ */ React134.createElement(Box31, null, surveyLoading && /* @__PURE__ */ React134.createElement(Stack98, { align: "center", justify: "center", mih: 200 }, /* @__PURE__ */ React134.createElement(Loader10, { size: "lg" }), /* @__PURE__ */ React134.createElement(Text72, { size: "sm", c: "dimmed" }, "Loading survey template...")), surveyError && /* @__PURE__ */ React134.createElement(Alert15, { color: "red", icon: /* @__PURE__ */ React134.createElement(IconAlertCircle, { size: 18 }) }, /* @__PURE__ */ React134.createElement(Text72, { size: "sm" }, surveyError)), !surveyLoading && !surveyError && surveyModel && /* @__PURE__ */ React134.createElement(Survey, { model: surveyModel })))
|
|
12911
12898
|
)
|
|
12912
|
-
);
|
|
12899
|
+
));
|
|
12913
12900
|
};
|
|
12914
12901
|
|
|
12915
12902
|
// src/mantine/blocks/claim/flow/ClaimCollectionItem.tsx
|
|
@@ -12968,7 +12955,7 @@ var ClaimCollectionItem = ({ collection, deedId, adminAddress, userRole, onRefre
|
|
|
12968
12955
|
|
|
12969
12956
|
// src/mantine/blocks/bid/flow/components/BidCollectionItem.tsx
|
|
12970
12957
|
import React142, { useMemo as useMemo37 } from "react";
|
|
12971
|
-
import { Stack as Stack104, Text as Text78, Button as
|
|
12958
|
+
import { Stack as Stack104, Text as Text78, Button as Button29, Menu as Menu3, Badge as Badge18, ActionIcon as ActionIcon21, Box as Box32, Tooltip as Tooltip13, Loader as Loader14 } from "@mantine/core";
|
|
12972
12959
|
import { IconChevronDown as IconChevronDown8, IconArrowRight as IconArrowRight3, IconLock } from "@tabler/icons-react";
|
|
12973
12960
|
|
|
12974
12961
|
// src/mantine/hooks/useBlockAuthorization.ts
|
|
@@ -13190,12 +13177,12 @@ import { IconAlertCircle as IconAlertCircle3 } from "@tabler/icons-react";
|
|
|
13190
13177
|
|
|
13191
13178
|
// src/mantine/blocks/bid/flow/components/BidItem.tsx
|
|
13192
13179
|
import React138, { useMemo as useMemo36 } from "react";
|
|
13193
|
-
import { Stack as Stack102, Text as Text76, Badge as Badge17, Group as
|
|
13180
|
+
import { Stack as Stack102, Text as Text76, Badge as Badge17, Group as Group45, ActionIcon as ActionIcon20 } from "@mantine/core";
|
|
13194
13181
|
import { IconArrowRight as IconArrowRight2 } from "@tabler/icons-react";
|
|
13195
13182
|
|
|
13196
13183
|
// src/mantine/blocks/bid/flow/components/BidViewPanel.tsx
|
|
13197
13184
|
import React137, { useMemo as useMemo35, useState as useState52 } from "react";
|
|
13198
|
-
import { Loader as Loader12, Stack as Stack101, Text as Text75, Button as
|
|
13185
|
+
import { Loader as Loader12, Stack as Stack101, Text as Text75, Button as Button28, Group as Group44, Modal as Modal2, Alert as Alert16 } from "@mantine/core";
|
|
13199
13186
|
import { Survey as Survey3 } from "@ixo/surveys";
|
|
13200
13187
|
import { IconCheck as IconCheck3, IconX as IconX8, IconAlertCircle as IconAlertCircle2 } from "@tabler/icons-react";
|
|
13201
13188
|
|
|
@@ -13417,7 +13404,7 @@ var BidViewPanel = ({ bid, deedId, adminAddress, onRefresh, execution }) => {
|
|
|
13417
13404
|
setRejectModalOpen(false);
|
|
13418
13405
|
}
|
|
13419
13406
|
};
|
|
13420
|
-
return /* @__PURE__ */ React137.createElement(BaseRightPanelLayout, { onClose: closePanel, title: `${getRoleLabel(bid.role)} Bid`, isTemplate: false }, !loading && !error && /* @__PURE__ */ React137.createElement(Stack101, { gap: "md", mb: "md" }, actionError && /* @__PURE__ */ React137.createElement(Alert16, { color: "red", icon: /* @__PURE__ */ React137.createElement(IconAlertCircle2, { size: 16 }), onClose: () => setActionError(null), withCloseButton: true }, actionError), /* @__PURE__ */ React137.createElement(
|
|
13407
|
+
return /* @__PURE__ */ React137.createElement(BaseRightPanelLayout, { onClose: closePanel, title: `${getRoleLabel(bid.role)} Bid`, isTemplate: false }, !loading && !error && /* @__PURE__ */ React137.createElement(Stack101, { gap: "md", mb: "md" }, actionError && /* @__PURE__ */ React137.createElement(Alert16, { color: "red", icon: /* @__PURE__ */ React137.createElement(IconAlertCircle2, { size: 16 }), onClose: () => setActionError(null), withCloseButton: true }, actionError), /* @__PURE__ */ React137.createElement(Group44, { justify: "flex-end" }, /* @__PURE__ */ React137.createElement(Button28, { variant: "outline", color: "red", leftSection: /* @__PURE__ */ React137.createElement(IconX8, { size: 16 }), onClick: handleRejectClick, loading: actionLoading, disabled: actionLoading }, "Reject"), /* @__PURE__ */ React137.createElement(Button28, { variant: "filled", color: "green", leftSection: /* @__PURE__ */ React137.createElement(IconCheck3, { size: 16 }), onClick: approveBid, loading: actionLoading, disabled: actionLoading }, "Approve"))), /* @__PURE__ */ React137.createElement("div", { style: surveyContainerStyle }, loading && /* @__PURE__ */ React137.createElement(Stack101, { align: "center", justify: "center", style: { height: "100%" } }, /* @__PURE__ */ React137.createElement(Loader12, { size: "lg" }), /* @__PURE__ */ React137.createElement(Text75, { size: "sm", c: "dimmed" }, "Loading bid details...")), error && /* @__PURE__ */ React137.createElement(Stack101, { align: "center", justify: "center", style: { height: "100%", padding: "1rem" } }, /* @__PURE__ */ React137.createElement(Text75, { size: "sm", c: "red" }, error)), !loading && !error && surveyModel && /* @__PURE__ */ React137.createElement(Survey3, { model: surveyModel })), /* @__PURE__ */ React137.createElement(Modal2, { opened: rejectModalOpen, onClose: () => setRejectModalOpen(false), title: "Reject Bid", centered: true }, /* @__PURE__ */ React137.createElement(Stack101, { gap: "md" }, /* @__PURE__ */ React137.createElement(Text75, { size: "sm" }, "Please provide a reason for rejecting this bid:"), /* @__PURE__ */ React137.createElement(BaseTextArea, { placeholder: "Enter rejection reason...", value: rejectReason, onChange: (e) => setRejectReason(e.currentTarget.value), minRows: 3 }), /* @__PURE__ */ React137.createElement(Group44, { justify: "flex-end" }, /* @__PURE__ */ React137.createElement(Button28, { variant: "outline", onClick: () => setRejectModalOpen(false), disabled: actionLoading }, "Cancel"), /* @__PURE__ */ React137.createElement(Button28, { color: "red", onClick: handleRejectConfirm, loading: actionLoading, disabled: !rejectReason.trim() }, "Reject Bid")))));
|
|
13421
13408
|
};
|
|
13422
13409
|
|
|
13423
13410
|
// src/mantine/hooks/useUserProfile.ts
|
|
@@ -13457,7 +13444,7 @@ var BidItem = ({ bid, deedId, adminAddress, onRefresh, execution }) => {
|
|
|
13457
13444
|
const displayDate = bid.created || "";
|
|
13458
13445
|
const displayStatus = bid.status;
|
|
13459
13446
|
const displayReason = bid.reason;
|
|
13460
|
-
return /* @__PURE__ */ React138.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React138.createElement(Stack102, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React138.createElement(
|
|
13447
|
+
return /* @__PURE__ */ React138.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React138.createElement(Stack102, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React138.createElement(Group45, { gap: "xs" }, /* @__PURE__ */ React138.createElement(Text76, { size: "xs", fw: 500 }, loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React138.createElement(Text76, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"), /* @__PURE__ */ React138.createElement(Badge17, { size: "xs", variant: "light", color: getRoleColor(bid.role) }, getRoleLabel(bid.role))), /* @__PURE__ */ React138.createElement(Text76, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(displayDate)), displayStatus === "rejected" && displayReason && /* @__PURE__ */ React138.createElement(Text76, { size: "xs", c: "red" }, "Reason: ", displayReason)), /* @__PURE__ */ React138.createElement(Group45, { gap: "xs" }, displayStatus && /* @__PURE__ */ React138.createElement(Badge17, { size: "sm", color: getStatusColor(displayStatus) }, getStatusLabel(displayStatus)), /* @__PURE__ */ React138.createElement(ActionIcon20, { variant: "subtle", size: "lg", onClick: openBidPanel }, /* @__PURE__ */ React138.createElement(IconArrowRight2, { size: 20 }))));
|
|
13461
13448
|
};
|
|
13462
13449
|
|
|
13463
13450
|
// src/mantine/blocks/bid/flow/hooks/useBids.ts
|
|
@@ -13622,9 +13609,9 @@ var BidCollectionItem = ({ collection, deedId, adminAddress, userRole, onRefresh
|
|
|
13622
13609
|
return /* @__PURE__ */ React142.createElement(Badge18, { size: "sm", color: getRoleColor(userRole) }, getRoleLabel(userRole));
|
|
13623
13610
|
} else {
|
|
13624
13611
|
if (!isAuthorized) {
|
|
13625
|
-
return /* @__PURE__ */ React142.createElement(Tooltip13, { label: reason || "You are not authorized to apply", withArrow: true }, /* @__PURE__ */ React142.createElement(
|
|
13612
|
+
return /* @__PURE__ */ React142.createElement(Tooltip13, { label: reason || "You are not authorized to apply", withArrow: true }, /* @__PURE__ */ React142.createElement(Button29, { size: "xs", variant: "light", disabled: true, leftSection: /* @__PURE__ */ React142.createElement(IconLock, { size: 14 }) }, "Apply"));
|
|
13626
13613
|
}
|
|
13627
|
-
return /* @__PURE__ */ React142.createElement(Menu3, { shadow: "md", width: 200 }, /* @__PURE__ */ React142.createElement(Menu3.Target, null, /* @__PURE__ */ React142.createElement(
|
|
13614
|
+
return /* @__PURE__ */ React142.createElement(Menu3, { shadow: "md", width: 200 }, /* @__PURE__ */ React142.createElement(Menu3.Target, null, /* @__PURE__ */ React142.createElement(Button29, { size: "xs", variant: "light", rightSection: /* @__PURE__ */ React142.createElement(IconChevronDown8, { size: 14 }) }, "Apply")), /* @__PURE__ */ React142.createElement(Menu3.Dropdown, null, /* @__PURE__ */ React142.createElement(Menu3.Label, null, "Select Role"), /* @__PURE__ */ React142.createElement(Menu3.Item, { onClick: openServiceAgent }, "Service Agent"), /* @__PURE__ */ React142.createElement(Menu3.Item, { onClick: openEvaluationAgent }, "Evaluation Agent")));
|
|
13628
13615
|
}
|
|
13629
13616
|
};
|
|
13630
13617
|
const getCollectionIcon = () => {
|
|
@@ -13633,7 +13620,7 @@ var BidCollectionItem = ({ collection, deedId, adminAddress, userRole, onRefresh
|
|
|
13633
13620
|
}
|
|
13634
13621
|
return /* @__PURE__ */ React142.createElement(UserPlus_default, null);
|
|
13635
13622
|
};
|
|
13636
|
-
return /* @__PURE__ */ React142.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React142.createElement(
|
|
13623
|
+
return /* @__PURE__ */ React142.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React142.createElement(Box32, { mr: "md", style: { display: "flex", alignItems: "center" } }, getCollectionIcon()), /* @__PURE__ */ React142.createElement(Stack104, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React142.createElement(Text78, { size: "sm", fw: 500 }, getCollectionName(collection)), collection.description && /* @__PURE__ */ React142.createElement(Text78, { size: "xs", c: "dimmed" }, collection.description)), renderActionButton());
|
|
13637
13624
|
};
|
|
13638
13625
|
|
|
13639
13626
|
// src/mantine/blocks/evaluator/flow/EvaluationCollectionItem.tsx
|
|
@@ -13642,7 +13629,7 @@ import { Stack as Stack107, Text as Text81, ActionIcon as ActionIcon23, Tooltip
|
|
|
13642
13629
|
|
|
13643
13630
|
// src/mantine/blocks/evaluator/flow/ClaimsList.tsx
|
|
13644
13631
|
import React144, { useState as useState55, useEffect as useEffect37, useCallback as useCallback32, useMemo as useMemo39 } from "react";
|
|
13645
|
-
import { Paper as Paper14, CloseButton as
|
|
13632
|
+
import { Paper as Paper14, CloseButton as CloseButton5, Title as Title5, Loader as Loader15, Stack as Stack106, Text as Text80, ActionIcon as ActionIcon22, Alert as Alert18, Badge as Badge20, Group as Group47, Button as Button30, Divider as Divider12, Tabs as Tabs3, ScrollArea as ScrollArea6 } from "@mantine/core";
|
|
13646
13633
|
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";
|
|
13647
13634
|
import { Survey as Survey4, SurveyModel as SurveyModel4 } from "@ixo/surveys";
|
|
13648
13635
|
|
|
@@ -13806,7 +13793,7 @@ var surveyTheme2 = {
|
|
|
13806
13793
|
|
|
13807
13794
|
// src/mantine/blocks/evaluator/flow/RubricEvaluationResults.tsx
|
|
13808
13795
|
import React143, { useMemo as useMemo38 } from "react";
|
|
13809
|
-
import { Paper as Paper13, Stack as Stack105, Text as Text79, Badge as Badge19, Group as
|
|
13796
|
+
import { Paper as Paper13, Stack as Stack105, Text as Text79, Badge as Badge19, Group as Group46, Progress as Progress3, Accordion as Accordion3, ThemeIcon as ThemeIcon2, Timeline, Box as Box33, Tooltip as Tooltip14, Divider as Divider11, Card as Card16, RingProgress, Center as Center7 } from "@mantine/core";
|
|
13810
13797
|
import { IconCheck as IconCheck4, IconX as IconX9, IconAlertTriangle as IconAlertTriangle2, IconClock, IconBrain, IconUser as IconUser4, IconArrowUp as IconArrowUp4, IconCalculator, IconCloud, IconChecklist as IconChecklist2, IconInfoCircle as IconInfoCircle3 } from "@tabler/icons-react";
|
|
13811
13798
|
var getOutcomeConfig = (outcome) => {
|
|
13812
13799
|
switch (outcome) {
|
|
@@ -13882,10 +13869,10 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13882
13869
|
return { passed, failed, total, passRate };
|
|
13883
13870
|
}, [trace]);
|
|
13884
13871
|
if (error) {
|
|
13885
|
-
return /* @__PURE__ */ React143.createElement(Paper13, { p: "md", radius: "md", style: { backgroundColor: IXO_PALETTE.dangerBrighter } }, /* @__PURE__ */ React143.createElement(
|
|
13872
|
+
return /* @__PURE__ */ React143.createElement(Paper13, { p: "md", radius: "md", style: { backgroundColor: IXO_PALETTE.dangerBrighter } }, /* @__PURE__ */ React143.createElement(Group46, { gap: "sm" }, /* @__PURE__ */ React143.createElement(ThemeIcon2, { color: "red", size: "lg", radius: "xl" }, /* @__PURE__ */ React143.createElement(IconX9, { size: 18 })), /* @__PURE__ */ React143.createElement(Stack105, { gap: 2 }, /* @__PURE__ */ React143.createElement(Text79, { fw: 600, c: "red.9" }, "Evaluation Failed"), /* @__PURE__ */ React143.createElement(Text79, { size: "sm", c: "red.7" }, error))));
|
|
13886
13873
|
}
|
|
13887
13874
|
if (!trace) {
|
|
13888
|
-
return /* @__PURE__ */ React143.createElement(Paper13, { p: "md", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark300 } }, /* @__PURE__ */ React143.createElement(
|
|
13875
|
+
return /* @__PURE__ */ React143.createElement(Paper13, { p: "md", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark300 } }, /* @__PURE__ */ React143.createElement(Group46, { gap: "sm" }, /* @__PURE__ */ React143.createElement(ThemeIcon2, { color: "gray", size: "lg", radius: "xl" }, /* @__PURE__ */ React143.createElement(IconInfoCircle3, { size: 18 })), /* @__PURE__ */ React143.createElement(Text79, { size: "sm", c: "dimmed" }, "No evaluation data available")));
|
|
13889
13876
|
}
|
|
13890
13877
|
const outcomeConfig = getOutcomeConfig(trace.result.outcome);
|
|
13891
13878
|
const OutcomeIcon = outcomeConfig.icon;
|
|
@@ -13899,7 +13886,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13899
13886
|
border: `1px solid ${outcomeConfig.color}40`
|
|
13900
13887
|
}
|
|
13901
13888
|
},
|
|
13902
|
-
/* @__PURE__ */ React143.createElement(
|
|
13889
|
+
/* @__PURE__ */ React143.createElement(Group46, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React143.createElement(Group46, { gap: "md" }, /* @__PURE__ */ React143.createElement(
|
|
13903
13890
|
ThemeIcon2,
|
|
13904
13891
|
{
|
|
13905
13892
|
size: 56,
|
|
@@ -13910,7 +13897,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13910
13897
|
}
|
|
13911
13898
|
},
|
|
13912
13899
|
/* @__PURE__ */ React143.createElement(OutcomeIcon, { size: 28 })
|
|
13913
|
-
), /* @__PURE__ */ React143.createElement(Stack105, { gap: 4 }, /* @__PURE__ */ React143.createElement(
|
|
13900
|
+
), /* @__PURE__ */ React143.createElement(Stack105, { gap: 4 }, /* @__PURE__ */ React143.createElement(Group46, { gap: "xs" }, /* @__PURE__ */ React143.createElement(Text79, { size: "xl", fw: 700, style: { color: outcomeConfig.color } }, outcomeConfig.label), trace.result.outcome === "escalated" && trace.result.escalatedTo && /* @__PURE__ */ React143.createElement(
|
|
13914
13901
|
Badge19,
|
|
13915
13902
|
{
|
|
13916
13903
|
size: "sm",
|
|
@@ -13937,7 +13924,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13937
13924
|
label: /* @__PURE__ */ React143.createElement(Center7, null, /* @__PURE__ */ React143.createElement(Text79, { size: "sm", fw: 700 }, stats.passRate, "%"))
|
|
13938
13925
|
}
|
|
13939
13926
|
))
|
|
13940
|
-
), stats && /* @__PURE__ */ React143.createElement(
|
|
13927
|
+
), stats && /* @__PURE__ */ React143.createElement(Group46, { grow: true }, /* @__PURE__ */ React143.createElement(Card16, { padding: "sm", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark200 } }, /* @__PURE__ */ React143.createElement(Stack105, { gap: 4, align: "center" }, /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed", tt: "uppercase", fw: 500 }, "Passed"), /* @__PURE__ */ React143.createElement(Text79, { size: "xl", fw: 700, c: "green" }, stats.passed))), /* @__PURE__ */ React143.createElement(Card16, { padding: "sm", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark200 } }, /* @__PURE__ */ React143.createElement(Stack105, { gap: 4, align: "center" }, /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed", tt: "uppercase", fw: 500 }, "Failed"), /* @__PURE__ */ React143.createElement(Text79, { size: "xl", fw: 700, c: "red" }, stats.failed))), /* @__PURE__ */ React143.createElement(Card16, { padding: "sm", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark200 } }, /* @__PURE__ */ React143.createElement(Stack105, { gap: 4, align: "center" }, /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed", tt: "uppercase", fw: 500 }, "Duration"), /* @__PURE__ */ React143.createElement(Text79, { size: "xl", fw: 700, c: IXO_PALETTE.accentActive }, formatDuration(trace.result.totalDuration))))), /* @__PURE__ */ React143.createElement(Card16, { padding: "sm", radius: "md", style: { backgroundColor: IXO_PALETTE.NeutralDark200 } }, /* @__PURE__ */ React143.createElement(Group46, { justify: "space-between", wrap: "wrap", gap: "xs" }, /* @__PURE__ */ React143.createElement(Group46, { gap: "xs" }, trace.actor && /* @__PURE__ */ React143.createElement(
|
|
13941
13928
|
Badge19,
|
|
13942
13929
|
{
|
|
13943
13930
|
variant: "light",
|
|
@@ -13949,7 +13936,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13949
13936
|
leftSection: trace.actor.type === "ai" ? /* @__PURE__ */ React143.createElement(IconBrain, { size: 12, style: { display: "block" } }) : /* @__PURE__ */ React143.createElement(IconUser4, { size: 12, style: { display: "block" } })
|
|
13950
13937
|
},
|
|
13951
13938
|
trace.actor.type === "ai" ? "AI Evaluated" : "Human Evaluated"
|
|
13952
|
-
), trace.rubricName && /* @__PURE__ */ React143.createElement(Badge19, { variant: "outline", color: "gray" }, trace.rubricName), /* @__PURE__ */ React143.createElement(Badge19, { variant: "outline", color: "gray" }, "v", trace.rubricVersion)), /* @__PURE__ */ React143.createElement(
|
|
13939
|
+
), trace.rubricName && /* @__PURE__ */ React143.createElement(Badge19, { variant: "outline", color: "gray" }, trace.rubricName), /* @__PURE__ */ React143.createElement(Badge19, { variant: "outline", color: "gray" }, "v", trace.rubricVersion)), /* @__PURE__ */ React143.createElement(Group46, { gap: "xs" }, /* @__PURE__ */ React143.createElement(Tooltip14, { label: "Execution ID" }, /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, trace.result.executionId.slice(0, 12), "..."))))), /* @__PURE__ */ React143.createElement(Divider11, { my: "xs" }), /* @__PURE__ */ React143.createElement(
|
|
13953
13940
|
Accordion3,
|
|
13954
13941
|
{
|
|
13955
13942
|
variant: "separated",
|
|
@@ -13968,7 +13955,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13968
13955
|
}
|
|
13969
13956
|
}
|
|
13970
13957
|
},
|
|
13971
|
-
/* @__PURE__ */ React143.createElement(Accordion3.Item, { value: "steps" }, /* @__PURE__ */ React143.createElement(Accordion3.Control, null, /* @__PURE__ */ React143.createElement(
|
|
13958
|
+
/* @__PURE__ */ React143.createElement(Accordion3.Item, { value: "steps" }, /* @__PURE__ */ React143.createElement(Accordion3.Control, null, /* @__PURE__ */ React143.createElement(Group46, { gap: "sm" }, /* @__PURE__ */ React143.createElement(IconChecklist2, { size: 18 }), /* @__PURE__ */ React143.createElement(Text79, { fw: 600 }, "Evaluation Steps"), /* @__PURE__ */ React143.createElement(Badge19, { size: "sm", variant: "light" }, trace.result.steps.length, " steps"))), /* @__PURE__ */ React143.createElement(Accordion3.Panel, null, /* @__PURE__ */ React143.createElement(
|
|
13972
13959
|
Timeline,
|
|
13973
13960
|
{
|
|
13974
13961
|
active: trace.result.steps.length,
|
|
@@ -13999,7 +13986,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
13999
13986
|
},
|
|
14000
13987
|
step.success ? /* @__PURE__ */ React143.createElement(IconCheck4, { size: 16 }) : /* @__PURE__ */ React143.createElement(IconX9, { size: 16 })
|
|
14001
13988
|
),
|
|
14002
|
-
title: /* @__PURE__ */ React143.createElement(
|
|
13989
|
+
title: /* @__PURE__ */ React143.createElement(Group46, { gap: "xs", justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React143.createElement(Group46, { gap: "xs" }, /* @__PURE__ */ React143.createElement(Text79, { size: "sm", fw: 600 }, step.stepId || `Step ${index + 1}`), /* @__PURE__ */ React143.createElement(
|
|
14003
13990
|
Badge19,
|
|
14004
13991
|
{
|
|
14005
13992
|
size: "xs",
|
|
@@ -14015,7 +14002,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
14015
14002
|
leftSection: /* @__PURE__ */ React143.createElement(KindIcon, { size: 10, style: { display: "block" } })
|
|
14016
14003
|
},
|
|
14017
14004
|
kindConfig.label
|
|
14018
|
-
)), /* @__PURE__ */ React143.createElement(
|
|
14005
|
+
)), /* @__PURE__ */ React143.createElement(Group46, { gap: "xs" }, step.duration !== void 0 && /* @__PURE__ */ React143.createElement(
|
|
14019
14006
|
Badge19,
|
|
14020
14007
|
{
|
|
14021
14008
|
size: "xs",
|
|
@@ -14030,7 +14017,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
14030
14017
|
formatDuration(step.duration)
|
|
14031
14018
|
)))
|
|
14032
14019
|
},
|
|
14033
|
-
/* @__PURE__ */ React143.createElement(
|
|
14020
|
+
/* @__PURE__ */ React143.createElement(Box33, { mt: "xs" }, step.message && /* @__PURE__ */ React143.createElement(Text79, { size: "sm", c: "dimmed", mb: "xs" }, step.message), step.error && /* @__PURE__ */ React143.createElement(
|
|
14034
14021
|
Paper13,
|
|
14035
14022
|
{
|
|
14036
14023
|
p: "xs",
|
|
@@ -14073,7 +14060,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
|
|
|
14073
14060
|
);
|
|
14074
14061
|
})
|
|
14075
14062
|
)))
|
|
14076
|
-
), stats && /* @__PURE__ */ React143.createElement(
|
|
14063
|
+
), stats && /* @__PURE__ */ React143.createElement(Box33, null, /* @__PURE__ */ React143.createElement(Group46, { justify: "space-between", mb: 4 }, /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed" }, "Overall Progress"), /* @__PURE__ */ React143.createElement(Text79, { size: "xs", c: "dimmed" }, stats.passed, "/", stats.total, " checks passed")), /* @__PURE__ */ React143.createElement(Progress3.Root, { size: "lg", radius: "xl" }, /* @__PURE__ */ React143.createElement(Progress3.Section, { value: stats.passed / stats.total * 100, color: "green" }, /* @__PURE__ */ React143.createElement(Progress3.Label, null, stats.passed, " passed")), /* @__PURE__ */ React143.createElement(Progress3.Section, { value: stats.failed / stats.total * 100, color: "red" }, /* @__PURE__ */ React143.createElement(Progress3.Label, null, stats.failed, " failed")))));
|
|
14077
14064
|
};
|
|
14078
14065
|
|
|
14079
14066
|
// src/mantine/blocks/evaluator/flow/ClaimsList.tsx
|
|
@@ -14434,8 +14421,8 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
14434
14421
|
marginBottom: "1rem"
|
|
14435
14422
|
}
|
|
14436
14423
|
},
|
|
14437
|
-
/* @__PURE__ */ React144.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React144.createElement(ActionIcon22, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React144.createElement(IconArrowLeft4, { size: 20 })), /* @__PURE__ */ React144.createElement(
|
|
14438
|
-
/* @__PURE__ */ React144.createElement(
|
|
14424
|
+
/* @__PURE__ */ React144.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React144.createElement(ActionIcon22, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React144.createElement(IconArrowLeft4, { size: 20 })), /* @__PURE__ */ React144.createElement(Title5, { order: 3 }, viewMode === "list" ? `${collectionName} - Claims` : `Evaluate Claim #${selectedClaim?.claimId}`), viewMode === "list" && !loading && claims.length > 0 && /* @__PURE__ */ React144.createElement(Badge20, { size: "lg", variant: "light" }, claims.length)),
|
|
14425
|
+
/* @__PURE__ */ React144.createElement(Group47, { gap: "xs" }, viewMode === "list" && /* @__PURE__ */ React144.createElement(ActionIcon22, { variant: "subtle", onClick: fetchClaims, loading, title: "Refresh claims" }, /* @__PURE__ */ React144.createElement(IconRefresh3, { size: 18 })), /* @__PURE__ */ React144.createElement(CloseButton5, { onClick: closePanel }))
|
|
14439
14426
|
),
|
|
14440
14427
|
/* @__PURE__ */ React144.createElement(
|
|
14441
14428
|
"div",
|
|
@@ -14492,7 +14479,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
|
|
|
14492
14479
|
rightSection: evaluationLoading ? /* @__PURE__ */ React144.createElement(Loader15, { size: 12 }) : evaluationResult?.trace?.result?.outcome ? /* @__PURE__ */ React144.createElement(Badge20, { size: "xs", color: evaluationResult.trace.result.outcome === "pass" ? "green" : evaluationResult.trace.result.outcome === "fail" ? "red" : "orange" }, evaluationResult.trace.result.outcome) : null
|
|
14493
14480
|
},
|
|
14494
14481
|
"AI Evaluation"
|
|
14495
|
-
)), /* @__PURE__ */ React144.createElement(Tabs3.Panel, { value: "submission", style: { flex: 1, overflow: "hidden", display: activeTab === "submission" ? "flex" : "none" } }, /* @__PURE__ */ React144.createElement(ScrollArea6, { style: { flex: 1 } }, /* @__PURE__ */ React144.createElement("div", { style: surveyContainerStyle }, surveyModel && /* @__PURE__ */ React144.createElement(Survey4, { model: surveyModel })))), /* @__PURE__ */ React144.createElement(Tabs3.Panel, { value: "evaluation", style: { flex: 1, overflow: "hidden", display: activeTab === "evaluation" ? "flex" : "none" } }, /* @__PURE__ */ React144.createElement(ScrollArea6, { style: { flex: 1, padding: "1rem" } }, evaluationLoading ? /* @__PURE__ */ React144.createElement(Stack106, { align: "center", justify: "center", py: "xl" }, /* @__PURE__ */ React144.createElement(Loader15, { size: "lg" }), /* @__PURE__ */ React144.createElement(Text80, { size: "sm", c: "dimmed" }, "Running AI evaluation...")) : evaluationResult ? /* @__PURE__ */ React144.createElement(RubricEvaluationResults, { evaluation: evaluationResult }) : rubricData === null && !evaluationLoading ? /* @__PURE__ */ React144.createElement(Alert18, { color: "yellow", title: "No Rubric Available", icon: /* @__PURE__ */ React144.createElement(IconChecklist3, { size: 18 }) }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm" }, "No evaluation rubric is configured for this deed. Manual evaluation is required.")) : /* @__PURE__ */ React144.createElement(Alert18, { color: "gray", title: "Evaluation Not Available", icon: /* @__PURE__ */ React144.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm" }, "Evaluation data is not available for this claim."))))), /* @__PURE__ */ React144.createElement(Divider12, null), /* @__PURE__ */ React144.createElement(Stack106, { gap: "sm" }, /* @__PURE__ */ React144.createElement(
|
|
14482
|
+
)), /* @__PURE__ */ React144.createElement(Tabs3.Panel, { value: "submission", style: { flex: 1, overflow: "hidden", display: activeTab === "submission" ? "flex" : "none" } }, /* @__PURE__ */ React144.createElement(ScrollArea6, { style: { flex: 1 } }, /* @__PURE__ */ React144.createElement("div", { style: surveyContainerStyle }, surveyModel && /* @__PURE__ */ React144.createElement(Survey4, { model: surveyModel })))), /* @__PURE__ */ React144.createElement(Tabs3.Panel, { value: "evaluation", style: { flex: 1, overflow: "hidden", display: activeTab === "evaluation" ? "flex" : "none" } }, /* @__PURE__ */ React144.createElement(ScrollArea6, { style: { flex: 1, padding: "1rem" } }, evaluationLoading ? /* @__PURE__ */ React144.createElement(Stack106, { align: "center", justify: "center", py: "xl" }, /* @__PURE__ */ React144.createElement(Loader15, { size: "lg" }), /* @__PURE__ */ React144.createElement(Text80, { size: "sm", c: "dimmed" }, "Running AI evaluation...")) : evaluationResult ? /* @__PURE__ */ React144.createElement(RubricEvaluationResults, { evaluation: evaluationResult }) : rubricData === null && !evaluationLoading ? /* @__PURE__ */ React144.createElement(Alert18, { color: "yellow", title: "No Rubric Available", icon: /* @__PURE__ */ React144.createElement(IconChecklist3, { size: 18 }) }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm" }, "No evaluation rubric is configured for this deed. Manual evaluation is required.")) : /* @__PURE__ */ React144.createElement(Alert18, { color: "gray", title: "Evaluation Not Available", icon: /* @__PURE__ */ React144.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm" }, "Evaluation data is not available for this claim."))))), /* @__PURE__ */ React144.createElement(Divider12, null), /* @__PURE__ */ React144.createElement(Stack106, { gap: "sm" }, /* @__PURE__ */ React144.createElement(Group47, { grow: true }, /* @__PURE__ */ React144.createElement(Button30, { color: "green", onClick: handleApprove, loading: evaluating, disabled: evaluating || isClaimAlreadyEvaluated }, "Approve Claim"), /* @__PURE__ */ React144.createElement(Button30, { color: "red", variant: "outline", onClick: handleReject, loading: evaluating, disabled: evaluating || isClaimAlreadyEvaluated }, "Reject Claim")), evaluationResult?.trace?.result?.outcome === "escalated" && /* @__PURE__ */ React144.createElement(Alert18, { color: "orange", title: "Escalation Required", icon: /* @__PURE__ */ React144.createElement(IconAlertCircle4, { size: 18 }) }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm" }, "This claim has been flagged for human review. Please carefully review all details before making a decision.", evaluationResult.trace.result.escalatedTo && /* @__PURE__ */ React144.createElement(Text80, { size: "xs", c: "dimmed", mt: "xs" }, "Escalated to: ", evaluationResult.trace.result.escalatedTo)))))
|
|
14496
14483
|
)
|
|
14497
14484
|
)
|
|
14498
14485
|
);
|
|
@@ -14560,7 +14547,7 @@ var ClaimListItem = ({ claim, onViewClaim }) => {
|
|
|
14560
14547
|
tabIndex: 0,
|
|
14561
14548
|
style: { cursor: "pointer" }
|
|
14562
14549
|
},
|
|
14563
|
-
/* @__PURE__ */ React144.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React144.createElement(Stack106, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React144.createElement(Text80, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate || claim.submittedAt)), claim.agentDid && /* @__PURE__ */ React144.createElement(
|
|
14550
|
+
/* @__PURE__ */ React144.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React144.createElement(Stack106, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React144.createElement(Text80, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React144.createElement(Text80, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate || claim.submittedAt)), claim.agentDid && /* @__PURE__ */ React144.createElement(Group47, { gap: 4 }, /* @__PURE__ */ React144.createElement(Text80, { size: "xs", c: "dimmed" }, "Agent: ", loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React144.createElement(Text80, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"))), /* @__PURE__ */ React144.createElement(Stack106, { gap: 4, align: "flex-end" }, /* @__PURE__ */ React144.createElement(Badge20, { color: claimStatus.color, size: "sm" }, claimStatus.status), /* @__PURE__ */ React144.createElement(ActionIcon22, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React144.createElement(IconArrowRight4, { size: 16 }))))
|
|
14564
14551
|
);
|
|
14565
14552
|
};
|
|
14566
14553
|
|
|
@@ -14729,7 +14716,7 @@ var ClaimFlowView = ({ editor, block }) => {
|
|
|
14729
14716
|
if (selectedCollectionIds.length === 0) {
|
|
14730
14717
|
return /* @__PURE__ */ React147.createElement(Center9, { py: "xl" }, /* @__PURE__ */ React147.createElement(Text83, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
14731
14718
|
}
|
|
14732
|
-
return /* @__PURE__ */ React147.createElement(Stack109, { w: "100%" }, /* @__PURE__ */ React147.createElement(Flex27, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React147.createElement(
|
|
14719
|
+
return /* @__PURE__ */ React147.createElement(Stack109, { w: "100%" }, /* @__PURE__ */ React147.createElement(Flex27, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React147.createElement(Title6, { order: 4 }, "Submit Claims"), /* @__PURE__ */ React147.createElement(Flex27, { gap: "xs" }, /* @__PURE__ */ React147.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React147.createElement(ActionIcon24, { variant: "subtle", size: "sm", onClick: refetch, loading }, /* @__PURE__ */ React147.createElement(IconRefresh4, { size: 18 })), editable && /* @__PURE__ */ React147.createElement(ActionIcon24, { variant: "subtle", size: "sm", onClick: open }, /* @__PURE__ */ React147.createElement(IconSettings3, { size: 18 })))), loading ? /* @__PURE__ */ React147.createElement(Center9, { py: "xl" }, /* @__PURE__ */ React147.createElement(Loader17, { size: "md" })) : error ? /* @__PURE__ */ React147.createElement(Alert19, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React147.createElement(IconAlertCircle5, { size: 18 }) }, /* @__PURE__ */ React147.createElement(Text83, { size: "sm" }, error)) : /* @__PURE__ */ React147.createElement(
|
|
14733
14720
|
ClaimCollectionsList,
|
|
14734
14721
|
{
|
|
14735
14722
|
listType: "claims",
|
|
@@ -14801,7 +14788,7 @@ import React155 from "react";
|
|
|
14801
14788
|
|
|
14802
14789
|
// src/mantine/blocks/bid/template/TemplateView.tsx
|
|
14803
14790
|
import React153, { useMemo as useMemo43 } from "react";
|
|
14804
|
-
import { Group as
|
|
14791
|
+
import { Group as Group48, Stack as Stack110, Text as Text84 } from "@mantine/core";
|
|
14805
14792
|
|
|
14806
14793
|
// src/mantine/blocks/bid/template/TemplateConfig.tsx
|
|
14807
14794
|
import React152, { useCallback as useCallback34 } from "react";
|
|
@@ -14964,12 +14951,12 @@ var BidTemplateView = ({ editor, block }) => {
|
|
|
14964
14951
|
);
|
|
14965
14952
|
const { open: openAssignment } = usePanel(assignmentPanelId, assignmentPanelContent);
|
|
14966
14953
|
const didDisplay = block.props.did ? `${block.props.did.substring(0, 15)}...${block.props.did.substring(block.props.did.length - 10)}` : "No DID configured";
|
|
14967
|
-
return /* @__PURE__ */ React153.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React153.createElement(
|
|
14954
|
+
return /* @__PURE__ */ React153.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React153.createElement(Group48, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React153.createElement(Group48, { wrap: "nowrap", align: "center" }, getIcon("dollar-sign", "dollar-sign"), /* @__PURE__ */ React153.createElement(Stack110, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React153.createElement(Text84, { fw: 500, size: "sm", contentEditable: false }, "Bid Block"), /* @__PURE__ */ React153.createElement(Text84, { size: "xs", c: "dimmed", contentEditable: false }, block.props.did ? didDisplay : "Configure bid settings"))), /* @__PURE__ */ React153.createElement(AssignmentDisplay, { block, onClick: openAssignment })));
|
|
14968
14955
|
};
|
|
14969
14956
|
|
|
14970
14957
|
// src/mantine/blocks/bid/flow/components/FlowView.tsx
|
|
14971
14958
|
import React154, { useMemo as useMemo44 } from "react";
|
|
14972
|
-
import { Stack as Stack111, Text as Text85, Loader as Loader18, Center as Center10, Alert as Alert20, Title as
|
|
14959
|
+
import { Stack as Stack111, Text as Text85, Loader as Loader18, Center as Center10, Alert as Alert20, Title as Title7, Flex as Flex28, ActionIcon as ActionIcon25 } from "@mantine/core";
|
|
14973
14960
|
import { IconSettings as IconSettings4, IconRefresh as IconRefresh5, IconAlertCircle as IconAlertCircle6 } from "@tabler/icons-react";
|
|
14974
14961
|
var BID_FLOW_PANEL_ID = "bid-flow-panel";
|
|
14975
14962
|
var BID_ASSIGNMENT_PANEL_ID2 = "bid-assignment-panel";
|
|
@@ -15037,7 +15024,7 @@ var BidFlowView = ({ editor, block }) => {
|
|
|
15037
15024
|
if (selectedCollectionIds.length === 0) {
|
|
15038
15025
|
return /* @__PURE__ */ React154.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React154.createElement(Text85, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
15039
15026
|
}
|
|
15040
|
-
return /* @__PURE__ */ React154.createElement(Stack111, { w: "100%" }, /* @__PURE__ */ React154.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React154.createElement(
|
|
15027
|
+
return /* @__PURE__ */ React154.createElement(Stack111, { w: "100%" }, /* @__PURE__ */ React154.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React154.createElement(Title7, { order: 4 }, "Bid Application"), /* @__PURE__ */ React154.createElement(Flex28, { gap: "xs" }, /* @__PURE__ */ React154.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React154.createElement(ActionIcon25, { variant: "subtle", size: "sm", onClick: refetch, loading }, /* @__PURE__ */ React154.createElement(IconRefresh5, { size: 18 })), editable && /* @__PURE__ */ React154.createElement(ActionIcon25, { variant: "subtle", size: "sm", onClick: open }, /* @__PURE__ */ React154.createElement(IconSettings4, { size: 18 })))), loading ? /* @__PURE__ */ React154.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React154.createElement(Loader18, { size: "md" })) : error ? /* @__PURE__ */ React154.createElement(Alert20, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React154.createElement(IconAlertCircle6, { size: 18 }) }, /* @__PURE__ */ React154.createElement(Text85, { size: "sm" }, error)) : /* @__PURE__ */ React154.createElement(
|
|
15041
15028
|
ClaimCollectionsList,
|
|
15042
15029
|
{
|
|
15043
15030
|
listType: "bids",
|
|
@@ -15099,7 +15086,7 @@ import React161 from "react";
|
|
|
15099
15086
|
|
|
15100
15087
|
// src/mantine/blocks/evaluator/template/TemplateView.tsx
|
|
15101
15088
|
import React159, { useMemo as useMemo46 } from "react";
|
|
15102
|
-
import { Group as
|
|
15089
|
+
import { Group as Group49, Stack as Stack112, Text as Text86 } from "@mantine/core";
|
|
15103
15090
|
|
|
15104
15091
|
// src/mantine/blocks/evaluator/template/TemplateConfig.tsx
|
|
15105
15092
|
import React158, { useCallback as useCallback36 } from "react";
|
|
@@ -15248,12 +15235,12 @@ var EvaluatorTemplateView = ({ editor, block }) => {
|
|
|
15248
15235
|
[editor, block, closePanel]
|
|
15249
15236
|
);
|
|
15250
15237
|
const { open: openAssignment } = usePanel(assignmentPanelId, assignmentPanelContent);
|
|
15251
|
-
return /* @__PURE__ */ React159.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React159.createElement(
|
|
15238
|
+
return /* @__PURE__ */ React159.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React159.createElement(Group49, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React159.createElement(Group49, { wrap: "nowrap", align: "center" }, getIcon("checklist", block.props.icon), /* @__PURE__ */ React159.createElement(Stack112, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React159.createElement(Text86, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Evaluator Title"), /* @__PURE__ */ React159.createElement(Text86, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || "Evaluator description"))), /* @__PURE__ */ React159.createElement(AssignmentDisplay, { block, onClick: openAssignment })));
|
|
15252
15239
|
};
|
|
15253
15240
|
|
|
15254
15241
|
// src/mantine/blocks/evaluator/flow/FlowView.tsx
|
|
15255
15242
|
import React160, { useMemo as useMemo47 } from "react";
|
|
15256
|
-
import { Stack as Stack113, Text as Text87, Loader as Loader19, Center as Center11, Alert as Alert21, Title as
|
|
15243
|
+
import { Stack as Stack113, Text as Text87, Loader as Loader19, Center as Center11, Alert as Alert21, Title as Title8, Flex as Flex29, ActionIcon as ActionIcon26 } from "@mantine/core";
|
|
15257
15244
|
import { IconSettings as IconSettings5, IconRefresh as IconRefresh6, IconAlertCircle as IconAlertCircle7 } from "@tabler/icons-react";
|
|
15258
15245
|
var EVALUATOR_ASSIGNMENT_PANEL_ID2 = "evaluator-assignment-panel";
|
|
15259
15246
|
var EvaluatorFlowView = ({ editor, block }) => {
|
|
@@ -15283,7 +15270,7 @@ var EvaluatorFlowView = ({ editor, block }) => {
|
|
|
15283
15270
|
if (selectedCollectionIds.length === 0) {
|
|
15284
15271
|
return /* @__PURE__ */ React160.createElement(Center11, { py: "xl" }, /* @__PURE__ */ React160.createElement(Text87, { size: "sm", c: "dimmed" }, "No claim collections selected"));
|
|
15285
15272
|
}
|
|
15286
|
-
return /* @__PURE__ */ React160.createElement(Stack113, { w: "100%" }, /* @__PURE__ */ React160.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React160.createElement(
|
|
15273
|
+
return /* @__PURE__ */ React160.createElement(Stack113, { w: "100%" }, /* @__PURE__ */ React160.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React160.createElement(Title8, { order: 4 }, "Evaluate Claims"), /* @__PURE__ */ React160.createElement(Flex29, { gap: "xs" }, /* @__PURE__ */ React160.createElement(AssignmentDisplay, { block, onClick: openAssignment }), /* @__PURE__ */ React160.createElement(ActionIcon26, { variant: "subtle", size: "sm", onClick: refetch, loading }, /* @__PURE__ */ React160.createElement(IconRefresh6, { size: 18 })), editable && /* @__PURE__ */ React160.createElement(ActionIcon26, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React160.createElement(IconSettings5, { size: 18 })))), loading ? /* @__PURE__ */ React160.createElement(Center11, { py: "xl" }, /* @__PURE__ */ React160.createElement(Loader19, { size: "md" })) : error ? /* @__PURE__ */ React160.createElement(Alert21, { color: "red", title: "Failed to load collections", icon: /* @__PURE__ */ React160.createElement(IconAlertCircle7, { size: 18 }) }, /* @__PURE__ */ React160.createElement(Text87, { size: "sm" }, error)) : /* @__PURE__ */ React160.createElement(ClaimCollectionsList, { listType: "evaluations", collections, deedId: did, adminAddress, userAddress, onRefresh: refetch }));
|
|
15287
15274
|
};
|
|
15288
15275
|
|
|
15289
15276
|
// src/mantine/blocks/evaluator/EvaluatorBlock.tsx
|
|
@@ -15332,7 +15319,7 @@ import { createReactBlockSpec as createReactBlockSpec12 } from "@blocknote/react
|
|
|
15332
15319
|
|
|
15333
15320
|
// src/mantine/blocks/visualization/VisualizationBlock.tsx
|
|
15334
15321
|
import React163, { useMemo as useMemo48, useCallback as useCallback37, useRef as useRef8, useState as useState58, useEffect as useEffect41 } from "react";
|
|
15335
|
-
import { Box as
|
|
15322
|
+
import { Box as Box34, Stack as Stack114, Text as Text88, Paper as Paper15, Group as Group50 } from "@mantine/core";
|
|
15336
15323
|
function VisualizationBlock({ block, editor }) {
|
|
15337
15324
|
const { visualizationRenderer } = useBlocknoteContext();
|
|
15338
15325
|
const { vizType, config, title, preferences } = block.props;
|
|
@@ -15387,10 +15374,10 @@ function VisualizationBlock({ block, editor }) {
|
|
|
15387
15374
|
if (visualizationRenderer) {
|
|
15388
15375
|
const renderedContent = visualizationRenderer(vizType, parsedConfig, parsedPreferences, handlePreferencesChange);
|
|
15389
15376
|
if (renderedContent) {
|
|
15390
|
-
return /* @__PURE__ */ React163.createElement(
|
|
15377
|
+
return /* @__PURE__ */ React163.createElement(Box34, { ref: containerRef, w: "100%", miw: 200, mih: 200 }, hasValidDimensions ? renderedContent : null);
|
|
15391
15378
|
}
|
|
15392
15379
|
}
|
|
15393
|
-
return /* @__PURE__ */ React163.createElement(Paper15, { p: "lg", withBorder: true, radius: "lg", w: "100%" }, /* @__PURE__ */ React163.createElement(Stack114, { gap: "sm" }, /* @__PURE__ */ React163.createElement(Text88, { fz: "18", ta: "center" }, "Visualization Block"), /* @__PURE__ */ React163.createElement(Paper15, { p: "sm", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React163.createElement(Stack114, { gap: "xs" }, !title && /* @__PURE__ */ React163.createElement(
|
|
15380
|
+
return /* @__PURE__ */ React163.createElement(Paper15, { p: "lg", withBorder: true, radius: "lg", w: "100%" }, /* @__PURE__ */ React163.createElement(Stack114, { gap: "sm" }, /* @__PURE__ */ React163.createElement(Text88, { fz: "18", ta: "center" }, "Visualization Block"), /* @__PURE__ */ React163.createElement(Paper15, { p: "sm", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React163.createElement(Stack114, { gap: "xs" }, !title && /* @__PURE__ */ React163.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React163.createElement(Text88, { size: "xs", c: "dimmed", fw: 500 }, "Title:"), /* @__PURE__ */ React163.createElement(Text88, { size: "xs", c: "white" }, title || "No title")), /* @__PURE__ */ React163.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React163.createElement(Text88, { size: "xs", c: "dimmed", fw: 500 }, "Type:"), /* @__PURE__ */ React163.createElement(Text88, { size: "xs", c: "white" }, vizType)))), /* @__PURE__ */ React163.createElement(Text88, { c: "dimmed", fz: "sm", fs: "italic", ta: "center" }, "View in a compatible client to see the full visualization.")));
|
|
15394
15381
|
}
|
|
15395
15382
|
|
|
15396
15383
|
// src/mantine/blocks/visualization/VisualizationBlockSpec.tsx
|
|
@@ -15431,7 +15418,7 @@ import React170 from "react";
|
|
|
15431
15418
|
|
|
15432
15419
|
// src/mantine/blocks/domainCreator/template/TemplateView.tsx
|
|
15433
15420
|
import React167, { useMemo as useMemo49 } from "react";
|
|
15434
|
-
import { Badge as Badge21, Group as
|
|
15421
|
+
import { Badge as Badge21, Group as Group51, Stack as Stack115, Text as Text89 } from "@mantine/core";
|
|
15435
15422
|
|
|
15436
15423
|
// src/mantine/blocks/domainCreator/template/TemplateConfig.tsx
|
|
15437
15424
|
import React166, { useCallback as useCallback38 } from "react";
|
|
@@ -15536,17 +15523,17 @@ var DomainCreatorTemplateView = ({ editor, block }) => {
|
|
|
15536
15523
|
const panelId = `${DOMAIN_CREATOR_TEMPLATE_PANEL_ID}-${block.id}`;
|
|
15537
15524
|
const panelContent = useMemo49(() => /* @__PURE__ */ React167.createElement(TemplateConfig9, { editor, block }), [editor, block]);
|
|
15538
15525
|
const { open } = usePanel(panelId, panelContent);
|
|
15539
|
-
return /* @__PURE__ */ React167.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React167.createElement(Badge21, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React167.createElement(
|
|
15526
|
+
return /* @__PURE__ */ React167.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React167.createElement(Badge21, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React167.createElement(Group51, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React167.createElement(Group51, { wrap: "nowrap", align: "center" }, getIcon("file-text", block.props.icon), /* @__PURE__ */ React167.createElement(Stack115, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React167.createElement(Text89, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Domain Creator"), /* @__PURE__ */ React167.createElement(Text89, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || "Configure the domain creation flow")))));
|
|
15540
15527
|
};
|
|
15541
15528
|
|
|
15542
15529
|
// src/mantine/blocks/domainCreator/flow/FlowView.tsx
|
|
15543
15530
|
import React169, { useCallback as useCallback40, useMemo as useMemo51, useState as useState61 } from "react";
|
|
15544
|
-
import { ActionIcon as ActionIcon27, Badge as Badge22, Group as
|
|
15531
|
+
import { ActionIcon as ActionIcon27, Badge as Badge22, Group as Group53, Stack as Stack117, Text as Text91, Tooltip as Tooltip16 } from "@mantine/core";
|
|
15545
15532
|
import { IconChevronRight as IconChevronRight6, IconCheck as IconCheck6, IconAlertCircle as IconAlertCircle9 } from "@tabler/icons-react";
|
|
15546
15533
|
|
|
15547
15534
|
// src/mantine/blocks/domainCreator/flow/DomainCreatorSurveyPanel.tsx
|
|
15548
15535
|
import React168, { useCallback as useCallback39, useEffect as useEffect43, useMemo as useMemo50, useRef as useRef9, useState as useState60 } from "react";
|
|
15549
|
-
import { Alert as Alert22, Button as
|
|
15536
|
+
import { Alert as Alert22, Button as Button31, Group as Group52, Loader as Loader20, Stack as Stack116, Text as Text90 } from "@mantine/core";
|
|
15550
15537
|
import { useDebouncedCallback } from "@mantine/hooks";
|
|
15551
15538
|
import { IconAlertCircle as IconAlertCircle8, IconCheck as IconCheck5 } from "@tabler/icons-react";
|
|
15552
15539
|
import { Survey as Survey5, SurveyModel as SurveyModel5 } from "@ixo/surveys";
|
|
@@ -16823,10 +16810,10 @@ var DomainCreatorSurveyPanel = ({ editor, block, onComplete, entityDid: existing
|
|
|
16823
16810
|
return /* @__PURE__ */ React168.createElement(Stack116, { gap: "md", p: "md", align: "center", justify: "center", style: { minHeight: 300 } }, /* @__PURE__ */ React168.createElement(Loader20, { size: "lg" }), /* @__PURE__ */ React168.createElement(Text90, { size: "sm", c: "dimmed" }, stepMessages[flowStep]));
|
|
16824
16811
|
}
|
|
16825
16812
|
if (flowStep === "success") {
|
|
16826
|
-
return /* @__PURE__ */ React168.createElement(Stack116, { gap: "md", p: "md" }, /* @__PURE__ */ React168.createElement(Alert22, { icon: /* @__PURE__ */ React168.createElement(IconCheck5, { size: 16 }), title: "Domain Created Successfully", color: "green" }, /* @__PURE__ */ React168.createElement(Stack116, { gap: "xs" }, /* @__PURE__ */ React168.createElement(Text90, { size: "sm" }, "Your domain has been created and the Domain Card credential has been signed and stored."), createdEntityDid && /* @__PURE__ */ React168.createElement(Text90, { size: "xs", c: "dimmed" }, "Entity DID: ", createdEntityDid))), /* @__PURE__ */ React168.createElement(
|
|
16813
|
+
return /* @__PURE__ */ React168.createElement(Stack116, { gap: "md", p: "md" }, /* @__PURE__ */ React168.createElement(Alert22, { icon: /* @__PURE__ */ React168.createElement(IconCheck5, { size: 16 }), title: "Domain Created Successfully", color: "green" }, /* @__PURE__ */ React168.createElement(Stack116, { gap: "xs" }, /* @__PURE__ */ React168.createElement(Text90, { size: "sm" }, "Your domain has been created and the Domain Card credential has been signed and stored."), createdEntityDid && /* @__PURE__ */ React168.createElement(Text90, { size: "xs", c: "dimmed" }, "Entity DID: ", createdEntityDid))), /* @__PURE__ */ React168.createElement(Button31, { onClick: handleVisitEntity }, "Visit Entity"));
|
|
16827
16814
|
}
|
|
16828
16815
|
if (flowStep === "error") {
|
|
16829
|
-
return /* @__PURE__ */ React168.createElement(Stack116, { gap: "md", p: "md" }, /* @__PURE__ */ React168.createElement(Alert22, { icon: /* @__PURE__ */ React168.createElement(IconAlertCircle8, { size: 16 }), title: "Domain Creation Failed", color: "red" }, /* @__PURE__ */ React168.createElement(Text90, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React168.createElement(
|
|
16816
|
+
return /* @__PURE__ */ React168.createElement(Stack116, { gap: "md", p: "md" }, /* @__PURE__ */ React168.createElement(Alert22, { icon: /* @__PURE__ */ React168.createElement(IconAlertCircle8, { size: 16 }), title: "Domain Creation Failed", color: "red" }, /* @__PURE__ */ React168.createElement(Text90, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React168.createElement(Group52, null, /* @__PURE__ */ React168.createElement(Button31, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React168.createElement(Button31, { variant: "subtle", onClick: handleClose }, "Close")));
|
|
16830
16817
|
}
|
|
16831
16818
|
return /* @__PURE__ */ React168.createElement(
|
|
16832
16819
|
BaseRightPanelLayout,
|
|
@@ -16883,7 +16870,7 @@ var DomainCreatorFlowView = ({ editor, block }) => {
|
|
|
16883
16870
|
return { variant: "light", color: "gray", text: "Click to start", icon: null };
|
|
16884
16871
|
};
|
|
16885
16872
|
const badgeProps = getBadgeProps();
|
|
16886
|
-
return /* @__PURE__ */ React169.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React169.createElement(
|
|
16873
|
+
return /* @__PURE__ */ React169.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React169.createElement(Group53, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React169.createElement(Group53, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("file-text", block.props.icon), /* @__PURE__ */ React169.createElement(Stack117, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React169.createElement(Group53, { gap: "xs", align: "center" }, /* @__PURE__ */ React169.createElement(Text91, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Domain Creator"), /* @__PURE__ */ React169.createElement(Badge22, { size: "xs", variant: badgeProps.variant, color: badgeProps.color, leftSection: badgeProps.icon }, badgeProps.text)), /* @__PURE__ */ React169.createElement(Text91, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? `Domain created: ${lastSubmission.entityDid}` : block.props.description || "Open the survey panel to create a new domain."))), /* @__PURE__ */ React169.createElement(Tooltip16, { label: hasExistingSubmission ? "View/Edit domain" : "Create domain", withArrow: true }, /* @__PURE__ */ React169.createElement(ActionIcon27, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React169.createElement(IconChevronRight6, { size: 18 })))));
|
|
16887
16874
|
};
|
|
16888
16875
|
|
|
16889
16876
|
// src/mantine/blocks/domainCreator/DomainCreatorBlock.tsx
|
|
@@ -16928,7 +16915,7 @@ import React177 from "react";
|
|
|
16928
16915
|
|
|
16929
16916
|
// src/mantine/blocks/email/template/TemplateView.tsx
|
|
16930
16917
|
import React175, { useMemo as useMemo53 } from "react";
|
|
16931
|
-
import { Badge as Badge24, Group as
|
|
16918
|
+
import { Badge as Badge24, Group as Group55, Stack as Stack120, Text as Text94 } from "@mantine/core";
|
|
16932
16919
|
|
|
16933
16920
|
// src/mantine/blocks/email/template/TemplateConfig.tsx
|
|
16934
16921
|
import React174, { useCallback as useCallback43 } from "react";
|
|
@@ -17069,7 +17056,7 @@ var GeneralTab10 = ({ block, editor, updateProp, updateProps }) => {
|
|
|
17069
17056
|
|
|
17070
17057
|
// src/mantine/blocks/email/template/VariablesTab.tsx
|
|
17071
17058
|
import React173, { useMemo as useMemo52, useCallback as useCallback42 } from "react";
|
|
17072
|
-
import { Alert as Alert23, Badge as Badge23, Divider as Divider14, Group as
|
|
17059
|
+
import { Alert as Alert23, Badge as Badge23, Divider as Divider14, Group as Group54, Stack as Stack119, Text as Text93 } from "@mantine/core";
|
|
17073
17060
|
import { IconInfoCircle as IconInfoCircle4, IconCheck as IconCheck7 } from "@tabler/icons-react";
|
|
17074
17061
|
var VariablesTab = ({ block, editor, updateProp }) => {
|
|
17075
17062
|
const extractedVariables = useMemo52(() => {
|
|
@@ -17100,7 +17087,7 @@ var VariablesTab = ({ block, editor, updateProp }) => {
|
|
|
17100
17087
|
return /* @__PURE__ */ React173.createElement(Alert23, { color: "green", icon: /* @__PURE__ */ React173.createElement(IconCheck7, { size: 16 }) }, "This template has no handlebars variables to configure.");
|
|
17101
17088
|
}
|
|
17102
17089
|
const mappedCount = getMappedCount(extractedVariables, variableMapping);
|
|
17103
|
-
return /* @__PURE__ */ React173.createElement(Stack119, { gap: "md" }, /* @__PURE__ */ React173.createElement(
|
|
17090
|
+
return /* @__PURE__ */ React173.createElement(Stack119, { gap: "md" }, /* @__PURE__ */ React173.createElement(Group54, { justify: "space-between" }, /* @__PURE__ */ React173.createElement(Text93, { size: "sm", c: "dimmed" }, "Map template variables to block data or static values"), /* @__PURE__ */ React173.createElement(Badge23, { color: mappedCount === extractedVariables.length ? "green" : "orange" }, mappedCount, "/", extractedVariables.length, " mapped")), /* @__PURE__ */ React173.createElement(Divider14, null), extractedVariables.map((variable) => /* @__PURE__ */ React173.createElement(
|
|
17104
17091
|
DataInput,
|
|
17105
17092
|
{
|
|
17106
17093
|
key: variable.name,
|
|
@@ -17187,12 +17174,12 @@ var EmailTemplateView = ({ editor, block }) => {
|
|
|
17187
17174
|
}, [block.props.variables]);
|
|
17188
17175
|
const mappedCount = getMappedCount(extractedVariables, variableMapping);
|
|
17189
17176
|
const templateName = block.props.templateName;
|
|
17190
|
-
return /* @__PURE__ */ React175.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React175.createElement(
|
|
17177
|
+
return /* @__PURE__ */ React175.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React175.createElement(Group55, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React175.createElement(Group55, { wrap: "nowrap", align: "center" }, getIcon("mail", block.props.icon), /* @__PURE__ */ React175.createElement(Stack120, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React175.createElement(Text94, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Send Email"), templateName ? /* @__PURE__ */ React175.createElement(Text94, { size: "xs", c: "dimmed", contentEditable: false }, "Template: ", templateName) : /* @__PURE__ */ React175.createElement(Text94, { size: "xs", c: "orange", contentEditable: false }, "No template selected"))), /* @__PURE__ */ React175.createElement(Group55, { gap: "xs" }, extractedVariables.length > 0 && /* @__PURE__ */ React175.createElement(Badge24, { size: "sm", variant: "light", color: mappedCount === extractedVariables.length ? "green" : "orange" }, mappedCount, "/", extractedVariables.length, " vars"))));
|
|
17191
17178
|
};
|
|
17192
17179
|
|
|
17193
17180
|
// src/mantine/blocks/email/flow/FlowView.tsx
|
|
17194
17181
|
import React176 from "react";
|
|
17195
|
-
import { Alert as Alert24, Badge as Badge25, Button as
|
|
17182
|
+
import { Alert as Alert24, Badge as Badge25, Button as Button32, Group as Group56, Loader as Loader22, Stack as Stack121, Text as Text95, Tooltip as Tooltip17 } from "@mantine/core";
|
|
17196
17183
|
import { IconMail as IconMail2, IconSend as IconSend4, IconAlertCircle as IconAlertCircle10, IconCheck as IconCheck8, IconRefresh as IconRefresh7 } from "@tabler/icons-react";
|
|
17197
17184
|
|
|
17198
17185
|
// src/mantine/blocks/email/flow/hooks/useEmailActions.ts
|
|
@@ -17346,8 +17333,8 @@ var EmailFlowView = ({ editor, block, isDisabled }) => {
|
|
|
17346
17333
|
}
|
|
17347
17334
|
};
|
|
17348
17335
|
const canSend = !disabled && !loading && block.props.templateName && block.props.to && block.props.from;
|
|
17349
|
-
const sendButton = /* @__PURE__ */ React176.createElement(
|
|
17350
|
-
return /* @__PURE__ */ React176.createElement(BaseContainer, null, /* @__PURE__ */ React176.createElement(Stack121, { gap: "sm" }, /* @__PURE__ */ React176.createElement(
|
|
17336
|
+
const sendButton = /* @__PURE__ */ React176.createElement(Button32, { leftSection: loading ? /* @__PURE__ */ React176.createElement(Loader22, { size: "xs", color: "white" }) : /* @__PURE__ */ React176.createElement(IconSend4, { size: 16 }), onClick: sendEmail, disabled: !canSend, loading, size: "sm" }, block.props.buttonLabel || "Send Email");
|
|
17337
|
+
return /* @__PURE__ */ React176.createElement(BaseContainer, null, /* @__PURE__ */ React176.createElement(Stack121, { gap: "sm" }, /* @__PURE__ */ React176.createElement(Group56, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React176.createElement(Group56, { wrap: "nowrap" }, /* @__PURE__ */ React176.createElement(IconMail2, { size: 20, style: { color: "var(--mantine-color-blue-6)" } }), /* @__PURE__ */ React176.createElement(Text95, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Send Email")), /* @__PURE__ */ React176.createElement(Badge25, { color: getStatusColor2(), leftSection: getStatusIcon(), size: "sm" }, getStatusText())), block.props.description && /* @__PURE__ */ React176.createElement(Text95, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description), /* @__PURE__ */ React176.createElement(Stack121, { gap: 4 }, /* @__PURE__ */ React176.createElement(Text95, { size: "xs", contentEditable: false }, /* @__PURE__ */ React176.createElement(Text95, { span: true, fw: 500 }, "To:"), " ", toDisplay || /* @__PURE__ */ React176.createElement(Text95, { span: true, c: "orange" }, "Not configured")), /* @__PURE__ */ React176.createElement(Text95, { size: "xs", contentEditable: false }, /* @__PURE__ */ React176.createElement(Text95, { span: true, fw: 500 }, "Subject:"), " ", subjectDisplay || /* @__PURE__ */ React176.createElement(Text95, { span: true, c: "dimmed" }, "No subject"))), status === "error" && block.props.error && /* @__PURE__ */ React176.createElement(Alert24, { color: "red", icon: /* @__PURE__ */ React176.createElement(IconAlertCircle10, { size: 16 }), py: "xs" }, block.props.error), /* @__PURE__ */ React176.createElement(Group56, { gap: "sm" }, disabled && isDisabled?.message ? /* @__PURE__ */ React176.createElement(Tooltip17, { label: isDisabled.message, position: "top", withArrow: true }, sendButton) : sendButton, status === "error" && /* @__PURE__ */ React176.createElement(Button32, { variant: "light", color: "gray", size: "sm", leftSection: /* @__PURE__ */ React176.createElement(IconRefresh7, { size: 16 }), onClick: resetStatus }, "Reset"), status === "sent" && /* @__PURE__ */ React176.createElement(Button32, { variant: "light", color: "blue", size: "sm", leftSection: /* @__PURE__ */ React176.createElement(IconRefresh7, { size: 16 }), onClick: resetStatus }, "Send Again")), status === "sent" && block.props.lastMessageId && /* @__PURE__ */ React176.createElement(Text95, { size: "xs", c: "dimmed", contentEditable: false }, "Message ID: ", block.props.lastMessageId)));
|
|
17351
17338
|
};
|
|
17352
17339
|
|
|
17353
17340
|
// src/mantine/blocks/email/EmailBlock.tsx
|
|
@@ -17439,7 +17426,7 @@ import React180, { useCallback as useCallback45 } from "react";
|
|
|
17439
17426
|
|
|
17440
17427
|
// src/mantine/blocks/protocolSelector/template/GeneralTab.tsx
|
|
17441
17428
|
import React179, { useEffect as useEffect45, useMemo as useMemo54, useState as useState64 } from "react";
|
|
17442
|
-
import { Divider as Divider15, Stack as Stack122, Text as Text96, PillsInput as PillsInput2, Pill as Pill2, Box as
|
|
17429
|
+
import { Divider as Divider15, Stack as Stack122, Text as Text96, PillsInput as PillsInput2, Pill as Pill2, Box as Box35 } from "@mantine/core";
|
|
17443
17430
|
var GeneralTab11 = ({ title, description, protocolDids, onTitleChange, onDescriptionChange, onProtocolDidsChange }) => {
|
|
17444
17431
|
const [localTitle, setLocalTitle] = useState64(title || "");
|
|
17445
17432
|
const [localDescription, setLocalDescription] = useState64(description || "");
|
|
@@ -17507,7 +17494,7 @@ var GeneralTab11 = ({ title, description, protocolDids, onTitleChange, onDescrip
|
|
|
17507
17494
|
}
|
|
17508
17495
|
}
|
|
17509
17496
|
}
|
|
17510
|
-
))), localDids.length > 0 && /* @__PURE__ */ React179.createElement(
|
|
17497
|
+
))), localDids.length > 0 && /* @__PURE__ */ React179.createElement(Box35, { mt: "xs" }, /* @__PURE__ */ React179.createElement(Text96, { size: "xs", c: "dimmed" }, localDids.length, " protocol", localDids.length !== 1 ? "s" : "", " configured"))));
|
|
17511
17498
|
};
|
|
17512
17499
|
|
|
17513
17500
|
// src/mantine/blocks/protocolSelector/template/TemplateConfig.tsx
|
|
@@ -17550,7 +17537,7 @@ var TemplateConfig11 = ({ editor, block }) => {
|
|
|
17550
17537
|
};
|
|
17551
17538
|
|
|
17552
17539
|
// src/mantine/blocks/protocolSelector/template/TemplateView.tsx
|
|
17553
|
-
import { Box as
|
|
17540
|
+
import { Box as Box36, Group as Group57, Stack as Stack123, Text as Text97 } from "@mantine/core";
|
|
17554
17541
|
import { IconCircleDashed as IconCircleDashed2 } from "@tabler/icons-react";
|
|
17555
17542
|
var PROTOCOL_SELECTOR_TEMPLATE_PANEL_ID = "protocol-selector-template-panel";
|
|
17556
17543
|
var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
@@ -17565,8 +17552,8 @@ var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
|
17565
17552
|
return [];
|
|
17566
17553
|
}
|
|
17567
17554
|
}, [block.props.protocolDids]);
|
|
17568
|
-
return /* @__PURE__ */ React181.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React181.createElement(
|
|
17569
|
-
|
|
17555
|
+
return /* @__PURE__ */ React181.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React181.createElement(Group57, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React181.createElement(Group57, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React181.createElement(
|
|
17556
|
+
Box36,
|
|
17570
17557
|
{
|
|
17571
17558
|
style: {
|
|
17572
17559
|
width: 40,
|
|
@@ -17584,12 +17571,12 @@ var ProtocolSelectorTemplateView = ({ editor, block }) => {
|
|
|
17584
17571
|
|
|
17585
17572
|
// src/mantine/blocks/protocolSelector/flow/FlowView.tsx
|
|
17586
17573
|
import React184, { useMemo as useMemo57 } from "react";
|
|
17587
|
-
import { Badge as Badge26, Box as
|
|
17574
|
+
import { Badge as Badge26, Box as Box38, Group as Group59, Stack as Stack125, Text as Text99, Tooltip as Tooltip18 } from "@mantine/core";
|
|
17588
17575
|
import { IconCircleDashed as IconCircleDashed3, IconChecks } from "@tabler/icons-react";
|
|
17589
17576
|
|
|
17590
17577
|
// src/mantine/blocks/protocolSelector/flow/ProtocolSelectionPanel.tsx
|
|
17591
17578
|
import React183, { useState as useState65, useEffect as useEffect46, useMemo as useMemo56, useCallback as useCallback46 } from "react";
|
|
17592
|
-
import { Stack as Stack124, Text as Text98, Box as
|
|
17579
|
+
import { Stack as Stack124, Text as Text98, Box as Box37, Group as Group58, Loader as Loader23 } from "@mantine/core";
|
|
17593
17580
|
|
|
17594
17581
|
// src/icons/EntityAvatar.tsx
|
|
17595
17582
|
import React182 from "react";
|
|
@@ -17711,10 +17698,10 @@ var ProtocolSelectionPanel = ({ editor, block }) => {
|
|
|
17711
17698
|
[editor, block, closePanel]
|
|
17712
17699
|
);
|
|
17713
17700
|
const selectedDid = block.props.selectedProtocolDid;
|
|
17714
|
-
return /* @__PURE__ */ React183.createElement(BaseRightPanelLayout, { title: block.props.title || "Select Protocol", onClose: closePanel }, /* @__PURE__ */ React183.createElement(Stack124, { gap: "sm", style: { flex: 1, overflow: "auto" } }, protocols.length === 0 ? /* @__PURE__ */ React183.createElement(
|
|
17701
|
+
return /* @__PURE__ */ React183.createElement(BaseRightPanelLayout, { title: block.props.title || "Select Protocol", onClose: closePanel }, /* @__PURE__ */ React183.createElement(Stack124, { gap: "sm", style: { flex: 1, overflow: "auto" } }, protocols.length === 0 ? /* @__PURE__ */ React183.createElement(Box37, { py: "md" }, /* @__PURE__ */ React183.createElement(Text98, { c: "dimmed", ta: "center" }, "No protocols configured.", /* @__PURE__ */ React183.createElement("br", null), "Add protocol DIDs in template mode.")) : protocols.map((protocol) => {
|
|
17715
17702
|
const isSelected = protocol.did === selectedDid;
|
|
17716
17703
|
return /* @__PURE__ */ React183.createElement(
|
|
17717
|
-
|
|
17704
|
+
Box37,
|
|
17718
17705
|
{
|
|
17719
17706
|
key: protocol.did,
|
|
17720
17707
|
onClick: () => !protocol.loading && handleSelectProtocol(protocol),
|
|
@@ -17730,7 +17717,7 @@ var ProtocolSelectionPanel = ({ editor, block }) => {
|
|
|
17730
17717
|
}
|
|
17731
17718
|
}
|
|
17732
17719
|
},
|
|
17733
|
-
/* @__PURE__ */ React183.createElement(
|
|
17720
|
+
/* @__PURE__ */ React183.createElement(Group58, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React183.createElement(Group58, { wrap: "nowrap", align: "center", gap: "md", style: { flex: 1 } }, protocol.loading ? /* @__PURE__ */ React183.createElement(Loader23, { size: "xs", color: "white" }) : /* @__PURE__ */ React183.createElement(EntityAvatar_default, { size: 24 }), /* @__PURE__ */ React183.createElement(Stack124, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React183.createElement(Text98, { fw: 500, size: "sm", lineClamp: 1 }, protocol.loading ? "Loading..." : protocol.type), /* @__PURE__ */ React183.createElement(Text98, { size: "xs", c: "dimmed", lineClamp: 2 }, protocol.loading ? "Fetching protocol info..." : protocol.description || protocol.did))))
|
|
17734
17721
|
);
|
|
17735
17722
|
})));
|
|
17736
17723
|
};
|
|
@@ -17747,8 +17734,8 @@ var ProtocolSelectorFlowView = ({ editor, block, isDisabled }) => {
|
|
|
17747
17734
|
if (disabled) return;
|
|
17748
17735
|
open();
|
|
17749
17736
|
};
|
|
17750
|
-
const containerContent = /* @__PURE__ */ React184.createElement(BaseContainer, { onClick: disabled ? void 0 : handleClick }, /* @__PURE__ */ React184.createElement(
|
|
17751
|
-
|
|
17737
|
+
const containerContent = /* @__PURE__ */ React184.createElement(BaseContainer, { onClick: disabled ? void 0 : handleClick }, /* @__PURE__ */ React184.createElement(Group59, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React184.createElement(Group59, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React184.createElement(
|
|
17738
|
+
Box38,
|
|
17752
17739
|
{
|
|
17753
17740
|
style: {
|
|
17754
17741
|
display: "flex",
|
|
@@ -17758,9 +17745,9 @@ var ProtocolSelectorFlowView = ({ editor, block, isDisabled }) => {
|
|
|
17758
17745
|
}
|
|
17759
17746
|
},
|
|
17760
17747
|
/* @__PURE__ */ React184.createElement(IconCircleDashed3, { size: 26, color: "white" })
|
|
17761
|
-
), /* @__PURE__ */ React184.createElement(Stack125, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React184.createElement(Text99, { fw: 500, size: "sm", lineClamp: 1, style: { opacity: disabled ? 0.5 : 1 } }, block.props.title || "Select Protocol"), isCompleted && block.props.selectedProtocolType ? /* @__PURE__ */ React184.createElement(Badge26, { size: "sm", styles: { root: { backgroundColor: "var(--mantine-primary-color-light)", color: "var(--mantine-primary-color-filled)" } } }, block.props.selectedProtocolType) : /* @__PURE__ */ React184.createElement(Text99, { size: "xs", c: "dimmed", style: { opacity: disabled ? 0.5 : 1 } }, "Selection"))), /* @__PURE__ */ React184.createElement(Stack125, { gap: 2, align: "flex-end" }, isCompleted ? /* @__PURE__ */ React184.createElement(React184.Fragment, null, /* @__PURE__ */ React184.createElement(
|
|
17748
|
+
), /* @__PURE__ */ React184.createElement(Stack125, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React184.createElement(Text99, { fw: 500, size: "sm", lineClamp: 1, style: { opacity: disabled ? 0.5 : 1 } }, block.props.title || "Select Protocol"), isCompleted && block.props.selectedProtocolType ? /* @__PURE__ */ React184.createElement(Badge26, { size: "sm", styles: { root: { backgroundColor: "var(--mantine-primary-color-light)", color: "var(--mantine-primary-color-filled)" } } }, block.props.selectedProtocolType) : /* @__PURE__ */ React184.createElement(Text99, { size: "xs", c: "dimmed", style: { opacity: disabled ? 0.5 : 1 } }, "Selection"))), /* @__PURE__ */ React184.createElement(Stack125, { gap: 2, align: "flex-end" }, isCompleted ? /* @__PURE__ */ React184.createElement(React184.Fragment, null, /* @__PURE__ */ React184.createElement(Group59, { gap: 4 }, /* @__PURE__ */ React184.createElement(IconChecks, { size: 16, color: "var(--mantine-color-green-4)" }), /* @__PURE__ */ React184.createElement(Text99, { size: "sm", c: "green.4", fw: 500 }, "Completed")), /* @__PURE__ */ React184.createElement(Text99, { size: "xs", c: "dimmed", lineClamp: 1 }, block.props.selectedProtocolName || block.props.selectedProtocolDid)) : /* @__PURE__ */ React184.createElement(React184.Fragment, null, /* @__PURE__ */ React184.createElement(Text99, { size: "sm" }, "Pending"), /* @__PURE__ */ React184.createElement(Text99, { size: "xs", c: "dimmed" }, "Complete now")))));
|
|
17762
17749
|
if (disabled && isDisabled?.message) {
|
|
17763
|
-
return /* @__PURE__ */ React184.createElement(Tooltip18, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React184.createElement(
|
|
17750
|
+
return /* @__PURE__ */ React184.createElement(Tooltip18, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React184.createElement(Box38, { style: { cursor: "not-allowed" } }, containerContent));
|
|
17764
17751
|
}
|
|
17765
17752
|
return containerContent;
|
|
17766
17753
|
};
|
|
@@ -17847,11 +17834,11 @@ import React192 from "react";
|
|
|
17847
17834
|
|
|
17848
17835
|
// src/mantine/blocks/form/template/TemplateView.tsx
|
|
17849
17836
|
import React189, { useMemo as useMemo58 } from "react";
|
|
17850
|
-
import { Badge as Badge27, Group as
|
|
17837
|
+
import { Badge as Badge27, Group as Group60, Stack as Stack126, Text as Text101 } from "@mantine/core";
|
|
17851
17838
|
|
|
17852
17839
|
// src/mantine/blocks/form/template/TemplateConfig.tsx
|
|
17853
17840
|
import React188, { useCallback as useCallback47 } from "react";
|
|
17854
|
-
import { Paper as Paper16, CloseButton as
|
|
17841
|
+
import { Paper as Paper16, CloseButton as CloseButton6, Title as Title9 } from "@mantine/core";
|
|
17855
17842
|
|
|
17856
17843
|
// src/mantine/blocks/form/template/GeneralTab.tsx
|
|
17857
17844
|
import React187, { useEffect as useEffect47, useState as useState66 } from "react";
|
|
@@ -17967,8 +17954,8 @@ var TemplateConfig12 = ({ editor, block }) => {
|
|
|
17967
17954
|
marginBottom: "1rem"
|
|
17968
17955
|
}
|
|
17969
17956
|
},
|
|
17970
|
-
/* @__PURE__ */ React188.createElement(
|
|
17971
|
-
/* @__PURE__ */ React188.createElement(
|
|
17957
|
+
/* @__PURE__ */ React188.createElement(Title9, { order: 3 }, "Form Settings"),
|
|
17958
|
+
/* @__PURE__ */ React188.createElement(CloseButton6, { onClick: closePanel })
|
|
17972
17959
|
),
|
|
17973
17960
|
/* @__PURE__ */ React188.createElement(
|
|
17974
17961
|
ReusablePanel,
|
|
@@ -18005,12 +17992,12 @@ var FormTemplateView = ({ editor, block }) => {
|
|
|
18005
17992
|
const panelContent = useMemo58(() => /* @__PURE__ */ React189.createElement(TemplateConfig12, { editor, block }), [editor, block]);
|
|
18006
17993
|
const { open } = usePanel(panelId, panelContent);
|
|
18007
17994
|
const hasSchema = Boolean(block.props.surveySchema);
|
|
18008
|
-
return /* @__PURE__ */ React189.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React189.createElement(Badge27, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React189.createElement(
|
|
17995
|
+
return /* @__PURE__ */ React189.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React189.createElement(Badge27, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React189.createElement(Group60, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React189.createElement(Group60, { wrap: "nowrap", align: "center" }, getIcon("checklist", block.props.icon), /* @__PURE__ */ React189.createElement(Stack126, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React189.createElement(Text101, { fw: 500, size: "sm" }, block.props.title || "Form"), /* @__PURE__ */ React189.createElement(Text101, { size: "xs", c: "dimmed" }, hasSchema ? "Form configured" : "Click to configure form schema")))));
|
|
18009
17996
|
};
|
|
18010
17997
|
|
|
18011
17998
|
// src/mantine/blocks/form/flow/FlowView.tsx
|
|
18012
17999
|
import React191, { useMemo as useMemo60, useState as useState67, useCallback as useCallback49 } from "react";
|
|
18013
|
-
import { ActionIcon as ActionIcon28, Badge as Badge28, Group as
|
|
18000
|
+
import { ActionIcon as ActionIcon28, Badge as Badge28, Group as Group61, Stack as Stack127, Text as Text103, Tooltip as Tooltip19 } from "@mantine/core";
|
|
18014
18001
|
import { IconChevronRight as IconChevronRight7 } from "@tabler/icons-react";
|
|
18015
18002
|
|
|
18016
18003
|
// src/mantine/blocks/form/flow/FormPanel.tsx
|
|
@@ -18189,7 +18176,7 @@ var FormFlowView = ({ editor, block }) => {
|
|
|
18189
18176
|
};
|
|
18190
18177
|
const badgeProps = getBadgeProps();
|
|
18191
18178
|
const hasSchema = Boolean(block.props.surveySchema);
|
|
18192
|
-
return /* @__PURE__ */ React191.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React191.createElement(
|
|
18179
|
+
return /* @__PURE__ */ React191.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React191.createElement(Group61, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React191.createElement(Group61, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("checklist", block.props.icon), /* @__PURE__ */ React191.createElement(Stack127, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React191.createElement(Group61, { gap: "xs", align: "center" }, /* @__PURE__ */ React191.createElement(Text103, { fw: 600, size: "sm" }, block.props.title || "Form"), /* @__PURE__ */ React191.createElement(
|
|
18193
18180
|
Badge28,
|
|
18194
18181
|
{
|
|
18195
18182
|
size: "xs",
|
|
@@ -18245,7 +18232,7 @@ import React200 from "react";
|
|
|
18245
18232
|
|
|
18246
18233
|
// src/mantine/blocks/domainCreatorSign/template/TemplateView.tsx
|
|
18247
18234
|
import React196, { useMemo as useMemo61 } from "react";
|
|
18248
|
-
import { Badge as Badge29, Group as
|
|
18235
|
+
import { Badge as Badge29, Group as Group62, Stack as Stack128, Text as Text104 } from "@mantine/core";
|
|
18249
18236
|
|
|
18250
18237
|
// src/mantine/blocks/domainCreatorSign/template/TemplateConfig.tsx
|
|
18251
18238
|
import React195, { useCallback as useCallback50 } from "react";
|
|
@@ -18353,16 +18340,16 @@ var DomainCreatorSignTemplateView = ({ editor, block }) => {
|
|
|
18353
18340
|
[editor, block, closePanel]
|
|
18354
18341
|
);
|
|
18355
18342
|
const { open: openAssignment } = usePanel(assignmentPanelId, assignmentPanelContent);
|
|
18356
|
-
return /* @__PURE__ */ React196.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React196.createElement(Badge29, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React196.createElement(
|
|
18343
|
+
return /* @__PURE__ */ React196.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React196.createElement(Badge29, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React196.createElement(Group62, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React196.createElement(Group62, { wrap: "nowrap", align: "center" }, getIcon("feather", block.props.icon), /* @__PURE__ */ React196.createElement(Stack128, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React196.createElement(Text104, { fw: 500, size: "sm" }, block.props.title || "Sign to Create"), /* @__PURE__ */ React196.createElement(Text104, { size: "xs", c: "dimmed" }, "Sign"))), /* @__PURE__ */ React196.createElement(AssignmentDisplay, { block, onClick: openAssignment })));
|
|
18357
18344
|
};
|
|
18358
18345
|
|
|
18359
18346
|
// src/mantine/blocks/domainCreatorSign/flow/FlowView.tsx
|
|
18360
18347
|
import React199, { useCallback as useCallback52, useMemo as useMemo62, useEffect as useEffect50 } from "react";
|
|
18361
|
-
import { ActionIcon as ActionIcon29, Badge as Badge31, Group as
|
|
18348
|
+
import { ActionIcon as ActionIcon29, Badge as Badge31, Group as Group65, Stack as Stack131, Text as Text107, Tooltip as Tooltip21 } from "@mantine/core";
|
|
18362
18349
|
import { IconChevronRight as IconChevronRight8 } from "@tabler/icons-react";
|
|
18363
18350
|
|
|
18364
18351
|
// src/mantine/blocks/domainCreatorSign/flow/SignPanel.tsx
|
|
18365
|
-
import { Alert as Alert26, Button as
|
|
18352
|
+
import { Alert as Alert26, Button as Button33, Group as Group64, Loader as Loader24, Stack as Stack130, Text as Text106 } from "@mantine/core";
|
|
18366
18353
|
import { IconAlertCircle as IconAlertCircle12, IconCheck as IconCheck9 } from "@tabler/icons-react";
|
|
18367
18354
|
import React198, { useCallback as useCallback51, useState as useState70 } from "react";
|
|
18368
18355
|
|
|
@@ -18385,7 +18372,7 @@ function buildGovernanceGroupLinkedEntities(linkedEntities) {
|
|
|
18385
18372
|
}
|
|
18386
18373
|
|
|
18387
18374
|
// src/mantine/components/Base/BaseSigning.tsx
|
|
18388
|
-
import { Badge as Badge30, Box as
|
|
18375
|
+
import { Badge as Badge30, Box as Box39, Flex as Flex30, Group as Group63, Slider, Stack as Stack129, Tabs as Tabs4, Text as Text105, Tooltip as Tooltip20 } from "@mantine/core";
|
|
18389
18376
|
import { IconClock as IconClock2, IconFeather as IconFeather2, IconUsers as IconUsers3, IconArrowsExchange as IconArrowsExchange2, IconCalendar as IconCalendar2, IconLeaf as IconLeaf2, IconBolt } from "@tabler/icons-react";
|
|
18390
18377
|
import React197, { useState as useState69 } from "react";
|
|
18391
18378
|
function BaseSigning({ handleSign }) {
|
|
@@ -18420,7 +18407,7 @@ function BaseSigning({ handleSign }) {
|
|
|
18420
18407
|
c: "var(--mantine-color-accent-2)",
|
|
18421
18408
|
fw: 400,
|
|
18422
18409
|
tt: "capitalize",
|
|
18423
|
-
leftSection: /* @__PURE__ */ React197.createElement(
|
|
18410
|
+
leftSection: /* @__PURE__ */ React197.createElement(Box39, { style: { display: "inline-flex", alignItems: "center", lineHeight: 1 } }, /* @__PURE__ */ React197.createElement(IconClock2, { size: 14 })),
|
|
18424
18411
|
styles: {
|
|
18425
18412
|
root: {
|
|
18426
18413
|
display: "inline-flex",
|
|
@@ -18430,7 +18417,7 @@ function BaseSigning({ handleSign }) {
|
|
|
18430
18417
|
},
|
|
18431
18418
|
"12h 5min"
|
|
18432
18419
|
)),
|
|
18433
|
-
/* @__PURE__ */ React197.createElement(
|
|
18420
|
+
/* @__PURE__ */ React197.createElement(Box39, { mb: "sm", bg: "neutralColor.5", p: 8, style: { borderRadius: 8 } }, /* @__PURE__ */ React197.createElement(
|
|
18434
18421
|
Tabs4,
|
|
18435
18422
|
{
|
|
18436
18423
|
value: activeTab,
|
|
@@ -18465,7 +18452,7 @@ function BaseSigning({ handleSign }) {
|
|
|
18465
18452
|
/* @__PURE__ */ React197.createElement(Tabs4.Panel, { value: "charge" }, /* @__PURE__ */ React197.createElement(Text105, { c: "white", size: "sm" }, "Charge content")),
|
|
18466
18453
|
/* @__PURE__ */ React197.createElement(Tabs4.Panel, { value: "impact" }, /* @__PURE__ */ React197.createElement(Text105, { c: "white", size: "sm" }, "Impact content"))
|
|
18467
18454
|
)),
|
|
18468
|
-
isSigned ? /* @__PURE__ */ React197.createElement(
|
|
18455
|
+
isSigned ? /* @__PURE__ */ React197.createElement(Box39, { bg: "dark.6", p: "sm", style: { borderRadius: "var(--mantine-radius-md)" } }, /* @__PURE__ */ React197.createElement(Group63, { justify: "center" }, /* @__PURE__ */ React197.createElement(Text105, { size: "sm", c: "dimmed" }, "Transaction signed successfully"))) : /* @__PURE__ */ React197.createElement(
|
|
18469
18456
|
Slider,
|
|
18470
18457
|
{
|
|
18471
18458
|
value,
|
|
@@ -18651,10 +18638,10 @@ var SignPanel = ({ editor, block, onComplete, onError }) => {
|
|
|
18651
18638
|
return /* @__PURE__ */ React198.createElement(BaseRightPanelLayout, { onClose: handleClose, title: block.props.title || "Sign to Create" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "md", align: "center", justify: "center", style: { minHeight: 300 } }, /* @__PURE__ */ React198.createElement(Loader24, { size: "lg" }), /* @__PURE__ */ React198.createElement(Text106, { size: "sm", c: "dimmed" }, stepMessages[flowStep])));
|
|
18652
18639
|
}
|
|
18653
18640
|
if (flowStep === "success") {
|
|
18654
|
-
return /* @__PURE__ */ React198.createElement(BaseRightPanelLayout, { onClose: handleClose, title: block.props.title || "Sign to Create" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "md" }, /* @__PURE__ */ React198.createElement(Alert26, { icon: /* @__PURE__ */ React198.createElement(IconCheck9, { size: 16 }), title: "Domain Created Successfully", color: "green" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React198.createElement(Text106, { size: "sm" }, "Your domain has been created and the Domain Card credential has been signed and stored."), createdEntityDid && /* @__PURE__ */ React198.createElement(Text106, { size: "xs", c: "dimmed" }, "Entity DID: ", createdEntityDid))), /* @__PURE__ */ React198.createElement(
|
|
18641
|
+
return /* @__PURE__ */ React198.createElement(BaseRightPanelLayout, { onClose: handleClose, title: block.props.title || "Sign to Create" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "md" }, /* @__PURE__ */ React198.createElement(Alert26, { icon: /* @__PURE__ */ React198.createElement(IconCheck9, { size: 16 }), title: "Domain Created Successfully", color: "green" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React198.createElement(Text106, { size: "sm" }, "Your domain has been created and the Domain Card credential has been signed and stored."), createdEntityDid && /* @__PURE__ */ React198.createElement(Text106, { size: "xs", c: "dimmed" }, "Entity DID: ", createdEntityDid))), /* @__PURE__ */ React198.createElement(Button33, { onClick: handleVisitEntity }, "Visit Entity")));
|
|
18655
18642
|
}
|
|
18656
18643
|
if (flowStep === "error") {
|
|
18657
|
-
return /* @__PURE__ */ React198.createElement(BaseRightPanelLayout, { onClose: handleClose, title: block.props.title || "Sign to Create" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "md" }, /* @__PURE__ */ React198.createElement(Alert26, { icon: /* @__PURE__ */ React198.createElement(IconAlertCircle12, { size: 16 }), title: "Domain Creation Failed", color: "red" }, /* @__PURE__ */ React198.createElement(Text106, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React198.createElement(
|
|
18644
|
+
return /* @__PURE__ */ React198.createElement(BaseRightPanelLayout, { onClose: handleClose, title: block.props.title || "Sign to Create" }, /* @__PURE__ */ React198.createElement(Stack130, { gap: "md" }, /* @__PURE__ */ React198.createElement(Alert26, { icon: /* @__PURE__ */ React198.createElement(IconAlertCircle12, { size: 16 }), title: "Domain Creation Failed", color: "red" }, /* @__PURE__ */ React198.createElement(Text106, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React198.createElement(Group64, null, /* @__PURE__ */ React198.createElement(Button33, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React198.createElement(Button33, { variant: "subtle", onClick: handleClose }, "Close"))));
|
|
18658
18645
|
}
|
|
18659
18646
|
const domainCardData = getDomainCardData();
|
|
18660
18647
|
return /* @__PURE__ */ React198.createElement(
|
|
@@ -18664,7 +18651,7 @@ var SignPanel = ({ editor, block, onComplete, onError }) => {
|
|
|
18664
18651
|
captionContent: /* @__PURE__ */ React198.createElement(Text106, { px: "xl", py: "md", size: "sm", c: "dimmed" }, "Review and sign to create your domain."),
|
|
18665
18652
|
title: block.props.title || "Sign to Create"
|
|
18666
18653
|
},
|
|
18667
|
-
/* @__PURE__ */ React198.createElement(Stack130, { gap: "xs", mb: "md", p: "md", style: { backgroundColor: "var(--mantine-color-dark-6)", borderRadius: 8 } }, /* @__PURE__ */ React198.createElement(Text106, { fw: 600, size: "sm" }, "Domain Card Summary"), /* @__PURE__ */ React198.createElement(
|
|
18654
|
+
/* @__PURE__ */ React198.createElement(Stack130, { gap: "xs", mb: "md", p: "md", style: { backgroundColor: "var(--mantine-color-dark-6)", borderRadius: 8 } }, /* @__PURE__ */ React198.createElement(Text106, { fw: 600, size: "sm" }, "Domain Card Summary"), /* @__PURE__ */ React198.createElement(Group64, { gap: "xs" }, /* @__PURE__ */ React198.createElement(Text106, { size: "xs", c: "dimmed", style: { width: 80 } }, "Name:"), /* @__PURE__ */ React198.createElement(Text106, { size: "xs" }, domainCardData?.credentialSubject?.name || "Not set")), /* @__PURE__ */ React198.createElement(Group64, { gap: "xs" }, /* @__PURE__ */ React198.createElement(Text106, { size: "xs", c: "dimmed", style: { width: 80 } }, "Type:"), /* @__PURE__ */ React198.createElement(Text106, { size: "xs" }, block.props.entityType || (domainCardData?.credentialSubject?.type?.[0]?.replace(/^schema:/i, "").toLowerCase() ?? "dao"))), domainCardData?.credentialSubject?.description && /* @__PURE__ */ React198.createElement(Group64, { gap: "xs", align: "flex-start" }, /* @__PURE__ */ React198.createElement(Text106, { size: "xs", c: "dimmed", style: { width: 80 } }, "Description:"), /* @__PURE__ */ React198.createElement(Text106, { size: "xs", lineClamp: 2, style: { flex: 1 } }, domainCardData.credentialSubject.description))),
|
|
18668
18655
|
/* @__PURE__ */ React198.createElement(BaseSigning, { handleSign })
|
|
18669
18656
|
);
|
|
18670
18657
|
};
|
|
@@ -18764,7 +18751,7 @@ var DomainCreatorSignFlowView = ({ editor, block }) => {
|
|
|
18764
18751
|
return "Waiting for domain card data";
|
|
18765
18752
|
}
|
|
18766
18753
|
};
|
|
18767
|
-
return /* @__PURE__ */ React199.createElement(BaseContainer, { onClick: isClickable ? handleOpen : void 0, style: { opacity: isClickable ? 1 : 0.7, cursor: isClickable ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React199.createElement(
|
|
18754
|
+
return /* @__PURE__ */ React199.createElement(BaseContainer, { onClick: isClickable ? handleOpen : void 0, style: { opacity: isClickable ? 1 : 0.7, cursor: isClickable ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React199.createElement(Group65, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React199.createElement(Group65, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("feather", block.props.icon), /* @__PURE__ */ React199.createElement(Stack131, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React199.createElement(Group65, { gap: "xs", align: "center" }, /* @__PURE__ */ React199.createElement(Text107, { fw: 600, size: "sm" }, block.props.title || "Sign to Create"), /* @__PURE__ */ React199.createElement(Badge31, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React199.createElement(Text107, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), /* @__PURE__ */ React199.createElement(Group65, null, /* @__PURE__ */ React199.createElement(AssignmentDisplay, { block, onClick: openAssignment }), isClickable && /* @__PURE__ */ React199.createElement(Tooltip21, { label: status === "completed" ? "View details" : "Sign & Create", withArrow: true }, /* @__PURE__ */ React199.createElement(ActionIcon29, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React199.createElement(IconChevronRight8, { size: 18 }))))));
|
|
18768
18755
|
};
|
|
18769
18756
|
|
|
18770
18757
|
// src/mantine/blocks/domainCreatorSign/DomainCreatorSignBlock.tsx
|
|
@@ -18825,11 +18812,11 @@ import React207 from "react";
|
|
|
18825
18812
|
|
|
18826
18813
|
// src/mantine/blocks/domainCardViewer/template/TemplateView.tsx
|
|
18827
18814
|
import React204, { useMemo as useMemo63 } from "react";
|
|
18828
|
-
import { Badge as Badge32, Group as
|
|
18815
|
+
import { Badge as Badge32, Group as Group66, Stack as Stack132, Text as Text108 } from "@mantine/core";
|
|
18829
18816
|
|
|
18830
18817
|
// src/mantine/blocks/domainCardViewer/template/TemplateConfig.tsx
|
|
18831
18818
|
import React203, { useCallback as useCallback53 } from "react";
|
|
18832
|
-
import { Paper as Paper17, CloseButton as
|
|
18819
|
+
import { Paper as Paper17, CloseButton as CloseButton7, Title as Title10 } from "@mantine/core";
|
|
18833
18820
|
|
|
18834
18821
|
// src/mantine/blocks/domainCardViewer/template/GeneralTab.tsx
|
|
18835
18822
|
import React202, { useEffect as useEffect51, useState as useState71 } from "react";
|
|
@@ -18916,8 +18903,8 @@ var TemplateConfig14 = ({ editor, block }) => {
|
|
|
18916
18903
|
marginBottom: "1rem"
|
|
18917
18904
|
}
|
|
18918
18905
|
},
|
|
18919
|
-
/* @__PURE__ */ React203.createElement(
|
|
18920
|
-
/* @__PURE__ */ React203.createElement(
|
|
18906
|
+
/* @__PURE__ */ React203.createElement(Title10, { order: 5 }, "Domain Card Settings"),
|
|
18907
|
+
/* @__PURE__ */ React203.createElement(CloseButton7, { onClick: closePanel })
|
|
18921
18908
|
),
|
|
18922
18909
|
/* @__PURE__ */ React203.createElement(
|
|
18923
18910
|
ReusablePanel,
|
|
@@ -18951,17 +18938,17 @@ var DomainCardViewerTemplateView = ({ editor, block }) => {
|
|
|
18951
18938
|
const panelId = `${DOMAIN_CARD_VIEWER_TEMPLATE_PANEL_ID}-${block.id}`;
|
|
18952
18939
|
const panelContent = useMemo63(() => /* @__PURE__ */ React204.createElement(TemplateConfig14, { editor, block }), [editor, block]);
|
|
18953
18940
|
const { open } = usePanel(panelId, panelContent);
|
|
18954
|
-
return /* @__PURE__ */ React204.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React204.createElement(Badge32, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React204.createElement(
|
|
18941
|
+
return /* @__PURE__ */ React204.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React204.createElement(Badge32, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React204.createElement(Group66, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React204.createElement(Group66, { wrap: "nowrap", align: "center" }, getIcon("dots-circle", block.props.icon), /* @__PURE__ */ React204.createElement(Stack132, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React204.createElement(Text108, { fw: 500, size: "sm" }, block.props.title || "Domain Card"), /* @__PURE__ */ React204.createElement(Text108, { size: "xs", c: "dimmed" }, block.props.description || "Preview domain card generated by AI")))));
|
|
18955
18942
|
};
|
|
18956
18943
|
|
|
18957
18944
|
// src/mantine/blocks/domainCardViewer/flow/FlowView.tsx
|
|
18958
18945
|
import React206, { useMemo as useMemo65, useCallback as useCallback54, useEffect as useEffect52 } from "react";
|
|
18959
|
-
import { ActionIcon as ActionIcon30, Badge as Badge33, Button as
|
|
18946
|
+
import { ActionIcon as ActionIcon30, Badge as Badge33, Button as Button35, Group as Group67, Stack as Stack134, Text as Text110, Tooltip as Tooltip22 } from "@mantine/core";
|
|
18960
18947
|
import { IconChevronRight as IconChevronRight9, IconLoader, IconTestPipe, IconTrash as IconTrash5 } from "@tabler/icons-react";
|
|
18961
18948
|
|
|
18962
18949
|
// src/mantine/blocks/domainCardViewer/flow/ViewerPanel.tsx
|
|
18963
18950
|
import React205, { useMemo as useMemo64 } from "react";
|
|
18964
|
-
import { Paper as Paper18, CloseButton as
|
|
18951
|
+
import { Paper as Paper18, CloseButton as CloseButton8, Title as Title11, Stack as Stack133, Text as Text109, Loader as Loader25, Alert as Alert27, Button as Button34, Box as Box40, ScrollArea as ScrollArea7, Code as Code6 } from "@mantine/core";
|
|
18965
18952
|
import { IconAlertCircle as IconAlertCircle13, IconCheck as IconCheck10, IconSparkles as IconSparkles3 } from "@tabler/icons-react";
|
|
18966
18953
|
function parsePreviewData(jsonString) {
|
|
18967
18954
|
if (!jsonString || jsonString === "{}") return null;
|
|
@@ -18972,7 +18959,7 @@ function parsePreviewData(jsonString) {
|
|
|
18972
18959
|
}
|
|
18973
18960
|
}
|
|
18974
18961
|
var JsonViewer = ({ data }) => {
|
|
18975
|
-
return /* @__PURE__ */ React205.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React205.createElement(Stack133, { gap: "md" }, data.name && /* @__PURE__ */ React205.createElement(
|
|
18962
|
+
return /* @__PURE__ */ React205.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React205.createElement(Stack133, { gap: "md" }, data.name && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React205.createElement(Text109, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React205.createElement(Text109, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React205.createElement(Text109, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React205.createElement(Text109, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React205.createElement(Text109, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React205.createElement(Stack133, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React205.createElement(Box40, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React205.createElement(Text109, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React205.createElement(Box40, null, /* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React205.createElement(Code6, { block: true, style: { fontSize: 11, maxHeight: 200, overflow: "auto" } }, JSON.stringify(data, null, 2)))));
|
|
18976
18963
|
};
|
|
18977
18964
|
var ViewerPanel = ({ block, onApprove }) => {
|
|
18978
18965
|
const { closePanel } = usePanelStore();
|
|
@@ -19008,10 +18995,10 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
19008
18995
|
flexShrink: 0
|
|
19009
18996
|
}
|
|
19010
18997
|
},
|
|
19011
|
-
/* @__PURE__ */ React205.createElement(
|
|
19012
|
-
/* @__PURE__ */ React205.createElement(
|
|
18998
|
+
/* @__PURE__ */ React205.createElement(Title11, { order: 5 }, block.props.title || "Domain Card"),
|
|
18999
|
+
/* @__PURE__ */ React205.createElement(CloseButton8, { onClick: closePanel })
|
|
19013
19000
|
),
|
|
19014
|
-
/* @__PURE__ */ React205.createElement(
|
|
19001
|
+
/* @__PURE__ */ React205.createElement(Box40, { style: { flex: 1, overflow: "hidden", display: "flex", flexDirection: "column" } }, isLoading && /* @__PURE__ */ React205.createElement(Stack133, { align: "center", justify: "center", style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React205.createElement(Loader25, { size: "lg", color: "blue" }), /* @__PURE__ */ React205.createElement(Stack133, { align: "center", gap: "xs" }, /* @__PURE__ */ React205.createElement(IconSparkles3, { size: 24, color: "var(--mantine-color-blue-5)" }), /* @__PURE__ */ React205.createElement(Text109, { size: "sm", c: "dimmed", ta: "center" }, loadingMessage))), isError && /* @__PURE__ */ React205.createElement(Stack133, { style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React205.createElement(Alert27, { icon: /* @__PURE__ */ React205.createElement(IconAlertCircle13, { size: 16 }), title: "Error", color: "red", variant: "light" }, errorMessage), /* @__PURE__ */ React205.createElement(Text109, { size: "sm", c: "dimmed", ta: "center" }, "Please ask the oracle to try again.")), (isReady || isApproved) && hasData && /* @__PURE__ */ React205.createElement(Box40, { style: { flex: 1, overflow: "hidden" } }, domainCardRenderer ? (
|
|
19015
19002
|
// Use custom renderer from web app
|
|
19016
19003
|
/* @__PURE__ */ React205.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, domainCardRenderer(domainPreviewData))
|
|
19017
19004
|
) : (
|
|
@@ -19019,7 +19006,7 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
19019
19006
|
/* @__PURE__ */ React205.createElement(JsonViewer, { data: domainPreviewData })
|
|
19020
19007
|
)), !isLoading && !isError && !hasData && /* @__PURE__ */ React205.createElement(Stack133, { align: "center", justify: "center", style: { flex: 1 }, gap: "md" }, /* @__PURE__ */ React205.createElement(Text109, { size: "sm", c: "dimmed", ta: "center" }, "No domain data available yet."))),
|
|
19021
19008
|
isReady && hasData && /* @__PURE__ */ React205.createElement(
|
|
19022
|
-
|
|
19009
|
+
Box40,
|
|
19023
19010
|
{
|
|
19024
19011
|
pt: "md",
|
|
19025
19012
|
mt: "md",
|
|
@@ -19030,10 +19017,10 @@ var ViewerPanel = ({ block, onApprove }) => {
|
|
|
19030
19017
|
},
|
|
19031
19018
|
/* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", ta: "center", mb: "0" }, "This shows the domain details to see if the narrative aligns with what the domain is about."),
|
|
19032
19019
|
/* @__PURE__ */ React205.createElement(Text109, { size: "xs", c: "dimmed", ta: "center", mb: "md" }, "If you'd like changes, ask the oracle to make changes for you."),
|
|
19033
|
-
/* @__PURE__ */ React205.createElement(
|
|
19020
|
+
/* @__PURE__ */ React205.createElement(Button34, { fullWidth: true, color: "teal", leftSection: /* @__PURE__ */ React205.createElement(IconCheck10, { size: 16 }), onClick: onApprove }, "Approve")
|
|
19034
19021
|
),
|
|
19035
19022
|
isApproved && /* @__PURE__ */ React205.createElement(
|
|
19036
|
-
|
|
19023
|
+
Box40,
|
|
19037
19024
|
{
|
|
19038
19025
|
pt: "md",
|
|
19039
19026
|
mt: "md",
|
|
@@ -19366,7 +19353,7 @@ var DomainCardViewerFlowView = ({ editor, block }) => {
|
|
|
19366
19353
|
}
|
|
19367
19354
|
};
|
|
19368
19355
|
const canOpenPanel = status !== "pending";
|
|
19369
|
-
return /* @__PURE__ */ React206.createElement(BaseContainer, { onClick: canOpenPanel ? open : void 0, style: { opacity: canOpenPanel ? 1 : 0.7, cursor: canOpenPanel ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React206.createElement(
|
|
19356
|
+
return /* @__PURE__ */ React206.createElement(BaseContainer, { onClick: canOpenPanel ? open : void 0, style: { opacity: canOpenPanel ? 1 : 0.7, cursor: canOpenPanel ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React206.createElement(Group67, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React206.createElement(Group67, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("dots-circle", block.props.icon), /* @__PURE__ */ React206.createElement(Stack134, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React206.createElement(Group67, { gap: "xs", align: "center" }, /* @__PURE__ */ React206.createElement(Text110, { fw: 600, size: "sm" }, block.props.title || "Domain Card"), /* @__PURE__ */ React206.createElement(Badge33, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React206.createElement(Text110, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), IS_DEV && status === "pending" && /* @__PURE__ */ React206.createElement(React206.Fragment, null, /* @__PURE__ */ React206.createElement(Button35, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React206.createElement(IconTestPipe, { size: 14 }), onClick: handleInjectDummyData }, "Test Data"), /* @__PURE__ */ React206.createElement(Button35, { size: "compact-xs", variant: "light", color: "blue", leftSection: /* @__PURE__ */ React206.createElement(IconLoader, { size: 14 }), onClick: handleSetLoading }, "Loading")), IS_DEV && (status === "ready" || status === "approved" || status === "loading") && /* @__PURE__ */ React206.createElement(Button35, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React206.createElement(IconTrash5, { size: 14 }), onClick: handleClearData }, "Clear"), canOpenPanel && /* @__PURE__ */ React206.createElement(Tooltip22, { label: status === "approved" ? "View domain data" : "Review domain data", withArrow: true }, /* @__PURE__ */ React206.createElement(ActionIcon30, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React206.createElement(IconChevronRight9, { size: 18 })))));
|
|
19370
19357
|
};
|
|
19371
19358
|
|
|
19372
19359
|
// src/mantine/blocks/domainCardViewer/DomainCardViewerBlock.tsx
|
|
@@ -19419,7 +19406,7 @@ import React215 from "react";
|
|
|
19419
19406
|
|
|
19420
19407
|
// src/mantine/blocks/governanceGroup/template/TemplateView.tsx
|
|
19421
19408
|
import React212, { useMemo as useMemo67 } from "react";
|
|
19422
|
-
import { Badge as Badge35, Group as
|
|
19409
|
+
import { Badge as Badge35, Group as Group69, Stack as Stack137, Text as Text113 } from "@mantine/core";
|
|
19423
19410
|
|
|
19424
19411
|
// src/mantine/blocks/governanceGroup/template/TemplateConfig.tsx
|
|
19425
19412
|
import React211, { useCallback as useCallback56 } from "react";
|
|
@@ -19533,7 +19520,7 @@ var GeneralTab15 = ({ title, description, icon, groupType, onTitleChange, onDesc
|
|
|
19533
19520
|
|
|
19534
19521
|
// src/mantine/blocks/governanceGroup/template/AfterCreateTab.tsx
|
|
19535
19522
|
import React210, { useCallback as useCallback55, useMemo as useMemo66 } from "react";
|
|
19536
|
-
import { Stack as Stack136, Text as Text112, Alert as Alert28, Card as Card18, Group as
|
|
19523
|
+
import { Stack as Stack136, Text as Text112, Alert as Alert28, Card as Card18, Group as Group68, ActionIcon as ActionIcon31, Badge as Badge34, Switch as Switch6, Select as Select5 } from "@mantine/core";
|
|
19537
19524
|
import { IconPlus as IconPlus5, IconTrash as IconTrash6, IconLink } from "@tabler/icons-react";
|
|
19538
19525
|
function parseAfterCreateConfig(configString) {
|
|
19539
19526
|
if (!configString) {
|
|
@@ -19617,7 +19604,7 @@ var AfterCreateTab = ({ editor, block, afterCreate, onAfterCreateChange }) => {
|
|
|
19617
19604
|
return /* @__PURE__ */ React210.createElement(BaseSection, null, /* @__PURE__ */ React210.createElement(Stack136, { gap: "md" }, /* @__PURE__ */ React210.createElement(Text112, { size: "sm", c: "dimmed" }, "Configure actions to execute after the governance group is successfully created. The group's core address will be added as a linked entity to the target domain."), /* @__PURE__ */ React210.createElement(Stack136, { gap: "sm" }, config.actions.map((action) => {
|
|
19618
19605
|
const targetBlock = availableTargetBlocks.find((b) => b.id === action.targetBlockId);
|
|
19619
19606
|
const isTargetMissing = !targetBlock;
|
|
19620
|
-
return /* @__PURE__ */ React210.createElement(Card18, { key: action.id, withBorder: true, padding: "sm", radius: "md" }, /* @__PURE__ */ React210.createElement(Stack136, { gap: "xs" }, /* @__PURE__ */ React210.createElement(
|
|
19607
|
+
return /* @__PURE__ */ React210.createElement(Card18, { key: action.id, withBorder: true, padding: "sm", radius: "md" }, /* @__PURE__ */ React210.createElement(Stack136, { gap: "xs" }, /* @__PURE__ */ React210.createElement(Group68, { justify: "space-between", align: "center" }, /* @__PURE__ */ React210.createElement(Group68, { gap: "xs" }, /* @__PURE__ */ React210.createElement(IconLink, { size: 16 }), /* @__PURE__ */ React210.createElement(Text112, { size: "sm", fw: 500 }, "Add as Linked Entity"), /* @__PURE__ */ React210.createElement(Badge34, { size: "xs", variant: "light", color: "blue" }, "Governance Group")), /* @__PURE__ */ React210.createElement(Group68, { gap: "xs" }, /* @__PURE__ */ React210.createElement(Switch6, { size: "xs", checked: action.enabled, onChange: (e) => handleUpdateAction(action.id, { enabled: e.currentTarget.checked }) }), /* @__PURE__ */ React210.createElement(ActionIcon31, { variant: "subtle", color: "red", size: "sm", onClick: () => handleRemoveAction(action.id) }, /* @__PURE__ */ React210.createElement(IconTrash6, { size: 14 })))), isTargetMissing && /* @__PURE__ */ React210.createElement(Alert28, { color: "orange", variant: "light", title: "Target block not found", p: "xs" }, /* @__PURE__ */ React210.createElement(Text112, { size: "xs" }, "The configured target block no longer exists. Please select a new target.")), /* @__PURE__ */ React210.createElement(
|
|
19621
19608
|
Select5,
|
|
19622
19609
|
{
|
|
19623
19610
|
label: "Target Block",
|
|
@@ -20430,17 +20417,17 @@ var GovernanceGroupTemplateView = ({ editor, block }) => {
|
|
|
20430
20417
|
const panelId = `${GOVERNANCE_GROUP_TEMPLATE_PANEL_ID}-${block.id}`;
|
|
20431
20418
|
const panelContent = useMemo67(() => /* @__PURE__ */ React212.createElement(TemplateConfig15, { editor, block }), [editor, block]);
|
|
20432
20419
|
const { open } = usePanel(panelId, panelContent);
|
|
20433
|
-
return /* @__PURE__ */ React212.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React212.createElement(Badge35, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React212.createElement(
|
|
20420
|
+
return /* @__PURE__ */ React212.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React212.createElement(Badge35, { size: "xs", variant: "light", color: "gray", style: { position: "absolute", top: 8, right: 8 } }, "Template"), /* @__PURE__ */ React212.createElement(Group69, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React212.createElement(Group69, { wrap: "nowrap", align: "center" }, getIcon("users", block.props.icon), /* @__PURE__ */ React212.createElement(Stack137, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React212.createElement(Text113, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Governance Group"), /* @__PURE__ */ React212.createElement(Text113, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || "Configure the governance group creation flow")))));
|
|
20434
20421
|
};
|
|
20435
20422
|
|
|
20436
20423
|
// src/mantine/blocks/governanceGroup/flow/FlowView.tsx
|
|
20437
20424
|
import React214, { useCallback as useCallback58, useMemo as useMemo69, useState as useState74 } from "react";
|
|
20438
|
-
import { ActionIcon as ActionIcon32, Badge as Badge36, Group as
|
|
20425
|
+
import { ActionIcon as ActionIcon32, Badge as Badge36, Group as Group71, Stack as Stack139, Text as Text115, Tooltip as Tooltip23 } from "@mantine/core";
|
|
20439
20426
|
import { IconChevronRight as IconChevronRight10 } from "@tabler/icons-react";
|
|
20440
20427
|
|
|
20441
20428
|
// src/mantine/blocks/governanceGroup/flow/GovernanceGroupPanel.tsx
|
|
20442
20429
|
import React213, { useCallback as useCallback57, useEffect as useEffect54, useMemo as useMemo68, useRef as useRef11, useState as useState73 } from "react";
|
|
20443
|
-
import { Alert as Alert29, Button as
|
|
20430
|
+
import { Alert as Alert29, Button as Button36, Card as Card19, Group as Group70, Loader as Loader26, SimpleGrid as SimpleGrid3, Stack as Stack138, Text as Text114, ThemeIcon as ThemeIcon4 } from "@mantine/core";
|
|
20444
20431
|
import { useDebouncedCallback as useDebouncedCallback3 } from "@mantine/hooks";
|
|
20445
20432
|
import { IconAlertCircle as IconAlertCircle14, IconCheck as IconCheck11, IconUsers as IconUsers5, IconSignature as IconSignature2, IconPhoto as IconPhoto3, IconCoin as IconCoin2, IconArrowLeft as IconArrowLeft5 } from "@tabler/icons-react";
|
|
20446
20433
|
import { Survey as Survey7, SurveyModel as SurveyModel7 } from "@ixo/surveys";
|
|
@@ -20739,10 +20726,10 @@ var GovernanceGroupPanel = ({ editor, block, onComplete }) => {
|
|
|
20739
20726
|
}
|
|
20740
20727
|
if (flowStep === "success") {
|
|
20741
20728
|
const groupTypeName = selectedGroupType ? GROUP_TYPE_CONFIGS.find((c) => c.type === selectedGroupType)?.title || "Group" : "Group";
|
|
20742
|
-
return /* @__PURE__ */ React213.createElement(Stack138, { gap: "md", p: "md" }, /* @__PURE__ */ React213.createElement(Alert29, { icon: /* @__PURE__ */ React213.createElement(IconCheck11, { size: 16 }), title: "Group Created Successfully", color: "green" }, /* @__PURE__ */ React213.createElement(Stack138, { gap: "xs" }, /* @__PURE__ */ React213.createElement(Text114, { size: "sm" }, "Your ", groupTypeName, " has been created successfully."), createdCoreAddress && /* @__PURE__ */ React213.createElement(Text114, { size: "xs", c: "dimmed" }, "Core Address: ", createdCoreAddress), createdGroupAddress && /* @__PURE__ */ React213.createElement(Text114, { size: "xs", c: "dimmed" }, "Group Address: ", createdGroupAddress))), /* @__PURE__ */ React213.createElement(
|
|
20729
|
+
return /* @__PURE__ */ React213.createElement(Stack138, { gap: "md", p: "md" }, /* @__PURE__ */ React213.createElement(Alert29, { icon: /* @__PURE__ */ React213.createElement(IconCheck11, { size: 16 }), title: "Group Created Successfully", color: "green" }, /* @__PURE__ */ React213.createElement(Stack138, { gap: "xs" }, /* @__PURE__ */ React213.createElement(Text114, { size: "sm" }, "Your ", groupTypeName, " has been created successfully."), createdCoreAddress && /* @__PURE__ */ React213.createElement(Text114, { size: "xs", c: "dimmed" }, "Core Address: ", createdCoreAddress), createdGroupAddress && /* @__PURE__ */ React213.createElement(Text114, { size: "xs", c: "dimmed" }, "Group Address: ", createdGroupAddress))), /* @__PURE__ */ React213.createElement(Button36, { onClick: handleClose }, "Close"));
|
|
20743
20730
|
}
|
|
20744
20731
|
if (flowStep === "error") {
|
|
20745
|
-
return /* @__PURE__ */ React213.createElement(Stack138, { gap: "md", p: "md" }, /* @__PURE__ */ React213.createElement(Alert29, { icon: /* @__PURE__ */ React213.createElement(IconAlertCircle14, { size: 16 }), title: "Group Creation Failed", color: "red" }, /* @__PURE__ */ React213.createElement(Text114, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React213.createElement(
|
|
20732
|
+
return /* @__PURE__ */ React213.createElement(Stack138, { gap: "md", p: "md" }, /* @__PURE__ */ React213.createElement(Alert29, { icon: /* @__PURE__ */ React213.createElement(IconAlertCircle14, { size: 16 }), title: "Group Creation Failed", color: "red" }, /* @__PURE__ */ React213.createElement(Text114, { size: "sm" }, error || "An unexpected error occurred")), /* @__PURE__ */ React213.createElement(Group70, null, /* @__PURE__ */ React213.createElement(Button36, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React213.createElement(Button36, { variant: "subtle", onClick: handleClose }, "Close")));
|
|
20746
20733
|
}
|
|
20747
20734
|
if (flowStep === "survey" && surveyModel) {
|
|
20748
20735
|
const groupTypeName = selectedGroupType ? GROUP_TYPE_CONFIGS.find((c) => c.type === selectedGroupType)?.title || "Group" : "Group";
|
|
@@ -20752,7 +20739,7 @@ var GovernanceGroupPanel = ({ editor, block, onComplete }) => {
|
|
|
20752
20739
|
{
|
|
20753
20740
|
title: `Create ${groupTypeName}`,
|
|
20754
20741
|
onClose: handleClose,
|
|
20755
|
-
captionContent: showChangeTypeButton ? /* @__PURE__ */ React213.createElement(
|
|
20742
|
+
captionContent: showChangeTypeButton ? /* @__PURE__ */ React213.createElement(Group70, { mb: "md", px: "xl" }, /* @__PURE__ */ React213.createElement(Button36, { variant: "subtle", size: "xs", leftSection: /* @__PURE__ */ React213.createElement(IconArrowLeft5, { size: 14 }), onClick: handleBackToTypeSelection }, "Change Type")) : void 0
|
|
20756
20743
|
},
|
|
20757
20744
|
/* @__PURE__ */ React213.createElement(Survey7, { model: surveyModel })
|
|
20758
20745
|
);
|
|
@@ -20813,7 +20800,7 @@ var GovernanceGroupFlowView = ({ editor, block }) => {
|
|
|
20813
20800
|
const groupTypeName = lastSubmission.groupType ? lastSubmission.groupType.charAt(0).toUpperCase() + lastSubmission.groupType.slice(1).replace(/([A-Z])/g, " $1") : "Group";
|
|
20814
20801
|
return `${groupTypeName} created: ${lastSubmission.coreAddress?.slice(0, 12)}...`;
|
|
20815
20802
|
};
|
|
20816
|
-
return /* @__PURE__ */ React214.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React214.createElement(
|
|
20803
|
+
return /* @__PURE__ */ React214.createElement(BaseContainer, { onClick: handleOpen }, /* @__PURE__ */ React214.createElement(Group71, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React214.createElement(Group71, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("users", block.props.icon), /* @__PURE__ */ React214.createElement(Stack139, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React214.createElement(Group71, { gap: "xs", align: "center" }, /* @__PURE__ */ React214.createElement(Text115, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Governance Group"), /* @__PURE__ */ React214.createElement(Badge36, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React214.createElement(Text115, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? getSubmissionDisplay() : block.props.description || "Open the panel to create a new governance group."))), /* @__PURE__ */ React214.createElement(Tooltip23, { label: hasExistingSubmission ? "View/Edit group" : "Create group", withArrow: true }, /* @__PURE__ */ React214.createElement(ActionIcon32, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React214.createElement(IconChevronRight10, { size: 18 })))));
|
|
20817
20804
|
};
|
|
20818
20805
|
|
|
20819
20806
|
// src/mantine/blocks/governanceGroup/GovernanceGroupBlock.tsx
|
|
@@ -20861,7 +20848,7 @@ import React223 from "react";
|
|
|
20861
20848
|
|
|
20862
20849
|
// src/mantine/blocks/flowLink/template/TemplateView.tsx
|
|
20863
20850
|
import React220, { useMemo as useMemo71 } from "react";
|
|
20864
|
-
import { Group as
|
|
20851
|
+
import { Group as Group73, Stack as Stack142, Text as Text117 } from "@mantine/core";
|
|
20865
20852
|
|
|
20866
20853
|
// src/mantine/blocks/flowLink/template/TemplateConfig.tsx
|
|
20867
20854
|
import React219 from "react";
|
|
@@ -20898,7 +20885,7 @@ var GeneralTab16 = ({ title, description, icon, onTitleChange, onDescriptionChan
|
|
|
20898
20885
|
|
|
20899
20886
|
// src/mantine/blocks/flowLink/template/LinksTab.tsx
|
|
20900
20887
|
import React218, { useMemo as useMemo70 } from "react";
|
|
20901
|
-
import { Stack as Stack141, Card as Card20, Group as
|
|
20888
|
+
import { Stack as Stack141, Card as Card20, Group as Group72, ActionIcon as ActionIcon33, Text as Text116, Divider as Divider16 } from "@mantine/core";
|
|
20902
20889
|
import { IconPlus as IconPlus6, IconTrash as IconTrash7, IconGripVertical } from "@tabler/icons-react";
|
|
20903
20890
|
import { DndContext, PointerSensor, useSensor, useSensors, closestCenter, useDraggable, useDroppable } from "@dnd-kit/core";
|
|
20904
20891
|
|
|
@@ -20927,7 +20914,7 @@ var DraggableLinkCard = ({ link, index, onRemove, onUpdate }) => {
|
|
|
20927
20914
|
opacity: isDragging ? 0.5 : 1,
|
|
20928
20915
|
border: isOver ? "2px dashed var(--mantine-color-accent-5)" : void 0
|
|
20929
20916
|
};
|
|
20930
|
-
return /* @__PURE__ */ React218.createElement("div", { ref: setDropRef }, /* @__PURE__ */ React218.createElement(Card20, { p: "sm", style }, /* @__PURE__ */ React218.createElement(Stack141, { gap: "xs" }, /* @__PURE__ */ React218.createElement(
|
|
20917
|
+
return /* @__PURE__ */ React218.createElement("div", { ref: setDropRef }, /* @__PURE__ */ React218.createElement(Card20, { p: "sm", style }, /* @__PURE__ */ React218.createElement(Stack141, { gap: "xs" }, /* @__PURE__ */ React218.createElement(Group72, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React218.createElement(Group72, { gap: "xs", align: "center" }, /* @__PURE__ */ React218.createElement("div", { ref: setDragRef, ...listeners, ...attributes, style: { cursor: "grab", display: "flex", alignItems: "center" } }, /* @__PURE__ */ React218.createElement(IconGripVertical, { size: 16, color: "gray" })), /* @__PURE__ */ React218.createElement(Text116, { size: "xs", c: "dimmed" }, link.title || `Link ${index + 1}`)), /* @__PURE__ */ React218.createElement(ActionIcon33, { variant: "subtle", color: "red", size: "sm", onClick: () => onRemove(link.id) }, /* @__PURE__ */ React218.createElement(IconTrash7, { size: 14 }))), /* @__PURE__ */ React218.createElement(Divider16, null), /* @__PURE__ */ React218.createElement(BaseTextInput, { label: "Title", placeholder: "Link title", value: link.title, onChange: (e) => onUpdate(link.id, "title", e.currentTarget.value) }), /* @__PURE__ */ React218.createElement(
|
|
20931
20918
|
BaseTextInput,
|
|
20932
20919
|
{
|
|
20933
20920
|
label: "Description",
|
|
@@ -20992,7 +20979,7 @@ var LinksTab = ({ links, onLinksChange }) => {
|
|
|
20992
20979
|
const updated = reordered.map((link, idx) => ({ ...link, position: idx }));
|
|
20993
20980
|
onLinksChange(updated);
|
|
20994
20981
|
};
|
|
20995
|
-
return /* @__PURE__ */ React218.createElement(Stack141, { gap: "md" }, /* @__PURE__ */ React218.createElement(
|
|
20982
|
+
return /* @__PURE__ */ React218.createElement(Stack141, { gap: "md" }, /* @__PURE__ */ React218.createElement(Group72, { justify: "space-between", align: "center" }, /* @__PURE__ */ React218.createElement(Text116, { size: "sm", fw: 500 }, "Flow Links"), /* @__PURE__ */ React218.createElement(BaseButton, { leftSection: /* @__PURE__ */ React218.createElement(IconPlus6, { size: 16 }), size: "xs", onClick: handleAddLink }, "Add Link")), links.length === 0 ? /* @__PURE__ */ React218.createElement(BaseContainer, null, /* @__PURE__ */ React218.createElement(Text116, { size: "sm", c: "dimmed", ta: "center" }, 'No links configured. Click "Add Link" to create a link to another flow.')) : /* @__PURE__ */ React218.createElement(DndContext, { sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd }, /* @__PURE__ */ React218.createElement(Stack141, { gap: "sm" }, sortedLinks.map((link, index) => /* @__PURE__ */ React218.createElement(DraggableLinkCard, { key: link.id, link, index, onRemove: handleRemoveLink, onUpdate: handleUpdateLink })))));
|
|
20996
20983
|
};
|
|
20997
20984
|
|
|
20998
20985
|
// src/mantine/blocks/flowLink/template/TemplateConfig.tsx
|
|
@@ -21043,16 +21030,16 @@ var FlowLinkTemplateView = ({ editor, block }) => {
|
|
|
21043
21030
|
const { open } = usePanel(panelId, panelContent);
|
|
21044
21031
|
const links = safeParseJSONArray(block.props.links);
|
|
21045
21032
|
const linksCount = links.length;
|
|
21046
|
-
return /* @__PURE__ */ React220.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React220.createElement(
|
|
21033
|
+
return /* @__PURE__ */ React220.createElement(BaseContainer, { onClick: open }, /* @__PURE__ */ React220.createElement(Group73, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React220.createElement(Group73, { wrap: "nowrap", align: "center" }, getIcon("external-link", block.props.icon), /* @__PURE__ */ React220.createElement(Stack142, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React220.createElement(Text117, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Flow Link"), /* @__PURE__ */ React220.createElement(Text117, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || (linksCount > 0 ? `${linksCount} link${linksCount !== 1 ? "s" : ""} configured` : "Click to configure links to other flows"))))));
|
|
21047
21034
|
};
|
|
21048
21035
|
|
|
21049
21036
|
// src/mantine/blocks/flowLink/flow/FlowView.tsx
|
|
21050
21037
|
import React222, { useMemo as useMemo72 } from "react";
|
|
21051
|
-
import { Badge as Badge38, Group as
|
|
21038
|
+
import { Badge as Badge38, Group as Group75, Stack as Stack144, Text as Text119, Tooltip as Tooltip25 } from "@mantine/core";
|
|
21052
21039
|
|
|
21053
21040
|
// src/mantine/blocks/flowLink/flow/FlowLinkPanel.tsx
|
|
21054
21041
|
import React221, { useState as useState75, useEffect as useEffect55, useCallback as useCallback59 } from "react";
|
|
21055
|
-
import { Stack as Stack143, Text as Text118, Card as Card21, Group as
|
|
21042
|
+
import { Stack as Stack143, Text as Text118, Card as Card21, Group as Group74, Badge as Badge37, ActionIcon as ActionIcon34, Loader as Loader27, Tooltip as Tooltip24 } from "@mantine/core";
|
|
21056
21043
|
import { IconRefresh as IconRefresh8, IconCheck as IconCheck12, IconClock as IconClock3, IconCircleDashed as IconCircleDashed4 } from "@tabler/icons-react";
|
|
21057
21044
|
var FlowLinkPanel = ({ block }) => {
|
|
21058
21045
|
const { closePanel } = usePanelStore();
|
|
@@ -21111,7 +21098,7 @@ var FlowLinkPanel = ({ block }) => {
|
|
|
21111
21098
|
onClick: () => handlers.navigateToFlow && handleNavigate(link.docRoomId),
|
|
21112
21099
|
style: { opacity: !handlers.navigateToFlow ? 0.6 : 1, minHeight: 84, cursor: !handlers.navigateToFlow ? "not-allowed" : "pointer" }
|
|
21113
21100
|
},
|
|
21114
|
-
/* @__PURE__ */ React221.createElement(
|
|
21101
|
+
/* @__PURE__ */ React221.createElement(Group74, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("external-link", block.props.icon), /* @__PURE__ */ React221.createElement(Stack143, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React221.createElement(Group74, { gap: "xs", align: "center" }, /* @__PURE__ */ React221.createElement(Text118, { size: "sm", fw: 600 }, link.title || "Untitled Flow"), getStatusBadge(link)), link.captionText && /* @__PURE__ */ React221.createElement(Text118, { size: "sm", c: "dimmed", lineClamp: 2 }, link.captionText)), link.statusData?.completedAt && /* @__PURE__ */ React221.createElement(Text118, { size: "sm", c: "dimmed" }, "Completed: ", new Date(link.statusData.completedAt).toLocaleDateString()))
|
|
21115
21102
|
))))));
|
|
21116
21103
|
};
|
|
21117
21104
|
|
|
@@ -21136,7 +21123,7 @@ var FlowLinkFlowView = ({ editor, block, isDisabled }) => {
|
|
|
21136
21123
|
return { color: "accent.5", text: `${linksCount} link${linksCount !== 1 ? "s" : ""}` };
|
|
21137
21124
|
};
|
|
21138
21125
|
const badgeProps = getBadgeProps();
|
|
21139
|
-
const cardContent = /* @__PURE__ */ React222.createElement(BaseContainer, { onClick: handleClick, style: { opacity: disabled ? 0.6 : 1, cursor: disabled ? "not-allowed" : "pointer" } }, /* @__PURE__ */ React222.createElement(
|
|
21126
|
+
const cardContent = /* @__PURE__ */ React222.createElement(BaseContainer, { onClick: handleClick, style: { opacity: disabled ? 0.6 : 1, cursor: disabled ? "not-allowed" : "pointer" } }, /* @__PURE__ */ React222.createElement(Group75, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("external-link", block.props.icon), /* @__PURE__ */ React222.createElement(Stack144, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React222.createElement(Group75, { gap: "xs", align: "center" }, /* @__PURE__ */ React222.createElement(Text119, { fw: 600, size: "sm" }, block.props.title || "Flow Link"), /* @__PURE__ */ React222.createElement(Badge38, { size: "xs", variant: "light", bg: badgeProps.color }, badgeProps.text)), /* @__PURE__ */ React222.createElement(Text119, { size: "xs", c: "dimmed", lineClamp: 2 }, block.props.description || (linksCount > 0 ? "Click to view links" : "No links configured")))));
|
|
21140
21127
|
if (disabled && isDisabled?.message) {
|
|
21141
21128
|
return /* @__PURE__ */ React222.createElement(Tooltip25, { label: isDisabled.message }, cardContent);
|
|
21142
21129
|
}
|
|
@@ -22550,15 +22537,15 @@ function useCreateCollaborativeIxoEditor(options) {
|
|
|
22550
22537
|
|
|
22551
22538
|
// src/mantine/components/Base/BaseIconPicker.tsx
|
|
22552
22539
|
import React226, { useState as useState79, useMemo as useMemo78, useEffect as useEffect59 } from "react";
|
|
22553
|
-
import { TextInput as TextInput7, Tabs as Tabs5, Box as
|
|
22540
|
+
import { TextInput as TextInput7, Tabs as Tabs5, Box as Box41, Stack as Stack145, UnstyledButton as UnstyledButton2, Text as Text120, Center as Center12, ScrollArea as ScrollArea8, Group as Group76, Popover as Popover4 } from "@mantine/core";
|
|
22554
22541
|
import * as TablerIcons from "@tabler/icons-react";
|
|
22555
22542
|
import { IconSearch as IconSearch6, IconX as IconX10, IconChevronLeft, IconChevronRight as IconChevronRight11 } from "@tabler/icons-react";
|
|
22556
22543
|
|
|
22557
22544
|
// src/mantine/components/Base/CoverImageButton.tsx
|
|
22558
22545
|
import React225, { forwardRef } from "react";
|
|
22559
|
-
import { Button as
|
|
22546
|
+
import { Button as Button37 } from "@mantine/core";
|
|
22560
22547
|
var CoverImageButton = forwardRef(({ isActive = false, onClick, children, style, ...props }, ref) => /* @__PURE__ */ React225.createElement(
|
|
22561
|
-
|
|
22548
|
+
Button37,
|
|
22562
22549
|
{
|
|
22563
22550
|
ref,
|
|
22564
22551
|
variant: "filled",
|
|
@@ -22646,7 +22633,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
22646
22633
|
return /* @__PURE__ */ React226.createElement(Center12, { py: "xl" }, /* @__PURE__ */ React226.createElement(Text120, { c: "dimmed", size: "sm" }, "No icons found"));
|
|
22647
22634
|
}
|
|
22648
22635
|
return /* @__PURE__ */ React226.createElement(
|
|
22649
|
-
|
|
22636
|
+
Box41,
|
|
22650
22637
|
{
|
|
22651
22638
|
style: {
|
|
22652
22639
|
display: "grid",
|
|
@@ -22716,7 +22703,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
22716
22703
|
}
|
|
22717
22704
|
}
|
|
22718
22705
|
}
|
|
22719
|
-
), !searchQuery && /* @__PURE__ */ React226.createElement(
|
|
22706
|
+
), !searchQuery && /* @__PURE__ */ React226.createElement(Box41, { mb: "md" }, /* @__PURE__ */ React226.createElement(Text120, { size: "sm", fw: 500, mb: "xs", px: "xs" }, "Recent"), /* @__PURE__ */ React226.createElement(ScrollArea8.Autosize, { scrollbarSize: 0, mah: 60 }, renderIconGrid(recentIcons))), /* @__PURE__ */ React226.createElement(Box41, null, /* @__PURE__ */ React226.createElement(Group76, { justify: "space-between", mb: "xs", px: "xs" }, /* @__PURE__ */ React226.createElement(Text120, { size: "sm", fw: 500 }, searchQuery ? "Results" : "Icons"), totalPages > 1 && /* @__PURE__ */ React226.createElement(Group76, { gap: "xs" }, /* @__PURE__ */ React226.createElement(Text120, { size: "xs", c: "dimmed" }, "Page ", currentPage, " of ", totalPages, " (", filteredIcons.length, " total)"), /* @__PURE__ */ React226.createElement(BaseButton, { size: "xs", onClick: () => setCurrentPage((p) => Math.max(1, p - 1)), disabled: currentPage === 1, leftSection: /* @__PURE__ */ React226.createElement(IconChevronLeft, { size: 14 }) }, "Prev"), /* @__PURE__ */ React226.createElement(
|
|
22720
22707
|
BaseButton,
|
|
22721
22708
|
{
|
|
22722
22709
|
size: "xs",
|
|
@@ -22731,7 +22718,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
|
|
|
22731
22718
|
|
|
22732
22719
|
// src/mantine/components/CoverImage.tsx
|
|
22733
22720
|
import React228, { useState as useState80, useRef as useRef13, useEffect as useEffect60 } from "react";
|
|
22734
|
-
import { Box as
|
|
22721
|
+
import { Box as Box43, Group as Group77 } from "@mantine/core";
|
|
22735
22722
|
|
|
22736
22723
|
// src/core/lib/imageTransform.ts
|
|
22737
22724
|
var CLOUDFLARE_CDN_BASE = "https://www.ixo.earth/cdn-cgi/image";
|
|
@@ -22865,7 +22852,7 @@ function transformIconImage(sourceUrl, size = "default", customOptions) {
|
|
|
22865
22852
|
|
|
22866
22853
|
// src/mantine/components/Base/PageIcon.tsx
|
|
22867
22854
|
import React227, { useMemo as useMemo79 } from "react";
|
|
22868
|
-
import { Center as Center13, Box as
|
|
22855
|
+
import { Center as Center13, Box as Box42 } from "@mantine/core";
|
|
22869
22856
|
import * as TablerIcons2 from "@tabler/icons-react";
|
|
22870
22857
|
function PageIcon({ src, iconSize = 64, useCenter = false, style }) {
|
|
22871
22858
|
const isIconName = src && !src.startsWith("http");
|
|
@@ -22877,7 +22864,7 @@ function PageIcon({ src, iconSize = 64, useCenter = false, style }) {
|
|
|
22877
22864
|
}
|
|
22878
22865
|
return null;
|
|
22879
22866
|
}, [isIconName, src]);
|
|
22880
|
-
const Container = useCenter ? Center13 :
|
|
22867
|
+
const Container = useCenter ? Center13 : Box42;
|
|
22881
22868
|
if (!src) return null;
|
|
22882
22869
|
if (IconComponent) {
|
|
22883
22870
|
return /* @__PURE__ */ React227.createElement(
|
|
@@ -23006,7 +22993,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23006
22993
|
}
|
|
23007
22994
|
if (!hasCover) {
|
|
23008
22995
|
return /* @__PURE__ */ React228.createElement(
|
|
23009
|
-
|
|
22996
|
+
Box43,
|
|
23010
22997
|
{
|
|
23011
22998
|
style: {
|
|
23012
22999
|
position: "relative",
|
|
@@ -23019,7 +23006,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23019
23006
|
onMouseLeave: () => editable && setIsHovering(false)
|
|
23020
23007
|
},
|
|
23021
23008
|
/* @__PURE__ */ React228.createElement("div", { style: { maxWidth: "900px", margin: "0 auto", position: "relative", height: "100%" } }, /* @__PURE__ */ React228.createElement("input", { ref: coverFileInputRef, type: "file", accept: "image/*", style: { display: "none" }, onChange: (e) => handleFileSelect(e, "cover") }), /* @__PURE__ */ React228.createElement("input", { ref: logoFileInputRef, type: "file", accept: "image/*", style: { display: "none" }, onChange: (e) => handleFileSelect(e, "logo") }), editable && isHovering && !logoSrc && /* @__PURE__ */ React228.createElement(
|
|
23022
|
-
|
|
23009
|
+
Group77,
|
|
23023
23010
|
{
|
|
23024
23011
|
gap: "xs",
|
|
23025
23012
|
style: {
|
|
@@ -23042,7 +23029,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23042
23029
|
),
|
|
23043
23030
|
/* @__PURE__ */ React228.createElement(CoverImageButton, { onClick: () => coverFileInputRef.current?.click() }, "Add cover")
|
|
23044
23031
|
), logoSrc && /* @__PURE__ */ React228.createElement(
|
|
23045
|
-
|
|
23032
|
+
Box43,
|
|
23046
23033
|
{
|
|
23047
23034
|
style: {
|
|
23048
23035
|
position: "relative",
|
|
@@ -23089,7 +23076,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23089
23076
|
);
|
|
23090
23077
|
}
|
|
23091
23078
|
return /* @__PURE__ */ React228.createElement(
|
|
23092
|
-
|
|
23079
|
+
Box43,
|
|
23093
23080
|
{
|
|
23094
23081
|
style: {
|
|
23095
23082
|
position: "relative",
|
|
@@ -23127,7 +23114,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23127
23114
|
}
|
|
23128
23115
|
),
|
|
23129
23116
|
editable && isHovering && /* @__PURE__ */ React228.createElement(
|
|
23130
|
-
|
|
23117
|
+
Group77,
|
|
23131
23118
|
{
|
|
23132
23119
|
gap: "xs",
|
|
23133
23120
|
style: {
|
|
@@ -23142,7 +23129,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23142
23129
|
/* @__PURE__ */ React228.createElement(CoverImageButton, { onClick: handleRemoveCover }, "Remove")
|
|
23143
23130
|
),
|
|
23144
23131
|
/* @__PURE__ */ React228.createElement("div", { style: { maxWidth: "900px", margin: "0 auto", position: "absolute", bottom: 0, left: -40, right: 0, height: "70px" } }, /* @__PURE__ */ React228.createElement(
|
|
23145
|
-
|
|
23132
|
+
Box43,
|
|
23146
23133
|
{
|
|
23147
23134
|
style: {
|
|
23148
23135
|
position: "absolute",
|
|
@@ -23155,7 +23142,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
23155
23142
|
},
|
|
23156
23143
|
logoSrc && /* @__PURE__ */ React228.createElement(PageIcon, { src: logoSrc, iconSize: 64 }),
|
|
23157
23144
|
editable && isHovering && /* @__PURE__ */ React228.createElement(React228.Fragment, null, logoSrc ? /* @__PURE__ */ React228.createElement(
|
|
23158
|
-
|
|
23145
|
+
Group77,
|
|
23159
23146
|
{
|
|
23160
23147
|
gap: "xs",
|
|
23161
23148
|
style: {
|
|
@@ -23392,7 +23379,7 @@ var styles = {
|
|
|
23392
23379
|
|
|
23393
23380
|
// src/mantine/components/ExternalDropZone.tsx
|
|
23394
23381
|
import React230, { useCallback as useCallback62, useEffect as useEffect62, useRef as useRef15, useState as useState82 } from "react";
|
|
23395
|
-
import { Box as
|
|
23382
|
+
import { Box as Box44 } from "@mantine/core";
|
|
23396
23383
|
var SCROLL_ZONE_SIZE = 80;
|
|
23397
23384
|
var SCROLL_SPEED = 12;
|
|
23398
23385
|
var ExternalDropZone = ({
|
|
@@ -23677,7 +23664,7 @@ var ExternalDropZone = ({
|
|
|
23677
23664
|
}) : dropIndicator;
|
|
23678
23665
|
const shouldShowIndicator = isValidDrag || isPlacementMode && isHoveringInPlacementMode;
|
|
23679
23666
|
return /* @__PURE__ */ React230.createElement(
|
|
23680
|
-
|
|
23667
|
+
Box44,
|
|
23681
23668
|
{
|
|
23682
23669
|
ref: containerRef,
|
|
23683
23670
|
style: {
|
|
@@ -23693,7 +23680,7 @@ var ExternalDropZone = ({
|
|
|
23693
23680
|
},
|
|
23694
23681
|
children,
|
|
23695
23682
|
isPlacementMode && /* @__PURE__ */ React230.createElement(
|
|
23696
|
-
|
|
23683
|
+
Box44,
|
|
23697
23684
|
{
|
|
23698
23685
|
style: {
|
|
23699
23686
|
position: "absolute",
|
|
@@ -23712,7 +23699,7 @@ var ExternalDropZone = ({
|
|
|
23712
23699
|
onWheel: handleOverlayWheel
|
|
23713
23700
|
}
|
|
23714
23701
|
),
|
|
23715
|
-
shouldShowIndicator && indicatorWithPosition && /* @__PURE__ */ React230.createElement(
|
|
23702
|
+
shouldShowIndicator && indicatorWithPosition && /* @__PURE__ */ React230.createElement(Box44, { style: { ...indicatorStyle, background: "none", border: "none", boxShadow: "none" } }, indicatorWithPosition)
|
|
23716
23703
|
);
|
|
23717
23704
|
};
|
|
23718
23705
|
|
|
@@ -23725,7 +23712,7 @@ import { MantineProvider } from "@mantine/core";
|
|
|
23725
23712
|
|
|
23726
23713
|
// src/mantine/components/PanelContent.tsx
|
|
23727
23714
|
import React231 from "react";
|
|
23728
|
-
import { Box as
|
|
23715
|
+
import { Box as Box45 } from "@mantine/core";
|
|
23729
23716
|
var panelStyles = {
|
|
23730
23717
|
light: {
|
|
23731
23718
|
backgroundColor: "#ffffff",
|
|
@@ -23755,7 +23742,7 @@ function PanelContent({ theme }) {
|
|
|
23755
23742
|
const isOpen = activePanel !== null;
|
|
23756
23743
|
const content = activePanel ? registeredPanels.get(activePanel) : null;
|
|
23757
23744
|
return /* @__PURE__ */ React231.createElement(
|
|
23758
|
-
|
|
23745
|
+
Box45,
|
|
23759
23746
|
{
|
|
23760
23747
|
pos: "sticky",
|
|
23761
23748
|
right: 0,
|
|
@@ -23930,7 +23917,7 @@ function IxoEditor({
|
|
|
23930
23917
|
|
|
23931
23918
|
// src/mantine/components/EntitySigningSetup.tsx
|
|
23932
23919
|
import React233, { useState as useState83 } from "react";
|
|
23933
|
-
import { Modal as Modal3, Stack as Stack146, Text as Text121, TextInput as TextInput8, Button as
|
|
23920
|
+
import { Modal as Modal3, Stack as Stack146, Text as Text121, TextInput as TextInput8, Button as Button38, Alert as Alert30, Group as Group78 } from "@mantine/core";
|
|
23934
23921
|
import { IconAlertCircle as IconAlertCircle15, IconCheck as IconCheck13, IconKey as IconKey2 } from "@tabler/icons-react";
|
|
23935
23922
|
var EntitySigningSetup = ({
|
|
23936
23923
|
opened,
|
|
@@ -23988,7 +23975,7 @@ var EntitySigningSetup = ({
|
|
|
23988
23975
|
{
|
|
23989
23976
|
opened,
|
|
23990
23977
|
onClose: handleClose,
|
|
23991
|
-
title: /* @__PURE__ */ React233.createElement(
|
|
23978
|
+
title: /* @__PURE__ */ React233.createElement(Group78, { gap: "xs" }, /* @__PURE__ */ React233.createElement(IconKey2, { size: 20 }), /* @__PURE__ */ React233.createElement(Text121, { fw: 600 }, "Entity Signing Setup")),
|
|
23992
23979
|
size: "md"
|
|
23993
23980
|
},
|
|
23994
23981
|
/* @__PURE__ */ React233.createElement(Stack146, { gap: "md" }, success ? /* @__PURE__ */ React233.createElement(Alert30, { color: "green", icon: /* @__PURE__ */ React233.createElement(IconCheck13, { size: 16 }) }, "Entity signing key set up successfully!") : /* @__PURE__ */ React233.createElement(React233.Fragment, null, /* @__PURE__ */ React233.createElement(Text121, { size: "sm", c: "dimmed" }, "Flow authorization requires a signing key for", " ", /* @__PURE__ */ React233.createElement(Text121, { span: true, fw: 500 }, entityName || entityDid), "."), /* @__PURE__ */ React233.createElement(Alert30, { color: "blue", variant: "light" }, /* @__PURE__ */ React233.createElement(Text121, { size: "sm" }, "This is a ", /* @__PURE__ */ React233.createElement("strong", null, "one-time setup"), " that allows flows to grant permissions without requiring wallet signatures for each delegation.")), /* @__PURE__ */ React233.createElement(Stack146, { gap: "xs" }, /* @__PURE__ */ React233.createElement(Text121, { size: "sm", fw: 500 }, "What happens:"), /* @__PURE__ */ React233.createElement(Text121, { size: "sm", c: "dimmed" }, "1. A new signing key is generated"), /* @__PURE__ */ React233.createElement(Text121, { size: "sm", c: "dimmed" }, "2. Key is registered on the entity's DID document (requires wallet)"), /* @__PURE__ */ React233.createElement(Text121, { size: "sm", c: "dimmed" }, "3. Key is stored encrypted in the entity's Matrix room")), /* @__PURE__ */ React233.createElement(
|
|
@@ -24012,8 +23999,8 @@ var EntitySigningSetup = ({
|
|
|
24012
23999
|
onChange: (e) => setConfirmPin(e.currentTarget.value),
|
|
24013
24000
|
disabled: loading
|
|
24014
24001
|
}
|
|
24015
|
-
), error && /* @__PURE__ */ React233.createElement(Alert30, { color: "red", icon: /* @__PURE__ */ React233.createElement(IconAlertCircle15, { size: 16 }) }, error), /* @__PURE__ */ React233.createElement(
|
|
24016
|
-
|
|
24002
|
+
), error && /* @__PURE__ */ React233.createElement(Alert30, { color: "red", icon: /* @__PURE__ */ React233.createElement(IconAlertCircle15, { size: 16 }) }, error), /* @__PURE__ */ React233.createElement(Group78, { justify: "flex-end", mt: "md" }, /* @__PURE__ */ React233.createElement(Button38, { variant: "subtle", onClick: handleClose, disabled: loading }, "Cancel"), /* @__PURE__ */ React233.createElement(
|
|
24003
|
+
Button38,
|
|
24017
24004
|
{
|
|
24018
24005
|
onClick: handleSetup,
|
|
24019
24006
|
loading,
|
|
@@ -24026,7 +24013,7 @@ var EntitySigningSetup = ({
|
|
|
24026
24013
|
|
|
24027
24014
|
// src/mantine/components/FlowPermissionsPanel.tsx
|
|
24028
24015
|
import React234, { useState as useState84, useEffect as useEffect63, useMemo as useMemo80 } from "react";
|
|
24029
|
-
import { Stack as Stack147, Text as Text122, Paper as Paper19, Group as
|
|
24016
|
+
import { Stack as Stack147, Text as Text122, Paper as Paper19, Group as Group79, Badge as Badge39, Button as Button39, ActionIcon as ActionIcon35, Loader as Loader28, Alert as Alert31, Divider as Divider17 } from "@mantine/core";
|
|
24030
24017
|
import { IconPlus as IconPlus7, IconTrash as IconTrash8, IconShieldCheck as IconShieldCheck2, IconUser as IconUser5, IconRobot as IconRobot4, IconBuilding } from "@tabler/icons-react";
|
|
24031
24018
|
var FlowPermissionsPanel = ({
|
|
24032
24019
|
editor,
|
|
@@ -24102,7 +24089,7 @@ var FlowPermissionsPanel = ({
|
|
|
24102
24089
|
if (date < /* @__PURE__ */ new Date()) return "Expired";
|
|
24103
24090
|
return date.toLocaleDateString();
|
|
24104
24091
|
};
|
|
24105
|
-
return /* @__PURE__ */ React234.createElement(Stack147, { gap: "md" }, /* @__PURE__ */ React234.createElement(Stack147, { gap: "xs" }, /* @__PURE__ */ React234.createElement(Text122, { fw: 600, size: "sm" }, "Root Authority"), /* @__PURE__ */ React234.createElement(Paper19, { p: "sm", withBorder: true }, /* @__PURE__ */ React234.createElement(
|
|
24092
|
+
return /* @__PURE__ */ React234.createElement(Stack147, { gap: "md" }, /* @__PURE__ */ React234.createElement(Stack147, { gap: "xs" }, /* @__PURE__ */ React234.createElement(Text122, { fw: 600, size: "sm" }, "Root Authority"), /* @__PURE__ */ React234.createElement(Paper19, { p: "sm", withBorder: true }, /* @__PURE__ */ React234.createElement(Group79, { gap: "xs" }, /* @__PURE__ */ React234.createElement(IconShieldCheck2, { size: 20, color: "var(--mantine-color-green-6)" }), /* @__PURE__ */ React234.createElement(Stack147, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React234.createElement(Text122, { size: "sm", fw: 500 }, entityName || entityDid), /* @__PURE__ */ React234.createElement(Text122, { size: "xs", c: "dimmed" }, rootCapability ? `Granted: ${new Date(rootCapability.issuedAt).toLocaleDateString()}` : "Root capability not set up")), /* @__PURE__ */ React234.createElement(Badge39, { color: "green", variant: "light" }, "Entity")))), /* @__PURE__ */ React234.createElement(Divider17, { label: "Delegated Permissions", labelPosition: "center" }), loading ? /* @__PURE__ */ React234.createElement(Group79, { justify: "center", py: "xl" }, /* @__PURE__ */ React234.createElement(Loader28, { size: "sm" })) : delegations.length === 0 ? /* @__PURE__ */ React234.createElement(Alert31, { color: "gray", variant: "light" }, /* @__PURE__ */ React234.createElement(Text122, { size: "sm" }, "No permissions have been granted yet.")) : /* @__PURE__ */ React234.createElement(Stack147, { gap: "xs" }, delegations.map(({ capability, displayName, type }) => /* @__PURE__ */ React234.createElement(Paper19, { key: capability.id, p: "sm", withBorder: true }, /* @__PURE__ */ React234.createElement(Group79, { justify: "space-between" }, /* @__PURE__ */ React234.createElement(Group79, { gap: "xs" }, getIcon2(type), /* @__PURE__ */ React234.createElement(Stack147, { gap: 2 }, /* @__PURE__ */ React234.createElement(Text122, { size: "sm", fw: 500 }, displayName), /* @__PURE__ */ React234.createElement(Text122, { size: "xs", c: "dimmed" }, formatCapabilities(capability.capabilities)), /* @__PURE__ */ React234.createElement(Group79, { gap: "xs" }, /* @__PURE__ */ React234.createElement(Text122, { size: "xs", c: "dimmed" }, "Expires: ", formatExpiration(capability.expiration)), /* @__PURE__ */ React234.createElement(Text122, { size: "xs", c: "dimmed" }, "\u2022"), /* @__PURE__ */ React234.createElement(Text122, { size: "xs", c: "dimmed" }, "Granted by: ", capability.issuer === entityDid ? "Entity" : capability.issuer.slice(-8))))), /* @__PURE__ */ React234.createElement(
|
|
24106
24093
|
ActionIcon35,
|
|
24107
24094
|
{
|
|
24108
24095
|
color: "red",
|
|
@@ -24113,7 +24100,7 @@ var FlowPermissionsPanel = ({
|
|
|
24113
24100
|
},
|
|
24114
24101
|
/* @__PURE__ */ React234.createElement(IconTrash8, { size: 16 })
|
|
24115
24102
|
))))), /* @__PURE__ */ React234.createElement(
|
|
24116
|
-
|
|
24103
|
+
Button39,
|
|
24117
24104
|
{
|
|
24118
24105
|
leftSection: /* @__PURE__ */ React234.createElement(IconPlus7, { size: 16 }),
|
|
24119
24106
|
variant: "light",
|
|
@@ -24130,8 +24117,8 @@ import {
|
|
|
24130
24117
|
Stack as Stack148,
|
|
24131
24118
|
Text as Text123,
|
|
24132
24119
|
TextInput as TextInput9,
|
|
24133
|
-
Button as
|
|
24134
|
-
Group as
|
|
24120
|
+
Button as Button40,
|
|
24121
|
+
Group as Group80,
|
|
24135
24122
|
Radio as Radio6,
|
|
24136
24123
|
Checkbox as Checkbox12,
|
|
24137
24124
|
Alert as Alert32,
|
|
@@ -24262,14 +24249,14 @@ var GrantPermissionModal = ({
|
|
|
24262
24249
|
{
|
|
24263
24250
|
opened,
|
|
24264
24251
|
onClose: handleClose,
|
|
24265
|
-
title: /* @__PURE__ */ React235.createElement(
|
|
24252
|
+
title: /* @__PURE__ */ React235.createElement(Group80, { gap: "xs" }, /* @__PURE__ */ React235.createElement(IconShieldPlus4, { size: 20 }), /* @__PURE__ */ React235.createElement(Text123, { fw: 600 }, "Grant Permission")),
|
|
24266
24253
|
size: "lg"
|
|
24267
24254
|
},
|
|
24268
24255
|
/* @__PURE__ */ React235.createElement(Stack148, { gap: "md" }, /* @__PURE__ */ React235.createElement(Stack148, { gap: "xs" }, /* @__PURE__ */ React235.createElement(Text123, { size: "sm", fw: 500 }, "Recipient Type"), /* @__PURE__ */ React235.createElement(Radio6.Group, { value: recipientType, onChange: (v) => {
|
|
24269
24256
|
setRecipientType(v);
|
|
24270
24257
|
setSelectedRecipient(null);
|
|
24271
24258
|
setSearchResults([]);
|
|
24272
|
-
} }, /* @__PURE__ */ React235.createElement(
|
|
24259
|
+
} }, /* @__PURE__ */ React235.createElement(Group80, null, /* @__PURE__ */ React235.createElement(Radio6, { value: "user", label: "User" }), /* @__PURE__ */ React235.createElement(Radio6, { value: "oracle", label: "Oracle" }), /* @__PURE__ */ React235.createElement(Radio6, { value: "manual", label: "Enter DID" })))), recipientType !== "manual" ? /* @__PURE__ */ React235.createElement(Stack148, { gap: "xs" }, /* @__PURE__ */ React235.createElement(
|
|
24273
24260
|
TextInput9,
|
|
24274
24261
|
{
|
|
24275
24262
|
placeholder: recipientType === "oracle" ? "Search oracles..." : "Search users...",
|
|
@@ -24279,8 +24266,8 @@ var GrantPermissionModal = ({
|
|
|
24279
24266
|
onChange: (e) => setSearchQuery(e.currentTarget.value),
|
|
24280
24267
|
onKeyDown: (e) => e.key === "Enter" && handleSearch()
|
|
24281
24268
|
}
|
|
24282
|
-
), selectedRecipient ? /* @__PURE__ */ React235.createElement(Paper20, { p: "sm", withBorder: true }, /* @__PURE__ */ React235.createElement(
|
|
24283
|
-
|
|
24269
|
+
), selectedRecipient ? /* @__PURE__ */ React235.createElement(Paper20, { p: "sm", withBorder: true }, /* @__PURE__ */ React235.createElement(Group80, { justify: "space-between" }, /* @__PURE__ */ React235.createElement(Group80, { gap: "xs" }, recipientType === "oracle" ? /* @__PURE__ */ React235.createElement(IconRobot5, { size: 16 }) : /* @__PURE__ */ React235.createElement(IconUser6, { size: 16 }), /* @__PURE__ */ React235.createElement(Text123, { size: "sm" }, selectedRecipient.displayName), /* @__PURE__ */ React235.createElement(Badge40, { size: "xs", variant: "light" }, selectedRecipient.did.slice(-12))), /* @__PURE__ */ React235.createElement(ActionIcon36, { size: "sm", variant: "subtle", onClick: () => setSelectedRecipient(null) }, /* @__PURE__ */ React235.createElement(IconX11, { size: 14 })))) : searchResults.length > 0 ? /* @__PURE__ */ React235.createElement(Paper20, { p: "xs", withBorder: true, style: { maxHeight: 150, overflow: "auto" } }, /* @__PURE__ */ React235.createElement(Stack148, { gap: 4 }, searchResults.map((result) => /* @__PURE__ */ React235.createElement(
|
|
24270
|
+
Button40,
|
|
24284
24271
|
{
|
|
24285
24272
|
key: result.did,
|
|
24286
24273
|
variant: "subtle",
|
|
@@ -24299,7 +24286,7 @@ var GrantPermissionModal = ({
|
|
|
24299
24286
|
}
|
|
24300
24287
|
), /* @__PURE__ */ React235.createElement(Divider18, null), /* @__PURE__ */ React235.createElement(Stack148, { gap: "xs" }, /* @__PURE__ */ React235.createElement(Text123, { size: "sm", fw: 500 }, "Permission Scope"), singleBlockMode && fixedBlock ? (
|
|
24301
24288
|
// Single block mode: show fixed block info
|
|
24302
|
-
/* @__PURE__ */ React235.createElement(Paper20, { p: "sm", withBorder: true }, /* @__PURE__ */ React235.createElement(
|
|
24289
|
+
/* @__PURE__ */ React235.createElement(Paper20, { p: "sm", withBorder: true }, /* @__PURE__ */ React235.createElement(Group80, { gap: "xs" }, /* @__PURE__ */ React235.createElement(Badge40, { variant: "light", color: "blue" }, fixedBlock.type), /* @__PURE__ */ React235.createElement(Text123, { size: "sm" }, fixedBlock.name || `Block ${fixedBlock.id.slice(-8)}`)), /* @__PURE__ */ React235.createElement(Text123, { size: "xs", c: "dimmed", mt: "xs" }, "Permission will be granted to execute this specific block."))
|
|
24303
24290
|
) : (
|
|
24304
24291
|
// Multi-block mode: show scope selection
|
|
24305
24292
|
/* @__PURE__ */ React235.createElement(React235.Fragment, null, /* @__PURE__ */ React235.createElement(Radio6.Group, { value: scopeType, onChange: (v) => setScopeType(v) }, /* @__PURE__ */ React235.createElement(Stack148, { gap: "xs" }, /* @__PURE__ */ React235.createElement(Radio6, { value: "full", label: "Full flow access (can execute any block)" }), /* @__PURE__ */ React235.createElement(Radio6, { value: "blocks", label: "Specific blocks only" }))), scopeType === "blocks" && /* @__PURE__ */ React235.createElement(Paper20, { p: "sm", withBorder: true, style: { maxHeight: 150, overflow: "auto" } }, /* @__PURE__ */ React235.createElement(Stack148, { gap: "xs" }, blocks.map((block) => /* @__PURE__ */ React235.createElement(
|
|
@@ -24351,7 +24338,7 @@ var GrantPermissionModal = ({
|
|
|
24351
24338
|
value: pin,
|
|
24352
24339
|
onChange: (e) => setPin(e.currentTarget.value)
|
|
24353
24340
|
}
|
|
24354
|
-
), error && /* @__PURE__ */ React235.createElement(Alert32, { color: "red" }, error), /* @__PURE__ */ React235.createElement(
|
|
24341
|
+
), error && /* @__PURE__ */ React235.createElement(Alert32, { color: "red" }, error), /* @__PURE__ */ React235.createElement(Group80, { justify: "flex-end" }, /* @__PURE__ */ React235.createElement(Button40, { variant: "subtle", onClick: handleClose, disabled: loading }, "Cancel"), /* @__PURE__ */ React235.createElement(Button40, { onClick: handleGrant, loading }, "Grant Permission")))
|
|
24355
24342
|
);
|
|
24356
24343
|
};
|
|
24357
24344
|
|
|
@@ -24458,4 +24445,4 @@ export {
|
|
|
24458
24445
|
ixoGraphQLClient,
|
|
24459
24446
|
getEntity
|
|
24460
24447
|
};
|
|
24461
|
-
//# sourceMappingURL=chunk-
|
|
24448
|
+
//# sourceMappingURL=chunk-CZDCWQZR.mjs.map
|