@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 Title7, Flex as Flex27, ActionIcon as ActionIcon24 } from "@mantine/core";
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 { CloseButton as CloseButton5, Title as Title5, Loader as Loader10, Stack as Stack98, Text as Text72, Button as Button28, ActionIcon as ActionIcon18, Alert as Alert15 } from "@mantine/core";
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
- "div",
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: "100%",
12841
- display: "flex",
12842
- flexDirection: "column",
12843
- overflow: "hidden"
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
- "div",
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
- justifyContent: "space-between",
12852
- alignItems: "center",
12853
- marginBottom: "1rem"
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("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React134.createElement(ActionIcon18, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React134.createElement(IconArrowLeft3, { size: 20 })), /* @__PURE__ */ React134.createElement(Title5, { order: 3 }, viewMode === "list" ? collectionName : "Submit New Claim")),
12857
- /* @__PURE__ */ React134.createElement(CloseButton5, { onClick: closePanel })
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
- "div",
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
- flex: 1,
12864
- overflow: "hidden",
12865
- position: "relative"
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 Button30, Menu as Menu3, Badge as Badge18, ActionIcon as ActionIcon21, Box as Box31, Tooltip as Tooltip13, Loader as Loader14 } from "@mantine/core";
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 Group44, ActionIcon as ActionIcon20 } from "@mantine/core";
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 Button29, Group as Group43, Modal as Modal2, Alert as Alert16 } from "@mantine/core";
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(Group43, { justify: "flex-end" }, /* @__PURE__ */ React137.createElement(Button29, { variant: "outline", color: "red", leftSection: /* @__PURE__ */ React137.createElement(IconX8, { size: 16 }), onClick: handleRejectClick, loading: actionLoading, disabled: actionLoading }, "Reject"), /* @__PURE__ */ React137.createElement(Button29, { 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(Group43, { justify: "flex-end" }, /* @__PURE__ */ React137.createElement(Button29, { variant: "outline", onClick: () => setRejectModalOpen(false), disabled: actionLoading }, "Cancel"), /* @__PURE__ */ React137.createElement(Button29, { color: "red", onClick: handleRejectConfirm, loading: actionLoading, disabled: !rejectReason.trim() }, "Reject Bid")))));
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(Group44, { 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(Group44, { 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 }))));
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(Button30, { size: "xs", variant: "light", disabled: true, leftSection: /* @__PURE__ */ React142.createElement(IconLock, { size: 14 }) }, "Apply"));
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(Button30, { 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")));
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(Box31, { 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());
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 CloseButton6, Title as Title6, Loader as Loader15, Stack as Stack106, Text as Text80, ActionIcon as ActionIcon22, Alert as Alert18, Badge as Badge20, Group as Group46, Button as Button31, Divider as Divider12, Tabs as Tabs3, ScrollArea as ScrollArea6 } from "@mantine/core";
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 Group45, Progress as Progress3, Accordion as Accordion3, ThemeIcon as ThemeIcon2, Timeline, Box as Box32, Tooltip as Tooltip14, Divider as Divider11, Card as Card16, RingProgress, Center as Center7 } from "@mantine/core";
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(Group45, { 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))));
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(Group45, { 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")));
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(Group45, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React143.createElement(Group45, { gap: "md" }, /* @__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(Group45, { 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(
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(Group45, { 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(Group45, { justify: "space-between", wrap: "wrap", gap: "xs" }, /* @__PURE__ */ React143.createElement(Group45, { gap: "xs" }, trace.actor && /* @__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(Group45, { 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(
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(Group45, { 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(
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(Group45, { gap: "xs", justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React143.createElement(Group45, { gap: "xs" }, /* @__PURE__ */ React143.createElement(Text79, { size: "sm", fw: 600 }, step.stepId || `Step ${index + 1}`), /* @__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(Group45, { gap: "xs" }, step.duration !== void 0 && /* @__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(Box32, { mt: "xs" }, step.message && /* @__PURE__ */ React143.createElement(Text79, { size: "sm", c: "dimmed", mb: "xs" }, step.message), step.error && /* @__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(Box32, null, /* @__PURE__ */ React143.createElement(Group45, { 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")))));
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(Title6, { 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)),
14438
- /* @__PURE__ */ React144.createElement(Group46, { 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(CloseButton6, { onClick: closePanel }))
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(Group46, { grow: true }, /* @__PURE__ */ React144.createElement(Button31, { color: "green", onClick: handleApprove, loading: evaluating, disabled: evaluating || isClaimAlreadyEvaluated }, "Approve Claim"), /* @__PURE__ */ React144.createElement(Button31, { 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)))))
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(Group46, { 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 }))))
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(Title7, { 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(
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 Group47, Stack as Stack110, Text as Text84 } from "@mantine/core";
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(Group47, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React153.createElement(Group47, { 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 })));
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 Title8, Flex as Flex28, ActionIcon as ActionIcon25 } from "@mantine/core";
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(Title8, { 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(
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 Group48, Stack as Stack112, Text as Text86 } from "@mantine/core";
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(Group48, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React159.createElement(Group48, { 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 })));
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 Title9, Flex as Flex29, ActionIcon as ActionIcon26 } from "@mantine/core";
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(Title9, { 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 }));
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 Box33, Stack as Stack114, Text as Text88, Paper as Paper15, Group as Group49 } from "@mantine/core";
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(Box33, { ref: containerRef, w: "100%", miw: 200, mih: 200 }, hasValidDimensions ? renderedContent : null);
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(Group49, { 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(Group49, { 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.")));
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 Group50, Stack as Stack115, Text as Text89 } from "@mantine/core";
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(Group50, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React167.createElement(Group50, { 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")))));
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 Group52, Stack as Stack117, Text as Text91, Tooltip as Tooltip16 } from "@mantine/core";
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 Button32, Group as Group51, Loader as Loader20, Stack as Stack116, Text as Text90 } from "@mantine/core";
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(Button32, { onClick: handleVisitEntity }, "Visit Entity"));
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(Group51, null, /* @__PURE__ */ React168.createElement(Button32, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React168.createElement(Button32, { variant: "subtle", onClick: handleClose }, "Close")));
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(Group52, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React169.createElement(Group52, { 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(Group52, { 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 })))));
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 Group54, Stack as Stack120, Text as Text94 } from "@mantine/core";
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 Group53, Stack as Stack119, Text as Text93 } from "@mantine/core";
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(Group53, { 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(
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(Group54, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React175.createElement(Group54, { 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(Group54, { gap: "xs" }, extractedVariables.length > 0 && /* @__PURE__ */ React175.createElement(Badge24, { size: "sm", variant: "light", color: mappedCount === extractedVariables.length ? "green" : "orange" }, mappedCount, "/", extractedVariables.length, " vars"))));
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 Button33, Group as Group55, Loader as Loader22, Stack as Stack121, Text as Text95, Tooltip as Tooltip17 } from "@mantine/core";
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(Button33, { 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");
17350
- return /* @__PURE__ */ React176.createElement(BaseContainer, null, /* @__PURE__ */ React176.createElement(Stack121, { gap: "sm" }, /* @__PURE__ */ React176.createElement(Group55, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React176.createElement(Group55, { 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(Group55, { gap: "sm" }, disabled && isDisabled?.message ? /* @__PURE__ */ React176.createElement(Tooltip17, { label: isDisabled.message, position: "top", withArrow: true }, sendButton) : sendButton, status === "error" && /* @__PURE__ */ React176.createElement(Button33, { variant: "light", color: "gray", size: "sm", leftSection: /* @__PURE__ */ React176.createElement(IconRefresh7, { size: 16 }), onClick: resetStatus }, "Reset"), status === "sent" && /* @__PURE__ */ React176.createElement(Button33, { 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)));
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 Box34 } from "@mantine/core";
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(Box34, { mt: "xs" }, /* @__PURE__ */ React179.createElement(Text96, { size: "xs", c: "dimmed" }, localDids.length, " protocol", localDids.length !== 1 ? "s" : "", " configured"))));
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 Box35, Group as Group56, Stack as Stack123, Text as Text97 } from "@mantine/core";
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(Group56, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React181.createElement(Group56, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React181.createElement(
17569
- Box35,
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 Box37, Group as Group58, Stack as Stack125, Text as Text99, Tooltip as Tooltip18 } from "@mantine/core";
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 Box36, Group as Group57, Loader as Loader23 } from "@mantine/core";
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(Box36, { 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) => {
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
- Box36,
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(Group57, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React183.createElement(Group57, { 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))))
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(Group58, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React184.createElement(Group58, { wrap: "nowrap", align: "center", gap: "md" }, /* @__PURE__ */ React184.createElement(
17751
- Box37,
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(Group58, { 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")))));
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(Box37, { style: { cursor: "not-allowed" } }, containerContent));
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 Group59, Stack as Stack126, Text as Text101 } from "@mantine/core";
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 CloseButton7, Title as Title10 } from "@mantine/core";
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(Title10, { order: 3 }, "Form Settings"),
17971
- /* @__PURE__ */ React188.createElement(CloseButton7, { onClick: closePanel })
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(Group59, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React189.createElement(Group59, { 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")))));
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 Group60, Stack as Stack127, Text as Text103, Tooltip as Tooltip19 } from "@mantine/core";
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(Group60, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React191.createElement(Group60, { 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(Group60, { gap: "xs", align: "center" }, /* @__PURE__ */ React191.createElement(Text103, { fw: 600, size: "sm" }, block.props.title || "Form"), /* @__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 Group61, Stack as Stack128, Text as Text104 } from "@mantine/core";
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(Group61, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React196.createElement(Group61, { 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 })));
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 Group64, Stack as Stack131, Text as Text107, Tooltip as Tooltip21 } from "@mantine/core";
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 Button34, Group as Group63, Loader as Loader24, Stack as Stack130, Text as Text106 } from "@mantine/core";
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 Box38, Flex as Flex30, Group as Group62, Slider, Stack as Stack129, Tabs as Tabs4, Text as Text105, Tooltip as Tooltip20 } from "@mantine/core";
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(Box38, { style: { display: "inline-flex", alignItems: "center", lineHeight: 1 } }, /* @__PURE__ */ React197.createElement(IconClock2, { size: 14 })),
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(Box38, { mb: "sm", bg: "neutralColor.5", p: 8, style: { borderRadius: 8 } }, /* @__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(Box38, { bg: "dark.6", p: "sm", style: { borderRadius: "var(--mantine-radius-md)" } }, /* @__PURE__ */ React197.createElement(Group62, { justify: "center" }, /* @__PURE__ */ React197.createElement(Text105, { size: "sm", c: "dimmed" }, "Transaction signed successfully"))) : /* @__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(Button34, { onClick: handleVisitEntity }, "Visit Entity")));
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(Group63, null, /* @__PURE__ */ React198.createElement(Button34, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React198.createElement(Button34, { variant: "subtle", onClick: handleClose }, "Close"))));
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(Group63, { 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(Group63, { 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(Group63, { 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))),
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(Group64, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React199.createElement(Group64, { 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(Group64, { 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(Group64, 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 }))))));
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 Group65, Stack as Stack132, Text as Text108 } from "@mantine/core";
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 CloseButton8, Title as Title11 } from "@mantine/core";
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(Title11, { order: 5 }, "Domain Card Settings"),
18920
- /* @__PURE__ */ React203.createElement(CloseButton8, { onClick: closePanel })
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(Group65, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React204.createElement(Group65, { 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")))));
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 Button36, Group as Group66, Stack as Stack134, Text as Text110, Tooltip as Tooltip22 } from "@mantine/core";
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 CloseButton9, Title as Title12, Stack as Stack133, Text as Text109, Loader as Loader25, Alert as Alert27, Button as Button35, Box as Box39, ScrollArea as ScrollArea7, Code as Code6 } from "@mantine/core";
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(Box39, 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(Box39, 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(Box39, 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(Box39, 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(Box39, 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(Box39, 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(Box39, { 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(Box39, 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)))));
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(Title12, { order: 5 }, block.props.title || "Domain Card"),
19012
- /* @__PURE__ */ React205.createElement(CloseButton9, { onClick: closePanel })
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(Box39, { 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(Box39, { style: { flex: 1, overflow: "hidden" } }, domainCardRenderer ? (
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
- Box39,
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(Button35, { fullWidth: true, color: "teal", leftSection: /* @__PURE__ */ React205.createElement(IconCheck10, { size: 16 }), onClick: onApprove }, "Approve")
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
- Box39,
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(Group66, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React206.createElement(Group66, { 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(Group66, { 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(Button36, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React206.createElement(IconTestPipe, { size: 14 }), onClick: handleInjectDummyData }, "Test Data"), /* @__PURE__ */ React206.createElement(Button36, { 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(Button36, { 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 })))));
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 Group68, Stack as Stack137, Text as Text113 } from "@mantine/core";
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 Group67, ActionIcon as ActionIcon31, Badge as Badge34, Switch as Switch6, Select as Select5 } from "@mantine/core";
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(Group67, { justify: "space-between", align: "center" }, /* @__PURE__ */ React210.createElement(Group67, { 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(Group67, { 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(
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(Group68, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React212.createElement(Group68, { 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")))));
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 Group70, Stack as Stack139, Text as Text115, Tooltip as Tooltip23 } from "@mantine/core";
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 Button37, Card as Card19, Group as Group69, Loader as Loader26, SimpleGrid as SimpleGrid3, Stack as Stack138, Text as Text114, ThemeIcon as ThemeIcon4 } from "@mantine/core";
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(Button37, { onClick: handleClose }, "Close"));
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(Group69, null, /* @__PURE__ */ React213.createElement(Button37, { variant: "outline", onClick: handleRetry }, "Try Again"), /* @__PURE__ */ React213.createElement(Button37, { variant: "subtle", onClick: handleClose }, "Close")));
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(Group69, { mb: "md", px: "xl" }, /* @__PURE__ */ React213.createElement(Button37, { variant: "subtle", size: "xs", leftSection: /* @__PURE__ */ React213.createElement(IconArrowLeft5, { size: 14 }), onClick: handleBackToTypeSelection }, "Change Type")) : void 0
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(Group70, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React214.createElement(Group70, { 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(Group70, { 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 })))));
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 Group72, Stack as Stack142, Text as Text117 } from "@mantine/core";
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 Group71, ActionIcon as ActionIcon33, Text as Text116, Divider as Divider16 } from "@mantine/core";
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(Group71, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React218.createElement(Group71, { 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(
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(Group71, { 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 })))));
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(Group72, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React220.createElement(Group72, { 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"))))));
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 Group74, Stack as Stack144, Text as Text119, Tooltip as Tooltip25 } from "@mantine/core";
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 Group73, Badge as Badge37, ActionIcon as ActionIcon34, Loader as Loader27, Tooltip as Tooltip24 } from "@mantine/core";
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(Group73, { 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(Group73, { 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()))
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(Group74, { 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(Group74, { 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")))));
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 Box40, Stack as Stack145, UnstyledButton as UnstyledButton2, Text as Text120, Center as Center12, ScrollArea as ScrollArea8, Group as Group75, Popover as Popover4 } from "@mantine/core";
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 Button38 } from "@mantine/core";
22546
+ import { Button as Button37 } from "@mantine/core";
22560
22547
  var CoverImageButton = forwardRef(({ isActive = false, onClick, children, style, ...props }, ref) => /* @__PURE__ */ React225.createElement(
22561
- Button38,
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
- Box40,
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(Box40, { 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(Box40, null, /* @__PURE__ */ React226.createElement(Group75, { justify: "space-between", mb: "xs", px: "xs" }, /* @__PURE__ */ React226.createElement(Text120, { size: "sm", fw: 500 }, searchQuery ? "Results" : "Icons"), totalPages > 1 && /* @__PURE__ */ React226.createElement(Group75, { 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(
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 Box42, Group as Group76 } from "@mantine/core";
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 Box41 } from "@mantine/core";
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 : Box41;
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
- Box42,
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
- Group76,
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
- Box42,
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
- Box42,
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
- Group76,
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
- Box42,
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
- Group76,
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 Box43 } from "@mantine/core";
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
- Box43,
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
- Box43,
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(Box43, { style: { ...indicatorStyle, background: "none", border: "none", boxShadow: "none" } }, indicatorWithPosition)
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 Box44 } from "@mantine/core";
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
- Box44,
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 Button39, Alert as Alert30, Group as Group77 } from "@mantine/core";
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(Group77, { gap: "xs" }, /* @__PURE__ */ React233.createElement(IconKey2, { size: 20 }), /* @__PURE__ */ React233.createElement(Text121, { fw: 600 }, "Entity Signing Setup")),
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(Group77, { justify: "flex-end", mt: "md" }, /* @__PURE__ */ React233.createElement(Button39, { variant: "subtle", onClick: handleClose, disabled: loading }, "Cancel"), /* @__PURE__ */ React233.createElement(
24016
- Button39,
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 Group78, Badge as Badge39, Button as Button40, ActionIcon as ActionIcon35, Loader as Loader28, Alert as Alert31, Divider as Divider17 } from "@mantine/core";
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(Group78, { 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(Group78, { 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(Group78, { justify: "space-between" }, /* @__PURE__ */ React234.createElement(Group78, { 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(Group78, { 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(
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
- Button40,
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 Button41,
24134
- Group as Group79,
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(Group79, { gap: "xs" }, /* @__PURE__ */ React235.createElement(IconShieldPlus4, { size: 20 }), /* @__PURE__ */ React235.createElement(Text123, { fw: 600 }, "Grant Permission")),
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(Group79, 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(
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(Group79, { justify: "space-between" }, /* @__PURE__ */ React235.createElement(Group79, { 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(
24283
- Button41,
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(Group79, { 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."))
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(Group79, { justify: "flex-end" }, /* @__PURE__ */ React235.createElement(Button41, { variant: "subtle", onClick: handleClose, disabled: loading }, "Cancel"), /* @__PURE__ */ React235.createElement(Button41, { onClick: handleGrant, loading }, "Grant Permission")))
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-44NJWFQK.mjs.map
24448
+ //# sourceMappingURL=chunk-CZDCWQZR.mjs.map