@ixo/editor 3.0.0-beta.20 → 3.0.0-beta.22

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.
@@ -336,7 +336,8 @@ var useListBlocksUI = () => {
336
336
  // src/mantine/components/Layouts/BaseRightPanelLayout.tsx
337
337
  import { ActionIcon as ActionIcon3, Box as Box2, Flex as Flex2, Stack as Stack10, Text as Text8, Title } from "@mantine/core";
338
338
  import { IconBrain, IconShieldCheck, IconWand, IconX as IconX2 } from "@tabler/icons-react";
339
- import React19, { useMemo as useMemo6 } from "react";
339
+ import React19, { useEffect as useEffect9, useMemo as useMemo6 } from "react";
340
+ import { useMediaQuery } from "@mantine/hooks";
340
341
 
341
342
  // src/mantine/components/ReusablePanel.tsx
342
343
  import React5, { useState as useState2 } from "react";
@@ -1378,10 +1379,117 @@ var addLinkedEntityAction = {
1378
1379
  }
1379
1380
  };
1380
1381
 
1382
+ // src/core/lib/matrixDm.ts
1383
+ function getHomeserver(matrixClient) {
1384
+ const userId = matrixClient.getUserId();
1385
+ if (!userId) throw new Error("Matrix client has no user ID");
1386
+ const idx = userId.indexOf(":");
1387
+ if (idx === -1) throw new Error(`Invalid Matrix user ID: ${userId}`);
1388
+ return userId.substring(idx + 1);
1389
+ }
1390
+ function didToMatrixUserId(did, homeserver) {
1391
+ const localpart = did.replace(/:/g, "-");
1392
+ return `@${localpart}:${homeserver}`;
1393
+ }
1394
+ async function findOrCreateDMRoom(matrixClient, targetUserId) {
1395
+ try {
1396
+ const directEvent = matrixClient.getAccountData("m.direct");
1397
+ const directContent = directEvent?.getContent() || {};
1398
+ const existingRooms = directContent[targetUserId];
1399
+ if (existingRooms && existingRooms.length > 0) {
1400
+ return existingRooms[0];
1401
+ }
1402
+ } catch {
1403
+ }
1404
+ const response = await matrixClient.createRoom({
1405
+ is_direct: true,
1406
+ invite: [targetUserId],
1407
+ preset: "trusted_private_chat",
1408
+ initial_state: []
1409
+ });
1410
+ const roomId = response.room_id;
1411
+ try {
1412
+ const directEvent = matrixClient.getAccountData("m.direct");
1413
+ const directContent = directEvent?.getContent() || {};
1414
+ const updatedContent = {
1415
+ ...directContent,
1416
+ [targetUserId]: [...directContent[targetUserId] || [], roomId]
1417
+ };
1418
+ await matrixClient.setAccountData("m.direct", updatedContent);
1419
+ } catch (error) {
1420
+ console.warn("[MatrixDM] Failed to update m.direct account data:", error);
1421
+ }
1422
+ return roomId;
1423
+ }
1424
+ async function sendMatrixMessage(matrixClient, roomId, message) {
1425
+ await matrixClient.sendEvent(roomId, "m.room.message", {
1426
+ msgtype: "m.text",
1427
+ body: message
1428
+ });
1429
+ }
1430
+ async function sendDirectMessage(matrixClient, targetDid, message) {
1431
+ const homeserver = getHomeserver(matrixClient);
1432
+ const targetUserId = didToMatrixUserId(targetDid, homeserver);
1433
+ const roomId = await findOrCreateDMRoom(matrixClient, targetUserId);
1434
+ await sendMatrixMessage(matrixClient, roomId, message);
1435
+ return { roomId };
1436
+ }
1437
+
1438
+ // src/mantine/blocks/hooks/hookedActions/actionTypes/sendMatrixDM.ts
1439
+ var sendMatrixDMAction = {
1440
+ type: "sendMatrixDM",
1441
+ label: "Send Matrix DM",
1442
+ description: "Send a direct message via Matrix to an assigned user or a specified DID",
1443
+ configSchema: [
1444
+ {
1445
+ key: "targetDid",
1446
+ label: "Target DID",
1447
+ type: "string",
1448
+ required: true,
1449
+ placeholder: "{{payload.assignedActorDid}}",
1450
+ description: "DID of the recipient (can use payload variables)"
1451
+ },
1452
+ {
1453
+ key: "message",
1454
+ label: "Message",
1455
+ type: "string",
1456
+ required: true,
1457
+ placeholder: "You have a new task to complete",
1458
+ description: "Message body to send (can use payload variables)"
1459
+ }
1460
+ ],
1461
+ execute: async (actionConfig, payload, context) => {
1462
+ const { editor } = context;
1463
+ const { config } = actionConfig;
1464
+ const matrixClient = editor.getMatrixClient?.();
1465
+ if (!matrixClient) {
1466
+ console.warn("sendMatrixDM: Matrix client not available");
1467
+ return;
1468
+ }
1469
+ const resolvedDid = resolvePayloadValue(config.targetDid || "", payload);
1470
+ const resolvedMessage = resolvePayloadValue(config.message || "", payload);
1471
+ if (!resolvedDid) {
1472
+ console.warn("sendMatrixDM: Missing target DID after resolution");
1473
+ return;
1474
+ }
1475
+ if (!resolvedMessage) {
1476
+ console.warn("sendMatrixDM: Missing message after resolution");
1477
+ return;
1478
+ }
1479
+ try {
1480
+ await sendDirectMessage(matrixClient, resolvedDid, resolvedMessage);
1481
+ console.log("sendMatrixDM: DM sent successfully");
1482
+ } catch (error) {
1483
+ console.error("sendMatrixDM: Failed to send DM", error);
1484
+ }
1485
+ }
1486
+ };
1487
+
1381
1488
  // src/mantine/blocks/hooks/hookedActions/actionTypes/index.ts
1382
1489
  function registerBuiltInActionTypes() {
1383
1490
  registerHookedActionType(sendEmailAction);
1384
1491
  registerHookedActionType(addLinkedEntityAction);
1492
+ registerHookedActionType(sendMatrixDMAction);
1385
1493
  }
1386
1494
 
1387
1495
  // src/mantine/blocks/governanceGroup/actions.ts
@@ -2344,7 +2452,7 @@ var rowStyle = {
2344
2452
  borderRadius: 10,
2345
2453
  background: "var(--mantine-color-neutralColor-5)"
2346
2454
  };
