@ixo/editor 5.24.0 → 5.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-UWRUVSMP.mjs → chunk-UMS6GCME.mjs} +4 -2
- package/dist/chunk-UMS6GCME.mjs.map +1 -0
- package/dist/{chunk-JJSP3KCK.mjs → chunk-VECEVZ6B.mjs} +122 -66
- package/dist/{chunk-JJSP3KCK.mjs.map → chunk-VECEVZ6B.mjs.map} +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +2 -2
- package/dist/mantine/index.mjs +2 -2
- package/dist/{store-D6-JWLvj.d.ts → store-tXzh_kNG.d.ts} +7 -0
- package/package.json +1 -1
- package/dist/chunk-UWRUVSMP.mjs.map +0 -1
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
transformSurveyToCredentialSubject,
|
|
66
66
|
updateXeroWorkReviewPayloadForEditor,
|
|
67
67
|
upsertXeroWorkItemForEditor
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-UMS6GCME.mjs";
|
|
69
69
|
|
|
70
70
|
// src/mantine/hooks/useCreateIxoEditor.ts
|
|
71
71
|
import { useCreateBlockNote } from "@blocknote/react";
|
|
@@ -22241,7 +22241,7 @@ import { IconCheck as IconCheck15, IconClock as IconClock11, IconContract as Ico
|
|
|
22241
22241
|
|
|
22242
22242
|
// src/mantine/blocks/action/template/GeneralTab.tsx
|
|
22243
22243
|
import React233, { useEffect as useEffect72, useMemo as useMemo85, useState as useState89 } from "react";
|
|
22244
|
-
import { Group as Group83, Stack as Stack152, Text as Text130, Button as Button39, ActionIcon as ActionIcon33, Paper as Paper16, Select as Select5, Box as Box43 } from "@mantine/core";
|
|
22244
|
+
import { Group as Group83, Stack as Stack152, Text as Text130, Button as Button39, ActionIcon as ActionIcon33, Paper as Paper16, Select as Select5, Box as Box43, Checkbox as Checkbox12 } from "@mantine/core";
|
|
22245
22245
|
import { IconBolt as IconBolt7, IconTrash as IconTrash8, IconPlus as IconPlus7, IconSparkles as IconSparkles5, IconBell as IconBell2, IconCheckbox as IconCheckbox3 } from "@tabler/icons-react";
|
|
22246
22246
|
|
|
22247
22247
|
// src/mantine/components/Base/BaseIconCombobox.tsx
|
|
@@ -22579,8 +22579,21 @@ function BarrierSourcesEditor({
|
|
|
22579
22579
|
onChange: (e) => handleUpdate(index, { alias: e.currentTarget.value.replace(/[^a-zA-Z0-9_]/g, "") }),
|
|
22580
22580
|
size: "xs"
|
|
22581
22581
|
}
|
|
22582
|
-
), src.alias && /* @__PURE__ */ React233.createElement(Text130, { size: "xs", c: "dimmed" }, "Access payload via: trigger.payload.", src.alias, ".*")
|
|
22583
|
-
|
|
22582
|
+
), src.alias && /* @__PURE__ */ React233.createElement(Text130, { size: "xs", c: "dimmed" }, "Access payload via: trigger.payload.", src.alias, ".*"), /* @__PURE__ */ React233.createElement(
|
|
22583
|
+
Checkbox12,
|
|
22584
|
+
{
|
|
22585
|
+
label: "Optional source",
|
|
22586
|
+
description: "Don't wait for this event. Queue once the required sources fire; merge this payload only if it arrived.",
|
|
22587
|
+
checked: src.optional === true,
|
|
22588
|
+
onChange: (e) => handleUpdate(index, { optional: e.currentTarget.checked }),
|
|
22589
|
+
size: "xs"
|
|
22590
|
+
}
|
|
22591
|
+
)));
|
|
22592
|
+
}), /* @__PURE__ */ React233.createElement(Button39, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React233.createElement(IconPlus7, { size: 14 }), onClick: handleAdd }, "Add Source"), sources.length > 0 && sources.every((s) => s.sourceBlockId && s.eventName && s.alias) && /* @__PURE__ */ React233.createElement(Box43, { pl: 4 }, /* @__PURE__ */ React233.createElement(Text130, { size: "xs", c: "dimmed" }, (() => {
|
|
22593
|
+
const required = sources.filter((s) => s.optional !== true).length;
|
|
22594
|
+
const optional = sources.length - required;
|
|
22595
|
+
return optional > 0 ? `${required} required event${required === 1 ? "" : "s"} must fire before this block is queued${optional > 0 ? `; ${optional} optional event${optional === 1 ? "" : "s"} merged if present` : ""}. Payloads are merged by alias.` : `All ${sources.length} events must fire before this block is queued. Payloads are merged by alias.`;
|
|
22596
|
+
})())));
|
|
22584
22597
|
}
|
|
22585
22598
|
function GenericInputsEditor({ inputs, onInputsChange, editor, blockId }) {
|
|
22586
22599
|
const [localInputs, setLocalInputs] = useState89(() => parseInputPairs(inputs));
|
|
@@ -24643,7 +24656,7 @@ var ListDomainFlowsConfig = ({ inputs, onInputsChange }) => {
|
|
|
24643
24656
|
|
|
24644
24657
|
// src/mantine/blocks/action/actionTypes/pod/listDomainFlows/ListDomainFlowsFlowDetail.tsx
|
|
24645
24658
|
import React251, { useCallback as useCallback85, useEffect as useEffect84, useMemo as useMemo94, useRef as useRef23, useState as useState106 } from "react";
|
|
24646
|
-
import { ActionIcon as ActionIcon37, Alert as Alert39, Badge as Badge44, Box as Box51, Button as Button46, Checkbox as
|
|
24659
|
+
import { ActionIcon as ActionIcon37, Alert as Alert39, Badge as Badge44, Box as Box51, Button as Button46, Checkbox as Checkbox13, Group as Group92, Loader as Loader37, Stack as Stack169, Text as Text147, Tooltip as Tooltip25 } from "@mantine/core";
|
|
24647
24660
|
import { IconAlertCircle as IconAlertCircle21, IconArrowLeft as IconArrowLeft7, IconCheck as IconCheck18, IconFolders, IconRefresh as IconRefresh7, IconTemplate } from "@tabler/icons-react";
|
|
24648
24661
|
function templateSelectionKey(protocolDid, template) {
|
|
24649
24662
|
return `${protocolDid}::${template.sourceRoomId}`;
|
|
@@ -24834,7 +24847,7 @@ var ListDomainFlowsFlowDetail = ({ inputs, block, runtime, updateRuntime, isDisa
|
|
|
24834
24847
|
backgroundColor: checked ? "var(--mantine-color-dark-6)" : "var(--mantine-color-dark-7)"
|
|
24835
24848
|
}
|
|
24836
24849
|
},
|
|
24837
|
-
/* @__PURE__ */ React251.createElement(Group92, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React251.createElement(
|
|
24850
|
+
/* @__PURE__ */ React251.createElement(Group92, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React251.createElement(Checkbox13, { checked, disabled, onChange: (event) => toggleTemplate(protocol.protocolDid, template, event.currentTarget.checked) }), /* @__PURE__ */ React251.createElement(Stack169, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React251.createElement(Group92, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React251.createElement(Text147, { fw: 500, size: "sm", lineClamp: 1 }, template.label), template.alreadyImported && /* @__PURE__ */ React251.createElement(Badge44, { size: "xs", color: "gray", variant: "light" }, "imported")), /* @__PURE__ */ React251.createElement(Text147, { size: "xs", c: "dimmed", lineClamp: 1, ff: "monospace" }, template.path || template.sourceRoomId)))
|
|
24838
24851
|
);
|
|
24839
24852
|
};
|
|
24840
24853
|
return /* @__PURE__ */ React251.createElement(Stack169, { gap: "md" }, /* @__PURE__ */ React251.createElement(Stack169, { gap: 2 }, /* @__PURE__ */ React251.createElement(Text147, { fw: 600 }, block?.props?.title || "Linked Flows"), /* @__PURE__ */ React251.createElement(Text147, { size: "sm", c: "dimmed" }, block?.props?.description || "Choose flow templates from protocol deeds. You can select templates across multiple deeds.")), loading && /* @__PURE__ */ React251.createElement(Group92, { justify: "center", py: "sm" }, /* @__PURE__ */ React251.createElement(Loader37, { size: "sm" }), /* @__PURE__ */ React251.createElement(Text147, { size: "sm", c: "dimmed" }, "Loading protocol templates...")), error && /* @__PURE__ */ React251.createElement(Alert39, { icon: /* @__PURE__ */ React251.createElement(IconAlertCircle21, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React251.createElement(Text147, { size: "sm" }, error)), !loading && !error && protocols.length === 0 && /* @__PURE__ */ React251.createElement(Text147, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No protocol deeds with templates were found."), !loading && !error && protocols.length > 0 && view === "deeds" && /* @__PURE__ */ React251.createElement(Stack169, { gap: "xs" }, /* @__PURE__ */ React251.createElement(Group92, { justify: "space-between", gap: "sm" }, /* @__PURE__ */ React251.createElement(Text147, { size: "xs", fw: 600, c: "dimmed" }, "PROTOCOL DEEDS"), /* @__PURE__ */ React251.createElement(Tooltip25, { label: "Refresh protocol deeds", withArrow: true }, /* @__PURE__ */ React251.createElement(ActionIcon37, { variant: "subtle", size: "sm", onClick: () => loadProtocols("refresh"), loading: refreshing, disabled: isDisabled }, /* @__PURE__ */ React251.createElement(IconRefresh7, { size: 16 })))), protocols.map((protocol) => {
|
|
@@ -27256,7 +27269,7 @@ function buildBlockOptions(editorDocument, actionType, excludeBlockId) {
|
|
|
27256
27269
|
|
|
27257
27270
|
// src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimFlowDetail.tsx
|
|
27258
27271
|
import React266, { useCallback as useCallback96, useEffect as useEffect95, useMemo as useMemo105, useRef as useRef31, useState as useState119 } from "react";
|
|
27259
|
-
import { ActionIcon as ActionIcon42, Alert as Alert50, Box as Box57, Button as Button53, Checkbox as
|
|
27272
|
+
import { ActionIcon as ActionIcon42, Alert as Alert50, Box as Box57, Button as Button53, Checkbox as Checkbox14, Divider as Divider22, Group as Group101, Loader as Loader48, ScrollArea as ScrollArea8, Stack as Stack182, Text as Text160, UnstyledButton as UnstyledButton5 } from "@mantine/core";
|
|
27260
27273
|
import { IconArrowLeft as IconArrowLeft10, IconCheck as IconCheck22, IconFilter as IconFilter2 } from "@tabler/icons-react";
|
|
27261
27274
|
import { SurveyModel as SurveyModel11 } from "@ixo/surveys";
|
|
27262
27275
|
|
|
@@ -27695,7 +27708,7 @@ var EvaluateClaimFlowDetail = ({
|
|
|
27695
27708
|
const [authChecking] = useState119(false);
|
|
27696
27709
|
const [authError] = useState119(null);
|
|
27697
27710
|
const [, setAuthRetryKey] = useState119(0);
|
|
27698
|
-
const [profilesByDid] = useState119({});
|
|
27711
|
+
const [profilesByDid, setProfilesByDid] = useState119({});
|
|
27699
27712
|
const [disputeDetails] = useState119(null);
|
|
27700
27713
|
const [loadingDispute] = useState119(false);
|
|
27701
27714
|
const [evaluationOutcomePatch] = useState119(null);
|
|
@@ -27887,6 +27900,42 @@ var EvaluateClaimFlowDetail = ({
|
|
|
27887
27900
|
if (!deedDid || !collectionId) return;
|
|
27888
27901
|
void refreshClaims();
|
|
27889
27902
|
}, [deedDid, collectionId, refreshClaims]);
|
|
27903
|
+
useEffect95(() => {
|
|
27904
|
+
let mounted = true;
|
|
27905
|
+
const dids = Array.from(new Set(claims.map((claim) => claim.agentDid).filter(Boolean)));
|
|
27906
|
+
const missing = dids.filter((did) => !profilesByDid[did]);
|
|
27907
|
+
if (missing.length === 0)
|
|
27908
|
+
return () => {
|
|
27909
|
+
mounted = false;
|
|
27910
|
+
};
|
|
27911
|
+
const loadProfiles = async () => {
|
|
27912
|
+
const handlers2 = handlersRef.current;
|
|
27913
|
+
const results = await Promise.all(
|
|
27914
|
+
missing.map(async (did) => {
|
|
27915
|
+
try {
|
|
27916
|
+
const profile = await handlers2.getMatrixInfoPerDid(did);
|
|
27917
|
+
return [did, profile];
|
|
27918
|
+
} catch {
|
|
27919
|
+
return [did, null];
|
|
27920
|
+
}
|
|
27921
|
+
})
|
|
27922
|
+
);
|
|
27923
|
+
if (!mounted) return;
|
|
27924
|
+
setProfilesByDid((prev) => {
|
|
27925
|
+
const next = { ...prev };
|
|
27926
|
+
results.forEach(([did, profile]) => {
|
|
27927
|
+
if (profile) {
|
|
27928
|
+
next[did] = profile;
|
|
27929
|
+
}
|
|
27930
|
+
});
|
|
27931
|
+
return next;
|
|
27932
|
+
});
|
|
27933
|
+
};
|
|
27934
|
+
void loadProfiles();
|
|
27935
|
+
return () => {
|
|
27936
|
+
mounted = false;
|
|
27937
|
+
};
|
|
27938
|
+
}, [claims, profilesByDid]);
|
|
27890
27939
|
const loadClaimDetail = useCallback96(
|
|
27891
27940
|
async (claim) => {
|
|
27892
27941
|
const handlers2 = handlersRef.current;
|
|
@@ -28197,7 +28246,7 @@ var EvaluateClaimFlowDetail = ({
|
|
|
28197
28246
|
disabled: isDisabled || submitting
|
|
28198
28247
|
}
|
|
28199
28248
|
))), /* @__PURE__ */ React266.createElement(Button53, { variant: "light", size: "xs", onClick: addPaymentRow, disabled: isDisabled || submitting }, t("actionTypes.evaluateClaim.flow.payment.addPayment", { defaultValue: "Add Payment" }))), /* @__PURE__ */ React266.createElement(
|
|
28200
|
-
|
|
28249
|
+
Checkbox14,
|
|
28201
28250
|
{
|
|
28202
28251
|
label: t("actionTypes.evaluateClaim.flow.generateUdid", { defaultValue: "Generate UDID proof before signing" }),
|
|
28203
28252
|
checked: createUdid,
|
|
@@ -34096,7 +34145,7 @@ import React303, { useCallback as useCallback133, useEffect as useEffect126, use
|
|
|
34096
34145
|
import { Divider as Divider34, Group as Group117, Stack as Stack219, Text as Text192 } from "@mantine/core";
|
|
34097
34146
|
|
|
34098
34147
|
// src/mantine/blocks/action/actionTypes/xero/_shared/XeroBankAccountPicker.tsx
|
|
34099
|
-
import React302, { useCallback as useCallback132, useEffect as useEffect125, useState as useState156 } from "react";
|
|
34148
|
+
import React302, { useCallback as useCallback132, useEffect as useEffect125, useRef as useRef33, useState as useState156 } from "react";
|
|
34100
34149
|
import { ActionIcon as ActionIcon45, Group as Group116, Loader as Loader62, Stack as Stack218, Text as Text191 } from "@mantine/core";
|
|
34101
34150
|
import { IconRefresh as IconRefresh12 } from "@tabler/icons-react";
|
|
34102
34151
|
var XERO_LIST_ACCOUNTS_SLUG = "XERO_LIST_ACCOUNTS";
|
|
@@ -34148,9 +34197,16 @@ var XeroBankAccountPicker = ({
|
|
|
34148
34197
|
setLoading(false);
|
|
34149
34198
|
}
|
|
34150
34199
|
}, [connectedAccountId, handlers]);
|
|
34200
|
+
const autoFetchedForRef = useRef33(null);
|
|
34151
34201
|
useEffect125(() => {
|
|
34202
|
+
if (!connectedAccountId) {
|
|
34203
|
+
autoFetchedForRef.current = null;
|
|
34204
|
+
return;
|
|
34205
|
+
}
|
|
34206
|
+
if (autoFetchedForRef.current === connectedAccountId) return;
|
|
34207
|
+
autoFetchedForRef.current = connectedAccountId;
|
|
34152
34208
|
void fetchBankAccounts();
|
|
34153
|
-
}, [
|
|
34209
|
+
}, [connectedAccountId]);
|
|
34154
34210
|
const valueHasRef = value.includes("{{");
|
|
34155
34211
|
const showPicker = !valueHasRef && bankAccounts.length > 0 && !!connectedAccountId;
|
|
34156
34212
|
const options = bankAccounts.map((a) => ({
|
|
@@ -36039,7 +36095,7 @@ var OracleStoreSecretsConfig = ({ inputs, onInputsChange }) => {
|
|
|
36039
36095
|
};
|
|
36040
36096
|
|
|
36041
36097
|
// src/mantine/blocks/action/actionTypes/oracleStoreSecrets/OracleStoreSecretsFlowDetail.tsx
|
|
36042
|
-
import React324, { useCallback as useCallback152, useEffect as useEffect137, useMemo as useMemo135, useRef as
|
|
36098
|
+
import React324, { useCallback as useCallback152, useEffect as useEffect137, useMemo as useMemo135, useRef as useRef34, useState as useState167 } from "react";
|
|
36043
36099
|
import { Alert as Alert79, Button as Button75, Collapse as Collapse12, Divider as Divider37, Group as Group128, Loader as Loader72, Stack as Stack240, Text as Text213 } from "@mantine/core";
|
|
36044
36100
|
import { IconAlertCircle as IconAlertCircle34, IconCheck as IconCheck35, IconChevronDown as IconChevronDown12, IconChevronUp as IconChevronUp6, IconLock } from "@tabler/icons-react";
|
|
36045
36101
|
var EXPECTED_SECRETS = ["SECP_MNEMONIC", "MATRIX_ORACLE_ADMIN_PASSWORD", "MATRIX_ORACLE_ADMIN_ACCESS_TOKEN", "MATRIX_RECOVERY_PHRASE", "MATRIX_VALUE_PIN", "OPEN_ROUTER_API_KEY"];
|
|
@@ -36098,7 +36154,7 @@ var OracleStoreSecretsFlowDetail = ({ inputs, editor, block, runtime, updateRunt
|
|
|
36098
36154
|
const [showAdditional, setShowAdditional] = useState167(false);
|
|
36099
36155
|
const [networkConstants, setNetworkConstants] = useState167(null);
|
|
36100
36156
|
const [isLoadingConstants, setIsLoadingConstants] = useState167(false);
|
|
36101
|
-
const constantsFetchRef =
|
|
36157
|
+
const constantsFetchRef = useRef34(false);
|
|
36102
36158
|
const handleSaveOpenRouter = useCallback152(async () => {
|
|
36103
36159
|
if (!openRouterDraft) return;
|
|
36104
36160
|
if (!resolvedInputs.publicKeyMultibase) {
|
|
@@ -36166,7 +36222,7 @@ var OracleStoreSecretsFlowDetail = ({ inputs, editor, block, runtime, updateRunt
|
|
|
36166
36222
|
console.error("[oracle.storeSecrets] failed", { message, err });
|
|
36167
36223
|
}
|
|
36168
36224
|
}, [executeAction, isDisabled, isRunning, hasProof, inputsReady, hasOpenRouter, openRouterJwe, resolvedInputs, runtime.state, services, updateRuntime, missingFields]);
|
|
36169
|
-
const idempotencyCheckRef =
|
|
36225
|
+
const idempotencyCheckRef = useRef34(false);
|
|
36170
36226
|
useEffect137(() => {
|
|
36171
36227
|
if (idempotencyCheckRef.current) return;
|
|
36172
36228
|
if (!inputsReady) return;
|
|
@@ -36791,7 +36847,7 @@ var OracleStoreSecretsAndConfigConfig = ({ inputs, onInputsChange }) => {
|
|
|
36791
36847
|
};
|
|
36792
36848
|
|
|
36793
36849
|
// src/mantine/blocks/action/actionTypes/oracleStoreSecretsAndConfig/OracleStoreSecretsAndConfigFlowDetail.tsx
|
|
36794
|
-
import React328, { useCallback as useCallback156, useEffect as useEffect140, useMemo as useMemo137, useRef as
|
|
36850
|
+
import React328, { useCallback as useCallback156, useEffect as useEffect140, useMemo as useMemo137, useRef as useRef35, useState as useState170 } from "react";
|
|
36795
36851
|
import { Alert as Alert81, Button as Button77, Collapse as Collapse13, Divider as Divider40, Group as Group130, Loader as Loader74, Stack as Stack244, Text as Text217 } from "@mantine/core";
|
|
36796
36852
|
import { IconAlertCircle as IconAlertCircle36, IconCheck as IconCheck37, IconChevronDown as IconChevronDown13, IconChevronUp as IconChevronUp7, IconLock as IconLock2 } from "@tabler/icons-react";
|
|
36797
36853
|
var EXPECTED_SECRETS2 = ["SECP_MNEMONIC", "MATRIX_ORACLE_ADMIN_PASSWORD", "MATRIX_ORACLE_ADMIN_ACCESS_TOKEN", "MATRIX_RECOVERY_PHRASE", "MATRIX_VALUE_PIN", "OPEN_ROUTER_API_KEY"];
|
|
@@ -36869,7 +36925,7 @@ var OracleStoreSecretsAndConfigFlowDetail = ({ inputs, editor, block, runtime, u
|
|
|
36869
36925
|
const [showAdditional, setShowAdditional] = useState170(false);
|
|
36870
36926
|
const [networkConstants, setNetworkConstants] = useState170(null);
|
|
36871
36927
|
const [isLoadingConstants, setIsLoadingConstants] = useState170(false);
|
|
36872
|
-
const constantsFetchRef =
|
|
36928
|
+
const constantsFetchRef = useRef35(false);
|
|
36873
36929
|
const handleSaveOpenRouter = useCallback156(async () => {
|
|
36874
36930
|
if (!openRouterDraft) return;
|
|
36875
36931
|
if (!resolvedInputs.publicKeyMultibase) return;
|
|
@@ -36930,7 +36986,7 @@ var OracleStoreSecretsAndConfigFlowDetail = ({ inputs, editor, block, runtime, u
|
|
|
36930
36986
|
console.error("[oracle.storeSecretsAndConfig] failed", { message, err });
|
|
36931
36987
|
}
|
|
36932
36988
|
}, [executeAction, isDisabled, isRunning, hasProof, inputsReady, hasOpenRouter, openRouterJwe, resolvedInputs, runtime.state, services, updateRuntime, missingFields]);
|
|
36933
|
-
const idempotencyCheckRef =
|
|
36989
|
+
const idempotencyCheckRef = useRef35(false);
|
|
36934
36990
|
useEffect140(() => {
|
|
36935
36991
|
if (idempotencyCheckRef.current) return;
|
|
36936
36992
|
if (!inputsReady) return;
|
|
@@ -37276,7 +37332,7 @@ var OracleConfigureOracleConfig = ({ inputs, onInputsChange }) => {
|
|
|
37276
37332
|
};
|
|
37277
37333
|
|
|
37278
37334
|
// src/mantine/blocks/action/actionTypes/oracleConfigureOracle/OracleConfigureOracleFlowDetail.tsx
|
|
37279
|
-
import React330, { useCallback as useCallback158, useEffect as useEffect142, useMemo as useMemo138, useRef as
|
|
37335
|
+
import React330, { useCallback as useCallback158, useEffect as useEffect142, useMemo as useMemo138, useRef as useRef36, useState as useState172 } from "react";
|
|
37280
37336
|
import { Alert as Alert82, Button as Button78, Collapse as Collapse14, Divider as Divider42, Group as Group131, Loader as Loader75, Stack as Stack246, Text as Text219 } from "@mantine/core";
|
|
37281
37337
|
import { IconAlertCircle as IconAlertCircle37, IconCheck as IconCheck38, IconChevronDown as IconChevronDown14, IconChevronUp as IconChevronUp8, IconLock as IconLock4 } from "@tabler/icons-react";
|
|
37282
37338
|
var EXPECTED_SECRETS3 = ["SECP_MNEMONIC", "MATRIX_ORACLE_ADMIN_PASSWORD", "MATRIX_ORACLE_ADMIN_ACCESS_TOKEN", "MATRIX_RECOVERY_PHRASE", "MATRIX_VALUE_PIN", "OPEN_ROUTER_API_KEY"];
|
|
@@ -37374,7 +37430,7 @@ var OracleConfigureOracleFlowDetail = ({ inputs, editor, block, runtime, updateR
|
|
|
37374
37430
|
const [showAdditional, setShowAdditional] = useState172(false);
|
|
37375
37431
|
const [networkConstants, setNetworkConstants] = useState172(null);
|
|
37376
37432
|
const [isLoadingConstants, setIsLoadingConstants] = useState172(false);
|
|
37377
|
-
const constantsFetchRef =
|
|
37433
|
+
const constantsFetchRef = useRef36(false);
|
|
37378
37434
|
const handleSaveOpenRouter = useCallback158(async () => {
|
|
37379
37435
|
if (!openRouterDraft) return;
|
|
37380
37436
|
if (!resolvedInputs.publicKeyMultibase) return;
|
|
@@ -37450,7 +37506,7 @@ var OracleConfigureOracleFlowDetail = ({ inputs, editor, block, runtime, updateR
|
|
|
37450
37506
|
updateRuntime,
|
|
37451
37507
|
missingFields
|
|
37452
37508
|
]);
|
|
37453
|
-
const idempotencyCheckRef =
|
|
37509
|
+
const idempotencyCheckRef = useRef36(false);
|
|
37454
37510
|
useEffect142(() => {
|
|
37455
37511
|
if (idempotencyCheckRef.current) return;
|
|
37456
37512
|
if (!inputsReady) return;
|
|
@@ -38125,7 +38181,7 @@ import React341, { useCallback as useCallback163 } from "react";
|
|
|
38125
38181
|
import { IconSettings as IconSettings20 } from "@tabler/icons-react";
|
|
38126
38182
|
|
|
38127
38183
|
// src/mantine/blocks/location/template/GeneralTab.tsx
|
|
38128
|
-
import React340, { useEffect as useEffect144, useRef as
|
|
38184
|
+
import React340, { useEffect as useEffect144, useRef as useRef37, useState as useState175 } from "react";
|
|
38129
38185
|
import { Box as Box66, Divider as Divider43, Stack as Stack253, Text as Text226 } from "@mantine/core";
|
|
38130
38186
|
|
|
38131
38187
|
// src/core/hooks/useUnlMap.ts
|
|
@@ -38302,10 +38358,10 @@ var GeneralTab17 = ({ title, description, latitude, longitude, onTitleChange, on
|
|
|
38302
38358
|
const [mapError, setMapError] = useState175(null);
|
|
38303
38359
|
const { status, UnlSdk } = useUnlMap();
|
|
38304
38360
|
const { mapConfig } = useBlocknoteContext();
|
|
38305
|
-
const markerRef =
|
|
38306
|
-
const mapRef =
|
|
38307
|
-
const wrapperRef =
|
|
38308
|
-
const containerRef =
|
|
38361
|
+
const markerRef = useRef37(null);
|
|
38362
|
+
const mapRef = useRef37(null);
|
|
38363
|
+
const wrapperRef = useRef37(null);
|
|
38364
|
+
const containerRef = useRef37(null);
|
|
38309
38365
|
useEffect144(() => {
|
|
38310
38366
|
setLocalTitle(title);
|
|
38311
38367
|
}, [title]);
|
|
@@ -38438,15 +38494,15 @@ var TemplateConfig17 = ({ editor, block }) => {
|
|
|
38438
38494
|
};
|
|
38439
38495
|
|
|
38440
38496
|
// src/mantine/blocks/location/components/LocationMap.tsx
|
|
38441
|
-
import React342, { useEffect as useEffect145, useRef as
|
|
38497
|
+
import React342, { useEffect as useEffect145, useRef as useRef38, useState as useState176 } from "react";
|
|
38442
38498
|
import { Box as Box67, Flex as Flex36, Loader as Loader79, Text as Text227 } from "@mantine/core";
|
|
38443
38499
|
var UnlMap = ({ w = "100%", h = 200, latitude, longitude, zoom = 5, showMarker = true, showTilesControl = false }) => {
|
|
38444
38500
|
const [mapError, setMapError] = useState176(null);
|
|
38445
38501
|
const { mapConfig } = useBlocknoteContext();
|
|
38446
|
-
const wrapperRef =
|
|
38447
|
-
const containerRef =
|
|
38448
|
-
const mapRef =
|
|
38449
|
-
const markerRef =
|
|
38502
|
+
const wrapperRef = useRef38(null);
|
|
38503
|
+
const containerRef = useRef38(null);
|
|
38504
|
+
const mapRef = useRef38(null);
|
|
38505
|
+
const markerRef = useRef38(null);
|
|
38450
38506
|
const { status, UnlSdk } = useUnlMap();
|
|
38451
38507
|
useEffect145(() => {
|
|
38452
38508
|
if (status !== "ready" || !UnlSdk || mapRef.current || !containerRef.current || !wrapperRef.current) return;
|
|
@@ -39059,7 +39115,7 @@ var SkillsTemplateView = ({ editor: _editor, block }) => {
|
|
|
39059
39115
|
// src/mantine/blocks/skills/flow/SkillsFlowView.tsx
|
|
39060
39116
|
import { ActionIcon as ActionIcon49, Badge as Badge55, Button as Button83, Collapse as Collapse16, Group as Group142, Loader as Loader80, Paper as Paper21, Stack as Stack261, Text as Text235, Tooltip as Tooltip32 } from "@mantine/core";
|
|
39061
39117
|
import { IconBrain as IconBrain3, IconCheck as IconCheck43, IconPencil, IconPlus as IconPlus12, IconTrash as IconTrash12, IconX as IconX17 } from "@tabler/icons-react";
|
|
39062
|
-
import React360, { useCallback as useCallback167, useEffect as useEffect147, useMemo as useMemo148, useRef as
|
|
39118
|
+
import React360, { useCallback as useCallback167, useEffect as useEffect147, useMemo as useMemo148, useRef as useRef39, useState as useState179 } from "react";
|
|
39063
39119
|
function parseSkills2(raw) {
|
|
39064
39120
|
try {
|
|
39065
39121
|
const parsed = JSON.parse(raw || "[]");
|
|
@@ -39091,7 +39147,7 @@ var SkillsFlowView = ({ editor, block }) => {
|
|
|
39091
39147
|
const [validatingUrls, setValidatingUrls] = useState179({});
|
|
39092
39148
|
const [capsules, setCapsules] = useState179([]);
|
|
39093
39149
|
const [loadingCapsules, setLoadingCapsules] = useState179(false);
|
|
39094
|
-
const capsulesFetchedRef =
|
|
39150
|
+
const capsulesFetchedRef = useRef39(false);
|
|
39095
39151
|
useEffect147(() => {
|
|
39096
39152
|
if (capsulesFetchedRef.current || !handlers.getSkills) return;
|
|
39097
39153
|
capsulesFetchedRef.current = true;
|
|
@@ -39099,7 +39155,7 @@ var SkillsFlowView = ({ editor, block }) => {
|
|
|
39099
39155
|
handlers.getSkills().then((r) => setCapsules(r.capsules || [])).catch((err) => console.error("[skills] Failed to fetch capsules:", err)).finally(() => setLoadingCapsules(false));
|
|
39100
39156
|
}, [handlers.getSkills]);
|
|
39101
39157
|
const [network, setNetwork] = useState179("");
|
|
39102
|
-
const networkFetchedRef =
|
|
39158
|
+
const networkFetchedRef = useRef39(false);
|
|
39103
39159
|
useEffect147(() => {
|
|
39104
39160
|
if (networkFetchedRef.current || !handlers.getNetwork) return;
|
|
39105
39161
|
networkFetchedRef.current = true;
|
|
@@ -40207,14 +40263,14 @@ import { useCreateBlockNote as useCreateBlockNote2 } from "@blocknote/react";
|
|
|
40207
40263
|
import { BlockNoteSchema as BlockNoteSchema2, defaultBlockSpecs as defaultBlockSpecs2, defaultInlineContentSpecs as defaultInlineContentSpecs2 } from "@blocknote/core";
|
|
40208
40264
|
|
|
40209
40265
|
// src/core/hooks/useMatrixProvider.ts
|
|
40210
|
-
import { useEffect as useEffect149, useState as useState181, useRef as
|
|
40266
|
+
import { useEffect as useEffect149, useState as useState181, useRef as useRef40, useCallback as useCallback169, useMemo as useMemo151 } from "react";
|
|
40211
40267
|
import { MatrixProvider } from "@ixo/matrix-crdt";
|
|
40212
40268
|
function useMatrixProvider({ matrixClient, roomId, yDoc }) {
|
|
40213
40269
|
const [matrixProvider, setProvider] = useState181(null);
|
|
40214
40270
|
const [status, setStatus] = useState181("disconnected");
|
|
40215
|
-
const isMountedRef =
|
|
40216
|
-
const providerRef =
|
|
40217
|
-
const retryTimeoutRef =
|
|
40271
|
+
const isMountedRef = useRef40(true);
|
|
40272
|
+
const providerRef = useRef40(null);
|
|
40273
|
+
const retryTimeoutRef = useRef40(null);
|
|
40218
40274
|
const providerOptions = useMemo151(
|
|
40219
40275
|
() => ({
|
|
40220
40276
|
translator: {
|
|
@@ -40312,7 +40368,7 @@ function useCollaborativeYDoc(_options) {
|
|
|
40312
40368
|
}
|
|
40313
40369
|
|
|
40314
40370
|
// src/mantine/hooks/useCollaborativeIxoEditor.ts
|
|
40315
|
-
import { useMemo as useMemo153, useEffect as useEffect151, useState as useState182, useRef as
|
|
40371
|
+
import { useMemo as useMemo153, useEffect as useEffect151, useState as useState182, useRef as useRef42 } from "react";
|
|
40316
40372
|
|
|
40317
40373
|
// src/core/lib/matrixMetadata.ts
|
|
40318
40374
|
var COVER_IMAGE_EVENT_TYPE = "ixo.page.cover_image";
|
|
@@ -40581,7 +40637,7 @@ function logInvocation(matrixClient, roomId, invocation) {
|
|
|
40581
40637
|
}
|
|
40582
40638
|
|
|
40583
40639
|
// src/mantine/hooks/useFlowLifecycle.ts
|
|
40584
|
-
import { useEffect as useEffect150, useCallback as useCallback170, useRef as
|
|
40640
|
+
import { useEffect as useEffect150, useCallback as useCallback170, useRef as useRef41 } from "react";
|
|
40585
40641
|
|
|
40586
40642
|
// src/mantine/hooks/useFlowTTLCleanup.ts
|
|
40587
40643
|
function performTTLCleanup(editor) {
|
|
@@ -40818,8 +40874,8 @@ function isBlockEnabledInFlow(block, editorDocument) {
|
|
|
40818
40874
|
// src/mantine/hooks/useFlowLifecycle.ts
|
|
40819
40875
|
var DEFAULT_INTERVAL_MS = 3e4;
|
|
40820
40876
|
function useFlowLifecycle({ editor, connectionStatus, enabled = true }) {
|
|
40821
|
-
const hasRunInitialRef =
|
|
40822
|
-
const runningRef =
|
|
40877
|
+
const hasRunInitialRef = useRef41(false);
|
|
40878
|
+
const runningRef = useRef41(false);
|
|
40823
40879
|
const runPipeline = useCallback170(async () => {
|
|
40824
40880
|
if (!editor || runningRef.current) return;
|
|
40825
40881
|
runningRef.current = true;
|
|
@@ -41286,7 +41342,7 @@ function useCreateCollaborativeIxoEditor(options) {
|
|
|
41286
41342
|
}
|
|
41287
41343
|
}, [connectionStatus, root, titleText, permissions.write, options.docId, options.title, memoizedUser.id]);
|
|
41288
41344
|
const [connectedUsers, setConnectedUsers] = useState182([]);
|
|
41289
|
-
const activeBlockIdRef =
|
|
41345
|
+
const activeBlockIdRef = useRef42(null);
|
|
41290
41346
|
const awarenessInstance = matrixProvider?.awarenessInstance ?? null;
|
|
41291
41347
|
useEffect151(() => {
|
|
41292
41348
|
if (!awarenessInstance || connectionStatus !== "connected") {
|
|
@@ -41402,7 +41458,7 @@ function sanitizeThemeForMantine7(theme) {
|
|
|
41402
41458
|
}
|
|
41403
41459
|
|
|
41404
41460
|
// src/mantine/components/CommandPalette.tsx
|
|
41405
|
-
import React363, { useEffect as useEffect152, useRef as
|
|
41461
|
+
import React363, { useEffect as useEffect152, useRef as useRef43, useState as useState183, useMemo as useMemo154, useCallback as useCallback171 } from "react";
|
|
41406
41462
|
import { Box as Box70, Text as Text236, Stack as Stack262 } from "@mantine/core";
|
|
41407
41463
|
var GROUP_ORDER = {
|
|
41408
41464
|
Headings: 0,
|
|
@@ -41432,7 +41488,7 @@ function translateGroupLabel(groupKey, t) {
|
|
|
41432
41488
|
return entry ? t(entry.key, { defaultValue: entry.defaultValue }) : groupKey;
|
|
41433
41489
|
}
|
|
41434
41490
|
function PaletteItem({ item, isSelected, onClick, id }) {
|
|
41435
|
-
const ref =
|
|
41491
|
+
const ref = useRef43(null);
|
|
41436
41492
|
const [hovered, setHovered] = useState183(false);
|
|
41437
41493
|
useEffect152(() => {
|
|
41438
41494
|
if (isSelected && ref.current) {
|
|
@@ -41661,7 +41717,7 @@ function PanelContent({ theme: _theme }) {
|
|
|
41661
41717
|
}
|
|
41662
41718
|
|
|
41663
41719
|
// src/mantine/components/CoverImage.tsx
|
|
41664
|
-
import React369, { useState as useState187, useRef as
|
|
41720
|
+
import React369, { useState as useState187, useRef as useRef44, useEffect as useEffect155, useMemo as useMemo157 } from "react";
|
|
41665
41721
|
import { Box as Box75, Group as Group146 } from "@mantine/core";
|
|
41666
41722
|
import { IconMoodSmile, IconPhoto as IconPhoto6, IconSettings as IconSettings23, IconArrowsMove, IconTrash as IconTrash14, IconRefresh as IconRefresh13 } from "@tabler/icons-react";
|
|
41667
41723
|
|
|
@@ -42149,8 +42205,8 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
42149
42205
|
const [isHovering, setIsHovering] = useState187(false);
|
|
42150
42206
|
const [isRepositioning, setIsRepositioning] = useState187(false);
|
|
42151
42207
|
const [coverPosition, setCoverPosition] = useState187(() => editor?.getPageMetadata?.()?.coverPosition ?? 50);
|
|
42152
|
-
const coverFileInputRef =
|
|
42153
|
-
const logoFileInputRef =
|
|
42208
|
+
const coverFileInputRef = useRef44(null);
|
|
42209
|
+
const logoFileInputRef = useRef44(null);
|
|
42154
42210
|
const [opened, { open, close }] = useDisclosure7(false);
|
|
42155
42211
|
const [metadata, setMetadata] = useState187(() => editor?.getPageMetadata?.() || null);
|
|
42156
42212
|
const settingsPanelContent = useMemo157(() => editor ? /* @__PURE__ */ React369.createElement(FlowSettingsPanel, { editor }) : null, [editor]);
|
|
@@ -42445,7 +42501,7 @@ function CoverImage({ coverImageUrl, logoUrl }) {
|
|
|
42445
42501
|
}
|
|
42446
42502
|
|
|
42447
42503
|
// src/mantine/components/PageTitle.tsx
|
|
42448
|
-
import React370, { useState as useState188, useEffect as useEffect156, useRef as
|
|
42504
|
+
import React370, { useState as useState188, useEffect as useEffect156, useRef as useRef45, useCallback as useCallback173 } from "react";
|
|
42449
42505
|
import { Box as Box76 } from "@mantine/core";
|
|
42450
42506
|
var DEFAULT_TITLE = "New page";
|
|
42451
42507
|
function isUserTitle(name) {
|
|
@@ -42492,8 +42548,8 @@ function PageTitle({ editor, editable }) {
|
|
|
42492
42548
|
const t = useTranslate();
|
|
42493
42549
|
const [title, setTitle] = useState188("");
|
|
42494
42550
|
const [hasIcon, setHasIcon] = useState188(false);
|
|
42495
|
-
const titleRef =
|
|
42496
|
-
const isComposing =
|
|
42551
|
+
const titleRef = useRef45(null);
|
|
42552
|
+
const isComposing = useRef45(false);
|
|
42497
42553
|
useEffect156(() => {
|
|
42498
42554
|
if (!editor?._metadataManager) return;
|
|
42499
42555
|
const metadata = editor._metadataManager.getMetadata();
|
|
@@ -42648,7 +42704,7 @@ if (typeof document !== "undefined") {
|
|
|
42648
42704
|
}
|
|
42649
42705
|
|
|
42650
42706
|
// src/mantine/components/ExternalDropZone.tsx
|
|
42651
|
-
import React371, { useCallback as useCallback174, useEffect as useEffect157, useRef as
|
|
42707
|
+
import React371, { useCallback as useCallback174, useEffect as useEffect157, useRef as useRef46, useState as useState189 } from "react";
|
|
42652
42708
|
import { Box as Box77 } from "@mantine/core";
|
|
42653
42709
|
var SCROLL_ZONE_SIZE = 80;
|
|
42654
42710
|
var SCROLL_SPEED = 12;
|
|
@@ -42661,14 +42717,14 @@ var ExternalDropZone = ({
|
|
|
42661
42717
|
onPlacementCancel,
|
|
42662
42718
|
children
|
|
42663
42719
|
}) => {
|
|
42664
|
-
const containerRef =
|
|
42720
|
+
const containerRef = useRef46(null);
|
|
42665
42721
|
const [isValidDrag, setIsValidDrag] = useState189(false);
|
|
42666
42722
|
const [isHoveringInPlacementMode, setIsHoveringInPlacementMode] = useState189(false);
|
|
42667
42723
|
const [indicatorStyle, setIndicatorStyle] = useState189({});
|
|
42668
|
-
const dropPositionRef =
|
|
42669
|
-
const scrollAnimationRef =
|
|
42670
|
-
const scrollDirectionRef =
|
|
42671
|
-
const scrollContainerRef =
|
|
42724
|
+
const dropPositionRef = useRef46(null);
|
|
42725
|
+
const scrollAnimationRef = useRef46(null);
|
|
42726
|
+
const scrollDirectionRef = useRef46(null);
|
|
42727
|
+
const scrollContainerRef = useRef46(null);
|
|
42672
42728
|
const getBlockElements = useCallback174(() => {
|
|
42673
42729
|
if (!containerRef.current) return [];
|
|
42674
42730
|
const blocks = containerRef.current.querySelectorAll('[data-node-type="blockContainer"]');
|
|
@@ -43195,7 +43251,7 @@ import React374 from "react";
|
|
|
43195
43251
|
|
|
43196
43252
|
// src/mantine/components/DevUcanGrantButton.tsx
|
|
43197
43253
|
import React373, { useEffect as useEffect158, useMemo as useMemo159, useState as useState190 } from "react";
|
|
43198
|
-
import { Alert as Alert86, Badge as Badge56, Button as Button85, Checkbox as
|
|
43254
|
+
import { Alert as Alert86, Badge as Badge56, Button as Button85, Checkbox as Checkbox15, Divider as Divider44, Group as Group147, Loader as Loader81, Modal as Modal4, Paper as Paper22, Select as Select9, Stack as Stack265, Text as Text240 } from "@mantine/core";
|
|
43199
43255
|
import { IconKey as IconKey5, IconShieldPlus as IconShieldPlus5 } from "@tabler/icons-react";
|
|
43200
43256
|
var FLOW_AGENT_COMMAND_TYPES = [
|
|
43201
43257
|
"diagnose_blocker",
|
|
@@ -43463,7 +43519,7 @@ function DevUcanGrantButton({ editor, handlers: propHandlers }) {
|
|
|
43463
43519
|
rightSection: loadingMembers ? /* @__PURE__ */ React373.createElement(Loader81, { size: 14 }) : null
|
|
43464
43520
|
}
|
|
43465
43521
|
), /* @__PURE__ */ React373.createElement(Divider44, null), /* @__PURE__ */ React373.createElement(Stack265, { gap: "xs" }, /* @__PURE__ */ React373.createElement(Group147, { justify: "space-between" }, /* @__PURE__ */ React373.createElement(Text240, { size: "sm", fw: 600 }, "UCAN capabilities"), /* @__PURE__ */ React373.createElement(Group147, { gap: "xs" }, /* @__PURE__ */ React373.createElement(Button85, { size: "compact-xs", variant: "subtle", onClick: () => setSelectedCapabilities(capabilityOptions.map((option) => option.id)) }, "All"), /* @__PURE__ */ React373.createElement(Button85, { size: "compact-xs", variant: "subtle", onClick: () => setSelectedCapabilities([]) }, "None"))), /* @__PURE__ */ React373.createElement(Paper22, { withBorder: true, p: "sm", style: { maxHeight: 360, overflow: "auto" } }, /* @__PURE__ */ React373.createElement(Stack265, { gap: "xs" }, capabilityOptions.map((option) => /* @__PURE__ */ React373.createElement(
|
|
43466
|
-
|
|
43522
|
+
Checkbox15,
|
|
43467
43523
|
{
|
|
43468
43524
|
key: option.id,
|
|
43469
43525
|
checked: selectedCapabilities.includes(option.id),
|
|
@@ -43560,7 +43616,7 @@ function DebugButton({ editor, handlers }) {
|
|
|
43560
43616
|
}
|
|
43561
43617
|
|
|
43562
43618
|
// src/mantine/components/PageHeader.tsx
|
|
43563
|
-
import React375, { useState as useState191, useRef as
|
|
43619
|
+
import React375, { useState as useState191, useRef as useRef47, useEffect as useEffect159 } from "react";
|
|
43564
43620
|
function PageHeader({
|
|
43565
43621
|
title = "New page",
|
|
43566
43622
|
icon: icon2,
|
|
@@ -43574,8 +43630,8 @@ function PageHeader({
|
|
|
43574
43630
|
}) {
|
|
43575
43631
|
const [isMenuOpen, setIsMenuOpen] = useState191(false);
|
|
43576
43632
|
const [isPrivacyOpen, setIsPrivacyOpen] = useState191(false);
|
|
43577
|
-
const menuRef =
|
|
43578
|
-
const privacyRef =
|
|
43633
|
+
const menuRef = useRef47(null);
|
|
43634
|
+
const privacyRef = useRef47(null);
|
|
43579
43635
|
useEffect159(() => {
|
|
43580
43636
|
function handleClickOutside(event) {
|
|
43581
43637
|
if (menuRef.current && !menuRef.current.contains(event.target)) {
|
|
@@ -43934,7 +43990,7 @@ var FlowPermissionsPanel = ({ editor, entityDid, entityName, onGrantPermission,
|
|
|
43934
43990
|
|
|
43935
43991
|
// src/mantine/components/GrantPermissionModal.tsx
|
|
43936
43992
|
import React378, { useState as useState194, useCallback as useCallback175 } from "react";
|
|
43937
|
-
import { Modal as Modal6, Stack as Stack268, Text as Text243, TextInput as TextInput13, Button as Button88, Group as Group150, Radio as Radio5, Checkbox as
|
|
43993
|
+
import { Modal as Modal6, Stack as Stack268, Text as Text243, TextInput as TextInput13, Button as Button88, Group as Group150, Radio as Radio5, Checkbox as Checkbox16, Alert as Alert89, Paper as Paper24, Loader as Loader83, Badge as Badge58, ActionIcon as ActionIcon52, Divider as Divider46, NumberInput as NumberInput7 } from "@mantine/core";
|
|
43938
43994
|
import { IconSearch as IconSearch11, IconUser as IconUser15, IconRobot as IconRobot6, IconX as IconX19, IconShieldPlus as IconShieldPlus6 } from "@tabler/icons-react";
|
|
43939
43995
|
var GrantPermissionModal = ({ opened, onClose, flowUri, blocks, targetBlockId, searchUsers, getOracles, onGrant }) => {
|
|
43940
43996
|
const singleBlockMode = !!targetBlockId || blocks.length === 1;
|
|
@@ -44076,7 +44132,7 @@ var GrantPermissionModal = ({ opened, onClose, flowUri, blocks, targetBlockId, s
|
|
|
44076
44132
|
) : (
|
|
44077
44133
|
// Multi-block mode: show scope selection
|
|
44078
44134
|
/* @__PURE__ */ React378.createElement(React378.Fragment, null, /* @__PURE__ */ React378.createElement(Radio5.Group, { value: scopeType, onChange: (v) => setScopeType(v) }, /* @__PURE__ */ React378.createElement(Stack268, { gap: "xs" }, /* @__PURE__ */ React378.createElement(Radio5, { value: "full", label: "Full flow access (can execute any block)" }), /* @__PURE__ */ React378.createElement(Radio5, { value: "blocks", label: "Specific blocks only" }))), scopeType === "blocks" && /* @__PURE__ */ React378.createElement(Paper24, { p: "sm", withBorder: true, style: { maxHeight: 150, overflow: "auto" } }, /* @__PURE__ */ React378.createElement(Stack268, { gap: "xs" }, blocks.map((block) => /* @__PURE__ */ React378.createElement(
|
|
44079
|
-
|
|
44135
|
+
Checkbox16,
|
|
44080
44136
|
{
|
|
44081
44137
|
key: block.id,
|
|
44082
44138
|
label: block.name || `${block.type} (${block.id.slice(-8)})`,
|
|
@@ -44090,8 +44146,8 @@ var GrantPermissionModal = ({ opened, onClose, flowUri, blocks, targetBlockId, s
|
|
|
44090
44146
|
}
|
|
44091
44147
|
}
|
|
44092
44148
|
)))))
|
|
44093
|
-
)), /* @__PURE__ */ React378.createElement(Divider46, null), /* @__PURE__ */ React378.createElement(Stack268, { gap: "xs" }, /* @__PURE__ */ React378.createElement(
|
|
44094
|
-
|
|
44149
|
+
)), /* @__PURE__ */ React378.createElement(Divider46, null), /* @__PURE__ */ React378.createElement(Stack268, { gap: "xs" }, /* @__PURE__ */ React378.createElement(Checkbox16, { label: "Set expiration", checked: expirationEnabled, onChange: (e) => setExpirationEnabled(e.currentTarget.checked) }), expirationEnabled && /* @__PURE__ */ React378.createElement(NumberInput7, { label: "Expires in (days)", placeholder: "30", value: expirationDays, onChange: setExpirationDays, min: 1, max: 365 })), /* @__PURE__ */ React378.createElement(
|
|
44150
|
+
Checkbox16,
|
|
44095
44151
|
{
|
|
44096
44152
|
label: "Recipient can grant permissions to others",
|
|
44097
44153
|
description: "Allow this recipient to delegate their permissions",
|
|
@@ -44218,4 +44274,4 @@ export {
|
|
|
44218
44274
|
getExtraSlashMenuItems,
|
|
44219
44275
|
useCreateIxoEditor
|
|
44220
44276
|
};
|
|
44221
|
-
//# sourceMappingURL=chunk-
|
|
44277
|
+
//# sourceMappingURL=chunk-VECEVZ6B.mjs.map
|