2347
- function PanelOptionsPopover({ isMaximized, onToggleMaximize, context, isTemplate, onSelectTab }) {
2455
+ function PanelOptionsPopover({ isMaximized, onToggleMaximize, context, isTemplate, onSelectTab, isMobile }) {
2348
2456
  const [opened, { open, close }] = useDisclosure(false);
2349
2457
  const [ttlExpanded, { toggle: toggleTtl }] = useDisclosure(false);
2350
2458
  const access = context ? getAccessSummary(context.block.props) : null;
@@ -2365,7 +2473,7 @@ function PanelOptionsPopover({ isMaximized, onToggleMaximize, context, isTemplat
2365
2473
  }
2366
2474
  },
2367
2475
  /* @__PURE__ */ React18.createElement(Popover.Target, null, /* @__PURE__ */ React18.createElement(ActionIcon2, { onClick: open, size: 32, radius: "md", variant: "filled", styles: actionIconStyles }, icon(IconDotsVertical))),
2368
- /* @__PURE__ */ React18.createElement(Popover.Dropdown, { p: 0, style: { backdropFilter: "blur(20px)" } }, /* @__PURE__ */ React18.createElement(Stack9, { gap: "sm", p: "sm", miw: 260 }, /* @__PURE__ */ React18.createElement(
2476
+ /* @__PURE__ */ React18.createElement(Popover.Dropdown, { p: 0, style: { backdropFilter: "blur(20px)" } }, /* @__PURE__ */ React18.createElement(Stack9, { gap: "sm", p: "sm", miw: 260 }, !isMobile && /* @__PURE__ */ React18.createElement(
2369
2477
  UnstyledButton,
2370
2478
  {
2371
2479
  onClick: () => {
@@ -2404,6 +2512,12 @@ function PanelOptionsPopover({ isMaximized, onToggleMaximize, context, isTemplat
2404
2512
  function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionContent, onClose, children, tabs, context }) {
2405
2513
  const { setMaximized, isMaximized } = useListBlocksUI();
2406
2514
  const { askCompanion } = useBlocknoteHandlers();
2515
+ const isMobile = useMediaQuery("(max-width: 992px)");
2516
+ useEffect9(() => {
2517
+ if (isMobile) {
2518
+ setMaximized(true);
2519
+ }
2520
+ }, [isMobile, setMaximized]);
2407
2521
  const allTabs = !tabs ? [] : context && _isTemplate ? [
2408
2522
  ...tabs,
2409
2523
  {
@@ -2434,7 +2548,8 @@ function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionCo
2434
2548
  onToggleMaximize: () => setMaximized(!isMaximized),
2435
2549
  context,
2436
2550
  isTemplate: _isTemplate,
2437
- onSelectTab: tabState.setActiveTab
2551
+ onSelectTab: tabState.setActiveTab,
2552
+ isMobile
2438
2553
  }
2439
2554
  ), /* @__PURE__ */ React19.createElement(
2440
2555
  ActionIcon3,
@@ -2490,7 +2605,7 @@ function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionCo
2490
2605
  }
2491
2606
 
2492
2607
  // src/mantine/components/AuthorizationTab.tsx
2493
- import React21, { useMemo as useMemo7, useState as useState8, useEffect as useEffect9, useCallback as useCallback13 } from "react";
2608
+ import React21, { useMemo as useMemo7, useState as useState8, useEffect as useEffect10, useCallback as useCallback13 } from "react";
2494
2609
  import { Stack as Stack12, TextInput as TextInput3, Text as Text10, Badge as Badge3, Group as Group6, Switch as Switch3, Select as Select2, Divider as Divider3, Radio as Radio2, Paper as Paper2, Button as Button4, ActionIcon as ActionIcon5, Alert as Alert4 } from "@mantine/core";
2495
2610
  import { IconPlus, IconX as IconX4, IconUsers as IconUsers2, IconShieldPlus as IconShieldPlus2, IconShieldCheck as IconShieldCheck2, IconTrash, IconUser as IconUser2, IconRobot as IconRobot2, IconKey } from "@tabler/icons-react";
2496
2611
 
@@ -2708,7 +2823,7 @@ var AuthorizationTab = ({
2708
2823
  const doc = editor?.document || [];
2709
2824
  return doc.find((b) => b.id === initialBlock.id) || initialBlock;
2710
2825
  }, [editor?.document, initialBlock]);
2711
- useEffect9(() => {
2826
+ useEffect10(() => {
2712
2827
  if (!editor) return;
2713
2828
  const handleChange = () => {
2714
2829
  forceUpdate({});
@@ -2816,7 +2931,7 @@ var AuthorizationTab = ({
2816
2931
  return "anyone";
2817
2932
  }, [parentCapability, actorList, blockCapabilities.length]);
2818
2933
  const [authMode, setAuthMode] = useState8(derivedAuthMode);
2819
- useEffect9(() => {
2934
+ useEffect10(() => {
2820
2935
  setAuthMode(derivedAuthMode);
2821
2936
  }, [derivedAuthMode]);
2822
2937
  const handleAuthModeChange = (mode) => {
@@ -3143,7 +3258,7 @@ import React26, { useMemo as useMemo9 } from "react";
3143
3258
  import { Checkbox as Checkbox3, Group as Group8, Stack as Stack14, Text as Text12, Tooltip } from "@mantine/core";
3144
3259
 
3145
3260
  // src/mantine/hooks/useNodeRuntime.ts
3146
- import { useState as useState9, useEffect as useEffect10, useCallback as useCallback15, useRef as useRef5 } from "react";
3261
+ import { useState as useState9, useEffect as useEffect11, useCallback as useCallback15, useRef as useRef5 } from "react";
3147
3262
  function shallowEqual(a, b) {
3148
3263
  const keysA = Object.keys(a);
3149
3264
  const keysB = Object.keys(b);
@@ -3161,10 +3276,10 @@ function useNodeRuntime(editor, nodeId) {
3161
3276
  return stored && typeof stored === "object" ? { ...stored } : {};
3162
3277
  });
3163
3278
  const stateRef = useRef5(state);
3164
- useEffect10(() => {
3279
+ useEffect11(() => {
3165
3280
  stateRef.current = state;
3166
3281
  });
3167
- useEffect10(() => {
3282
+ useEffect11(() => {
3168
3283
  if (!runtimeMap) return;
3169
3284
  const handler = () => {
3170
3285
  const current = runtimeMap.get(nodeId);
@@ -3221,7 +3336,7 @@ var CheckboxFlowView = ({ editor, block, isDisabled }) => {
3221
3336
  };
3222
3337
 
3223
3338
  // src/mantine/blocks/hooks/useBlockConditions.ts
3224
- import { useMemo as useMemo10, useEffect as useEffect11, useState as useState10 } from "react";
3339
+ import { useMemo as useMemo10, useEffect as useEffect12, useState as useState10 } from "react";
3225
3340
 
3226
3341
  // src/mantine/blocks/utils/conditionNormalizer.ts
3227
3342
  var OPERATOR_INVERSIONS = {
@@ -3360,7 +3475,7 @@ function useBlockConditions(block, editor, currentUser) {
3360
3475
  return parseConditionConfig(block?.props?.conditions);
3361
3476
  }, [block?.props?.conditions]);
3362
3477
  const [sourceBlockVersion, setSourceBlockVersion] = useState10(0);
3363
- useEffect11(() => {
3478
+ useEffect12(() => {
3364
3479
  if (!editor) {
3365
3480
  return;
3366
3481
  }
@@ -4687,7 +4802,7 @@ var ListTemplateView = ({ editor, block }) => {
4687
4802
  };
4688
4803
 
4689
4804
  // src/mantine/blocks/list/flow/ListFlowView.tsx
4690
- import React88, { useState as useState37, useEffect as useEffect34, useMemo as useMemo39, useCallback as useCallback31, useRef as useRef12 } from "react";
4805
+ import React88, { useState as useState37, useEffect as useEffect35, useMemo as useMemo39, useCallback as useCallback31, useRef as useRef12 } from "react";
4691
4806
  import { Stack as Stack59, Text as Text60, ActionIcon as ActionIcon11, Loader as Loader16, Center as Center9, Flex as Flex27, Title as Title6, Collapse as Collapse3, Tooltip as Tooltip6 } from "@mantine/core";
4692
4807
 
4693
4808
  // src/mantine/blocks/list/linked_resources/ResourcesList.tsx
@@ -5252,7 +5367,7 @@ var DeedSubscriptionsList = ({ items, isMultiSelect: _isMultiSelect, isItemCheck
5252
5367
  };
5253
5368
 
5254
5369
  // src/mantine/blocks/list/ListSelectionPanel.tsx
5255
- import React83, { useState as useState34, useEffect as useEffect32, useMemo as useMemo37 } from "react";
5370
+ import React83, { useState as useState34, useEffect as useEffect33, useMemo as useMemo37 } from "react";
5256
5371
  import { Stack as Stack55, Alert as Alert14, Text as Text55, Loader as Loader15, Center as Center8, Space } from "@mantine/core";
5257
5372
  import { IconClipboardText, IconChecklist as IconChecklist4, IconFileDescription as IconFileDescription2 } from "@tabler/icons-react";
5258
5373
 
@@ -5308,7 +5423,7 @@ var SelectionPanelEmpty = ({ message = "No item selected" }) => {
5308
5423
  };
5309
5424
 
5310
5425
  // src/mantine/blocks/list/transactions/TransactionDetails.tsx
5311
- import React53, { useEffect as useEffect12, useState as useState13 } from "react";
5426
+ import React53, { useEffect as useEffect13, useState as useState13 } from "react";
5312
5427
  import { Text as Text32, Tooltip as Tooltip3, Stack as Stack33, Group as Group13, Paper as Paper5, Divider as Divider5, CopyButton, ActionIcon as ActionIcon6 } from "@mantine/core";
5313
5428
  import { IconCopy, IconCheck } from "@tabler/icons-react";
5314
5429
  var CopyableField = ({ label, value, truncate = true }) => {
@@ -5320,7 +5435,7 @@ var CopyableField = ({ label, value, truncate = true }) => {
5320
5435
  var TransactionDetails = ({ transaction }) => {
5321
5436
  const handlers = useBlocknoteHandlers();
5322
5437
  const [assetsList, setAssetsList] = useState13([]);
5323
- useEffect12(() => {
5438
+ useEffect13(() => {
5324
5439
  const fetchAssets = async () => {
5325
5440
  try {
5326
5441
  const assets = await handlers.getCryptoAssets();
@@ -5353,7 +5468,7 @@ var TransactionDetails = ({ transaction }) => {
5353
5468
  };
5354
5469
 
5355
5470
  // src/mantine/blocks/list/claims/ClaimsListPanelContent.tsx
5356
- import React54, { useEffect as useEffect13, useMemo as useMemo12, useState as useState14 } from "react";
5471
+ import React54, { useEffect as useEffect14, useMemo as useMemo12, useState as useState14 } from "react";
5357
5472
  import { Text as Text33, Stack as Stack34, Loader as Loader3, Alert as Alert5 } from "@mantine/core";
5358
5473
  import { Survey, SurveyModel } from "@ixo/surveys";
5359
5474
 
@@ -5509,7 +5624,7 @@ var ClaimsListPanelContent = ({ collectionId, deedId, claim }) => {
5509
5624
  }
5510
5625
  return model;
5511
5626
  }, [surveyJson, claimData]);
5512
- useEffect13(() => {
5627
+ useEffect14(() => {
5513
5628
  fetchClaimAndSurvey();
5514
5629
  }, [claim?.claimId]);
5515
5630
  if (!claim) {
@@ -5519,7 +5634,7 @@ var ClaimsListPanelContent = ({ collectionId, deedId, claim }) => {
5519
5634
  };
5520
5635
 
5521
5636
  // src/mantine/blocks/list/claims/ClaimsEvaluation.tsx
5522
- import React82, { useCallback as useCallback30, useEffect as useEffect31, useMemo as useMemo36, useRef as useRef11, useState as useState33 } from "react";
5637
+ import React82, { useCallback as useCallback30, useEffect as useEffect32, useMemo as useMemo36, useRef as useRef11, useState as useState33 } from "react";
5523
5638
  import { Alert as Alert13, Box as Box24, Button as Button11, Divider as Divider8, Group as Group23, Loader as Loader14, Stack as Stack54, Text as Text54 } from "@mantine/core";
5524
5639
 
5525
5640
  // src/mantine/blocks/evaluator/EvaluatorBlock.tsx
@@ -5534,10 +5649,10 @@ import React59, { useCallback as useCallback19 } from "react";
5534
5649
  import { IconSettings as IconSettings3, IconShieldCheck as IconShieldCheck5, IconContract, IconClock as IconClock2 } from "@tabler/icons-react";
5535
5650
 
5536
5651
  // src/mantine/blocks/evaluator/template/GeneralTab.tsx
5537
- import React56, { useEffect as useEffect15, useState as useState16, useCallback as useCallback17, useMemo as useMemo13 } from "react";
5652
+ import React56, { useEffect as useEffect16, useState as useState16, useCallback as useCallback17, useMemo as useMemo13 } from "react";
5538
5653
 
5539
5654
  // src/mantine/components/CollectionSelector.tsx
5540
- import React55, { useState as useState15, useEffect as useEffect14 } from "react";
5655
+ import React55, { useState as useState15, useEffect as useEffect15 } from "react";
5541
5656
  import { Stack as Stack35, Text as Text34, Checkbox as Checkbox5, Loader as Loader4, Alert as Alert6 } from "@mantine/core";
5542
5657
  var CollectionSelector = ({
5543
5658
  did,
@@ -5552,7 +5667,7 @@ var CollectionSelector = ({
5552
5667
  const [collections, setCollections] = useState15([]);
5553
5668
  const [loading, setLoading] = useState15(false);
5554
5669
  const [error, setError] = useState15(null);
5555
- useEffect14(() => {
5670
+ useEffect15(() => {
5556
5671
  setLocalDid(did || "");
5557
5672
  }, [did]);
5558
5673
  const handleDidChange = (value) => {
@@ -5634,10 +5749,10 @@ var GeneralTab3 = ({
5634
5749
  }) => {
5635
5750
  const [localTitle, setLocalTitle] = useState16(title || "");
5636
5751
  const [localDescription, setLocalDescription] = useState16(description || "");
5637
- useEffect15(() => {
5752
+ useEffect16(() => {
5638
5753
  setLocalTitle(title || "");
5639
5754
  }, [title]);
5640
- useEffect15(() => {
5755
+ useEffect16(() => {
5641
5756
  setLocalDescription(description || "");
5642
5757
  }, [description]);
5643
5758
  const parsedSelectedCollections = useMemo13(() => {
@@ -5701,7 +5816,7 @@ var GeneralTab3 = ({
5701
5816
  };
5702
5817
 
5703
5818
  // src/mantine/components/CommitmentTab.tsx
5704
- import React58, { useMemo as useMemo14, useState as useState17, useEffect as useEffect16, useCallback as useCallback18 } from "react";
5819
+ import React58, { useMemo as useMemo14, useState as useState17, useEffect as useEffect17, useCallback as useCallback18 } from "react";
5705
5820
  import { Stack as Stack36, Flex as Flex19, Text as Text35 } from "@mantine/core";
5706
5821
 
5707
5822
  // src/mantine/components/Base/BaseAvatar.tsx
@@ -5740,7 +5855,7 @@ var CommitmentTab = ({ editor, block: initialBlock }) => {
5740
5855
  const doc = editor?.document || [];
5741
5856
  return doc.find((b) => b.id === initialBlock.id) || initialBlock;
5742
5857
  }, [editor?.document, initialBlock]);
5743
- useEffect16(() => {
5858
+ useEffect17(() => {
5744
5859
  (async () => {
5745
5860
  if (!roomId || !mx) return;
5746
5861
  try {
@@ -5751,7 +5866,7 @@ var CommitmentTab = ({ editor, block: initialBlock }) => {
5751
5866
  }
5752
5867
  })();
5753
5868
  }, [roomId, mx]);
5754
- useEffect16(() => {
5869
+ useEffect17(() => {
5755
5870
  if (!editor) return;
5756
5871
  const handleChange = () => {
5757
5872
  forceUpdate({});
@@ -5843,7 +5958,7 @@ var CommitmentTab = ({ editor, block: initialBlock }) => {
5843
5958
  });
5844
5959
  return lookup;
5845
5960
  }, [roomMembers]);
5846
- useEffect16(() => {
5961
+ useEffect17(() => {
5847
5962
  if (committedActorData?.did) {
5848
5963
  setSelectedValue(committedActorData.did);
5849
5964
  } else {
@@ -5922,7 +6037,7 @@ import React62 from "react";
5922
6037
  import { useMemo as useMemo17 } from "react";
5923
6038
 
5924
6039
  // src/mantine/components/AssignmentTab.tsx
5925
- import React60, { useMemo as useMemo15, useState as useState18, useEffect as useEffect17, useCallback as useCallback20 } from "react";
6040
+ import React60, { useMemo as useMemo15, useState as useState18, useEffect as useEffect18, useCallback as useCallback20 } from "react";
5926
6041
  import { Stack as Stack37, Flex as Flex20, Text as Text36 } from "@mantine/core";
5927
6042
  var AssignmentTab = ({ editor, block: initialBlock }) => {
5928
6043
  const handlers = useBlocknoteHandlers();
@@ -5939,7 +6054,7 @@ var AssignmentTab = ({ editor, block: initialBlock }) => {
5939
6054
  const doc = editor?.document || [];
5940
6055
  return doc.find((b) => b.id === initialBlock.id) || initialBlock;
5941
6056
  }, [editor?.document, initialBlock]);
5942
- useEffect17(() => {
6057
+ useEffect18(() => {
5943
6058
  (async () => {
5944
6059
  if (!roomId || !mx) return;
5945
6060
  try {
@@ -5951,7 +6066,7 @@ var AssignmentTab = ({ editor, block: initialBlock }) => {
5951
6066
  }
5952
6067
  })();
5953
6068
  }, [roomId, mx]);
5954
- useEffect17(() => {
6069
+ useEffect18(() => {
5955
6070
  if (!editor) return;
5956
6071
  const handleChange = () => {
5957
6072
  forceUpdate({});
@@ -6063,7 +6178,7 @@ var AssignmentTab = ({ editor, block: initialBlock }) => {
6063
6178
  });
6064
6179
  return lookup;
6065
6180
  }, [roomMembers]);
6066
- useEffect17(() => {
6181
+ useEffect18(() => {
6067
6182
  if (assignedActorData?.did) {
6068
6183
  setSelectedValue(assignedActorData.did);
6069
6184
  } else {
@@ -6239,15 +6354,15 @@ import { Stack as Stack52, Text as Text52, Loader as Loader13, Center as Center7
6239
6354
  import { IconAlertCircle as IconAlertCircle7 } from "@tabler/icons-react";
6240
6355
 
6241
6356
  // src/mantine/hooks/useCurrentUser.ts
6242
- import { useState as useState19, useEffect as useEffect18, useRef as useRef6 } from "react";
6357
+ import { useState as useState19, useEffect as useEffect19, useRef as useRef6 } from "react";
6243
6358
  function useCurrentUser() {
6244
6359
  const { getCurrentUser } = useBlocknoteHandlers();
6245
6360
  const getCurrentUserRef = useRef6(getCurrentUser);
6246
- useEffect18(() => {
6361
+ useEffect19(() => {
6247
6362
  getCurrentUserRef.current = getCurrentUser;
6248
6363
  }, [getCurrentUser]);
6249
6364
  const [userAddress, setUserAddress] = useState19("");
6250
- useEffect18(() => {
6365
+ useEffect19(() => {
6251
6366
  const fetchUserAddress = () => {
6252
6367
  try {
6253
6368
  const user = getCurrentUserRef.current();
@@ -6262,11 +6377,11 @@ function useCurrentUser() {
6262
6377
  }
6263
6378
 
6264
6379
  // src/mantine/hooks/useCollections.ts
6265
- import { useState as useState20, useEffect as useEffect19, useCallback as useCallback21, useRef as useRef7, useMemo as useMemo21 } from "react";
6380
+ import { useState as useState20, useEffect as useEffect20, useCallback as useCallback21, useRef as useRef7, useMemo as useMemo21 } from "react";
6266
6381
  function useCollections(did, selectedCollectionIds, block, editor) {
6267
6382
  const { getClaimCollections } = useBlocknoteHandlers();
6268
6383
  const getClaimCollectionsRef = useRef7(getClaimCollections);
6269
- useEffect19(() => {
6384
+ useEffect20(() => {
6270
6385
  getClaimCollectionsRef.current = getClaimCollections;
6271
6386
  }, [getClaimCollections]);
6272
6387
  const [collections, setCollections] = useState20([]);
@@ -6306,7 +6421,7 @@ function useCollections(did, selectedCollectionIds, block, editor) {
6306
6421
  setLoading(false);
6307
6422
  }
6308
6423
  }, [did, selectedCollectionIdsStr]);
6309
- useEffect19(() => {
6424
+ useEffect20(() => {
6310
6425
  fetchCollections();
6311
6426
  }, [fetchCollections]);
6312
6427
  return { collections, loading, error, refetch: fetchCollections };
@@ -6317,7 +6432,7 @@ import React77 from "react";
6317
6432
  import { Stack as Stack51, Text as Text51, Loader as Loader12, Center as Center6 } from "@mantine/core";
6318
6433
 
6319
6434
  // src/mantine/hooks/useUserRoles.ts
6320
- import { useState as useState21, useEffect as useEffect20, useMemo as useMemo22, useRef as useRef8 } from "react";
6435
+ import { useState as useState21, useEffect as useEffect21, useMemo as useMemo22, useRef as useRef8 } from "react";
6321
6436
 
6322
6437
  // src/mantine/hooks/utils.ts
6323
6438
  function isClientFulfillmentError(error) {
@@ -6329,7 +6444,7 @@ function isClientFulfillmentError(error) {
6329
6444
  function useUserRoles(collections, userAddress, adminAddress, deedId) {
6330
6445
  const { getUserRoles } = useBlocknoteHandlers();
6331
6446
  const getUserRolesRef = useRef8(getUserRoles);
6332
- useEffect20(() => {
6447
+ useEffect21(() => {
6333
6448
  getUserRolesRef.current = getUserRoles;
6334
6449
  }, [getUserRoles]);
6335
6450
  const [userRoles, setUserRoles] = useState21({});
@@ -6340,7 +6455,7 @@ function useUserRoles(collections, userAddress, adminAddress, deedId) {
6340
6455
  [collections]
6341
6456
  );
6342
6457
  const requestKey = useMemo22(() => [userAddress, adminAddress, deedId, collectionIdsKey].filter(Boolean).join("|"), [userAddress, adminAddress, deedId, collectionIdsKey]);
6343
- useEffect20(() => {
6458
+ useEffect21(() => {
6344
6459
  let isMounted = true;
6345
6460
  const setEmptyRoles = () => {
6346
6461
  const rolesMap = {};
@@ -6407,7 +6522,7 @@ import React67, { useMemo as useMemo24 } from "react";
6407
6522
  import { Stack as Stack42, Text as Text41, Group as Group16 } from "@mantine/core";
6408
6523
 
6409
6524
  // src/mantine/blocks/claim/flow/ClaimsListSheet.tsx
6410
- import React66, { useState as useState22, useEffect as useEffect21, useCallback as useCallback22, useMemo as useMemo23 } from "react";
6525
+ import React66, { useState as useState22, useEffect as useEffect22, useCallback as useCallback22, useMemo as useMemo23 } from "react";
6411
6526
  import { Loader as Loader5, Stack as Stack41, Text as Text40, ActionIcon as ActionIcon7, Alert as Alert7, Box as Box20, Group as Group15 } from "@mantine/core";
6412
6527
  import { IconArrowLeft as IconArrowLeft2, IconAlertCircle as IconAlertCircle2 } from "@tabler/icons-react";
6413
6528
  import { Survey as Survey2, SurveyModel as SurveyModel2 } from "@ixo/surveys";
@@ -6480,7 +6595,7 @@ var ClaimsListSheet = ({
6480
6595
  setSurveyLoading(false);
6481
6596
  }
6482
6597
  }, [deedId]);
6483
- useEffect21(() => {
6598
+ useEffect22(() => {
6484
6599
  console.log("[ClaimsListSheet] useEffect fetchClaims");
6485
6600
  fetchClaims();
6486
6601
  }, [fetchClaims]);
@@ -6571,7 +6686,7 @@ var ClaimsListSheet = ({
6571
6686
  },
6572
6687
  [handlers, deedId, collectionId, adminAddress, closePanel, onSubmitComplete, execution]
6573
6688
  );
6574
- useEffect21(() => {
6689
+ useEffect22(() => {
6575
6690
  if (surveyModel) {
6576
6691
  console.log("[ClaimsListSheet] register surveyModel.onComplete listener");
6577
6692
  surveyModel.onComplete.add(handleSurveyComplete);
@@ -6750,7 +6865,7 @@ import React73, { useMemo as useMemo31 } from "react";
6750
6865
  import { Stack as Stack47, Text as Text47, Center as Center4, Loader as Loader10, Group as Group19 } from "@mantine/core";
6751
6866
 
6752
6867
  // src/mantine/hooks/useBlockAuthorization.ts
6753
- import { useState as useState23, useEffect as useEffect22, useMemo as useMemo25 } from "react";
6868
+ import { useState as useState23, useEffect as useEffect23, useMemo as useMemo25 } from "react";
6754
6869
  function useBlockAuthorization({ editor, flowNode, actorDid, flowUri }) {
6755
6870
  const handlers = useBlocknoteHandlers();
6756
6871
  const [result, setResult] = useState23({ authorized: true });
@@ -6777,7 +6892,7 @@ function useBlockAuthorization({ editor, flowNode, actorDid, flowUri }) {
6777
6892
  }
6778
6893
  };
6779
6894
  }, [handlers.verifyCapabilitySignature]);
6780
- useEffect22(() => {
6895
+ useEffect23(() => {
6781
6896
  const checkAuthorization = async () => {
6782
6897
  setLoading(true);
6783
6898
  if (!actorDid) {
@@ -6836,7 +6951,7 @@ import { Survey as Survey3 } from "@ixo/surveys";
6836
6951
  import { IconCheck as IconCheck2, IconX as IconX6, IconAlertCircle as IconAlertCircle3 } from "@tabler/icons-react";
6837
6952
 
6838
6953
  // src/mantine/blocks/components/bid/hooks/useBidView.ts
6839
- import { useState as useState24, useEffect as useEffect23, useMemo as useMemo26 } from "react";
6954
+ import { useState as useState24, useEffect as useEffect24, useMemo as useMemo26 } from "react";
6840
6955
  import { SurveyModel as SurveyModel3 } from "@ixo/surveys";
6841
6956
 
6842
6957
  // src/mantine/blocks/components/bid/constants.ts
@@ -6888,7 +7003,7 @@ function useBidView(bid, deedId) {
6888
7003
  const [surveyJson, setSurveyJson] = useState24(null);
6889
7004
  const [loading, setLoading] = useState24(true);
6890
7005
  const [error, setError] = useState24(null);
6891
- useEffect23(() => {
7006
+ useEffect24(() => {
6892
7007
  const fetchSurveyTemplate = async () => {
6893
7008
  try {
6894
7009
  setLoading(true);
@@ -7137,12 +7252,12 @@ var BidViewPanel = ({ editor, block, bid, deedId, adminAddress, onRefresh, execu
7137
7252
  };
7138
7253
 
7139
7254
  // src/mantine/hooks/useUserProfile.ts
7140
- import { useState as useState27, useEffect as useEffect24 } from "react";
7255
+ import { useState as useState27, useEffect as useEffect25 } from "react";
7141
7256
  function useUserProfile(did) {
7142
7257
  const handlers = useBlocknoteHandlers();
7143
7258
  const [userProfile, setUserProfile] = useState27(null);
7144
7259
  const [loading, setLoading] = useState27(false);
7145
- useEffect24(() => {
7260
+ useEffect25(() => {
7146
7261
  const fetchUserProfile = async () => {
7147
7262
  if (!did) return;
7148
7263
  try {
@@ -7189,7 +7304,7 @@ var BidItem = ({ editor, block, bid, deedId, adminAddress, onRefresh, execution,
7189
7304
  };
7190
7305
 
7191
7306
  // src/mantine/blocks/components/bid/hooks/useBids.ts
7192
- import { useState as useState28, useEffect as useEffect25, useCallback as useCallback24 } from "react";
7307
+ import { useState as useState28, useEffect as useEffect26, useCallback as useCallback24 } from "react";
7193
7308
  function useBids(collectionId) {
7194
7309
  const handlers = useBlocknoteHandlers();
7195
7310
  const [bids, setBids] = useState28([]);
@@ -7212,7 +7327,7 @@ function useBids(collectionId) {
7212
7327
  setLoading(false);
7213
7328
  }
7214
7329
  }, [collectionId]);
7215
- useEffect25(() => {
7330
+ useEffect26(() => {
7216
7331
  fetchBids();
7217
7332
  }, [fetchBids]);
7218
7333
  return { bids, loading, error, refetch: fetchBids };
@@ -7265,7 +7380,7 @@ var BidsList = ({ editor, block, collectionId, deedId, adminAddress, onRefresh,
7265
7380
  };
7266
7381
 
7267
7382
  // src/mantine/blocks/components/bid/hooks/useUserBid.ts
7268
- import { useState as useState29, useEffect as useEffect26, useCallback as useCallback26 } from "react";
7383
+ import { useState as useState29, useEffect as useEffect27, useCallback as useCallback26 } from "react";
7269
7384
  function useUserBid(collectionId, userDid) {
7270
7385
  const handlers = useBlocknoteHandlers();
7271
7386
  const [userBid, setUserBid] = useState29(null);
@@ -7289,7 +7404,7 @@ function useUserBid(collectionId, userDid) {
7289
7404
  setLoading(false);
7290
7405
  }
7291
7406
  }, [collectionId, userDid, handlers]);
7292
- useEffect26(() => {
7407
+ useEffect27(() => {
7293
7408
  fetchUserBid();
7294
7409
  }, [fetchUserBid]);
7295
7410
  return { userBid, loading, error, refetch: fetchUserBid };
@@ -7319,12 +7434,12 @@ var BidRoleSelectPanel = ({ editor, block, collectionId, openEA, openSA, userRol
7319
7434
  };
7320
7435
 
7321
7436
  // src/mantine/blocks/components/bid/components/BidSurveyPanel.tsx
7322
- import React72, { useMemo as useMemo30, useEffect as useEffect28, useRef as useRef9, useCallback as useCallback28 } from "react";
7437
+ import React72, { useMemo as useMemo30, useEffect as useEffect29, useRef as useRef9, useCallback as useCallback28 } from "react";
7323
7438
  import { Loader as Loader9, Stack as Stack46, Text as Text46 } from "@mantine/core";
7324
7439
  import { Survey as Survey4 } from "@ixo/surveys";
7325
7440
 
7326
7441
  // src/mantine/blocks/components/bid/hooks/useBidSurvey.ts
7327
- import { useState as useState30, useEffect as useEffect27, useMemo as useMemo29, useCallback as useCallback27 } from "react";
7442
+ import { useState as useState30, useEffect as useEffect28, useMemo as useMemo29, useCallback as useCallback27 } from "react";
7328
7443
  import { SurveyModel as SurveyModel4 } from "@ixo/surveys";
7329
7444
  function useBidSurvey(deedId, collectionId, role, onSubmitComplete, execution, executeHookedActions) {
7330
7445
  const handlers = useBlocknoteHandlers();
@@ -7332,7 +7447,7 @@ function useBidSurvey(deedId, collectionId, role, onSubmitComplete, execution, e
7332
7447
  const [surveyJson, setSurveyJson] = useState30(null);
7333
7448
  const [loading, setLoading] = useState30(true);
7334
7449
  const [error, setError] = useState30(null);
7335
- useEffect27(() => {
7450
+ useEffect28(() => {
7336
7451
  const fetchSurveyTemplate = async () => {
7337
7452
  try {
7338
7453
  setLoading(true);
@@ -7425,7 +7540,7 @@ var BidSurveyPanel = ({ editor, block, deedId, collectionId, role, onSubmitCompl
7425
7540
  const { surveyModel, loading, error, handleSurveyComplete } = useBidSurvey(deedId, collectionId, role, onSubmitComplete, execution, executeHookedActions);
7426
7541
  const roleLabel = role === "service_agent" ? "Service Agent" : "Evaluation Agent";
7427
7542
  const handleSurveyCompleteRef = useRef9(handleSurveyComplete);
7428
- useEffect28(() => {
7543
+ useEffect29(() => {
7429
7544
  handleSurveyCompleteRef.current = handleSurveyComplete;
7430
7545
  }, [handleSurveyComplete]);
7431
7546
  const stableHandleSurveyComplete = useCallback28((sender) => {
@@ -7441,7 +7556,7 @@ var BidSurveyPanel = ({ editor, block, deedId, collectionId, role, onSubmitCompl
7441
7556
  }),
7442
7557
  []
7443
7558
  );
7444
- useEffect28(() => {
7559
+ useEffect29(() => {
7445
7560
  if (surveyModel) {
7446
7561
  surveyModel.onComplete.add(stableHandleSurveyComplete);
7447
7562
  return () => {
@@ -7608,11 +7723,11 @@ var BidCollectionItem = ({ collection, editor, block, deedId, adminAddress, user
7608
7723
  };
7609
7724
 
7610
7725
  // src/mantine/blocks/evaluator/flow/EvaluationCollectionItem.tsx
7611
- import React76, { useMemo as useMemo34, useEffect as useEffect30, useRef as useRef10 } from "react";
7726
+ import React76, { useMemo as useMemo34, useEffect as useEffect31, useRef as useRef10 } from "react";
7612
7727
  import { Group as Group22, Stack as Stack50, Text as Text50 } from "@mantine/core";
7613
7728
 
7614
7729
  // src/mantine/blocks/evaluator/flow/ClaimsList.tsx
7615
- import React75, { useState as useState31, useEffect as useEffect29, useCallback as useCallback29, useMemo as useMemo33 } from "react";
7730
+ import React75, { useState as useState31, useEffect as useEffect30, useCallback as useCallback29, useMemo as useMemo33 } from "react";
7616
7731
  import { Paper as Paper7, CloseButton, Title as Title5, Loader as Loader11, Stack as Stack49, Text as Text49, ActionIcon as ActionIcon9, Alert as Alert11, Badge as Badge8, Group as Group21, Button as Button9, Divider as Divider7, Tabs, ScrollArea, Box as Box23, Select as Select3 } from "@mantine/core";
7617
7732
 
7618
7733
  // src/mantine/utils/claimStatus.ts
@@ -8188,7 +8303,7 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
8188
8303
  setLoading(false);
8189
8304
  }
8190
8305
  }, [collectionId]);
8191
- useEffect29(() => {
8306
+ useEffect30(() => {
8192
8307
  fetchClaims();
8193
8308
  }, [fetchClaims]);
8194
8309
  const fetchClaimAndSurvey = useCallback29(
@@ -8578,7 +8693,7 @@ var ClaimListItem = ({ claim, onViewClaim }) => {
8578
8693
  const handlers = useBlocknoteHandlers();
8579
8694
  const [userProfile, setUserProfile] = useState31(null);
8580
8695
  const [loadingProfile, setLoadingProfile] = useState31(false);
8581
- useEffect29(() => {
8696
+ useEffect30(() => {
8582
8697
  const fetchUserProfile = async () => {
8583
8698
  if (!claim.agentDid) return;
8584
8699
  try {
@@ -8618,7 +8733,7 @@ import { IconFile as IconFile3 } from "@tabler/icons-react";
8618
8733
  var EvaluationCollectionItem = ({ collection, block, deedId, adminAddress, editor, userRole, onRefresh }) => {
8619
8734
  const { getCurrentUser } = useBlocknoteHandlers();
8620
8735
  const getCurrentUserRef = useRef10(getCurrentUser);
8621
- useEffect30(() => {
8736
+ useEffect31(() => {
8622
8737
  getCurrentUserRef.current = getCurrentUser;
8623
8738
  }, [getCurrentUser]);
8624
8739
  const currentUser = getCurrentUserRef.current();
@@ -8901,7 +9016,7 @@ var ClaimsEvaluation = ({ collectionId, adminAddress, deedId, claim, onRefresh }
8901
9016
  const [rubricData, setRubricData] = useState33(null);
8902
9017
  const [evaluationLoading, setEvaluationLoading] = useState33(false);
8903
9018
  const isFetchingRef = useRef11(false);
8904
- useEffect31(() => {
9019
+ useEffect32(() => {
8905
9020
  if (!claim?.claimId || !collectionId || !deedId || !handlers?.getClaimData) {
8906
9021
  return;
8907
9022
  }
@@ -9171,7 +9286,7 @@ var ListSelectionPanel = ({ selectedIds, listConfig, listData, listType, userRol
9171
9286
  if (!listType) return null;
9172
9287
  return getSelectionPanelConfig(listType);
9173
9288
  }, [listType]);
9174
- useEffect32(() => {
9289
+ useEffect33(() => {
9175
9290
  const fetchItemDetails = async () => {
9176
9291
  if (!selectedItemId || !listType || !handlers || !panelConfig) {
9177
9292
  setItemHandlerData(null);
@@ -9315,7 +9430,7 @@ var DaosList = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
9315
9430
  };
9316
9431
 
9317
9432
  // src/mantine/blocks/list/claims/ClaimsList.tsx
9318
- import React86, { useState as useState35, useEffect as useEffect33, useMemo as useMemo38 } from "react";
9433
+ import React86, { useState as useState35, useEffect as useEffect34, useMemo as useMemo38 } from "react";
9319
9434
  import { Text as Text58, Stack as Stack58, Flex as Flex25, Box as Box27, Group as Group24 } from "@mantine/core";
9320
9435
  var ClaimsList2 = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
9321
9436
  const handlers = useBlocknoteHandlers();
@@ -9329,7 +9444,7 @@ var ClaimsList2 = ({ items, isMultiSelect, isItemChecked, onItemCheck }) => {
9329
9444
  });
9330
9445
  return Array.from(dids);
9331
9446
  }, [items]);
9332
- useEffect33(() => {
9447
+ useEffect34(() => {
9333
9448
  const fetchProfiles = async () => {
9334
9449
  if (uniqueAgentDids.length === 0) {
9335
9450
  setProfiles({});
@@ -9695,7 +9810,7 @@ var ListFlowView = ({ block, editor }) => {
9695
9810
  [editor, block, selectedIds, listConfig, listType, userRole, handlePanelClose, data]
9696
9811
  );
9697
9812
  const { open: openSelectionPanel, close: closeSelectionPanel } = usePanel(selectionPanelId, selectionPanelContent);
9698
- useEffect34(() => {
9813
+ useEffect35(() => {
9699
9814
  if (!isMultiSelect && selectedIds.size > 1) {
9700
9815
  const arr = Array.from(selectedIds);
9701
9816
  const lastSelected = arr.length > 0 ? arr[arr.length - 1] : void 0;
@@ -9782,7 +9897,7 @@ var ListFlowView = ({ block, editor }) => {
9782
9897
  }
9783
9898
  return {};
9784
9899
  }, [block.props.sort]);
9785
- useEffect34(() => {
9900
+ useEffect35(() => {
9786
9901
  const unsubscribe = subscribe((event) => {
9787
9902
  if (event === "collapse") close();
9788
9903
  else if (event === "expand") open();
@@ -9982,10 +10097,10 @@ var ListFlowView = ({ block, editor }) => {
9982
10097
  setLoading(false);
9983
10098
  }
9984
10099
  }, [handlers, page, listType, listConfig, runtimeSearchValue]);
9985
- useEffect34(() => {
10100
+ useEffect35(() => {
9986
10101
  fetchDataRef.current = fetchData;
9987
10102
  }, [fetchData]);
9988
- useEffect34(() => {
10103
+ useEffect35(() => {
9989
10104
  if (listType && listConfig) {
9990
10105
  fetchData();
9991
10106
  }
@@ -10150,7 +10265,7 @@ var ListBlockSpec = createReactBlockSpec3(
10150
10265
  );
10151
10266
 
10152
10267
  // src/mantine/blocks/overview/OverviewBlock.tsx
10153
- import React91, { useEffect as useEffect35, useState as useState38 } from "react";
10268
+ import React91, { useEffect as useEffect36, useState as useState38 } from "react";
10154
10269
  import { createReactBlockSpec as createReactBlockSpec4 } from "@blocknote/react";
10155
10270
  import { Stack as Stack60, Text as Text61, Box as Box29, Loader as Loader17, Alert as Alert15, Group as Group25, Accordion as Accordion3, Collapse as Collapse4 } from "@mantine/core";
10156
10271
  import { IconChevronRight as IconChevronRight3, IconChevronDown as IconChevronDown4, IconFileDescription as IconFileDescription3, IconWorld, IconCalendar, IconUser as IconUser6, IconCircleCheck } from "@tabler/icons-react";
@@ -10161,7 +10276,7 @@ var OverviewBlockContent = () => {
10161
10276
  const [loading, setLoading] = useState38(true);
10162
10277
  const [error, setError] = useState38(null);
10163
10278
  const [detailsOpened, { toggle: toggleDetails }] = useDisclosure5(false);
10164
- useEffect35(() => {
10279
+ useEffect36(() => {
10165
10280
  const fetchDomainCard = async () => {
10166
10281
  setLoading(true);
10167
10282
  setError(null);
@@ -10312,7 +10427,7 @@ import React127, { useCallback as useCallback33 } from "react";
10312
10427
  import { IconSettings as IconSettings5, IconBolt as IconBolt2, IconCheck as IconCheck4, IconShieldCheck as IconShieldCheck6, IconClock as IconClock5 } from "@tabler/icons-react";
10313
10428
 
10314
10429
  // src/mantine/blocks/proposal/template/GeneralTab.tsx
10315
- import React92, { useEffect as useEffect36, useState as useState39 } from "react";
10430
+ import React92, { useEffect as useEffect37, useState as useState39 } from "react";
10316
10431
  import { Stack as Stack61, Text as Text62, Loader as Loader18, SegmentedControl as SegmentedControl4 } from "@mantine/core";
10317
10432
  var GeneralTab4 = ({ title, description, coreAddress, onTitleChange, onDescriptionChange, onGroupChange }) => {
10318
10433
  const handlers = useBlocknoteHandlers();
@@ -10322,13 +10437,13 @@ var GeneralTab4 = ({ title, description, coreAddress, onTitleChange, onDescripti
10322
10437
  const [loadingGroups, setLoadingGroups] = useState39(false);
10323
10438
  const [inputMode, setInputMode] = useState39("select");
10324
10439
  const [manualAddress, setManualAddress] = useState39("");
10325
- useEffect36(() => {
10440
+ useEffect37(() => {
10326
10441
  setLocalTitle(title || "");
10327
10442
  }, [title]);
10328
- useEffect36(() => {
10443
+ useEffect37(() => {
10329
10444
  setLocalDescription(description || "");
10330
10445
  }, [description]);
10331
- useEffect36(() => {
10446
+ useEffect37(() => {
10332
10447
  if (coreAddress) {
10333
10448
  const matchesGroup = groups.some((g) => g.coreAddress === coreAddress);
10334
10449
  if (matchesGroup) {
@@ -10339,7 +10454,7 @@ var GeneralTab4 = ({ title, description, coreAddress, onTitleChange, onDescripti
10339
10454
  }
10340
10455
  }
10341
10456
  }, [coreAddress, groups]);
10342
- useEffect36(() => {
10457
+ useEffect37(() => {
10343
10458
  const fetchGroups = async () => {
10344
10459
  if (!handlers?.getDAOGroups) {
10345
10460
  return;
@@ -10427,7 +10542,7 @@ var GeneralTab4 = ({ title, description, coreAddress, onTitleChange, onDescripti
10427
10542
  };
10428
10543
 
10429
10544
  // src/mantine/blocks/proposal/template/ActionsTab.tsx
10430
- import React125, { useCallback as useCallback32, useEffect as useEffect39, useState as useState47 } from "react";
10545
+ import React125, { useCallback as useCallback32, useEffect as useEffect40, useState as useState47 } from "react";
10431
10546
  import { Card as Card12, Stack as Stack94 } from "@mantine/core";
10432
10547
 
10433
10548
  // src/mantine/blocks/proposal/actions-components/ActionsCard.tsx
@@ -10535,7 +10650,7 @@ var ActionsCard = ({ actions, isSelected, onClick, onEditAction, onRemoveAction,
10535
10650
  };
10536
10651
 
10537
10652
  // src/mantine/blocks/proposal/ActionsPanel.tsx
10538
- import React124, { useState as useState46, useEffect as useEffect38, useMemo as useMemo40 } from "react";
10653
+ import React124, { useState as useState46, useEffect as useEffect39, useMemo as useMemo40 } from "react";
10539
10654
  import { Stack as Stack93, Button as Button17, Group as Group37, Text as Text71, Card as Card11, Badge as Badge12, Divider as Divider10, ScrollArea as ScrollArea4, Alert as Alert18, Tabs as Tabs2, SimpleGrid, Paper as Paper8 } from "@mantine/core";
10540
10655
 
10541
10656
  // src/mantine/blocks/proposal/actions-components/SpendActionForm.tsx
@@ -10777,12 +10892,12 @@ var ExecuteActionForm = ({ data, onChange }) => {
10777
10892
  };
10778
10893
 
10779
10894
  // src/mantine/blocks/proposal/actions-components/forms/CustomActionForm.tsx
10780
- import React100, { useState as useState42, useEffect as useEffect37 } from "react";
10895
+ import React100, { useState as useState42, useEffect as useEffect38 } from "react";
10781
10896
  import { Stack as Stack69, Alert as Alert16, Group as Group29, Text as Text66, Badge as Badge11 } from "@mantine/core";
10782
10897
  var CustomActionForm = ({ data, onChange }) => {
10783
10898
  const [isValid, setIsValid] = useState42(true);
10784
10899
  const [error, setError] = useState42("");
10785
- useEffect37(() => {
10900
+ useEffect38(() => {
10786
10901
  try {
10787
10902
  if (data.message) {
10788
10903
  JSON.parse(data.message);
@@ -12428,7 +12543,7 @@ var ActionsPanel = ({ actions, editingIndex, onSave, onCancel, isTemplateMode =
12428
12543
  });
12429
12544
  const currentActionConfig = getActionConfig(selectedActionType);
12430
12545
  const categorizedActions = useMemo40(() => getCategorizedActions(), []);
12431
- useEffect38(() => {
12546
+ useEffect39(() => {
12432
12547
  if (!isEditing) {
12433
12548
  const config = getActionConfig(selectedActionType);
12434
12549
  if (config) {
@@ -12602,7 +12717,7 @@ var ActionsTab = ({ actions, onActionsChange }) => {
12602
12717
  }
12603
12718
  };
12604
12719
  const currentActions = parseActions(actions);
12605
- useEffect39(() => {
12720
+ useEffect40(() => {
12606
12721
  if (currentActions.length === 0 && !isEditorVisible) {
12607
12722
  setEditingIndex(null);
12608
12723
  setIsEditorVisible(true);
@@ -12801,12 +12916,12 @@ var OnChainProposalCard = ({
12801
12916
  };
12802
12917
 
12803
12918
  // src/mantine/blocks/proposal/flow/FlowConfig.tsx
12804
- import React132, { useCallback as useCallback35, useState as useState52, useEffect as useEffect43 } from "react";
12919
+ import React132, { useCallback as useCallback35, useState as useState52, useEffect as useEffect44 } from "react";
12805
12920
  import { Stack as Stack100, Button as Button21, Text as Text76, Card as Card16, Loader as Loader19, SegmentedControl as SegmentedControl5 } from "@mantine/core";
12806
12921
  import { IconPlus as IconPlus3, IconBolt as IconBolt3, IconCheck as IconCheck5 } from "@tabler/icons-react";
12807
12922
 
12808
12923
  // src/mantine/blocks/proposal/flow/useFlowBusinessLogic.ts
12809
- import { useEffect as useEffect40, useState as useState48 } from "react";
12924
+ import { useEffect as useEffect41, useState as useState48 } from "react";
12810
12925
  var CHAIN_STATUSES = ["open", "passed", "rejected", "executed", "closed", "execution_failed", "veto_timelock"];
12811
12926
  var isChainStatus = (value) => {
12812
12927
  return CHAIN_STATUSES.includes(value);
@@ -12849,7 +12964,7 @@ var useFlowBusinessLogic = ({ block, editor }) => {
12849
12964
  props: { ...block.props, ...nextProps }
12850
12965
  });
12851
12966
  };
12852
- useEffect40(() => {
12967
+ useEffect41(() => {
12853
12968
  if (!handlers || !coreAddress || !proposalId) {
12854
12969
  setProposalContractAddress(null);
12855
12970
  return;
@@ -12869,7 +12984,7 @@ var useFlowBusinessLogic = ({ block, editor }) => {
12869
12984
  isCancelled = true;
12870
12985
  };
12871
12986
  }, [handlers, coreAddress, proposalId]);
12872
- useEffect40(() => {
12987
+ useEffect41(() => {
12873
12988
  if (!proposal) return;
12874
12989
  const chainStatus = proposal.proposal.status;
12875
12990
  const parsedStatus = parseStatus(chainStatus);
@@ -12951,7 +13066,7 @@ var useFlowBusinessLogic = ({ block, editor }) => {
12951
13066
  };
12952
13067
 
12953
13068
  // src/mantine/blocks/proposal/flow/useVoteBusinessLogic.ts
12954
- import { useState as useState49, useEffect as useEffect41 } from "react";
13069
+ import { useState as useState49, useEffect as useEffect42 } from "react";
12955
13070
  var useVoteBusinessLogic = ({ block }) => {
12956
13071
  const [localError, setLocalError] = useState49(null);
12957
13072
  const [userVote, setUserVote] = useState49(null);
@@ -12967,7 +13082,7 @@ var useVoteBusinessLogic = ({ block }) => {
12967
13082
  const description = block.props.description || "";
12968
13083
  const status = block.props.status || "draft";
12969
13084
  const coreAddress = block.props.coreAddress || "";
12970
- useEffect41(() => {
13085
+ useEffect42(() => {
12971
13086
  if (!handlers || !coreAddress || !proposalId) {
12972
13087
  setProposalContractAddress(null);
12973
13088
  return;
@@ -12987,7 +13102,7 @@ var useVoteBusinessLogic = ({ block }) => {
12987
13102
  isCancelled = true;
12988
13103
  };
12989
13104
  }, [handlers, coreAddress, proposalId]);
12990
- useEffect41(() => {
13105
+ useEffect42(() => {
12991
13106
  if (!handlers || !proposalContractAddress || !proposalId) {
12992
13107
  return;
12993
13108
  }
@@ -13266,7 +13381,7 @@ var FlowGeneralTab = ({
13266
13381
  };
13267
13382
 
13268
13383
  // src/mantine/blocks/proposal/flow/ActionsTab.tsx
13269
- import React131, { useCallback as useCallback34, useEffect as useEffect42, useState as useState51 } from "react";
13384
+ import React131, { useCallback as useCallback34, useEffect as useEffect43, useState as useState51 } from "react";
13270
13385
  import { Alert as Alert19, Button as Button20, Card as Card15, Stack as Stack99, Text as Text75 } from "@mantine/core";
13271
13386
  var ActionsTab2 = ({ actions, onActionsChange, isProposalCreated }) => {
13272
13387
  const [isEditorVisible, setIsEditorVisible] = useState51(false);
@@ -13280,7 +13395,7 @@ var ActionsTab2 = ({ actions, onActionsChange, isProposalCreated }) => {
13280
13395
  }
13281
13396
  };
13282
13397
  const currentActions = parseActions(actions);
13283
- useEffect42(() => {
13398
+ useEffect43(() => {
13284
13399
  if (!isProposalCreated && currentActions.length === 0 && !isEditorVisible) {
13285
13400
  setEditingIndex(null);
13286
13401
  setIsEditorVisible(true);
@@ -13391,7 +13506,7 @@ var FlowConfig2 = ({ editor, block }) => {
13391
13506
  },
13392
13507
  [editor, block]
13393
13508
  );
13394
- useEffect43(() => {
13509
+ useEffect44(() => {
13395
13510
  if (coreAddress) {
13396
13511
  const matchesGroup = groups.some((g) => g.coreAddress === coreAddress);
13397
13512
  if (matchesGroup) {
@@ -13402,7 +13517,7 @@ var FlowConfig2 = ({ editor, block }) => {
13402
13517
  }
13403
13518
  }
13404
13519
  }, [coreAddress, groups]);
13405
- useEffect43(() => {
13520
+ useEffect44(() => {
13406
13521
  const fetchGroups = async () => {
13407
13522
  if (!handlers?.getDAOGroups) {
13408
13523
  return;
@@ -13660,7 +13775,7 @@ var ProposalBlockSpec = createReactBlockSpec5(
13660
13775
  );
13661
13776
 
13662
13777
  // src/mantine/blocks/enumChecklist/EnumChecklistBlock.tsx
13663
- import React142, { useState as useState54, useEffect as useEffect44, useMemo as useMemo43, useCallback as useCallback36 } from "react";
13778
+ import React142, { useState as useState54, useEffect as useEffect45, useMemo as useMemo43, useCallback as useCallback36 } from "react";
13664
13779
  import { createReactBlockSpec as createReactBlockSpec6 } from "@blocknote/react";
13665
13780
  import { Stack as Stack106, Text as Text82, Button as Button26, ActionIcon as ActionIcon14, Center as Center10, Flex as Flex29 } from "@mantine/core";
13666
13781
 
@@ -14052,7 +14167,7 @@ var EnumChecklistBlockContent = ({ block, editor }) => {
14052
14167
  }
14053
14168
  return /* @__PURE__ */ new Set();
14054
14169
  }, [block.props.selectedIds]);
14055
- useEffect44(() => {
14170
+ useEffect45(() => {
14056
14171
  if (listConfig?.selection_mode === "single" && selectedIds.size > 1) {
14057
14172
  const arr = Array.from(selectedIds);
14058
14173
  const lastSelected = arr.length > 0 ? arr[arr.length - 1] : void 0;
@@ -14175,7 +14290,7 @@ import React148, { useCallback as useCallback39, useMemo as useMemo47 } from "re
14175
14290
  import { IconSettings as IconSettings7, IconCode, IconShieldCheck as IconShieldCheck7, IconUser as IconUser7, IconChecklist as IconChecklist5, IconClock as IconClock6 } from "@tabler/icons-react";
14176
14291
 
14177
14292
  // src/mantine/blocks/apiRequest/template/GeneralTab.tsx
14178
- import React145, { useEffect as useEffect45, useState as useState57 } from "react";
14293
+ import React145, { useEffect as useEffect46, useState as useState57 } from "react";
14179
14294
  import { Divider as Divider11, Stack as Stack108, Text as Text84, Button as Button27, Group as Group47, ActionIcon as ActionIcon17, Paper as Paper9 } from "@mantine/core";
14180
14295
  import { IconTrash as IconTrash2, IconPlus as IconPlus4 } from "@tabler/icons-react";
14181
14296
 
@@ -14598,12 +14713,12 @@ var GeneralTab5 = ({
14598
14713
  const [localMethod, setLocalMethod] = useState57(method || "GET");
14599
14714
  const [localHeaders, setLocalHeaders] = useState57(headers || []);
14600
14715
  const [localBody, setLocalBody] = useState57(body || []);
14601
- useEffect45(() => setLocalTitle(title || ""), [title]);
14602
- useEffect45(() => setLocalDescription(description || ""), [description]);
14603
- useEffect45(() => setLocalEndpoint(endpoint || ""), [endpoint]);
14604
- useEffect45(() => setLocalMethod(method || "GET"), [method]);
14605
- useEffect45(() => setLocalHeaders(headers || []), [headers]);
14606
- useEffect45(() => setLocalBody(body || []), [body]);
14716
+ useEffect46(() => setLocalTitle(title || ""), [title]);
14717
+ useEffect46(() => setLocalDescription(description || ""), [description]);
14718
+ useEffect46(() => setLocalEndpoint(endpoint || ""), [endpoint]);
14719
+ useEffect46(() => setLocalMethod(method || "GET"), [method]);
14720
+ useEffect46(() => setLocalHeaders(headers || []), [headers]);
14721
+ useEffect46(() => setLocalBody(body || []), [body]);
14607
14722
  const handleAddHeader = () => {
14608
14723
  const newHeaders = [...localHeaders, { key: "", value: "" }];
14609
14724
  setLocalHeaders(newHeaders);
@@ -14822,7 +14937,7 @@ var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
14822
14937
  };
14823
14938
 
14824
14939
  // src/mantine/components/EvaluationTab.tsx
14825
- import React147, { useMemo as useMemo46, useState as useState58, useEffect as useEffect46, useCallback as useCallback38 } from "react";
14940
+ import React147, { useMemo as useMemo46, useState as useState58, useEffect as useEffect47, useCallback as useCallback38 } from "react";
14826
14941
  import { Stack as Stack110, TextInput as TextInput6, Text as Text86 } from "@mantine/core";
14827
14942
  var EvaluationTab = ({ editor, block: initialBlock }) => {
14828
14943
  const [, forceUpdate] = useState58({});
@@ -14830,7 +14945,7 @@ var EvaluationTab = ({ editor, block: initialBlock }) => {
14830
14945
  const doc = editor?.document || [];
14831
14946
  return doc.find((b) => b.id === initialBlock.id) || initialBlock;
14832
14947
  }, [editor?.document, initialBlock]);
14833
- useEffect46(() => {
14948
+ useEffect47(() => {
14834
14949
  if (!editor) return;
14835
14950
  const handleChange = () => {
14836
14951
  forceUpdate({});
@@ -15364,7 +15479,7 @@ import React154, { useCallback as useCallback40 } from "react";
15364
15479
  import { IconSettings as IconSettings8 } from "@tabler/icons-react";
15365
15480
 
15366
15481
  // src/mantine/blocks/notify/template/GeneralTab.tsx
15367
- import React153, { useEffect as useEffect47, useState as useState60 } from "react";
15482
+ import React153, { useEffect as useEffect48, useState as useState60 } from "react";
15368
15483
  import { Divider as Divider13, Stack as Stack113, Text as Text89, Group as Group51, ActionIcon as ActionIcon19, Paper as Paper11 } from "@mantine/core";
15369
15484
  import { IconTrash as IconTrash4 } from "@tabler/icons-react";
15370
15485
  var GeneralTab6 = ({
@@ -15404,17 +15519,17 @@ var GeneralTab6 = ({
15404
15519
  const [localBodyType, setLocalBodyType] = useState60(bodyType || "text");
15405
15520
  const [localFrom, setLocalFrom] = useState60(from || "");
15406
15521
  const [localReplyTo, setLocalReplyTo] = useState60(replyTo || "");
15407
- useEffect47(() => setLocalTitle(title || ""), [title]);
15408
- useEffect47(() => setLocalDescription(description || ""), [description]);
15409
- useEffect47(() => setLocalChannel(channel || "email"), [channel]);
15410
- useEffect47(() => setLocalTo(to || []), [to]);
15411
- useEffect47(() => setLocalCc(cc || []), [cc]);
15412
- useEffect47(() => setLocalBcc(bcc || []), [bcc]);
15413
- useEffect47(() => setLocalSubject(subject || ""), [subject]);
15414
- useEffect47(() => setLocalBody(body || ""), [body]);
15415
- useEffect47(() => setLocalBodyType(bodyType || "text"), [bodyType]);
15416
- useEffect47(() => setLocalFrom(from || ""), [from]);
15417
- useEffect47(() => setLocalReplyTo(replyTo || ""), [replyTo]);
15522
+ useEffect48(() => setLocalTitle(title || ""), [title]);
15523
+ useEffect48(() => setLocalDescription(description || ""), [description]);
15524
+ useEffect48(() => setLocalChannel(channel || "email"), [channel]);
15525
+ useEffect48(() => setLocalTo(to || []), [to]);
15526
+ useEffect48(() => setLocalCc(cc || []), [cc]);
15527
+ useEffect48(() => setLocalBcc(bcc || []), [bcc]);
15528
+ useEffect48(() => setLocalSubject(subject || ""), [subject]);
15529
+ useEffect48(() => setLocalBody(body || ""), [body]);
15530
+ useEffect48(() => setLocalBodyType(bodyType || "text"), [bodyType]);
15531
+ useEffect48(() => setLocalFrom(from || ""), [from]);
15532
+ useEffect48(() => setLocalReplyTo(replyTo || ""), [replyTo]);
15418
15533
  const handleAddRecipient = (type) => {
15419
15534
  const setter = type === "to" ? setLocalTo : type === "cc" ? setLocalCc : setLocalBcc;
15420
15535
  const callback = type === "to" ? onToChange : type === "cc" ? onCcChange : onBccChange;
@@ -15922,7 +16037,7 @@ import React160, { useCallback as useCallback42 } from "react";
15922
16037
  import { IconSettings as IconSettings9, IconShieldCheck as IconShieldCheck8, IconUser as IconUser10, IconContract as IconContract2, IconChecklist as IconChecklist6, IconClock as IconClock7 } from "@tabler/icons-react";
15923
16038
 
15924
16039
  // src/mantine/blocks/claim/template/GeneralTab.tsx
15925
- import React159, { useEffect as useEffect48, useState as useState62, useCallback as useCallback41, useMemo as useMemo51 } from "react";
16040
+ import React159, { useEffect as useEffect49, useState as useState62, useCallback as useCallback41, useMemo as useMemo51 } from "react";
15926
16041
  var GeneralTab7 = ({
15927
16042
  title,
15928
16043
  description,
@@ -15937,10 +16052,10 @@ var GeneralTab7 = ({
15937
16052
  }) => {
15938
16053
  const [localTitle, setLocalTitle] = useState62(title || "");
15939
16054
  const [localDescription, setLocalDescription] = useState62(description || "");
15940
- useEffect48(() => {
16055
+ useEffect49(() => {
15941
16056
  setLocalTitle(title || "");
15942
16057
  }, [title]);
15943
- useEffect48(() => {
16058
+ useEffect49(() => {
15944
16059
  setLocalDescription(description || "");
15945
16060
  }, [description]);
15946
16061
  const parsedSelectedCollections = useMemo51(() => {
@@ -16082,7 +16197,7 @@ var ClaimTemplateView = ({ editor, block }) => {
16082
16197
  };
16083
16198
 
16084
16199
  // src/mantine/blocks/claim/flow/FlowView.tsx
16085
- import React162, { useMemo as useMemo53, useRef as useRef13, useEffect as useEffect49, useCallback as useCallback43 } from "react";
16200
+ import React162, { useMemo as useMemo53, useRef as useRef13, useEffect as useEffect50, useCallback as useCallback43 } from "react";
16086
16201
  import { Stack as Stack117, Text as Text93, Loader as Loader22, Center as Center11, Alert as Alert23 } from "@mantine/core";
16087
16202
  import { IconAlertCircle as IconAlertCircle10 } from "@tabler/icons-react";
16088
16203
  var ClaimFlowView = ({ editor, block }) => {
@@ -16120,7 +16235,7 @@ var ClaimFlowView = ({ editor, block }) => {
16120
16235
  [flowNode, runtime, ucanManager, userAddress, delegationStore, verifySignature, flowOwnerDid, flowUri]
16121
16236
  );
16122
16237
  const executionRef = useRef13(executionValue);
16123
- useEffect49(() => {
16238
+ useEffect50(() => {
16124
16239
  executionRef.current = executionValue;
16125
16240
  }, [executionValue]);
16126
16241
  const execution = useMemo53(
@@ -16164,7 +16279,7 @@ var ClaimFlowView = ({ editor, block }) => {
16164
16279
  const adminAddress = block.props.adminAddress || "";
16165
16280
  const { collections, loading, error, refetch } = useCollections(did, selectedCollectionIds, block, editor);
16166
16281
  const refetchRef = useRef13(refetch);
16167
- useEffect49(() => {
16282
+ useEffect50(() => {
16168
16283
  refetchRef.current = refetch;
16169
16284
  }, [refetch]);
16170
16285
  const stableRefetch = useCallback43(() => {
@@ -16257,14 +16372,14 @@ import React166 from "react";
16257
16372
  import { createReactBlockSpec as createReactBlockSpec10 } from "@blocknote/react";
16258
16373
 
16259
16374
  // src/mantine/blocks/visualization/VisualizationBlock.tsx
16260
- import React165, { useMemo as useMemo54, useCallback as useCallback44, useRef as useRef14, useState as useState63, useEffect as useEffect50 } from "react";
16375
+ import React165, { useMemo as useMemo54, useCallback as useCallback44, useRef as useRef14, useState as useState63, useEffect as useEffect51 } from "react";
16261
16376
  import { Box as Box35, Stack as Stack118, Text as Text94, Paper as Paper12, Group as Group55 } from "@mantine/core";
16262
16377
  function VisualizationBlock({ block, editor }) {
16263
16378
  const { visualizationRenderer } = useBlocknoteContext();
16264
16379
  const { vizType, config, title, preferences } = block.props;
16265
16380
  const containerRef = useRef14(null);
16266
16381
  const [hasValidDimensions, setHasValidDimensions] = useState63(false);
16267
- useEffect50(() => {
16382
+ useEffect51(() => {
16268
16383
  const container = containerRef.current;
16269
16384
  if (!container) return;
16270
16385
  const checkDimensions = () => {
@@ -16354,7 +16469,7 @@ import React169 from "react";
16354
16469
  import { createReactBlockSpec as createReactBlockSpec11 } from "@blocknote/react";
16355
16470
 
16356
16471
  // src/mantine/blocks/dynamicList/DynamicListBlock.tsx
16357
- import React168, { useMemo as useMemo56, useState as useState65, useCallback as useCallback45, useEffect as useEffect51, useRef as useRef15 } from "react";
16472
+ import React168, { useMemo as useMemo56, useState as useState65, useCallback as useCallback45, useEffect as useEffect52, useRef as useRef15 } from "react";
16358
16473
  import { Box as Box37, Stack as Stack120, Text as Text96, Paper as Paper14, Group as Group57, Button as Button31, ActionIcon as ActionIcon21, Tooltip as Tooltip10, Code as Code5, Flex as Flex30, Collapse as Collapse7, Title as Title7, Badge as Badge19, TextInput as TextInput7, CloseButton as CloseButton3, Select as Select4, Menu as Menu2 } from "@mantine/core";
16359
16474
  import { useDisclosure as useDisclosure6 } from "@mantine/hooks";
16360
16475
  import {
@@ -16619,7 +16734,7 @@ function DynamicListBlock({ block, editor }) {
16619
16734
  const endIndex = startIndex + DEFAULT_PAGE_SIZE;
16620
16735
  return allData.slice(startIndex, endIndex);
16621
16736
  }, [allData, page]);
16622
- useEffect51(() => {
16737
+ useEffect52(() => {
16623
16738
  if (page > totalPages && totalPages > 0) {
16624
16739
  setPage(1);
16625
16740
  }
@@ -16780,7 +16895,7 @@ function DynamicListBlock({ block, editor }) {
16780
16895
  return next;
16781
16896
  });
16782
16897
  }, []);
16783
- useEffect51(() => {
16898
+ useEffect52(() => {
16784
16899
  setPage(1);
16785
16900
  }, [searchQuery]);
16786
16901
  const formatValue2 = (value, type) => {
@@ -17038,14 +17153,14 @@ import React171, { useCallback as useCallback46 } from "react";
17038
17153
  import { IconSettings as IconSettings10, IconShieldCheck as IconShieldCheck9 } from "@tabler/icons-react";
17039
17154
 
17040
17155
  // src/mantine/blocks/domainCreator/template/GeneralTab.tsx
17041
- import React170, { useEffect as useEffect52, useState as useState66 } from "react";
17156
+ import React170, { useEffect as useEffect53, useState as useState66 } from "react";
17042
17157
  var GeneralTab8 = ({ title, description, icon: icon2, onTitleChange, onDescriptionChange, onIconChange }) => {
17043
17158
  const [localTitle, setLocalTitle] = useState66(title || "");
17044
17159
  const [localDescription, setLocalDescription] = useState66(description || "");
17045
17160
  const [localIcon, setLocalIcon] = useState66(icon2 || "file-text");
17046
- useEffect52(() => setLocalTitle(title || ""), [title]);
17047
- useEffect52(() => setLocalDescription(description || ""), [description]);
17048
- useEffect52(() => setLocalIcon(icon2 || "file-text"), [icon2]);
17161
+ useEffect53(() => setLocalTitle(title || ""), [title]);
17162
+ useEffect53(() => setLocalDescription(description || ""), [description]);
17163
+ useEffect53(() => setLocalIcon(icon2 || "file-text"), [icon2]);
17049
17164
  return /* @__PURE__ */ React170.createElement(BaseSection, null, /* @__PURE__ */ React170.createElement(
17050
17165
  BaseTextInput,
17051
17166
  {
@@ -17129,7 +17244,7 @@ import { ActionIcon as ActionIcon22, Badge as Badge21, Group as Group60, Stack a
17129
17244
  import { IconChevronRight as IconChevronRight7, IconCheck as IconCheck8, IconAlertCircle as IconAlertCircle12 } from "@tabler/icons-react";
17130
17245
 
17131
17246
  // src/mantine/blocks/domainCreator/flow/DomainCreatorSurveyPanel.tsx
17132
- import React173, { useCallback as useCallback47, useEffect as useEffect53, useMemo as useMemo58, useRef as useRef16, useState as useState67 } from "react";
17247
+ import React173, { useCallback as useCallback47, useEffect as useEffect54, useMemo as useMemo58, useRef as useRef16, useState as useState67 } from "react";
17133
17248
  import { Alert as Alert24, Button as Button32, Group as Group59, Loader as Loader23, Stack as Stack122, Text as Text98 } from "@mantine/core";
17134
17249
  import { useDebouncedCallback } from "@mantine/hooks";
17135
17250
  import { IconAlertCircle as IconAlertCircle11, IconCheck as IconCheck7 } from "@tabler/icons-react";
@@ -17885,13 +18000,13 @@ var DomainCreatorSurveyPanel = ({ editor, block, onComplete, entityDid: existing
17885
18000
  }
17886
18001
  });
17887
18002
  }, SYNC_DEBOUNCE_MS);
17888
- useEffect53(() => {
18003
+ useEffect54(() => {
17889
18004
  const answersJson = block.props.answers;
17890
18005
  if (answersJson) {
17891
18006
  syncPropToSurvey(answersJson);
17892
18007
  }
17893
18008
  }, [block.props.answers, syncPropToSurvey]);
17894
- useEffect53(() => {
18009
+ useEffect54(() => {
17895
18010
  const handleValueChanged = () => {
17896
18011
  if (isUpdatingFromProp.current) return;
17897
18012
  syncSurveyToProp(surveyModel.data);
@@ -17901,7 +18016,7 @@ var DomainCreatorSurveyPanel = ({ editor, block, onComplete, entityDid: existing
17901
18016
  surveyModel.onValueChanged.remove(handleValueChanged);
17902
18017
  };
17903
18018
  }, [surveyModel, syncSurveyToProp]);
17904
- useEffect53(() => {
18019
+ useEffect54(() => {
17905
18020
  const needsSchema = !block.props.surveySchema;
17906
18021
  const needsAnswers = !block.props.answers;
17907
18022
  if (needsSchema || needsAnswers) {
@@ -18029,7 +18144,7 @@ var DomainCreatorSurveyPanel = ({ editor, block, onComplete, entityDid: existing
18029
18144
  },
18030
18145
  [processDomainCreation, onComplete, editor, block]
18031
18146
  );
18032
- useEffect53(() => {
18147
+ useEffect54(() => {
18033
18148
  surveyModel.onComplete.add(handleSurveyComplete);
18034
18149
  return () => {
18035
18150
  surveyModel.onComplete.remove(handleSurveyComplete);
@@ -18172,7 +18287,7 @@ import React179, { useCallback as useCallback51, useMemo as useMemo61 } from "re
18172
18287
  import { IconSettings as IconSettings11, IconVariable as IconVariable2, IconShieldCheck as IconShieldCheck10 } from "@tabler/icons-react";
18173
18288
 
18174
18289
  // src/mantine/blocks/email/template/GeneralTab.tsx
18175
- import React177, { useEffect as useEffect54, useState as useState69, useCallback as useCallback49, useRef as useRef17 } from "react";
18290
+ import React177, { useEffect as useEffect55, useState as useState69, useCallback as useCallback49, useRef as useRef17 } from "react";
18176
18291
  import { Divider as Divider15, Loader as Loader24, Select as Select5, Stack as Stack124, Text as Text100 } from "@mantine/core";
18177
18292
 
18178
18293
  // src/mantine/blocks/email/utils/extractHandlebars.ts
@@ -18219,14 +18334,14 @@ var GeneralTab9 = ({ editor, blockId, getCurrentBlock, onTitleChange, onTemplate
18219
18334
  const [loadingTemplates, setLoadingTemplates] = useState69(false);
18220
18335
  const [loadingContent, setLoadingContent] = useState69(false);
18221
18336
  const [error, setError] = useState69(null);
18222
- useEffect54(() => {
18337
+ useEffect55(() => {
18223
18338
  const currentBlock = getCurrentBlock();
18224
18339
  setLocalTitle(currentBlock.props.title || "");
18225
18340
  setLocalTemplateName(currentBlock.props.templateName || "");
18226
18341
  setLocalTo(currentBlock.props.to || "");
18227
18342
  }, [getCurrentBlock]);
18228
18343
  const hasLoadedTemplates = useRef17(false);
18229
- useEffect54(() => {
18344
+ useEffect55(() => {
18230
18345
  if (hasLoadedTemplates.current) return;
18231
18346
  async function loadTemplates() {
18232
18347
  if (!handlers.listEmailTemplates) {
@@ -18337,7 +18452,7 @@ var GeneralTab9 = ({ editor, blockId, getCurrentBlock, onTitleChange, onTemplate
18337
18452
  };
18338
18453
 
18339
18454
  // src/mantine/blocks/email/template/VariablesTab.tsx
18340
- import React178, { useMemo as useMemo60, useCallback as useCallback50, useState as useState70, useEffect as useEffect55 } from "react";
18455
+ import React178, { useMemo as useMemo60, useCallback as useCallback50, useState as useState70, useEffect as useEffect56 } from "react";
18341
18456
  import { Alert as Alert25, Badge as Badge22, Divider as Divider16, Group as Group61, Stack as Stack125, Text as Text101 } from "@mantine/core";
18342
18457
  import { IconInfoCircle as IconInfoCircle4, IconCheck as IconCheck9 } from "@tabler/icons-react";
18343
18458
  var VariablesTab = ({ editor, blockId, getCurrentBlock, onVariablesChange }) => {
@@ -18358,7 +18473,7 @@ var VariablesTab = ({ editor, blockId, getCurrentBlock, onVariablesChange }) =>
18358
18473
  }
18359
18474
  }, [blockProps.variables]);
18360
18475
  const [localMapping, setLocalMapping] = useState70(parsedVariableMapping);
18361
- useEffect55(() => {
18476
+ useEffect56(() => {
18362
18477
  const currentBlock = getCurrentBlock();
18363
18478
  try {
18364
18479
  const mapping = JSON.parse(currentBlock.props.variables || "{}");
@@ -18777,7 +18892,7 @@ import React185, { useCallback as useCallback53 } from "react";
18777
18892
  import { IconSettings as IconSettings12 } from "@tabler/icons-react";
18778
18893
 
18779
18894
  // src/mantine/blocks/protocolSelector/template/GeneralTab.tsx
18780
- import React184, { useEffect as useEffect56, useMemo as useMemo64, useState as useState72 } from "react";
18895
+ import React184, { useEffect as useEffect57, useMemo as useMemo64, useState as useState72 } from "react";
18781
18896
  import { Divider as Divider18, Stack as Stack128, Text as Text104, PillsInput as PillsInput2, Pill as Pill2, Box as Box38 } from "@mantine/core";
18782
18897
  var GeneralTab10 = ({ title, description, protocolDids, onTitleChange, onDescriptionChange, onProtocolDidsChange }) => {
18783
18898
  const [localTitle, setLocalTitle] = useState72(title || "");
@@ -18791,10 +18906,10 @@ var GeneralTab10 = ({ title, description, protocolDids, onTitleChange, onDescrip
18791
18906
  return [];
18792
18907
  }
18793
18908
  }, [protocolDids]);
18794
- useEffect56(() => {
18909
+ useEffect57(() => {
18795
18910
  setLocalTitle(title || "");
18796
18911
  }, [title]);
18797
- useEffect56(() => {
18912
+ useEffect57(() => {
18798
18913
  setLocalDescription(description || "");
18799
18914
  }, [description]);
18800
18915
  const handleAddDid = () => {
@@ -18914,7 +19029,7 @@ import { Badge as Badge25, Box as Box41, Group as Group66, Stack as Stack131, Te
18914
19029
  import { IconCircleDashed as IconCircleDashed3, IconChecks as IconChecks3 } from "@tabler/icons-react";
18915
19030
 
18916
19031
  // src/mantine/blocks/protocolSelector/flow/ProtocolSelectionPanel.tsx
18917
- import React188, { useState as useState73, useEffect as useEffect57, useMemo as useMemo66, useCallback as useCallback54 } from "react";
19032
+ import React188, { useState as useState73, useEffect as useEffect58, useMemo as useMemo66, useCallback as useCallback54 } from "react";
18918
19033
  import { Stack as Stack130, Text as Text106, Box as Box40, Group as Group65, Loader as Loader26 } from "@mantine/core";
18919
19034
 
18920
19035
  // src/icons/EntityAvatar.tsx
@@ -18953,7 +19068,7 @@ var ProtocolSelectionPanel = ({ editor, block }) => {
18953
19068
  }
18954
19069
  }, [block.props.protocolDids]);
18955
19070
  const [protocols, setProtocols] = useState73([]);
18956
- useEffect57(() => {
19071
+ useEffect58(() => {
18957
19072
  if (protocolDids.length === 0) {
18958
19073
  setProtocols([]);
18959
19074
  return;
@@ -19180,7 +19295,7 @@ import { Badge as Badge26, Group as Group67, Stack as Stack132, Text as Text109
19180
19295
  import React193, { useCallback as useCallback55 } from "react";
19181
19296
 
19182
19297
  // src/mantine/blocks/form/template/GeneralTab.tsx
19183
- import React192, { useEffect as useEffect58, useState as useState74 } from "react";
19298
+ import React192, { useEffect as useEffect59, useState as useState74 } from "react";
19184
19299
  import { Text as Text108 } from "@mantine/core";
19185
19300
  var GeneralTab11 = ({ title, description, icon: icon2, surveySchema, onTitleChange, onDescriptionChange, onIconChange, onSurveySchemaChange }) => {
19186
19301
  const [localTitle, setLocalTitle] = useState74(title || "");
@@ -19188,10 +19303,10 @@ var GeneralTab11 = ({ title, description, icon: icon2, surveySchema, onTitleChan
19188
19303
  const [localIcon, setLocalIcon] = useState74(icon2 || "checklist");
19189
19304
  const [localSchema, setLocalSchema] = useState74(surveySchema || "");
19190
19305
  const [schemaError, setSchemaError] = useState74(null);
19191
- useEffect58(() => setLocalTitle(title || ""), [title]);
19192
- useEffect58(() => setLocalDescription(description || ""), [description]);
19193
- useEffect58(() => setLocalIcon(icon2 || "checklist"), [icon2]);
19194
- useEffect58(() => setLocalSchema(surveySchema || ""), [surveySchema]);
19306
+ useEffect59(() => setLocalTitle(title || ""), [title]);
19307
+ useEffect59(() => setLocalDescription(description || ""), [description]);
19308
+ useEffect59(() => setLocalIcon(icon2 || "checklist"), [icon2]);
19309
+ useEffect59(() => setLocalSchema(surveySchema || ""), [surveySchema]);
19195
19310
  const handleSchemaChange = (value) => {
19196
19311
  setLocalSchema(value);
19197
19312
  setSchemaError(null);
@@ -19312,7 +19427,7 @@ import { ActionIcon as ActionIcon24, Badge as Badge27, Group as Group68, Stack a
19312
19427
  import { IconChevronRight as IconChevronRight8 } from "@tabler/icons-react";
19313
19428
 
19314
19429
  // src/mantine/blocks/form/flow/FormPanel.tsx
19315
- import React195, { useCallback as useCallback56, useEffect as useEffect59, useMemo as useMemo69, useRef as useRef18 } from "react";
19430
+ import React195, { useCallback as useCallback56, useEffect as useEffect60, useMemo as useMemo69, useRef as useRef18 } from "react";
19316
19431
  import { Alert as Alert27, Text as Text110 } from "@mantine/core";
19317
19432
  import { useDebouncedCallback as useDebouncedCallback2 } from "@mantine/hooks";
19318
19433
  import { IconAlertCircle as IconAlertCircle13 } from "@tabler/icons-react";
@@ -19386,13 +19501,13 @@ var FormPanel = ({ editor, block, onComplete }) => {
19386
19501
  output: { ...runtime.output, form: { ...runtime.output?.form, answers: newAnswersJson } }
19387
19502
  });
19388
19503
  }, SYNC_DEBOUNCE_MS2);
19389
- useEffect59(() => {
19504
+ useEffect60(() => {
19390
19505
  const answersJson = runtime.output?.form?.answers;
19391
19506
  if (answersJson) {
19392
19507
  syncPropToSurvey(answersJson);
19393
19508
  }
19394
19509
  }, [runtime.output?.form?.answers, syncPropToSurvey]);
19395
- useEffect59(() => {
19510
+ useEffect60(() => {
19396
19511
  if (!surveyModel) return;
19397
19512
  const handleValueChanged = () => {
19398
19513
  if (isUpdatingFromProp.current) return;
@@ -19417,7 +19532,7 @@ var FormPanel = ({ editor, block, onComplete }) => {
19417
19532
  },
19418
19533
  [updateRuntime, onComplete]
19419
19534
  );
19420
- useEffect59(() => {
19535
+ useEffect60(() => {
19421
19536
  if (!surveyModel) return;
19422
19537
  surveyModel.onComplete.add(handleSurveyComplete);
19423
19538
  return () => {
@@ -19540,14 +19655,14 @@ import React200, { useCallback as useCallback58 } from "react";
19540
19655
  import { IconSettings as IconSettings14, IconContract as IconContract3, IconClock as IconClock8 } from "@tabler/icons-react";
19541
19656
 
19542
19657
  // src/mantine/blocks/domainCreatorSign/template/GeneralTab.tsx
19543
- import React199, { useEffect as useEffect60, useState as useState76 } from "react";
19658
+ import React199, { useEffect as useEffect61, useState as useState76 } from "react";
19544
19659
  var GeneralTab12 = ({ title, description, icon: icon2, onTitleChange, onDescriptionChange, onIconChange }) => {
19545
19660
  const [localTitle, setLocalTitle] = useState76(title || "");
19546
19661
  const [localDescription, setLocalDescription] = useState76(description || "");
19547
19662
  const [localIcon, setLocalIcon] = useState76(icon2 || "file-text");
19548
- useEffect60(() => setLocalTitle(title || ""), [title]);
19549
- useEffect60(() => setLocalDescription(description || ""), [description]);
19550
- useEffect60(() => setLocalIcon(icon2 || "file-text"), [icon2]);
19663
+ useEffect61(() => setLocalTitle(title || ""), [title]);
19664
+ useEffect61(() => setLocalDescription(description || ""), [description]);
19665
+ useEffect61(() => setLocalIcon(icon2 || "file-text"), [icon2]);
19551
19666
  return /* @__PURE__ */ React199.createElement(BaseSection, null, /* @__PURE__ */ React199.createElement(
19552
19667
  BaseTextInput,
19553
19668
  {
@@ -19632,7 +19747,7 @@ var DomainCreatorSignTemplateView = ({ editor, block }) => {
19632
19747
  };
19633
19748
 
19634
19749
  // src/mantine/blocks/domainCreatorSign/flow/FlowView.tsx
19635
- import React204, { useCallback as useCallback60, useMemo as useMemo72, useEffect as useEffect61 } from "react";
19750
+ import React204, { useCallback as useCallback60, useMemo as useMemo72, useEffect as useEffect62 } from "react";
19636
19751
  import { ActionIcon as ActionIcon25, Badge as Badge30, Group as Group72, Stack as Stack137, Text as Text115, Tooltip as Tooltip16 } from "@mantine/core";
19637
19752
  import { IconChevronRight as IconChevronRight9 } from "@tabler/icons-react";
19638
19753
 
@@ -19943,7 +20058,7 @@ var DomainCreatorSignFlowView = ({ editor, block }) => {
19943
20058
  const domainCardData = block.props.domainCardData || "{}";
19944
20059
  const isDataReady = isDomainCardDataReady(domainCardData);
19945
20060
  const status = runtimeState === "completed" ? "completed" : runtimeState === "failed" ? "error" : runtimeState === "running" ? runtime.output?.domain?.step || "signing" : isDataReady ? "ready" : "pending";
19946
- useEffect61(() => {
20061
+ useEffect62(() => {
19947
20062
  if (!runtimeState && isDataReady) {
19948
20063
  updateRuntime({ state: "idle" });
19949
20064
  }
@@ -20099,14 +20214,14 @@ import { Badge as Badge31, Group as Group73, Stack as Stack138, Text as Text116
20099
20214
  import React208, { useCallback as useCallback61 } from "react";
20100
20215
 
20101
20216
  // src/mantine/blocks/domainCardViewer/template/GeneralTab.tsx
20102
- import React207, { useEffect as useEffect62, useState as useState79 } from "react";
20217
+ import React207, { useEffect as useEffect63, useState as useState79 } from "react";
20103
20218
  var GeneralTab13 = ({ title, description, icon: icon2, onTitleChange, onDescriptionChange, onIconChange }) => {
20104
20219
  const [localTitle, setLocalTitle] = useState79(title || "");
20105
20220
  const [localDescription, setLocalDescription] = useState79(description || "");
20106
20221
  const [localIcon, setLocalIcon] = useState79(icon2 || "dots-circle");
20107
- useEffect62(() => setLocalTitle(title || ""), [title]);
20108
- useEffect62(() => setLocalDescription(description || ""), [description]);
20109
- useEffect62(() => setLocalIcon(icon2 || "dots-circle"), [icon2]);
20222
+ useEffect63(() => setLocalTitle(title || ""), [title]);
20223
+ useEffect63(() => setLocalDescription(description || ""), [description]);
20224
+ useEffect63(() => setLocalIcon(icon2 || "dots-circle"), [icon2]);
20110
20225
  return /* @__PURE__ */ React207.createElement(BaseSection, null, /* @__PURE__ */ React207.createElement(
20111
20226
  BaseTextInput,
20112
20227
  {
@@ -20194,7 +20309,7 @@ var DomainCardViewerTemplateView = ({ editor, block }) => {
20194
20309
  };
20195
20310
 
20196
20311
  // src/mantine/blocks/domainCardViewer/flow/FlowView.tsx
20197
- import React211, { useMemo as useMemo75, useCallback as useCallback62, useEffect as useEffect63 } from "react";
20312
+ import React211, { useMemo as useMemo75, useCallback as useCallback62, useEffect as useEffect64 } from "react";
20198
20313
  import { ActionIcon as ActionIcon26, Badge as Badge32, Button as Button36, Group as Group74, Stack as Stack140, Text as Text118, Tooltip as Tooltip17 } from "@mantine/core";
20199
20314
  import { IconChevronRight as IconChevronRight10, IconLoader, IconTestPipe, IconTrash as IconTrash5 } from "@tabler/icons-react";
20200
20315
 
@@ -20509,7 +20624,7 @@ var DomainCardViewerFlowView = ({ editor, block }) => {
20509
20624
  const status = block.props.status || "pending";
20510
20625
  const domainPreviewData = block.props.domainPreviewData || "{}";
20511
20626
  const isDataReady = isPreviewDataReady(domainPreviewData);
20512
- useEffect63(() => {
20627
+ useEffect64(() => {
20513
20628
  if (status === "pending" && isDataReady) {
20514
20629
  editor.updateBlock(block, {
20515
20630
  props: {
@@ -20666,7 +20781,7 @@ import React217, { useCallback as useCallback65 } from "react";
20666
20781
  import { IconSettings as IconSettings16, IconBolt as IconBolt6, IconShieldCheck as IconShieldCheck11 } from "@tabler/icons-react";
20667
20782
 
20668
20783
  // src/mantine/blocks/governanceGroup/template/GeneralTab.tsx
20669
- import React214, { useEffect as useEffect64, useState as useState80 } from "react";
20784
+ import React214, { useEffect as useEffect65, useState as useState80 } from "react";
20670
20785
  import { Card as Card18, SimpleGrid as SimpleGrid2, Stack as Stack141, Text as Text119, ThemeIcon as ThemeIcon3 } from "@mantine/core";
20671
20786
  import { IconUsers as IconUsers5, IconSignature, IconPhoto as IconPhoto2, IconCoin } from "@tabler/icons-react";
20672
20787
 
@@ -20709,9 +20824,9 @@ var GeneralTab14 = ({ title, description, icon: icon2, groupType, onTitleChange,
20709
20824
  const [localTitle, setLocalTitle] = useState80(title || "");
20710
20825
  const [localDescription, setLocalDescription] = useState80(description || "");
20711
20826
  const [localIcon, setLocalIcon] = useState80(icon2 || "users");
20712
- useEffect64(() => setLocalTitle(title || ""), [title]);
20713
- useEffect64(() => setLocalDescription(description || ""), [description]);
20714
- useEffect64(() => setLocalIcon(icon2 || "users"), [icon2]);
20827
+ useEffect65(() => setLocalTitle(title || ""), [title]);
20828
+ useEffect65(() => setLocalDescription(description || ""), [description]);
20829
+ useEffect65(() => setLocalIcon(icon2 || "users"), [icon2]);
20715
20830
  return /* @__PURE__ */ React214.createElement(BaseSection, null, /* @__PURE__ */ React214.createElement(Stack141, { gap: "md" }, /* @__PURE__ */ React214.createElement(Text119, { size: "sm", fw: 500 }, "Group Type"), /* @__PURE__ */ React214.createElement(SimpleGrid2, { cols: 2, spacing: "sm" }, GROUP_TYPE_CONFIGS.map((config) => {
20716
20831
  const isSelected = groupType === config.type;
20717
20832
  return /* @__PURE__ */ React214.createElement(
@@ -20773,12 +20888,12 @@ var GeneralTab14 = ({ title, description, icon: icon2, groupType, onTitleChange,
20773
20888
  };
20774
20889
 
20775
20890
  // src/mantine/components/HookedActionsTab/HookedActionsTab.tsx
20776
- import React216, { useCallback as useCallback64, useMemo as useMemo76, useEffect as useEffect66, useState as useState82 } from "react";
20891
+ import React216, { useCallback as useCallback64, useMemo as useMemo76, useEffect as useEffect67, useState as useState82 } from "react";
20777
20892
  import { Stack as Stack143, Text as Text121, Alert as Alert30, Accordion as Accordion4, Group as Group76, Badge as Badge34, Menu as Menu3, Button as Button37 } from "@mantine/core";
20778
20893
  import { IconPlus as IconPlus6, IconMail as IconMail5, IconLink as IconLink3 } from "@tabler/icons-react";
20779
20894
 
20780
20895
  // src/mantine/components/HookedActionsTab/ActionInstanceCard.tsx
20781
- import React215, { useCallback as useCallback63, useState as useState81, useEffect as useEffect65 } from "react";
20896
+ import React215, { useCallback as useCallback63, useState as useState81, useEffect as useEffect66 } from "react";
20782
20897
  import { Card as Card19, Stack as Stack142, Group as Group75, Text as Text120, ActionIcon as ActionIcon27, Switch as Switch6, Badge as Badge33, Divider as Divider19, Loader as Loader29 } from "@mantine/core";
20783
20898
  import { IconTrash as IconTrash6, IconMail as IconMail4, IconLink as IconLink2 } from "@tabler/icons-react";
20784
20899
  var getActionIcon = (type) => {
@@ -20797,7 +20912,7 @@ var ActionInstanceCard = ({ instance, actionType, payloadFields, availableBlocks
20797
20912
  const [loadingTemplates, setLoadingTemplates] = useState81(false);
20798
20913
  const [templateVariables, setTemplateVariables] = useState81([]);
20799
20914
  const [loadingVariables, setLoadingVariables] = useState81(false);
20800
- useEffect65(() => {
20915
+ useEffect66(() => {
20801
20916
  if (instance.type === "sendEmail" && handlers.listEmailTemplates) {
20802
20917
  setLoadingTemplates(true);
20803
20918
  handlers.listEmailTemplates({}).then((response) => {
@@ -20810,7 +20925,7 @@ var ActionInstanceCard = ({ instance, actionType, payloadFields, availableBlocks
20810
20925
  }).catch(console.error).finally(() => setLoadingTemplates(false));
20811
20926
  }
20812
20927
  }, [instance.type, handlers.listEmailTemplates]);
20813
- useEffect65(() => {
20928
+ useEffect66(() => {
20814
20929
  const templateName = instance.config.templateName;
20815
20930
  if (instance.type === "sendEmail" && templateName && handlers.getEmailTemplate) {
20816
20931
  setLoadingVariables(true);
@@ -21017,11 +21132,11 @@ function ensureActionTypesRegistered() {
21017
21132
  }
21018
21133
  var HookedActionsTab = ({ editor, block, blockActions, hookedActions, onHookedActionsChange }) => {
21019
21134
  const handlers = useBlocknoteHandlers();
21020
- useEffect66(() => {
21135
+ useEffect67(() => {
21021
21136
  ensureActionTypesRegistered();
21022
21137
  }, []);
21023
21138
  const [dynamicFields, setDynamicFields] = useState82({});
21024
- useEffect66(() => {
21139
+ useEffect67(() => {
21025
21140
  const blockProps = block?.props || {};
21026
21141
  let cancelled = false;
21027
21142
  const resolveAll = async () => {
@@ -22025,12 +22140,12 @@ var GovernanceGroupTemplateView = ({ editor, block }) => {
22025
22140
  };
22026
22141
 
22027
22142
  // src/mantine/blocks/governanceGroup/flow/FlowView.tsx
22028
- import React220, { useCallback as useCallback67, useEffect as useEffect68, useMemo as useMemo79, useRef as useRef20, useState as useState84 } from "react";
22143
+ import React220, { useCallback as useCallback67, useEffect as useEffect69, useMemo as useMemo79, useRef as useRef20, useState as useState84 } from "react";
22029
22144
  import { ActionIcon as ActionIcon28, Badge as Badge36, Group as Group79, Stack as Stack146, Text as Text124, Tooltip as Tooltip18 } from "@mantine/core";
22030
22145
  import { IconChevronRight as IconChevronRight11 } from "@tabler/icons-react";
22031
22146
 
22032
22147
  // src/mantine/blocks/governanceGroup/flow/GovernanceGroupPanel.tsx
22033
- import React219, { useCallback as useCallback66, useEffect as useEffect67, useMemo as useMemo78, useRef as useRef19, useState as useState83 } from "react";
22148
+ import React219, { useCallback as useCallback66, useEffect as useEffect68, useMemo as useMemo78, useRef as useRef19, useState as useState83 } from "react";
22034
22149
  import { Alert as Alert31, Button as Button38, Card as Card20, Group as Group78, Loader as Loader30, SimpleGrid as SimpleGrid3, Stack as Stack145, Text as Text123, ThemeIcon as ThemeIcon4 } from "@mantine/core";
22035
22150
  import { useDebouncedCallback as useDebouncedCallback3 } from "@mantine/hooks";
22036
22151
  import { IconAlertCircle as IconAlertCircle16, IconCheck as IconCheck13, IconUsers as IconUsers6, IconSignature as IconSignature2, IconPhoto as IconPhoto3, IconCoin as IconCoin2, IconArrowLeft as IconArrowLeft5 } from "@tabler/icons-react";
@@ -22119,13 +22234,13 @@ var GovernanceGroupPanel = ({ editor, block, onComplete }) => {
22119
22234
  }
22120
22235
  });
22121
22236
  }, SYNC_DEBOUNCE_MS3);
22122
- useEffect67(() => {
22237
+ useEffect68(() => {
22123
22238
  const answersJson = block.props.answers;
22124
22239
  if (answersJson && surveyModel) {
22125
22240
  syncPropToSurvey(answersJson);
22126
22241
  }
22127
22242
  }, [block.props.answers, syncPropToSurvey, surveyModel]);
22128
- useEffect67(() => {
22243
+ useEffect68(() => {
22129
22244
  if (!surveyModel) return;
22130
22245
  const handleValueChanged = () => {
22131
22246
  if (isUpdatingFromProp.current) return;
@@ -22209,7 +22324,7 @@ var GovernanceGroupPanel = ({ editor, block, onComplete }) => {
22209
22324
  },
22210
22325
  [processGroupCreation, onComplete, editor, block, selectedGroupType]
22211
22326
  );
22212
- useEffect67(() => {
22327
+ useEffect68(() => {
22213
22328
  if (!surveyModel) return;
22214
22329
  surveyModel.onComplete.add(handleSurveyComplete);
22215
22330
  return () => {
@@ -22286,7 +22401,7 @@ var GovernanceGroupFlowView = ({ editor, block }) => {
22286
22401
  const hasExistingSubmission = lastSubmission?.coreAddress;
22287
22402
  const editorRef = useRef20(editor);
22288
22403
  const blockRef = useRef20(block);
22289
- useEffect68(() => {
22404
+ useEffect69(() => {
22290
22405
  editorRef.current = editor;
22291
22406
  blockRef.current = block;
22292
22407
  });
@@ -22327,7 +22442,7 @@ var GovernanceGroupFlowView = ({ editor, block }) => {
22327
22442
  });
22328
22443
  setSubmissionStatus("success");
22329
22444
  }, []);
22330
- useEffect68(() => {
22445
+ useEffect69(() => {
22331
22446
  handleCompleteRef.current = handleComplete;
22332
22447
  });
22333
22448
  const stableHandleComplete = useCallback67(
@@ -22453,7 +22568,7 @@ var GeneralTab15 = ({ title, description, icon: icon2, onTitleChange, onDescript
22453
22568
  };
22454
22569
 
22455
22570
  // src/mantine/blocks/flowLink/template/LinksTab.tsx
22456
- import React224, { useEffect as useEffect69, useMemo as useMemo80, useState as useState85 } from "react";
22571
+ import React224, { useEffect as useEffect70, useMemo as useMemo80, useState as useState85 } from "react";
22457
22572
  import { Stack as Stack148, Card as Card21, Group as Group80, ActionIcon as ActionIcon29, Text as Text125, Divider as Divider20 } from "@mantine/core";
22458
22573
  import { IconPlus as IconPlus7, IconTrash as IconTrash7, IconGripVertical } from "@tabler/icons-react";
22459
22574
  import { DndContext, PointerSensor, useSensor, useSensors, closestCenter, useDraggable, useDroppable } from "@dnd-kit/core";
@@ -22477,7 +22592,7 @@ function generateId(prefix) {
22477
22592
  // src/mantine/blocks/flowLink/template/LinksTab.tsx
22478
22593
  var DraggableLinkCard = ({ link, index, onRemove, onUpdate }) => {
22479
22594
  const [localUrl, setLocalUrl] = useState85(link.url || "");
22480
- useEffect69(() => {
22595
+ useEffect70(() => {
22481
22596
  setLocalUrl(link.url || "");
22482
22597
  }, [link.url]);
22483
22598
  const { attributes, listeners, setNodeRef: setDragRef, transform, isDragging } = useDraggable({ id: link.id });
@@ -22620,7 +22735,7 @@ import React228, { useMemo as useMemo82 } from "react";
22620
22735
  import { Badge as Badge38, Group as Group83, Stack as Stack151, Text as Text128, Tooltip as Tooltip20 } from "@mantine/core";
22621
22736
 
22622
22737
  // src/mantine/blocks/flowLink/flow/FlowLinkPanel.tsx
22623
- import React227, { useState as useState86, useEffect as useEffect70, useCallback as useCallback68 } from "react";
22738
+ import React227, { useState as useState86, useEffect as useEffect71, useCallback as useCallback68 } from "react";
22624
22739
  import { Stack as Stack150, Text as Text127, Card as Card22, Group as Group82, Badge as Badge37, ActionIcon as ActionIcon30, Loader as Loader31, Tooltip as Tooltip19 } from "@mantine/core";
22625
22740
  import { IconRefresh as IconRefresh4, IconCheck as IconCheck14, IconClock as IconClock10, IconCircleDashed as IconCircleDashed4 } from "@tabler/icons-react";
22626
22741
  var FlowLinkPanel = ({ editor, block }) => {
@@ -22648,7 +22763,7 @@ var FlowLinkPanel = ({ editor, block }) => {
22648
22763
  );
22649
22764
  setLinksWithStatus(updatedLinks);
22650
22765
  }, [handlers, links]);
22651
- useEffect70(() => {
22766
+ useEffect71(() => {
22652
22767
  fetchStatuses();
22653
22768
  }, []);
22654
22769
  const handleNavigate = (link) => {
@@ -22802,7 +22917,7 @@ import { Stack as Stack154 } from "@mantine/core";
22802
22917
  import { IconCheck as IconCheck15, IconContract as IconContract4, IconSettings as IconSettings18, IconShieldCheck as IconShieldCheck13, IconUserCheck as IconUserCheck4 } from "@tabler/icons-react";
22803
22918
 
22804
22919
  // src/mantine/blocks/action/template/GeneralTab.tsx
22805
- import React232, { useEffect as useEffect71, useMemo as useMemo83, useState as useState87 } from "react";
22920
+ import React232, { useEffect as useEffect72, useMemo as useMemo83, useState as useState87 } from "react";
22806
22921
  import { Group as Group85, Stack as Stack153, Text as Text130, Button as Button39, ActionIcon as ActionIcon31, Paper as Paper16 } from "@mantine/core";
22807
22922
  import {
22808
22923
  IconMail as IconMail6,
@@ -23026,8 +23141,8 @@ var GeneralTab16 = ({
23026
23141
  }) => {
23027
23142
  const [localTitle, setLocalTitle] = useState87(title || "");
23028
23143
  const [localDescription, setLocalDescription] = useState87(description || "");
23029
- useEffect71(() => setLocalTitle(title || ""), [title]);
23030
- useEffect71(() => setLocalDescription(description || ""), [description]);
23144
+ useEffect72(() => setLocalTitle(title || ""), [title]);
23145
+ useEffect72(() => setLocalDescription(description || ""), [description]);
23031
23146
  const actionTypeOptions = useMemo83(() => {
23032
23147
  return getAllActions().map((a) => {
23033
23148
  const m = getActionMeta(a.type);
@@ -23063,7 +23178,7 @@ var GeneralTab16 = ({
23063
23178
  };
23064
23179
  function GenericInputsEditor({ inputs, onInputsChange, editor, blockId }) {
23065
23180
  const [localInputs, setLocalInputs] = useState87(() => parseInputPairs(inputs));
23066
- useEffect71(() => setLocalInputs(parseInputPairs(inputs)), [inputs]);
23181
+ useEffect72(() => setLocalInputs(parseInputPairs(inputs)), [inputs]);
23067
23182
  const handleAddInput = () => {
23068
23183
  const updated = [...localInputs, { key: "", value: "" }];
23069
23184
  setLocalInputs(updated);
@@ -23254,11 +23369,11 @@ import { Group as Group87, Stack as Stack156, Text as Text132, Button as Button4
23254
23369
  import { IconPlayerPlay as IconPlayerPlay2, IconAlertTriangle as IconAlertTriangle3, IconUser as IconUser13, IconBolt as IconBolt8 } from "@tabler/icons-react";
23255
23370
 
23256
23371
  // src/mantine/hooks/useAutoCommitOnExecute.ts
23257
- import { useEffect as useEffect72, useRef as useRef21 } from "react";
23372
+ import { useEffect as useEffect73, useRef as useRef21 } from "react";
23258
23373
  function useAutoCommitOnExecute(editor, block, runtimeState) {
23259
23374
  const handlers = useBlocknoteHandlers();
23260
23375
  const prevState = useRef21(runtimeState);
23261
- useEffect72(() => {
23376
+ useEffect73(() => {
23262
23377
  const wasCompleted = prevState.current === "completed";
23263
23378
  prevState.current = runtimeState;
23264
23379
  if (runtimeState !== "completed" || wasCompleted) return;
@@ -23588,12 +23703,12 @@ function GenericFlowPanel({
23588
23703
  }
23589
23704
 
23590
23705
  // src/mantine/blocks/action/actionTypes/httpRequest/HttpRequestConfig.tsx
23591
- import React236, { useEffect as useEffect73, useState as useState89, useCallback as useCallback70 } from "react";
23706
+ import React236, { useEffect as useEffect74, useState as useState89, useCallback as useCallback70 } from "react";
23592
23707
  import { Stack as Stack157, Text as Text133, Button as Button41, Group as Group88, ActionIcon as ActionIcon32, Paper as Paper17, Alert as Alert33, Code as Code8 } from "@mantine/core";
23593
23708
  import { IconTrash as IconTrash9, IconPlus as IconPlus9, IconInfoCircle as IconInfoCircle5 } from "@tabler/icons-react";
23594
23709
  var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
23595
23710
  const [local, setLocal] = useState89(() => parseHttpRequestInputs(inputs));
23596
- useEffect73(() => {
23711
+ useEffect74(() => {
23597
23712
  setLocal(parseHttpRequestInputs(inputs));
23598
23713
  }, [inputs]);
23599
23714
  const update = useCallback70(
@@ -23881,7 +23996,7 @@ registerActionTypeUI("http.request", {
23881
23996
  });
23882
23997
 
23883
23998
  // src/mantine/blocks/action/actionTypes/emailSend/EmailSendConfig.tsx
23884
- import React238, { useCallback as useCallback71, useEffect as useEffect74, useRef as useRef22, useState as useState91, useMemo as useMemo88 } from "react";
23999
+ import React238, { useCallback as useCallback71, useEffect as useEffect75, useRef as useRef22, useState as useState91, useMemo as useMemo88 } from "react";
23885
24000
  import { Alert as Alert35, Badge as Badge40, Group as Group90, Loader as Loader34, Stack as Stack159, Text as Text135 } from "@mantine/core";
23886
24001
  import { IconCheck as IconCheck16, IconInfoCircle as IconInfoCircle6 } from "@tabler/icons-react";
23887
24002
 
@@ -23918,7 +24033,7 @@ function serializeEmailSendInputs(inputs) {
23918
24033
  var EmailSendConfig = ({ inputs, onInputsChange, editor, blockId }) => {
23919
24034
  const handlers = useBlocknoteHandlers();
23920
24035
  const [local, setLocal] = useState91(() => parseEmailSendInputs(inputs));
23921
- useEffect74(() => {
24036
+ useEffect75(() => {
23922
24037
  setLocal(parseEmailSendInputs(inputs));
23923
24038
  }, [inputs]);
23924
24039
  const update = useCallback71(
@@ -23934,7 +24049,7 @@ var EmailSendConfig = ({ inputs, onInputsChange, editor, blockId }) => {
23934
24049
  const [loadingContent, setLoadingContent] = useState91(false);
23935
24050
  const [templateError, setTemplateError] = useState91(null);
23936
24051
  const hasLoadedTemplates = useRef22(false);
23937
- useEffect74(() => {
24052
+ useEffect75(() => {
23938
24053
  if (hasLoadedTemplates.current) return;
23939
24054
  async function loadTemplates() {
23940
24055
  if (!handlers.listEmailTemplates) {
@@ -24063,7 +24178,7 @@ registerActionTypeUI("email.send", {
24063
24178
  });
24064
24179
 
24065
24180
  // src/mantine/blocks/action/actionTypes/bid/BidConfig.tsx
24066
- import React239, { useCallback as useCallback72, useEffect as useEffect75, useMemo as useMemo89, useState as useState92 } from "react";
24181
+ import React239, { useCallback as useCallback72, useEffect as useEffect76, useMemo as useMemo89, useState as useState92 } from "react";
24067
24182
  import { Alert as Alert36, Loader as Loader35, Stack as Stack160, Text as Text136 } from "@mantine/core";
24068
24183
  import { IconInfoCircle as IconInfoCircle7 } from "@tabler/icons-react";
24069
24184
 
@@ -24093,7 +24208,7 @@ var BidConfig = ({ inputs, onInputsChange, editor, blockId }) => {
24093
24208
  const [collections, setCollections] = useState92([]);
24094
24209
  const [loadingCollections, setLoadingCollections] = useState92(false);
24095
24210
  const [error, setError] = useState92(null);
24096
- useEffect75(() => {
24211
+ useEffect76(() => {
24097
24212
  setLocal(parseBidActionInputs(inputs));
24098
24213
  }, [inputs]);
24099
24214
  const update = useCallback72(
@@ -24166,7 +24281,7 @@ var BidConfig = ({ inputs, onInputsChange, editor, blockId }) => {
24166
24281
  };
24167
24282
 
24168
24283
  // src/mantine/blocks/action/actionTypes/bid/BidFlowDetail.tsx
24169
- import React241, { useCallback as useCallback73, useEffect as useEffect76, useMemo as useMemo90, useState as useState93 } from "react";
24284
+ import React241, { useCallback as useCallback73, useEffect as useEffect77, useMemo as useMemo90, useState as useState93 } from "react";
24170
24285
  import { Alert as Alert37, Loader as Loader36, Stack as Stack161, Text as Text137 } from "@mantine/core";
24171
24286
  import { IconPlayerPlay as IconPlayerPlay3 } from "@tabler/icons-react";
24172
24287
  import { SurveyModel as SurveyModel9 } from "@ixo/surveys";
@@ -24250,11 +24365,11 @@ var BidFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled
24250
24365
  setLoadingSurvey(false);
24251
24366
  }
24252
24367
  }, [handlers, role, deedDid, collectionId]);
24253
- useEffect76(() => {
24368
+ useEffect77(() => {
24254
24369
  setSurveyJson(null);
24255
24370
  setError(null);
24256
24371
  }, [role, deedDid, collectionId]);
24257
- useEffect76(() => {
24372
+ useEffect77(() => {
24258
24373
  let mounted = true;
24259
24374
  const fetchApplicationState = async () => {
24260
24375
  if (!deedDid || !collectionId || !actorDid) {
@@ -24392,7 +24507,7 @@ var BidFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled
24392
24507
  verifySignature
24393
24508
  ]
24394
24509
  );
24395
- useEffect76(() => {
24510
+ useEffect77(() => {
24396
24511
  if (!surveyModel) return void 0;
24397
24512
  surveyModel.onComplete.add(handleSurveyComplete);
24398
24513
  return () => {
@@ -24429,7 +24544,7 @@ registerActionTypeUI("bid", {
24429
24544
  });
24430
24545
 
24431
24546
  // src/mantine/blocks/action/actionTypes/evaluateBid/EvaluateBidConfig.tsx
24432
- import React242, { useCallback as useCallback74, useEffect as useEffect77, useMemo as useMemo91, useState as useState94 } from "react";
24547
+ import React242, { useCallback as useCallback74, useEffect as useEffect78, useMemo as useMemo91, useState as useState94 } from "react";
24433
24548
  import { Alert as Alert38, Loader as Loader37, Stack as Stack162 } from "@mantine/core";
24434
24549
 
24435
24550
  // src/mantine/blocks/action/actionTypes/evaluateBid/types.ts
@@ -24458,7 +24573,7 @@ var EvaluateBidConfig = ({ inputs, onInputsChange, editor, blockId }) => {
24458
24573
  const [collections, setCollections] = useState94([]);
24459
24574
  const [loadingCollections, setLoadingCollections] = useState94(false);
24460
24575
  const [error, setError] = useState94(null);
24461
- useEffect77(() => {
24576
+ useEffect78(() => {
24462
24577
  setLocal(parseEvaluateBidActionInputs(inputs));
24463
24578
  }, [inputs]);
24464
24579
  const update = useCallback74(
@@ -24531,7 +24646,7 @@ var EvaluateBidConfig = ({ inputs, onInputsChange, editor, blockId }) => {
24531
24646
  };
24532
24647
 
24533
24648
  // src/mantine/blocks/action/actionTypes/evaluateBid/EvaluateBidFlowDetail.tsx
24534
- import React243, { useCallback as useCallback75, useEffect as useEffect78, useMemo as useMemo92, useState as useState95 } from "react";
24649
+ import React243, { useCallback as useCallback75, useEffect as useEffect79, useMemo as useMemo92, useState as useState95 } from "react";
24535
24650
  import { ActionIcon as ActionIcon34, Alert as Alert39, Badge as Badge41, Box as Box46, Button as Button42, Collapse as Collapse9, Divider as Divider22, Group as Group91, Loader as Loader38, Stack as Stack163, Text as Text138, UnstyledButton as UnstyledButton3 } from "@mantine/core";
24536
24651
  import { IconArrowLeft as IconArrowLeft6, IconCheck as IconCheck17, IconChevronDown as IconChevronDown9, IconChevronRight as IconChevronRight12, IconFilter, IconThumbDown, IconThumbUp as IconThumbUp3 } from "@tabler/icons-react";
24537
24652
  function getRoleColor2(role) {
@@ -24661,23 +24776,23 @@ var EvaluateBidFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, is
24661
24776
  setLoadingBids(false);
24662
24777
  }
24663
24778
  }, [handlers, deedDid, collectionId, selectedBidId]);
24664
- useEffect78(() => {
24779
+ useEffect79(() => {
24665
24780
  setSelectedBidId("");
24666
24781
  setRejectReason("");
24667
24782
  setError(null);
24668
24783
  }, [deedDid, collectionId]);
24669
- useEffect78(() => {
24784
+ useEffect79(() => {
24670
24785
  setRejectReason("");
24671
24786
  setPaymentRows([createPaymentRow()]);
24672
24787
  setEvaluationOpen(true);
24673
24788
  setDetailsOpen(false);
24674
24789
  setInputsOpen(false);
24675
24790
  }, [selectedBidId]);
24676
- useEffect78(() => {
24791
+ useEffect79(() => {
24677
24792
  if (!deedDid || !collectionId) return;
24678
24793
  refreshBids();
24679
24794
  }, [deedDid, collectionId, refreshBids]);
24680
- useEffect78(() => {
24795
+ useEffect79(() => {
24681
24796
  let mounted = true;
24682
24797
  const dids = Array.from(new Set(bids.map((bid) => bid.did).filter(Boolean)));
24683
24798
  const missing = dids.filter((did) => !profilesByDid[did]);
@@ -25004,7 +25119,7 @@ registerActionTypeUI("evaluateBid", {
25004
25119
  });
25005
25120
 
25006
25121
  // src/mantine/blocks/action/actionTypes/claim/ClaimConfig.tsx
25007
- import React244, { useCallback as useCallback76, useEffect as useEffect79, useMemo as useMemo93, useState as useState96 } from "react";
25122
+ import React244, { useCallback as useCallback76, useEffect as useEffect80, useMemo as useMemo93, useState as useState96 } from "react";
25008
25123
  import { Alert as Alert40, Loader as Loader39, Stack as Stack164 } from "@mantine/core";
25009
25124
 
25010
25125
  // src/mantine/blocks/action/actionTypes/claim/types.ts
@@ -25033,7 +25148,7 @@ var ClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
25033
25148
  const [collections, setCollections] = useState96([]);
25034
25149
  const [loadingCollections, setLoadingCollections] = useState96(false);
25035
25150
  const [error, setError] = useState96(null);
25036
- useEffect79(() => {
25151
+ useEffect80(() => {
25037
25152
  setLocal(parseClaimActionInputs(inputs));
25038
25153
  }, [inputs]);
25039
25154
  const update = useCallback76(
@@ -25106,7 +25221,7 @@ var ClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
25106
25221
  };
25107
25222
 
25108
25223
  // src/mantine/blocks/action/actionTypes/claim/ClaimFlowDetail.tsx
25109
- import React245, { useCallback as useCallback77, useEffect as useEffect80, useMemo as useMemo94, useState as useState97 } from "react";
25224
+ import React245, { useCallback as useCallback77, useEffect as useEffect81, useMemo as useMemo94, useState as useState97 } from "react";
25110
25225
  import { Alert as Alert41, Box as Box47, Group as Group92, Loader as Loader40, Stack as Stack165, Text as Text139 } from "@mantine/core";
25111
25226
  import { IconCheck as IconCheck18, IconPlayerPlay as IconPlayerPlay4 } from "@tabler/icons-react";
25112
25227
  import { SurveyModel as SurveyModel10 } from "@ixo/surveys";
@@ -25203,15 +25318,15 @@ var ClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabl
25203
25318
  setLoadingClaims(false);
25204
25319
  }
25205
25320
  }, [handlers, deedDid, collectionId, actorDid]);
25206
- useEffect80(() => {
25321
+ useEffect81(() => {
25207
25322
  setSurveyJson(null);
25208
25323
  setError(null);
25209
25324
  }, [deedDid, collectionId]);
25210
- useEffect80(() => {
25325
+ useEffect81(() => {
25211
25326
  if (!deedDid || !collectionId || !actorDid) return;
25212
25327
  fetchClaimsAndAdmin();
25213
25328
  }, [deedDid, collectionId, actorDid, fetchClaimsAndAdmin]);
25214
- useEffect80(() => {
25329
+ useEffect81(() => {
25215
25330
  let mounted = true;
25216
25331
  const dids = Array.from(new Set(claims.map((claim) => claim.agentDid).filter(Boolean)));
25217
25332
  const missing = dids.filter((did) => !profilesByDid[did]);
@@ -25246,7 +25361,7 @@ var ClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabl
25246
25361
  mounted = false;
25247
25362
  };
25248
25363
  }, [claims, handlers, profilesByDid]);
25249
- useEffect80(() => {
25364
+ useEffect81(() => {
25250
25365
  let mounted = true;
25251
25366
  const checkServiceAgentAuthorization = async () => {
25252
25367
  if (!deedDid || !collectionId || !adminAddress || !actorDid) {
@@ -25411,7 +25526,7 @@ var ClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabl
25411
25526
  isServiceAgentAuthorized
25412
25527
  ]
25413
25528
  );
25414
- useEffect80(() => {
25529
+ useEffect81(() => {
25415
25530
  if (!surveyModel) return void 0;
25416
25531
  surveyModel.onComplete.add(handleSurveyComplete);
25417
25532
  return () => {
@@ -25463,7 +25578,7 @@ registerActionTypeUI("claim", {
25463
25578
  });
25464
25579
 
25465
25580
  // src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimConfig.tsx
25466
- import React246, { useCallback as useCallback78, useEffect as useEffect81, useMemo as useMemo95, useState as useState98 } from "react";
25581
+ import React246, { useCallback as useCallback78, useEffect as useEffect82, useMemo as useMemo95, useState as useState98 } from "react";
25467
25582
  import { Alert as Alert42, Loader as Loader41, Stack as Stack166 } from "@mantine/core";
25468
25583
 
25469
25584
  // src/mantine/blocks/action/actionTypes/evaluateClaim/types.ts
@@ -25492,7 +25607,7 @@ var EvaluateClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
25492
25607
  const [collections, setCollections] = useState98([]);
25493
25608
  const [loadingCollections, setLoadingCollections] = useState98(false);
25494
25609
  const [error, setError] = useState98(null);
25495
- useEffect81(() => {
25610
+ useEffect82(() => {
25496
25611
  setLocal(parseEvaluateClaimActionInputs(inputs));
25497
25612
  }, [inputs]);
25498
25613
  const update = useCallback78(
@@ -25565,7 +25680,7 @@ var EvaluateClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
25565
25680
  };
25566
25681
 
25567
25682
  // src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimFlowDetail.tsx
25568
- import React247, { useCallback as useCallback79, useEffect as useEffect82, useMemo as useMemo96, useState as useState99 } from "react";
25683
+ import React247, { useCallback as useCallback79, useEffect as useEffect83, useMemo as useMemo96, useState as useState99 } from "react";
25569
25684
  import { ActionIcon as ActionIcon35, Alert as Alert43, Box as Box48, Button as Button43, Checkbox as Checkbox12, Collapse as Collapse10, Divider as Divider23, Group as Group93, Loader as Loader42, ScrollArea as ScrollArea8, Stack as Stack167, Text as Text140, UnstyledButton as UnstyledButton4 } from "@mantine/core";
25570
25685
  import { IconArrowLeft as IconArrowLeft7, IconCheck as IconCheck19, IconChevronDown as IconChevronDown10, IconChevronRight as IconChevronRight13, IconFilter as IconFilter2, IconThumbDown as IconThumbDown2, IconThumbUp as IconThumbUp4 } from "@tabler/icons-react";
25571
25686
  import { SurveyModel as SurveyModel11 } from "@ixo/surveys";
@@ -25773,7 +25888,7 @@ var EvaluateClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
25773
25888
  },
25774
25889
  [handlers, collectionId, deedDid]
25775
25890
  );
25776
- useEffect82(() => {
25891
+ useEffect83(() => {
25777
25892
  setSelectedClaimId("");
25778
25893
  setError(null);
25779
25894
  setPaymentRows([createPaymentRow2()]);
@@ -25784,11 +25899,11 @@ var EvaluateClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
25784
25899
  setOutcomeResponses({});
25785
25900
  setOutcomeComplete(false);
25786
25901
  }, [deedDid, collectionId]);
25787
- useEffect82(() => {
25902
+ useEffect83(() => {
25788
25903
  if (!deedDid || !collectionId) return;
25789
25904
  refreshClaims();
25790
25905
  }, [deedDid, collectionId, refreshClaims]);
25791
- useEffect82(() => {
25906
+ useEffect83(() => {
25792
25907
  let mounted = true;
25793
25908
  const dids = Array.from(new Set(claims.map((claim) => claim.agentDid).filter(Boolean)));
25794
25909
  const missing = dids.filter((did) => !profilesByDid[did]);
@@ -25823,7 +25938,7 @@ var EvaluateClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
25823
25938
  mounted = false;
25824
25939
  };
25825
25940
  }, [claims, handlers, profilesByDid]);
25826
- useEffect82(() => {
25941
+ useEffect83(() => {
25827
25942
  let mounted = true;
25828
25943
  const checkEvaluatorAuthorization = async () => {
25829
25944
  if (!deedDid || !collectionId || !adminAddress || !actorDid) {
@@ -25867,7 +25982,7 @@ var EvaluateClaimFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
25867
25982
  mounted = false;
25868
25983
  };
25869
25984
  }, [handlers, actorDid, adminAddress, deedDid, collectionId]);
25870
- useEffect82(() => {
25985
+ useEffect83(() => {
25871
25986
  if (!selectedClaim) {
25872
25987
  setClaimData(null);
25873
25988
  setSurveyJson(null);
@@ -26207,7 +26322,7 @@ registerActionTypeUI("evaluateClaim", {
26207
26322
  });
26208
26323
 
26209
26324
  // src/mantine/blocks/action/actionTypes/proposalCreate/ProposalCreateConfig.tsx
26210
- import React248, { useCallback as useCallback80, useEffect as useEffect83, useState as useState100 } from "react";
26325
+ import React248, { useCallback as useCallback80, useEffect as useEffect84, useState as useState100 } from "react";
26211
26326
  import { Divider as Divider24, Loader as Loader43, SegmentedControl as SegmentedControl6, Stack as Stack168, Text as Text141 } from "@mantine/core";
26212
26327
 
26213
26328
  // src/mantine/blocks/action/actionTypes/proposalCreate/types.ts
@@ -26241,7 +26356,7 @@ var ProposalCreateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26241
26356
  const [loadingGroups, setLoadingGroups] = useState100(false);
26242
26357
  const [inputMode, setInputMode] = useState100("select");
26243
26358
  const [manualAddress, setManualAddress] = useState100("");
26244
- useEffect83(() => {
26359
+ useEffect84(() => {
26245
26360
  setLocal(parseProposalCreateInputs(inputs));
26246
26361
  }, [inputs]);
26247
26362
  const update = useCallback80(
@@ -26252,7 +26367,7 @@ var ProposalCreateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26252
26367
  },
26253
26368
  [local, onInputsChange]
26254
26369
  );
26255
- useEffect83(() => {
26370
+ useEffect84(() => {
26256
26371
  if (local.coreAddress) {
26257
26372
  const matchesGroup = groups.some((g) => g.coreAddress === local.coreAddress);
26258
26373
  if (matchesGroup) {
@@ -26263,7 +26378,7 @@ var ProposalCreateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26263
26378
  }
26264
26379
  }
26265
26380
  }, [local.coreAddress, groups]);
26266
- useEffect83(() => {
26381
+ useEffect84(() => {
26267
26382
  const fetchGroups = async () => {
26268
26383
  if (!handlers?.getDAOGroups) return;
26269
26384
  setLoadingGroups(true);
@@ -26352,7 +26467,7 @@ var ProposalCreateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26352
26467
  };
26353
26468
 
26354
26469
  // src/mantine/blocks/action/actionTypes/proposalCreate/ProposalCreateFlowDetail.tsx
26355
- import React249, { useCallback as useCallback81, useEffect as useEffect84, useMemo as useMemo97, useState as useState101 } from "react";
26470
+ import React249, { useCallback as useCallback81, useEffect as useEffect85, useMemo as useMemo97, useState as useState101 } from "react";
26356
26471
  import { Alert as Alert44, Badge as Badge42, Button as Button44, Card as Card23, Group as Group94, Loader as Loader44, Stack as Stack169, Text as Text142 } from "@mantine/core";
26357
26472
  import { IconPlus as IconPlus10, IconPlayerPlay as IconPlayerPlay5 } from "@tabler/icons-react";
26358
26473
  var CHAIN_STATUSES2 = ["open", "passed", "rejected", "executed", "closed", "execution_failed", "veto_timelock"];
@@ -26409,7 +26524,7 @@ var ProposalCreateFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
26409
26524
  const proposalId = runtime.output?.proposalId || "";
26410
26525
  const currentStatus = parseStatus2(runtime.output?.status);
26411
26526
  const isProposalCreated = !!proposalId;
26412
- useEffect84(() => {
26527
+ useEffect85(() => {
26413
26528
  if (!handlers || !coreAddress || !proposalId) {
26414
26529
  setProposalContractAddress(null);
26415
26530
  return;
@@ -26441,7 +26556,7 @@ var ProposalCreateFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
26441
26556
  contractAddress: proposalContractAddress || "",
26442
26557
  autoFetch: shouldFetch
26443
26558
  });
26444
- useEffect84(() => {
26559
+ useEffect85(() => {
26445
26560
  if (!proposal) return;
26446
26561
  const chainStatus = proposal.proposal.status;
26447
26562
  const parsedStatus = parseStatus2(chainStatus);
@@ -26580,7 +26695,7 @@ var ProposalCreateFlowDetail = ({ inputs, editor, block, runtime, updateRuntime,
26580
26695
  setIsExecuting(false);
26581
26696
  }
26582
26697
  }, [handlers, proposalContractAddress, proposalId, invalidate, refetch]);
26583
- useEffect84(() => {
26698
+ useEffect85(() => {
26584
26699
  if (currentStatus === "executed" && runtime.state !== "completed") {
26585
26700
  updateRuntime({ state: "completed" });
26586
26701
  }
@@ -26628,7 +26743,7 @@ registerActionTypeUI("proposal.create", {
26628
26743
  });
26629
26744
 
26630
26745
  // src/mantine/blocks/action/actionTypes/proposalVote/ProposalVoteConfig.tsx
26631
- import React250, { useCallback as useCallback82, useEffect as useEffect85, useState as useState102 } from "react";
26746
+ import React250, { useCallback as useCallback82, useEffect as useEffect86, useState as useState102 } from "react";
26632
26747
  import { Divider as Divider25, Loader as Loader45, SegmentedControl as SegmentedControl7, Stack as Stack170, Text as Text143 } from "@mantine/core";
26633
26748
 
26634
26749
  // src/mantine/blocks/action/actionTypes/proposalVote/types.ts
@@ -26660,7 +26775,7 @@ var ProposalVoteConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26660
26775
  const [loadingGroups, setLoadingGroups] = useState102(false);
26661
26776
  const [inputMode, setInputMode] = useState102("select");
26662
26777
  const [manualAddress, setManualAddress] = useState102("");
26663
- useEffect85(() => {
26778
+ useEffect86(() => {
26664
26779
  setLocal(parseProposalVoteInputs(inputs));
26665
26780
  }, [inputs]);
26666
26781
  const update = useCallback82(
@@ -26671,7 +26786,7 @@ var ProposalVoteConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26671
26786
  },
26672
26787
  [local, onInputsChange]
26673
26788
  );
26674
- useEffect85(() => {
26789
+ useEffect86(() => {
26675
26790
  if (local.coreAddress) {
26676
26791
  const matchesGroup = groups.some((g) => g.coreAddress === local.coreAddress);
26677
26792
  if (matchesGroup) {
@@ -26682,7 +26797,7 @@ var ProposalVoteConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26682
26797
  }
26683
26798
  }
26684
26799
  }, [local.coreAddress, groups]);
26685
- useEffect85(() => {
26800
+ useEffect86(() => {
26686
26801
  const fetchGroups = async () => {
26687
26802
  if (!handlers?.getDAOGroups) return;
26688
26803
  setLoadingGroups(true);
@@ -26766,7 +26881,7 @@ var ProposalVoteConfig = ({ inputs, onInputsChange, editor, blockId }) => {
26766
26881
  };
26767
26882
 
26768
26883
  // src/mantine/blocks/action/actionTypes/proposalVote/ProposalVoteFlowDetail.tsx
26769
- import React251, { useCallback as useCallback83, useEffect as useEffect86, useMemo as useMemo98, useState as useState103 } from "react";
26884
+ import React251, { useCallback as useCallback83, useEffect as useEffect87, useMemo as useMemo98, useState as useState103 } from "react";
26770
26885
  import { Alert as Alert45, Box as Box49, Button as Button45, Card as Card24, Group as Group95, Progress as Progress4, Stack as Stack171, Text as Text144, Tooltip as Tooltip21 } from "@mantine/core";
26771
26886
  var getVoteIcon2 = (voteType) => {
26772
26887
  switch (voteType) {
@@ -26821,7 +26936,7 @@ var ProposalVoteFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, i
26821
26936
  const [proposalContractAddress, setProposalContractAddress] = useState103(inputContractAddress || null);
26822
26937
  const hasSubmittedProposal = Boolean(proposalId);
26823
26938
  const hasVoted = Boolean(userVote?.vote);
26824
- useEffect86(() => {
26939
+ useEffect87(() => {
26825
26940
  if (inputContractAddress) {
26826
26941
  setProposalContractAddress(inputContractAddress);
26827
26942
  return;
@@ -26845,7 +26960,7 @@ var ProposalVoteFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, i
26845
26960
  isCancelled = true;
26846
26961
  };
26847
26962
  }, [handlers, coreAddress, proposalId, inputContractAddress]);
26848
- useEffect86(() => {
26963
+ useEffect87(() => {
26849
26964
  if (!handlers || !proposalContractAddress || !proposalId) return;
26850
26965
  let isCancelled = false;
26851
26966
  const loadUserVote = async () => {
@@ -27150,7 +27265,7 @@ var ProtocolSelectConfig = ({ inputs, onInputsChange }) => {
27150
27265
  };
27151
27266
 
27152
27267
  // src/mantine/blocks/action/actionTypes/protocolSelect/ProtocolSelectFlowDetail.tsx
27153
- import React253, { useCallback as useCallback84, useEffect as useEffect87, useMemo as useMemo100, useState as useState105 } from "react";
27268
+ import React253, { useCallback as useCallback84, useEffect as useEffect88, useMemo as useMemo100, useState as useState105 } from "react";
27154
27269
  import { Box as Box51, Group as Group96, Loader as Loader46, Stack as Stack173, Text as Text146 } from "@mantine/core";
27155
27270
  function parseInputs2(json) {
27156
27271
  try {
@@ -27167,7 +27282,7 @@ var ProtocolSelectFlowDetail = ({ inputs, block, runtime, updateRuntime, isDisab
27167
27282
  const { protocolDids } = useMemo100(() => parseInputs2(inputs), [inputs]);
27168
27283
  const [protocols, setProtocols] = useState105([]);
27169
27284
  const selectedDid = runtime.output?.selectedProtocolDid;
27170
- useEffect87(() => {
27285
+ useEffect88(() => {
27171
27286
  if (protocolDids.length === 0) {
27172
27287
  setProtocols([]);
27173
27288
  return;
@@ -27262,7 +27377,7 @@ registerActionTypeUI("protocol.select", {
27262
27377
  });
27263
27378
 
27264
27379
  // src/mantine/blocks/action/actionTypes/domainSign/DomainSignConfig.tsx
27265
- import React254, { useCallback as useCallback85, useEffect as useEffect88, useState as useState106 } from "react";
27380
+ import React254, { useCallback as useCallback85, useEffect as useEffect89, useState as useState106 } from "react";
27266
27381
  import { Divider as Divider26, Stack as Stack174, Text as Text147, Textarea as Textarea2 } from "@mantine/core";
27267
27382
 
27268
27383
  // src/mantine/blocks/action/actionTypes/domainSign/types.ts
@@ -27295,7 +27410,7 @@ var ENTITY_TYPE_OPTIONS = [
27295
27410
  ];
27296
27411
  var DomainSignConfig = ({ inputs, onInputsChange }) => {
27297
27412
  const [local, setLocal] = useState106(() => parseDomainSignInputs(inputs));
27298
- useEffect88(() => {
27413
+ useEffect89(() => {
27299
27414
  setLocal(parseDomainSignInputs(inputs));
27300
27415
  }, [inputs]);
27301
27416
  const update = useCallback85(
@@ -27528,7 +27643,7 @@ registerActionTypeUI("domain.sign", {
27528
27643
  });
27529
27644
 
27530
27645
  // src/mantine/blocks/action/actionTypes/domainCreate/DomainCreateConfig.tsx
27531
- import React256, { useCallback as useCallback87, useEffect as useEffect89, useState as useState108 } from "react";
27646
+ import React256, { useCallback as useCallback87, useEffect as useEffect90, useState as useState108 } from "react";
27532
27647
  import { Stack as Stack176, Text as Text149 } from "@mantine/core";
27533
27648
 
27534
27649
  // src/mantine/blocks/action/actionTypes/domainCreate/types.ts
@@ -27560,7 +27675,7 @@ var ENTITY_TYPE_OPTIONS2 = [
27560
27675
  ];
27561
27676
  var DomainCreateConfig = ({ inputs, onInputsChange }) => {
27562
27677
  const [local, setLocal] = useState108(() => parseDomainCreateInputs(inputs));
27563
- useEffect89(() => {
27678
+ useEffect90(() => {
27564
27679
  setLocal(parseDomainCreateInputs(inputs));
27565
27680
  }, [inputs]);
27566
27681
  const update = useCallback87(
@@ -27571,7 +27686,7 @@ var DomainCreateConfig = ({ inputs, onInputsChange }) => {
27571
27686
  },
27572
27687
  [local, onInputsChange]
27573
27688
  );
27574
- useEffect89(() => {
27689
+ useEffect90(() => {
27575
27690
  if (!local.surveySchema) {
27576
27691
  update({ surveySchema: tempDomainCreatorSurvey });
27577
27692
  }
@@ -27590,7 +27705,7 @@ var DomainCreateConfig = ({ inputs, onInputsChange }) => {
27590
27705
  };
27591
27706
 
27592
27707
  // src/mantine/blocks/action/actionTypes/domainCreate/DomainCreateFlowDetail.tsx
27593
- import React257, { useCallback as useCallback88, useEffect as useEffect90, useMemo as useMemo102, useState as useState109 } from "react";
27708
+ import React257, { useCallback as useCallback88, useEffect as useEffect91, useMemo as useMemo102, useState as useState109 } from "react";
27594
27709
  import { Alert as Alert47, Button as Button47, Group as Group98, Loader as Loader48, Stack as Stack177, Text as Text150 } from "@mantine/core";
27595
27710
  import { IconCheck as IconCheck21, IconAlertCircle as IconAlertCircle18, IconPlayerPlay as IconPlayerPlay6 } from "@tabler/icons-react";
27596
27711
  import { SurveyModel as SurveyModel12 } from "@ixo/surveys";
@@ -27705,7 +27820,7 @@ var DomainCreateFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, i
27705
27820
  },
27706
27821
  [actorDid, block.id, delegationStore, editor, entityType, flowNode, flowOwnerDid, flowUri, handlers, runtimeManager, services, ucanManager, updateRuntime, verifySignature]
27707
27822
  );
27708
- useEffect90(() => {
27823
+ useEffect91(() => {
27709
27824
  surveyModel.onComplete.add(handleSurveyComplete);
27710
27825
  return () => {
27711
27826
  surveyModel.onComplete.remove(handleSurveyComplete);
@@ -27739,7 +27854,7 @@ registerActionTypeUI("domain.create", {
27739
27854
  });
27740
27855
 
27741
27856
  // src/mantine/blocks/action/actionTypes/oracle/OracleConfig.tsx
27742
- import React258, { useCallback as useCallback89, useEffect as useEffect91, useState as useState110 } from "react";
27857
+ import React258, { useCallback as useCallback89, useEffect as useEffect92, useState as useState110 } from "react";
27743
27858
  import { Stack as Stack178 } from "@mantine/core";
27744
27859
 
27745
27860
  // src/mantine/blocks/action/actionTypes/oracle/types.ts
@@ -27762,7 +27877,7 @@ function serializeOracleInputs(inputs) {
27762
27877
  // src/mantine/blocks/action/actionTypes/oracle/OracleConfig.tsx
27763
27878
  var OracleConfig = ({ inputs, onInputsChange, editor, blockId }) => {
27764
27879
  const [local, setLocal] = useState110(() => parseOracleInputs(inputs));
27765
- useEffect91(() => {
27880
+ useEffect92(() => {
27766
27881
  setLocal(parseOracleInputs(inputs));
27767
27882
  }, [inputs]);
27768
27883
  const update = useCallback89(
@@ -27842,7 +27957,7 @@ registerActionTypeUI("oracle", {
27842
27957
  });
27843
27958
 
27844
27959
  // src/mantine/blocks/action/actionTypes/oraclePrompt/OraclePromptConfig.tsx
27845
- import React260, { useCallback as useCallback91, useEffect as useEffect92, useState as useState112 } from "react";
27960
+ import React260, { useCallback as useCallback91, useEffect as useEffect93, useState as useState112 } from "react";
27846
27961
  import { Stack as Stack180 } from "@mantine/core";
27847
27962
 
27848
27963
  // src/mantine/blocks/action/actionTypes/oraclePrompt/types.ts
@@ -27863,7 +27978,7 @@ function serializeOraclePromptInputs(inputs) {
27863
27978
  // src/mantine/blocks/action/actionTypes/oraclePrompt/OraclePromptConfig.tsx
27864
27979
  var OraclePromptConfig = ({ inputs, onInputsChange }) => {
27865
27980
  const [localPrompt, setLocalPrompt] = useState112(() => parseOraclePromptInputs(inputs).prompt);
27866
- useEffect92(() => {
27981
+ useEffect93(() => {
27867
27982
  setLocalPrompt(parseOraclePromptInputs(inputs).prompt);
27868
27983
  }, [inputs]);
27869
27984
  const handleChange = useCallback91(
@@ -27973,7 +28088,7 @@ registerActionTypeUI("oracle.prompt", {
27973
28088
  });
27974
28089
 
27975
28090
  // src/mantine/blocks/action/actionTypes/formSubmit/FormSubmitConfig.tsx
27976
- import React262, { useCallback as useCallback93, useEffect as useEffect93, useState as useState114 } from "react";
28091
+ import React262, { useCallback as useCallback93, useEffect as useEffect94, useState as useState114 } from "react";
27977
28092
  import { Stack as Stack182, Text as Text152 } from "@mantine/core";
27978
28093
 
27979
28094
  // src/mantine/blocks/action/actionTypes/formSubmit/types.ts
@@ -28010,7 +28125,7 @@ function isValidSchemaJson(value) {
28010
28125
  var FormSubmitConfig = ({ inputs, onInputsChange }) => {
28011
28126
  const [localSchema, setLocalSchema] = useState114(() => parseFormSubmitActionInputs(inputs).surveySchema);
28012
28127
  const [error, setError] = useState114(null);
28013
- useEffect93(() => {
28128
+ useEffect94(() => {
28014
28129
  setLocalSchema(parseFormSubmitActionInputs(inputs).surveySchema);
28015
28130
  setError(null);
28016
28131
  }, [inputs]);
@@ -28045,7 +28160,7 @@ var FormSubmitConfig = ({ inputs, onInputsChange }) => {
28045
28160
  };
28046
28161
 
28047
28162
  // src/mantine/blocks/action/actionTypes/formSubmit/FormSubmitFlowDetail.tsx
28048
- import React263, { useCallback as useCallback94, useEffect as useEffect94, useMemo as useMemo105, useState as useState115 } from "react";
28163
+ import React263, { useCallback as useCallback94, useEffect as useEffect95, useMemo as useMemo105, useState as useState115 } from "react";
28049
28164
  import { Alert as Alert50, Loader as Loader50, Stack as Stack183, Text as Text153 } from "@mantine/core";
28050
28165
  import { SurveyModel as SurveyModel13 } from "@ixo/surveys";
28051
28166
  function parsePrimarySkill2(rawSkill) {
@@ -28252,7 +28367,7 @@ var FormSubmitFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isD
28252
28367
  verifySignature
28253
28368
  ]
28254
28369
  );
28255
- useEffect94(() => {
28370
+ useEffect95(() => {
28256
28371
  if (!surveyModel) return void 0;
28257
28372
  surveyModel.onComplete.add(handleSurveyComplete);
28258
28373
  return () => {
@@ -28274,7 +28389,7 @@ registerActionTypeUI("human.form.submit", {
28274
28389
  });
28275
28390
 
28276
28391
  // src/mantine/blocks/action/actionTypes/credentialStore/CredentialStoreConfig.tsx
28277
- import React264, { useCallback as useCallback95, useEffect as useEffect95, useState as useState116 } from "react";
28392
+ import React264, { useCallback as useCallback95, useEffect as useEffect96, useState as useState116 } from "react";
28278
28393
  import { Stack as Stack184, Text as Text154 } from "@mantine/core";
28279
28394
 
28280
28395
  // src/mantine/blocks/action/actionTypes/credentialStore/types.ts
@@ -28307,7 +28422,7 @@ function serializeCredentialStoreInputs(inputs) {
28307
28422
  // src/mantine/blocks/action/actionTypes/credentialStore/CredentialStoreConfig.tsx
28308
28423
  var CredentialStoreConfig = ({ inputs, onInputsChange, editor, blockId }) => {
28309
28424
  const [local, setLocal] = useState116(() => parseCredentialStoreInputs(inputs));
28310
- useEffect95(() => {
28425
+ useEffect96(() => {
28311
28426
  setLocal(parseCredentialStoreInputs(inputs));
28312
28427
  }, [inputs]);
28313
28428
  const update = useCallback95(
@@ -28515,7 +28630,7 @@ registerActionTypeUI("credential.store", {
28515
28630
  });
28516
28631
 
28517
28632
  // src/mantine/blocks/action/actionTypes/payment/PaymentConfig.tsx
28518
- import React266, { useCallback as useCallback97, useEffect as useEffect96, useState as useState118 } from "react";
28633
+ import React266, { useCallback as useCallback97, useEffect as useEffect97, useState as useState118 } from "react";
28519
28634
  import { Stack as Stack186, Text as Text156 } from "@mantine/core";
28520
28635
 
28521
28636
  // src/mantine/blocks/action/actionTypes/payment/types.ts
@@ -28551,7 +28666,7 @@ function isValidPaymentConfig(value) {
28551
28666
  var PaymentConfig = ({ inputs, onInputsChange }) => {
28552
28667
  const [localConfig, setLocalConfig] = useState118(() => parsePaymentInputs(inputs).paymentConfig);
28553
28668
  const [error, setError] = useState118(null);
28554
- useEffect96(() => {
28669
+ useEffect97(() => {
28555
28670
  setLocalConfig(parsePaymentInputs(inputs).paymentConfig);
28556
28671
  setError(null);
28557
28672
  }, [inputs]);
@@ -29023,14 +29138,14 @@ import React272, { useCallback as useCallback100 } from "react";
29023
29138
  import { IconSettings as IconSettings19 } from "@tabler/icons-react";
29024
29139
 
29025
29140
  // src/mantine/blocks/location/template/GeneralTab.tsx
29026
- import React271, { useEffect as useEffect98, useRef as useRef23, useState as useState122 } from "react";
29141
+ import React271, { useEffect as useEffect99, useRef as useRef23, useState as useState122 } from "react";
29027
29142
  import { Box as Box52, Divider as Divider28, Stack as Stack188, Text as Text158 } from "@mantine/core";
29028
29143
 
29029
29144
  // src/core/hooks/useUnlMap.ts
29030
- import { useEffect as useEffect97, useState as useState120 } from "react";
29145
+ import { useEffect as useEffect98, useState as useState120 } from "react";
29031
29146
  function useUnlMap() {
29032
29147
  const [status, setStatus] = useState120("loading");
29033
- useEffect97(() => {
29148
+ useEffect98(() => {
29034
29149
  if (typeof window === "undefined") {
29035
29150
  return;
29036
29151
  }
@@ -29204,13 +29319,13 @@ var GeneralTab17 = ({ title, description, latitude, longitude, onTitleChange, on
29204
29319
  const mapRef = useRef23(null);
29205
29320
  const wrapperRef = useRef23(null);
29206
29321
  const containerRef = useRef23(null);
29207
- useEffect98(() => {
29322
+ useEffect99(() => {
29208
29323
  setLocalTitle(title);
29209
29324
  }, [title]);
29210
- useEffect98(() => {
29325
+ useEffect99(() => {
29211
29326
  setLocalDescription(description);
29212
29327
  }, [description]);
29213
- useEffect98(() => {
29328
+ useEffect99(() => {
29214
29329
  if (status !== "ready" || !UnlSdk || mapRef.current || !mapConfig || !containerRef.current || !wrapperRef.current) return;
29215
29330
  try {
29216
29331
  const hasCoords = latitude && longitude;
@@ -29336,7 +29451,7 @@ var TemplateConfig17 = ({ editor, block }) => {
29336
29451
  };
29337
29452
 
29338
29453
  // src/mantine/blocks/location/components/LocationMap.tsx
29339
- import React273, { useEffect as useEffect99, useRef as useRef24, useState as useState123 } from "react";
29454
+ import React273, { useEffect as useEffect100, useRef as useRef24, useState as useState123 } from "react";
29340
29455
  import { Box as Box53, Flex as Flex32, Loader as Loader53, Text as Text159 } from "@mantine/core";
29341
29456
  var UnlMap = ({ w = "100%", h = 200, latitude, longitude, zoom = 5, showMarker = true, showTilesControl = false }) => {
29342
29457
  const [mapError, setMapError] = useState123(null);
@@ -29346,7 +29461,7 @@ var UnlMap = ({ w = "100%", h = 200, latitude, longitude, zoom = 5, showMarker =
29346
29461
  const mapRef = useRef24(null);
29347
29462
  const markerRef = useRef24(null);
29348
29463
  const { status, UnlSdk } = useUnlMap();
29349
- useEffect99(() => {
29464
+ useEffect100(() => {
29350
29465
  if (status !== "ready" || !UnlSdk || mapRef.current || !containerRef.current || !wrapperRef.current) return;
29351
29466
  let ro;
29352
29467
  let resizeTimer;
@@ -29377,7 +29492,7 @@ var UnlMap = ({ w = "100%", h = 200, latitude, longitude, zoom = 5, showMarker =
29377
29492
  ro?.disconnect();
29378
29493
  };
29379
29494
  }, [status, UnlSdk, mapConfig]);
29380
- useEffect99(() => {
29495
+ useEffect100(() => {
29381
29496
  if (!mapRef.current || !latitude || !longitude) return;
29382
29497
  const coords = [Number(longitude), Number(latitude)];
29383
29498
  mapRef.current.setCenter(coords);
@@ -29700,7 +29815,7 @@ blockRegistry.register({
29700
29815
  });
29701
29816
 
29702
29817
  // src/mantine/blocks/hooks/useBlockDependencies.ts
29703
- import { useMemo as useMemo110, useEffect as useEffect100, useState as useState124, useCallback as useCallback101 } from "react";
29818
+ import { useMemo as useMemo110, useEffect as useEffect101, useState as useState124, useCallback as useCallback101 } from "react";
29704
29819
 
29705
29820
  // src/mantine/blocks/hooks/useDependsOn.ts
29706
29821
  import { useMemo as useMemo111 } from "react";
@@ -30173,7 +30288,7 @@ import { useCreateBlockNote as useCreateBlockNote2 } from "@blocknote/react";
30173
30288
  import { BlockNoteSchema as BlockNoteSchema2, defaultBlockSpecs as defaultBlockSpecs2, defaultInlineContentSpecs as defaultInlineContentSpecs2, defaultStyleSpecs as defaultStyleSpecs2 } from "@blocknote/core";
30174
30289
 
30175
30290
  // src/core/hooks/useMatrixProvider.ts
30176
- import { useEffect as useEffect101, useState as useState125, useRef as useRef25, useCallback as useCallback102, useMemo as useMemo112 } from "react";
30291
+ import { useEffect as useEffect102, useState as useState125, useRef as useRef25, useCallback as useCallback102, useMemo as useMemo112 } from "react";
30177
30292
  import { MatrixProvider } from "@ixo/matrix-crdt";
30178
30293
  function useMatrixProvider({ matrixClient, roomId, yDoc }) {
30179
30294
  const [matrixProvider, setProvider] = useState125(null);
@@ -30242,7 +30357,7 @@ function useMatrixProvider({ matrixClient, roomId, yDoc }) {
30242
30357
  }
30243
30358
  }
30244
30359
  }, [matrixClient, providerOptions, handleDocumentAvailable, handleDocumentUnavailable, handleCanWriteChanged]);
30245
- useEffect101(() => {
30360
+ useEffect102(() => {
30246
30361
  isMountedRef.current = true;
30247
30362
  initProvider();
30248
30363
  return () => {
@@ -30259,7 +30374,7 @@ function useMatrixProvider({ matrixClient, roomId, yDoc }) {
30259
30374
  setStatus("disconnected");
30260
30375
  };
30261
30376
  }, [initProvider]);
30262
- useEffect101(() => {
30377
+ useEffect102(() => {
30263
30378
  return () => {
30264
30379
  isMountedRef.current = false;
30265
30380
  };
@@ -30278,7 +30393,7 @@ function useCollaborativeYDoc(_options) {
30278
30393
  }
30279
30394
 
30280
30395
  // src/mantine/hooks/useCollaborativeIxoEditor.ts
30281
- import { useMemo as useMemo114, useEffect as useEffect102, useState as useState126, useRef as useRef26 } from "react";
30396
+ import { useMemo as useMemo114, useEffect as useEffect103, useState as useState126, useRef as useRef26 } from "react";
30282
30397
 
30283
30398
  // src/core/lib/matrixMetadata.ts
30284
30399
  var COVER_IMAGE_EVENT_TYPE = "ixo.page.cover_image";
@@ -30435,6 +30550,26 @@ var MatrixMetadataManager = class {
30435
30550
  }
30436
30551
  };
30437
30552
 
30553
+ // src/core/lib/flowEngine/dmNotificationState.ts
30554
+ var DM_NOTIFICATIONS_KEY = "__dm_notifications";
30555
+ function getDMNotificationState(runtimeMap) {
30556
+ const stored = runtimeMap.get(DM_NOTIFICATIONS_KEY);
30557
+ if (!stored || typeof stored !== "object") return {};
30558
+ return { ...stored };
30559
+ }
30560
+ function setDMNotificationRecord(runtimeMap, blockId, record) {
30561
+ const current = getDMNotificationState(runtimeMap);
30562
+ runtimeMap.set(DM_NOTIFICATIONS_KEY, {
30563
+ ...current,
30564
+ [blockId]: record
30565
+ });
30566
+ }
30567
+ function shouldNotify(state, blockId, currentAssignedDid) {
30568
+ const existing = state[blockId];
30569
+ if (!existing) return true;
30570
+ return existing.assignedDid !== currentAssignedDid;
30571
+ }
30572
+
30438
30573
  // src/mantine/hooks/useCollaborativeIxoEditor.ts
30439
30574
  var ROOT_CAPABILITY_KEY = "__root__";
30440
30575
  function useCreateCollaborativeIxoEditor(options) {
@@ -30472,7 +30607,7 @@ function useCreateCollaborativeIxoEditor(options) {
30472
30607
  roomId: options.roomId
30473
30608
  });
30474
30609
  const metadataManager = useMemo114(() => new MatrixMetadataManager(matrixClient, options.roomId), [matrixClient, options.roomId]);
30475
- useEffect102(() => {
30610
+ useEffect103(() => {
30476
30611
  return () => {
30477
30612
  metadataManager.dispose();
30478
30613
  };
@@ -30739,12 +30874,12 @@ function useCreateCollaborativeIxoEditor(options) {
30739
30874
  return void 0;
30740
30875
  };
30741
30876
  }
30742
- useEffect102(() => {
30877
+ useEffect103(() => {
30743
30878
  if (ixoEditor) {
30744
30879
  ixoEditor.isEditable = editable;
30745
30880
  }
30746
30881
  }, [ixoEditor, editable]);
30747
- useEffect102(() => {
30882
+ useEffect103(() => {
30748
30883
  if (connectionStatus !== "connected") {
30749
30884
  return;
30750
30885
  }
@@ -30769,7 +30904,7 @@ function useCreateCollaborativeIxoEditor(options) {
30769
30904
  const [connectedUsers, setConnectedUsers] = useState126([]);
30770
30905
  const activeBlockIdRef = useRef26(null);
30771
30906
  const awarenessInstance = matrixProvider?.awarenessInstance ?? null;
30772
- useEffect102(() => {
30907
+ useEffect103(() => {
30773
30908
  if (!awarenessInstance || connectionStatus !== "connected") {
30774
30909
  return;
30775
30910
  }
@@ -30787,7 +30922,7 @@ function useCreateCollaborativeIxoEditor(options) {
30787
30922
  awarenessInstance.off("change", updateUsers);
30788
30923
  };
30789
30924
  }, [awarenessInstance, connectionStatus]);
30790
- useEffect102(() => {
30925
+ useEffect103(() => {
30791
30926
  if (!awarenessInstance || connectionStatus !== "connected") {
30792
30927
  return;
30793
30928
  }
@@ -30815,6 +30950,59 @@ function useCreateCollaborativeIxoEditor(options) {
30815
30950
  awarenessInstance.setLocalState(null);
30816
30951
  };
30817
30952
  }, [awarenessInstance, connectionStatus, memoizedUser.id, memoizedUser.name, memoizedUser.color, memoizedUser.avatar]);
30953
+ const dmSentRef = useRef26(false);
30954
+ useEffect103(() => {
30955
+ if (!ixoEditor || connectionStatus !== "connected" || dmSentRef.current) return;
30956
+ if (ixoEditor.docType !== "flow") return;
30957
+ const mx = ixoEditor.getMatrixClient?.();
30958
+ const runtime = ixoEditor._yRuntime;
30959
+ const currentUserId = mx?.getUserId();
30960
+ if (!mx || !runtime || !currentUserId) return;
30961
+ dmSentRef.current = true;
30962
+ const sendNotifications = async () => {
30963
+ const blocks = ixoEditor.document || [];
30964
+ const dedupState = getDMNotificationState(runtime);
30965
+ const flowTitle = ixoEditor.getFlowMetadata?.()?.title || "Untitled Flow";
30966
+ const roomId = ixoEditor.getRoomId?.() || "";
30967
+ const selfDid = currentUserId.split(":")[0].replace("@", "").replace(/-/g, ":");
30968
+ const notifications = [];
30969
+ for (const block of blocks) {
30970
+ const props = block.props;
30971
+ if (!props?.assignment) continue;
30972
+ let assignment;
30973
+ try {
30974
+ assignment = typeof props.assignment === "string" ? JSON.parse(props.assignment) : props.assignment;
30975
+ } catch {
30976
+ continue;
30977
+ }
30978
+ const assignedDid = assignment?.assignedActor?.did;
30979
+ if (!assignedDid || assignedDid === selfDid) continue;
30980
+ if (!shouldNotify(dedupState, block.id, assignedDid)) continue;
30981
+ const blockType = block.type || "block";
30982
+ const blockId = block.id;
30983
+ const message = `Action needed: You have been assigned to a "${blockType}" block in flow "${flowTitle}".${roomId ? ` Room: ${roomId}` : ""}`;
30984
+ notifications.push(
30985
+ sendDirectMessage(mx, assignedDid, message).then(() => {
30986
+ setDMNotificationRecord(runtime, blockId, {
30987
+ assignedDid,
30988
+ notifiedAt: Date.now(),
30989
+ notifiedBy: currentUserId
30990
+ });
30991
+ console.log(`[FlowDM] Notified ${assignedDid} for block ${blockId}`);
30992
+ }).catch((error) => {
30993
+ console.error(`[FlowDM] Failed to notify ${assignedDid} for block ${blockId}:`, error);
30994
+ })
30995
+ );
30996
+ }
30997
+ if (notifications.length > 0) {
30998
+ await Promise.allSettled(notifications);
30999
+ console.log(`[FlowDM] Processed ${notifications.length} DM notification(s)`);
31000
+ }
31001
+ };
31002
+ sendNotifications().catch((error) => {
31003
+ console.error("[FlowDM] Unexpected error in sendNotifications:", error);
31004
+ });
31005
+ }, [ixoEditor, connectionStatus]);
30818
31006
  return {
30819
31007
  editor: ixoEditor,
30820
31008
  connectionStatus,
@@ -30828,7 +31016,7 @@ function useCreateCollaborativeIxoEditor(options) {
30828
31016
  }
30829
31017
 
30830
31018
  // src/mantine/IxoEditor.tsx
30831
- import React287, { useState as useState132, useEffect as useEffect108, useCallback as useCallback105 } from "react";
31019
+ import React287, { useState as useState132, useEffect as useEffect109, useCallback as useCallback105 } from "react";
30832
31020
  import { SuggestionMenuController } from "@blocknote/react";
30833
31021
  import { BlockNoteView } from "@blocknote/mantine";
30834
31022
  import { filterSuggestionItems } from "@blocknote/core";
@@ -30885,7 +31073,7 @@ function PanelContent({ theme }) {
30885
31073
  }
30886
31074
 
30887
31075
  // src/mantine/components/CoverImage.tsx
30888
- import React284, { useState as useState129, useRef as useRef27, useEffect as useEffect105, useMemo as useMemo117 } from "react";
31076
+ import React284, { useState as useState129, useRef as useRef27, useEffect as useEffect106, useMemo as useMemo117 } from "react";
30889
31077
  import { Box as Box58, Group as Group105 } from "@mantine/core";
30890
31078
 
30891
31079
  // src/core/lib/imageTransform.ts
@@ -31044,7 +31232,7 @@ var CoverImageButton = forwardRef(({ isActive = false, onClick, children, style,
31044
31232
  CoverImageButton.displayName = "CoverImageButton";
31045
31233
 
31046
31234
  // src/mantine/components/Base/BaseIconPicker.tsx
31047
- import React281, { useState as useState127, useMemo as useMemo115, useEffect as useEffect103 } from "react";
31235
+ import React281, { useState as useState127, useMemo as useMemo115, useEffect as useEffect104 } from "react";
31048
31236
  import { TextInput as TextInput8, Tabs as Tabs4, Box as Box55, Stack as Stack191, UnstyledButton as UnstyledButton5, Text as Text162, Center as Center13, ScrollArea as ScrollArea9, Group as Group103, Popover as Popover6 } from "@mantine/core";
31049
31237
  import * as TablerIcons from "@tabler/icons-react";
31050
31238
  import { IconSearch as IconSearch7, IconX as IconX14, IconChevronLeft, IconChevronRight as IconChevronRight14 } from "@tabler/icons-react";
@@ -31089,7 +31277,7 @@ function BaseIconPicker({ opened, onClose, onSelectIcon, onUploadClick, children
31089
31277
  const query = searchQuery.toLowerCase();
31090
31278
  return allIcons.filter(([name]) => name.toLowerCase().includes(query));
31091
31279
  }, [allIcons, searchQuery]);
31092
- useEffect103(() => {
31280
+ useEffect104(() => {
31093
31281
  setCurrentPage(1);
31094
31282
  }, [searchQuery]);
31095
31283
  const paginatedIcons = useMemo115(() => {
@@ -31252,7 +31440,7 @@ function PageIcon({ src, iconSize = 64, useCenter = false, style }) {
31252
31440
  import { useDisclosure as useDisclosure7 } from "@mantine/hooks";
31253
31441
 
31254
31442
  // src/mantine/components/FlowSettingsPanel.tsx
31255
- import React283, { useState as useState128, useEffect as useEffect104, useCallback as useCallback103 } from "react";
31443
+ import React283, { useState as useState128, useEffect as useEffect105, useCallback as useCallback103 } from "react";
31256
31444
  import { Stack as Stack192, Group as Group104, Button as Button52, ActionIcon as ActionIcon37, Text as Text163, Box as Box57 } from "@mantine/core";
31257
31445
  import { IconPlus as IconPlus11, IconTrash as IconTrash10 } from "@tabler/icons-react";
31258
31446
  var SYSTEM_KEYS = /* @__PURE__ */ new Set(["@context", "_type", "schema_version", "doc_id", "title", "createdAt", "createdBy", "flowOwnerDid"]);
@@ -31270,7 +31458,7 @@ var FlowSettingsPanel = ({ editor }) => {
31270
31458
  }
31271
31459
  setRows(customRows);
31272
31460
  }, [editor]);
31273
- useEffect104(() => {
31461
+ useEffect105(() => {
31274
31462
  loadSettings();
31275
31463
  }, [loadSettings]);
31276
31464
  const handleKeyChange = useCallback103(
@@ -31335,7 +31523,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
31335
31523
  const [metadata, setMetadata] = useState129(() => editor?.getPageMetadata?.() || null);
31336
31524
  const settingsPanelContent = useMemo117(() => editor ? /* @__PURE__ */ React284.createElement(FlowSettingsPanel, { editor }) : null, [editor]);
31337
31525
  const { open: openSettings } = usePanel("flow-settings-panel", settingsPanelContent);
31338
- useEffect105(() => {
31526
+ useEffect106(() => {
31339
31527
  if (!editor?._metadataManager) {
31340
31528
  return;
31341
31529
  }
@@ -31649,7 +31837,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
31649
31837
  }
31650
31838
 
31651
31839
  // src/mantine/components/PageHeader.tsx
31652
- import React285, { useState as useState130, useRef as useRef28, useEffect as useEffect106 } from "react";
31840
+ import React285, { useState as useState130, useRef as useRef28, useEffect as useEffect107 } from "react";
31653
31841
  function PageHeader({
31654
31842
  title = "New page",
31655
31843
  icon: icon2,
@@ -31665,7 +31853,7 @@ function PageHeader({
31665
31853
  const [isPrivacyOpen, setIsPrivacyOpen] = useState130(false);
31666
31854
  const menuRef = useRef28(null);
31667
31855
  const privacyRef = useRef28(null);
31668
- useEffect106(() => {
31856
+ useEffect107(() => {
31669
31857
  function handleClickOutside(event) {
31670
31858
  if (menuRef.current && !menuRef.current.contains(event.target)) {
31671
31859
  setIsMenuOpen(false);
@@ -31863,7 +32051,7 @@ var styles = {
31863
32051
  };
31864
32052
 
31865
32053
  // src/mantine/components/ExternalDropZone.tsx
31866
- import React286, { useCallback as useCallback104, useEffect as useEffect107, useRef as useRef29, useState as useState131 } from "react";
32054
+ import React286, { useCallback as useCallback104, useEffect as useEffect108, useRef as useRef29, useState as useState131 } from "react";
31867
32055
  import { Box as Box59 } from "@mantine/core";
31868
32056
  var SCROLL_ZONE_SIZE = 80;
31869
32057
  var SCROLL_SPEED = 12;
@@ -32039,7 +32227,7 @@ var ExternalDropZone = ({
32039
32227
  },
32040
32228
  [onDrop, stopAutoScroll]
32041
32229
  );
32042
- useEffect107(() => {
32230
+ useEffect108(() => {
32043
32231
  const handleGlobalDragEnd = () => {
32044
32232
  setIsValidDrag(false);
32045
32233
  dropPositionRef.current = null;
@@ -32097,7 +32285,7 @@ var ExternalDropZone = ({
32097
32285
  },
32098
32286
  [getScrollContainer]
32099
32287
  );
32100
- useEffect107(() => {
32288
+ useEffect108(() => {
32101
32289
  if (!isPlacementMode) return;
32102
32290
  const handleKeyDown = (e) => {
32103
32291
  if (e.key === "Escape") {
@@ -32120,13 +32308,13 @@ var ExternalDropZone = ({
32120
32308
  document.removeEventListener("click", handleGlobalClick, true);
32121
32309
  };
32122
32310
  }, [isPlacementMode, onPlacementCancel]);
32123
- useEffect107(() => {
32311
+ useEffect108(() => {
32124
32312
  if (!isPlacementMode) {
32125
32313
  setIsHoveringInPlacementMode(false);
32126
32314
  dropPositionRef.current = null;
32127
32315
  }
32128
32316
  }, [isPlacementMode]);
32129
- useEffect107(() => {
32317
+ useEffect108(() => {
32130
32318
  const isActive = isValidDrag || isPlacementMode && isHoveringInPlacementMode;
32131
32319
  if (isActive) {
32132
32320
  document.body.classList.add("external-artifact-drag-active");
@@ -32137,7 +32325,7 @@ var ExternalDropZone = ({
32137
32325
  document.body.classList.remove("external-artifact-drag-active");
32138
32326
  };
32139
32327
  }, [isValidDrag, isPlacementMode, isHoveringInPlacementMode]);
32140
- useEffect107(() => {
32328
+ useEffect108(() => {
32141
32329
  return () => {
32142
32330
  if (scrollAnimationRef.current) {
32143
32331
  cancelAnimationFrame(scrollAnimationRef.current);
@@ -32211,7 +32399,7 @@ function IxoEditorContent({
32211
32399
  const { activePanel } = usePanelStore();
32212
32400
  const isPanelOpen = activePanel !== null;
32213
32401
  const [isRoomPrivate, setIsRoomPrivate] = useState132(pageHeaderProps?.isPrivate ?? true);
32214
- useEffect108(() => {
32402
+ useEffect109(() => {
32215
32403
  const matrixClient = editor.getMatrixClient?.();
32216
32404
  const roomId = editor.getRoomId?.();
32217
32405
  if (!matrixClient || !roomId) return;
@@ -32518,7 +32706,7 @@ var EntitySigningSetup = ({ opened, onClose, entityDid, entityName, onSetup }) =
32518
32706
  };
32519
32707
 
32520
32708
  // src/mantine/components/FlowPermissionsPanel.tsx
32521
- import React290, { useState as useState134, useEffect as useEffect109, useMemo as useMemo118 } from "react";
32709
+ import React290, { useState as useState134, useEffect as useEffect110, useMemo as useMemo118 } from "react";
32522
32710
  import { Stack as Stack194, Text as Text165, Paper as Paper18, Group as Group107, Badge as Badge43, Button as Button54, ActionIcon as ActionIcon38, Loader as Loader54, Alert as Alert54, Divider as Divider29 } from "@mantine/core";
32523
32711
  import { IconPlus as IconPlus12, IconTrash as IconTrash11, IconShieldCheck as IconShieldCheck15, IconUser as IconUser14, IconRobot as IconRobot4, IconBuilding as IconBuilding2 } from "@tabler/icons-react";
32524
32712
  var FlowPermissionsPanel = ({ editor, entityDid, entityName, onGrantPermission, onRevokePermission, getUserDisplayName }) => {
@@ -32526,7 +32714,7 @@ var FlowPermissionsPanel = ({ editor, entityDid, entityName, onGrantPermission,
32526
32714
  const [loading, setLoading] = useState134(true);
32527
32715
  const [revoking, setRevoking] = useState134(null);
32528
32716
  const rootCapability = useMemo118(() => editor.getRootCapability?.(), [editor]);
32529
- useEffect109(() => {
32717
+ useEffect110(() => {
32530
32718
  const loadDelegations = async () => {
32531
32719
  setLoading(true);
32532
32720
  const allDelegations = editor.getAllDelegations?.() || [];
@@ -32830,6 +33018,10 @@ export {
32830
33018
  registerBlockActions,
32831
33019
  getBlockActions,
32832
33020
  useHookedActions,
33021
+ getHomeserver,
33022
+ didToMatrixUserId,
33023
+ findOrCreateDMRoom,
33024
+ sendDirectMessage,
32833
33025
  registerBuiltInActionTypes,
32834
33026
  initializeHookedActions,
32835
33027
  BlocknoteProvider,
@@ -32843,6 +33035,9 @@ export {
32843
33035
  AuthorizationTab,
32844
33036
  useNodeRuntime,
32845
33037
  CheckboxBlockSpec,
33038
+ getDMNotificationState,
33039
+ setDMNotificationRecord,
33040
+ shouldNotify,
32846
33041
  useCreateCollaborativeIxoEditor,
32847
33042
  BaseIconPicker,
32848
33043
  CoverImage,
@@ -32867,4 +33062,4 @@ export {
32867
33062
  getExtraSlashMenuItems,
32868
33063
  useCreateIxoEditor
32869
33064
  };
32870
- //# sourceMappingURL=chunk-VR7OZJUQ.mjs.map
33065
+ //# sourceMappingURL=chunk-XGUFDDLJ.mjs.map