@arbidocs/blocks 0.5.16 → 0.5.18
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/{ConnectedCallDock-PNF46ZCD.js → ConnectedCallDock-2NBGBWY5.js} +6 -6
- package/dist/{ConnectedCallDock-PNF46ZCD.js.map → ConnectedCallDock-2NBGBWY5.js.map} +1 -1
- package/dist/{ConnectedCallDock-AN7H7EA5.cjs → ConnectedCallDock-W5WIPP3F.cjs} +15 -15
- package/dist/{ConnectedCallDock-AN7H7EA5.cjs.map → ConnectedCallDock-W5WIPP3F.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-BCBK3JOH.js → ConnectedCallRoom-5AZH33AJ.js} +6 -6
- package/dist/{ConnectedCallRoom-BCBK3JOH.js.map → ConnectedCallRoom-5AZH33AJ.js.map} +1 -1
- package/dist/{ConnectedCallRoom-CISDTK4R.cjs → ConnectedCallRoom-XR25N6PN.cjs} +7 -7
- package/dist/{ConnectedCallRoom-CISDTK4R.cjs.map → ConnectedCallRoom-XR25N6PN.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-FCAICKSW.js → ConnectedNativeDocxComparison-FZNRXKCH.js} +12 -11
- package/dist/{ConnectedNativeDocxComparison-FCAICKSW.js.map → ConnectedNativeDocxComparison-FZNRXKCH.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-M2YD5ZIU.cjs → ConnectedNativeDocxComparison-KEDY65GN.cjs} +13 -12
- package/dist/{ConnectedNativeDocxComparison-M2YD5ZIU.cjs.map → ConnectedNativeDocxComparison-KEDY65GN.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-WCVJ7UTP.js → ConnectedNativeDocxEditor-E3ZGVJZJ.js} +11 -10
- package/dist/{ConnectedNativeDocxEditor-WCVJ7UTP.js.map → ConnectedNativeDocxEditor-E3ZGVJZJ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-USWYSQTI.cjs → ConnectedNativeDocxEditor-WDIX32SH.cjs} +13 -12
- package/dist/{ConnectedNativeDocxEditor-USWYSQTI.cjs.map → ConnectedNativeDocxEditor-WDIX32SH.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-4VXP44AG.cjs → ConnectedStreamedWordArtifact-AALQYJ5H.cjs} +13 -12
- package/dist/ConnectedStreamedWordArtifact-AALQYJ5H.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-EWTERIGT.js → ConnectedStreamedWordArtifact-HTUZ2KK2.js} +12 -11
- package/dist/ConnectedStreamedWordArtifact-HTUZ2KK2.js.map +1 -0
- package/dist/{WorkspaceTableView-V236NDPK.js → WorkspaceTableView-4VMLQOQ5.js} +4 -4
- package/dist/{WorkspaceTableView-V236NDPK.js.map → WorkspaceTableView-4VMLQOQ5.js.map} +1 -1
- package/dist/{WorkspaceTableView-P4PCXHZ6.cjs → WorkspaceTableView-S2ZHZ64L.cjs} +5 -5
- package/dist/{WorkspaceTableView-P4PCXHZ6.cjs.map → WorkspaceTableView-S2ZHZ64L.cjs.map} +1 -1
- package/dist/agents/index.cjs +330 -329
- package/dist/agents/index.js +8 -7
- package/dist/calls/index.cjs +142 -142
- package/dist/calls/index.js +10 -10
- package/dist/{chunk-5QJDDEYV.js → chunk-2AWDMU6T.js} +3 -3
- package/dist/{chunk-5QJDDEYV.js.map → chunk-2AWDMU6T.js.map} +1 -1
- package/dist/{chunk-ATNQD3AE.js → chunk-2EYAJAKT.js} +3 -3
- package/dist/{chunk-ATNQD3AE.js.map → chunk-2EYAJAKT.js.map} +1 -1
- package/dist/{chunk-PBM6BFFH.cjs → chunk-3L5MXUBZ.cjs} +4 -4
- package/dist/{chunk-PBM6BFFH.cjs.map → chunk-3L5MXUBZ.cjs.map} +1 -1
- package/dist/{chunk-4IMTH6Z4.js → chunk-5RHNGSVP.js} +3 -3
- package/dist/{chunk-4IMTH6Z4.js.map → chunk-5RHNGSVP.js.map} +1 -1
- package/dist/{chunk-TRHAIU6U.js → chunk-5S424MAG.js} +4 -4
- package/dist/{chunk-TRHAIU6U.js.map → chunk-5S424MAG.js.map} +1 -1
- package/dist/{chunk-TDIC7IXS.cjs → chunk-63VQD4R7.cjs} +7 -7
- package/dist/{chunk-TDIC7IXS.cjs.map → chunk-63VQD4R7.cjs.map} +1 -1
- package/dist/{chunk-LFBT3XTK.cjs → chunk-6MHGFCIW.cjs} +14 -14
- package/dist/{chunk-LFBT3XTK.cjs.map → chunk-6MHGFCIW.cjs.map} +1 -1
- package/dist/{chunk-N5YEF3LC.js → chunk-7F5Z4K5W.js} +18 -20
- package/dist/chunk-7F5Z4K5W.js.map +1 -0
- package/dist/{chunk-5DRKMFRL.cjs → chunk-APZFUKR4.cjs} +55 -55
- package/dist/{chunk-5DRKMFRL.cjs.map → chunk-APZFUKR4.cjs.map} +1 -1
- package/dist/{chunk-ZJX7RUQ3.js → chunk-B5BJH76B.js} +4 -4
- package/dist/{chunk-ZJX7RUQ3.js.map → chunk-B5BJH76B.js.map} +1 -1
- package/dist/{chunk-4AAM6UQG.js → chunk-BIZDGRNM.js} +3 -3
- package/dist/{chunk-4AAM6UQG.js.map → chunk-BIZDGRNM.js.map} +1 -1
- package/dist/{chunk-5NFQCGGO.cjs → chunk-BLESTVHK.cjs} +5 -5
- package/dist/{chunk-5NFQCGGO.cjs.map → chunk-BLESTVHK.cjs.map} +1 -1
- package/dist/{chunk-5TALCIRH.js → chunk-CH4FHZSR.js} +4 -91
- package/dist/chunk-CH4FHZSR.js.map +1 -0
- package/dist/{chunk-UCVCYHAC.js → chunk-CTCF4I22.js} +3 -3
- package/dist/{chunk-UCVCYHAC.js.map → chunk-CTCF4I22.js.map} +1 -1
- package/dist/{chunk-AAWF27UG.js → chunk-D3OGQ5ZW.js} +3 -3
- package/dist/{chunk-AAWF27UG.js.map → chunk-D3OGQ5ZW.js.map} +1 -1
- package/dist/{chunk-DJ4BTWMA.cjs → chunk-DAL6B556.cjs} +4 -4
- package/dist/{chunk-DJ4BTWMA.cjs.map → chunk-DAL6B556.cjs.map} +1 -1
- package/dist/{chunk-RAPIHS52.js → chunk-E3H7Q3ZO.js} +3 -3
- package/dist/{chunk-RAPIHS52.js.map → chunk-E3H7Q3ZO.js.map} +1 -1
- package/dist/{chunk-XUWZMZP5.cjs → chunk-F4UYC2M2.cjs} +5 -5
- package/dist/{chunk-XUWZMZP5.cjs.map → chunk-F4UYC2M2.cjs.map} +1 -1
- package/dist/{chunk-WINJF2AK.js → chunk-F6UJUUFK.js} +3 -3
- package/dist/{chunk-WINJF2AK.js.map → chunk-F6UJUUFK.js.map} +1 -1
- package/dist/{chunk-I5KTRLKB.cjs → chunk-G6GUMZOZ.cjs} +10 -10
- package/dist/{chunk-I5KTRLKB.cjs.map → chunk-G6GUMZOZ.cjs.map} +1 -1
- package/dist/{chunk-RG4SLXZG.js → chunk-G7PAZQHJ.js} +3 -3
- package/dist/{chunk-RG4SLXZG.js.map → chunk-G7PAZQHJ.js.map} +1 -1
- package/dist/{chunk-CJFJNR2V.js → chunk-GTO65EQQ.js} +3 -3
- package/dist/{chunk-CJFJNR2V.js.map → chunk-GTO65EQQ.js.map} +1 -1
- package/dist/{chunk-IFE4MZXD.js → chunk-H7L43DIE.js} +3 -3
- package/dist/{chunk-IFE4MZXD.js.map → chunk-H7L43DIE.js.map} +1 -1
- package/dist/{chunk-VPUGVNGV.cjs → chunk-HVEDOBLY.cjs} +4 -4
- package/dist/{chunk-VPUGVNGV.cjs.map → chunk-HVEDOBLY.cjs.map} +1 -1
- package/dist/{chunk-LHLBMP24.js → chunk-HVXNEOOU.js} +6 -6
- package/dist/{chunk-LHLBMP24.js.map → chunk-HVXNEOOU.js.map} +1 -1
- package/dist/{chunk-PSWTOD7E.js → chunk-HXYYH4OB.js} +3 -3
- package/dist/{chunk-PSWTOD7E.js.map → chunk-HXYYH4OB.js.map} +1 -1
- package/dist/{chunk-4MADJGGF.cjs → chunk-JYYJGYUP.cjs} +4 -4
- package/dist/{chunk-4MADJGGF.cjs.map → chunk-JYYJGYUP.cjs.map} +1 -1
- package/dist/{chunk-AUDT4L2H.cjs → chunk-KNQQFJNE.cjs} +4 -4
- package/dist/{chunk-AUDT4L2H.cjs.map → chunk-KNQQFJNE.cjs.map} +1 -1
- package/dist/{chunk-TSD3GFOH.js → chunk-L5UHXBJK.js} +3 -3
- package/dist/{chunk-TSD3GFOH.js.map → chunk-L5UHXBJK.js.map} +1 -1
- package/dist/{chunk-ITOQYYTG.cjs → chunk-LFVD3CS5.cjs} +5 -5
- package/dist/{chunk-ITOQYYTG.cjs.map → chunk-LFVD3CS5.cjs.map} +1 -1
- package/dist/{chunk-C2CWWEHO.cjs → chunk-LKK52DEY.cjs} +18 -20
- package/dist/chunk-LKK52DEY.cjs.map +1 -0
- package/dist/{chunk-52BZME74.cjs → chunk-LNLAD7XW.cjs} +4 -4
- package/dist/{chunk-52BZME74.cjs.map → chunk-LNLAD7XW.cjs.map} +1 -1
- package/dist/{chunk-SWBD76UN.cjs → chunk-M36FYCOE.cjs} +9 -9
- package/dist/{chunk-SWBD76UN.cjs.map → chunk-M36FYCOE.cjs.map} +1 -1
- package/dist/{chunk-RPWNNTJJ.js → chunk-M3AADQ4Y.js} +7 -7
- package/dist/{chunk-RPWNNTJJ.js.map → chunk-M3AADQ4Y.js.map} +1 -1
- package/dist/{chunk-NEODSOVW.js → chunk-MYJJ3RPH.js} +3 -3
- package/dist/{chunk-NEODSOVW.js.map → chunk-MYJJ3RPH.js.map} +1 -1
- package/dist/{chunk-3NTC4UZV.js → chunk-NUHWRBSL.js} +3 -3
- package/dist/{chunk-3NTC4UZV.js.map → chunk-NUHWRBSL.js.map} +1 -1
- package/dist/{chunk-VP7VAE2M.cjs → chunk-P4NS4LV7.cjs} +6 -6
- package/dist/{chunk-VP7VAE2M.cjs.map → chunk-P4NS4LV7.cjs.map} +1 -1
- package/dist/{chunk-MRG4OUL3.js → chunk-PJYE6AJS.js} +6 -6
- package/dist/{chunk-MRG4OUL3.js.map → chunk-PJYE6AJS.js.map} +1 -1
- package/dist/{chunk-JWNCZ6UP.cjs → chunk-QVMQMPBZ.cjs} +4 -4
- package/dist/{chunk-JWNCZ6UP.cjs.map → chunk-QVMQMPBZ.cjs.map} +1 -1
- package/dist/{chunk-3GT6GPTM.cjs → chunk-RZ3EBN7G.cjs} +26 -26
- package/dist/{chunk-3GT6GPTM.cjs.map → chunk-RZ3EBN7G.cjs.map} +1 -1
- package/dist/{chunk-CPLRUC7D.cjs → chunk-SHRNXL2Q.cjs} +76 -76
- package/dist/{chunk-CPLRUC7D.cjs.map → chunk-SHRNXL2Q.cjs.map} +1 -1
- package/dist/chunk-SI222Z3A.cjs +185 -0
- package/dist/chunk-SI222Z3A.cjs.map +1 -0
- package/dist/{chunk-DCQGJNZQ.js → chunk-SX2RX5DT.js} +3 -3
- package/dist/{chunk-DCQGJNZQ.js.map → chunk-SX2RX5DT.js.map} +1 -1
- package/dist/{chunk-3EVLRDXP.cjs → chunk-SZGUU2TS.cjs} +7 -7
- package/dist/{chunk-3EVLRDXP.cjs.map → chunk-SZGUU2TS.cjs.map} +1 -1
- package/dist/{chunk-A6MGGHHN.cjs → chunk-T55BHIB7.cjs} +4 -4
- package/dist/{chunk-A6MGGHHN.cjs.map → chunk-T55BHIB7.cjs.map} +1 -1
- package/dist/{chunk-35AUFGD7.js → chunk-T5ZFFHC6.js} +4 -4
- package/dist/{chunk-35AUFGD7.js.map → chunk-T5ZFFHC6.js.map} +1 -1
- package/dist/{chunk-ML27HIMM.cjs → chunk-TCT2VS72.cjs} +6 -6
- package/dist/{chunk-ML27HIMM.cjs.map → chunk-TCT2VS72.cjs.map} +1 -1
- package/dist/{chunk-OKYALUAN.js → chunk-TXLMCQOH.js} +4 -4
- package/dist/{chunk-OKYALUAN.js.map → chunk-TXLMCQOH.js.map} +1 -1
- package/dist/chunk-U4HWVCRN.js +180 -0
- package/dist/chunk-U4HWVCRN.js.map +1 -0
- package/dist/{chunk-IUPZMPXP.cjs → chunk-UR6DWL4L.cjs} +20 -20
- package/dist/{chunk-IUPZMPXP.cjs.map → chunk-UR6DWL4L.cjs.map} +1 -1
- package/dist/{chunk-AE3M3RTH.js → chunk-VNWWK44S.js} +6 -6
- package/dist/{chunk-AE3M3RTH.js.map → chunk-VNWWK44S.js.map} +1 -1
- package/dist/{chunk-HJQLVCIK.cjs → chunk-WUG24K7P.cjs} +4 -4
- package/dist/{chunk-HJQLVCIK.cjs.map → chunk-WUG24K7P.cjs.map} +1 -1
- package/dist/{chunk-U7ZBIU4S.cjs → chunk-XZ2IUJQV.cjs} +4 -4
- package/dist/{chunk-U7ZBIU4S.cjs.map → chunk-XZ2IUJQV.cjs.map} +1 -1
- package/dist/{chunk-5RIPA5DV.js → chunk-YFLARXLW.js} +5 -5
- package/dist/{chunk-5RIPA5DV.js.map → chunk-YFLARXLW.js.map} +1 -1
- package/dist/{chunk-OTV7TUKD.cjs → chunk-Z3IB6UMJ.cjs} +29 -29
- package/dist/{chunk-OTV7TUKD.cjs.map → chunk-Z3IB6UMJ.cjs.map} +1 -1
- package/dist/{chunk-BZF6E46W.cjs → chunk-ZLSMS6OK.cjs} +5 -92
- package/dist/chunk-ZLSMS6OK.cjs.map +1 -0
- package/dist/citations/index.cjs +12 -10
- package/dist/citations/index.js +4 -2
- package/dist/collaboration/index.cjs +68 -68
- package/dist/collaboration/index.js +2 -2
- package/dist/connect/docx.cjs +15 -14
- package/dist/connect/docx.js +11 -10
- package/dist/connect/index.cjs +774 -775
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +34 -35
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +95 -95
- package/dist/connect/viewer.js +18 -18
- package/dist/connection/billing/{ReferralReward.d.ts → ConnectedReferralReward.d.ts} +7 -7
- package/dist/connection/billing/referral-reward.d.ts +1 -1
- package/dist/databases/index.cjs +2 -2
- package/dist/databases/index.js +1 -1
- package/dist/document-tools/index.cjs +16 -16
- package/dist/document-tools/index.js +2 -2
- package/dist/facts/index.cjs +6 -5
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.js +4 -3
- package/dist/facts/index.js.map +1 -1
- package/dist/files/index.cjs +226 -225
- package/dist/files/index.js +5 -4
- package/dist/home/index.cjs +31 -30
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +6 -5
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +521 -520
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/provider/dialogs.d.ts +43 -0
- package/dist/retrieval/index.cjs +5 -4
- package/dist/retrieval/index.js +3 -2
- package/dist/settings/index.cjs +3 -3
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/shell/index.cjs +47 -46
- package/dist/shell/index.js +4 -3
- package/dist/studio/index.cjs +14 -13
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +6 -5
- package/dist/studio/index.js.map +1 -1
- package/dist/workflow-canvas/index.cjs +28 -27
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +10 -9
- package/dist/workflow-canvas/index.js.map +1 -1
- package/dist/workspaces/index.cjs +22 -20
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.js +6 -4
- package/dist/workspaces/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-4VXP44AG.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-EWTERIGT.js.map +0 -1
- package/dist/chunk-5TALCIRH.js.map +0 -1
- package/dist/chunk-BZF6E46W.cjs.map +0 -1
- package/dist/chunk-C2CWWEHO.cjs.map +0 -1
- package/dist/chunk-ECERC6TI.js +0 -77
- package/dist/chunk-ECERC6TI.js.map +0 -1
- package/dist/chunk-N5YEF3LC.js.map +0 -1
- package/dist/chunk-ZAVEMQ37.cjs +0 -80
- package/dist/chunk-ZAVEMQ37.cjs.map +0 -1
- package/dist/settings/ConfirmDialog.d.ts +0 -31
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ModalScaffold } from './chunk-TX2ZICS7.js';
|
|
3
|
+
import { testIdOr } from './chunk-7F6CBP3Z.js';
|
|
4
|
+
import { useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { AlertTriangle, Info, AlertCircle } from 'lucide-react';
|
|
6
|
+
import { Button } from '@arbidocs/react/ui';
|
|
7
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var DEFAULT_CONFIRM_DIALOG_LABELS = {
|
|
10
|
+
confirm: "Confirm",
|
|
11
|
+
cancel: "Cancel",
|
|
12
|
+
pleaseWait: "Please wait..."
|
|
13
|
+
};
|
|
14
|
+
function ConfirmDialog({
|
|
15
|
+
isOpen,
|
|
16
|
+
onClose,
|
|
17
|
+
onConfirm,
|
|
18
|
+
title,
|
|
19
|
+
description,
|
|
20
|
+
confirmText,
|
|
21
|
+
cancelText,
|
|
22
|
+
variant = "destructive",
|
|
23
|
+
isLoading = false,
|
|
24
|
+
labels,
|
|
25
|
+
testId,
|
|
26
|
+
testIds,
|
|
27
|
+
children
|
|
28
|
+
}) {
|
|
29
|
+
const l = useMemo(() => ({ ...DEFAULT_CONFIRM_DIALOG_LABELS, ...labels }), [labels]);
|
|
30
|
+
const cancelRef = useRef(null);
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
ModalScaffold,
|
|
33
|
+
{
|
|
34
|
+
open: isOpen,
|
|
35
|
+
onOpenChange: (next) => {
|
|
36
|
+
if (!next) onClose();
|
|
37
|
+
},
|
|
38
|
+
role: "alertdialog",
|
|
39
|
+
initialFocusRef: cancelRef,
|
|
40
|
+
title,
|
|
41
|
+
description: /* @__PURE__ */ jsx("span", { className: "whitespace-pre-line", children: description }),
|
|
42
|
+
showDescription: true,
|
|
43
|
+
icon: variant === "destructive" ? /* @__PURE__ */ jsx(AlertTriangle, { className: "h-5 w-5 text-red-text", "aria-hidden": "true" }) : null,
|
|
44
|
+
testId: testIdOr(testId, { testId: "confirmation-modal" }),
|
|
45
|
+
children: [
|
|
46
|
+
children,
|
|
47
|
+
/* @__PURE__ */ jsxs(ModalScaffold.Footer, { children: [
|
|
48
|
+
/* @__PURE__ */ jsx(
|
|
49
|
+
Button,
|
|
50
|
+
{
|
|
51
|
+
ref: cancelRef,
|
|
52
|
+
variant: "outline",
|
|
53
|
+
onClick: () => onClose(),
|
|
54
|
+
disabled: isLoading,
|
|
55
|
+
"data-testid": testIdOr(testIds?.cancel, { testId: "confirmation-modal-cancel-button" }),
|
|
56
|
+
children: cancelText ?? l.cancel
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
/* @__PURE__ */ jsx(
|
|
60
|
+
Button,
|
|
61
|
+
{
|
|
62
|
+
variant,
|
|
63
|
+
onClick: onConfirm,
|
|
64
|
+
disabled: isLoading,
|
|
65
|
+
"data-testid": testIdOr(testIds?.confirm, { testId: "confirmation-modal-confirm-button" }),
|
|
66
|
+
children: isLoading ? l.pleaseWait : confirmText ?? l.confirm
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
] })
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
var UNMOUNT_DELAY_MS = 300;
|
|
75
|
+
function PromptDialog({
|
|
76
|
+
request,
|
|
77
|
+
onSettle
|
|
78
|
+
}) {
|
|
79
|
+
const [open, setOpen] = useState(true);
|
|
80
|
+
const { message, title = "Confirm", choices, icon = "alert", testId = "choice-modal" } = request;
|
|
81
|
+
const settle = (value) => {
|
|
82
|
+
setOpen(false);
|
|
83
|
+
onSettle(value);
|
|
84
|
+
};
|
|
85
|
+
return /* @__PURE__ */ jsx(
|
|
86
|
+
ModalScaffold,
|
|
87
|
+
{
|
|
88
|
+
open,
|
|
89
|
+
onOpenChange: (next) => {
|
|
90
|
+
if (!next) settle(null);
|
|
91
|
+
},
|
|
92
|
+
title,
|
|
93
|
+
icon: icon === "info" ? /* @__PURE__ */ jsx(Info, { className: "h-5 w-5 text-blue-text", "aria-hidden": "true" }) : /* @__PURE__ */ jsx(AlertCircle, { className: "h-5 w-5", "aria-hidden": "true" }),
|
|
94
|
+
description: /* @__PURE__ */ jsx("span", { className: "whitespace-pre-line", children: message }),
|
|
95
|
+
showDescription: true,
|
|
96
|
+
testId,
|
|
97
|
+
children: /* @__PURE__ */ jsx(ModalScaffold.Footer, { children: choices.map((choice) => /* @__PURE__ */ jsx(
|
|
98
|
+
Button,
|
|
99
|
+
{
|
|
100
|
+
variant: choice.variant ?? "default",
|
|
101
|
+
onClick: () => settle(choice.value),
|
|
102
|
+
"data-testid": `${testId}-${choice.value.toLowerCase()}-button`,
|
|
103
|
+
children: choice.label
|
|
104
|
+
},
|
|
105
|
+
choice.value
|
|
106
|
+
)) })
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
function mountDialog(fallback, render) {
|
|
111
|
+
if (typeof document === "undefined") return Promise.resolve(fallback);
|
|
112
|
+
return new Promise((resolve) => {
|
|
113
|
+
const container = document.createElement("div");
|
|
114
|
+
document.body.appendChild(container);
|
|
115
|
+
let settled = false;
|
|
116
|
+
void import('react-dom/client').then(({ createRoot }) => {
|
|
117
|
+
const root = createRoot(container);
|
|
118
|
+
const settle = (value) => {
|
|
119
|
+
if (settled) return;
|
|
120
|
+
settled = true;
|
|
121
|
+
resolve(value);
|
|
122
|
+
setTimeout(() => {
|
|
123
|
+
root.unmount();
|
|
124
|
+
container.remove();
|
|
125
|
+
}, UNMOUNT_DELAY_MS);
|
|
126
|
+
};
|
|
127
|
+
root.render(render(settle));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function choiceDialog(request) {
|
|
132
|
+
return mountDialog(null, (settle) => /* @__PURE__ */ jsx(PromptDialog, { request, onSettle: settle }));
|
|
133
|
+
}
|
|
134
|
+
function PromptConfirm({
|
|
135
|
+
request,
|
|
136
|
+
kind,
|
|
137
|
+
onSettle
|
|
138
|
+
}) {
|
|
139
|
+
const [open, setOpen] = useState(true);
|
|
140
|
+
const settle = (value) => {
|
|
141
|
+
setOpen(false);
|
|
142
|
+
onSettle(value);
|
|
143
|
+
};
|
|
144
|
+
const yesno = kind === "yesno";
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
ConfirmDialog,
|
|
147
|
+
{
|
|
148
|
+
isOpen: open,
|
|
149
|
+
onClose: () => settle(false),
|
|
150
|
+
onConfirm: () => settle(true),
|
|
151
|
+
title: request.title ?? "Confirm",
|
|
152
|
+
description: request.message,
|
|
153
|
+
variant: yesno ? "default" : "destructive",
|
|
154
|
+
...yesno ? {
|
|
155
|
+
confirmText: "Yes",
|
|
156
|
+
cancelText: "No",
|
|
157
|
+
testId: "yes-no-modal",
|
|
158
|
+
testIds: { confirm: "yes-no-modal-yes-button", cancel: "yes-no-modal-no-button" }
|
|
159
|
+
} : {}
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
async function confirmDialog(request) {
|
|
164
|
+
const kind = request.kind ?? "confirm";
|
|
165
|
+
if (kind === "alert") {
|
|
166
|
+
const choice = await choiceDialog({
|
|
167
|
+
message: request.message,
|
|
168
|
+
title: request.title ?? "Alert",
|
|
169
|
+
choices: [{ label: "OK", value: "ok" }],
|
|
170
|
+
icon: "info",
|
|
171
|
+
testId: "alert-modal"
|
|
172
|
+
});
|
|
173
|
+
return choice === "ok";
|
|
174
|
+
}
|
|
175
|
+
return mountDialog(false, (settle) => /* @__PURE__ */ jsx(PromptConfirm, { request, kind, onSettle: settle }));
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS, choiceDialog, confirmDialog };
|
|
179
|
+
//# sourceMappingURL=chunk-U4HWVCRN.js.map
|
|
180
|
+
//# sourceMappingURL=chunk-U4HWVCRN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider/dialogs.tsx"],"names":[],"mappings":";;;;;;;AAyBO,IAAM,6BAAA,GAAqD;AAAA,EAChE,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ,QAAA;AAAA,EACR,UAAA,EAAY;AACd;AAyBO,SAAS,aAAA,CAAc;AAAA,EAC5B,MAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA,GAAU,aAAA;AAAA,EACV,SAAA,GAAY,KAAA;AAAA,EACZ,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,CAAA,GAAI,OAAA,CAAQ,OAAO,EAAE,GAAG,6BAAA,EAA+B,GAAG,MAAA,EAAO,CAAA,EAAI,CAAC,MAAM,CAAC,CAAA;AACnF,EAAA,MAAM,SAAA,GAAY,OAA0B,IAAI,CAAA;AAChD,EAAA,uBACE,IAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,MAAA;AAAA,MACN,YAAA,EAAc,CAAC,IAAA,KAAS;AACtB,QAAA,IAAI,CAAC,MAAM,OAAA,EAAQ;AAAA,MACrB,CAAA;AAAA,MACA,IAAA,EAAK,aAAA;AAAA,MACL,eAAA,EAAiB,SAAA;AAAA,MACjB,KAAA;AAAA,MACA,WAAA,kBAAa,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uBAAuB,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,MAChE,eAAA,EAAe,IAAA;AAAA,MACf,IAAA,EACE,YAAY,aAAA,mBACV,GAAA,CAAC,iBAAc,SAAA,EAAU,uBAAA,EAAwB,aAAA,EAAY,MAAA,EAAO,CAAA,GAClE,IAAA;AAAA,MAEN,QAAQ,QAAA,CAAS,MAAA,EAAQ,EAAE,MAAA,EAAQ,sBAAsB,CAAA;AAAA,MAExD,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,IAAA,CAAC,aAAA,CAAc,MAAA,EAAd,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,SAAA;AAAA,cACL,OAAA,EAAQ,SAAA;AAAA,cACR,OAAA,EAAS,MAAM,OAAA,EAAQ;AAAA,cACvB,QAAA,EAAU,SAAA;AAAA,cACV,eAAa,QAAA,CAAS,OAAA,EAAS,QAAQ,EAAE,MAAA,EAAQ,oCAAoC,CAAA;AAAA,cAEpF,wBAAc,CAAA,CAAE;AAAA;AAAA,WACnB;AAAA,0BACA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,OAAA;AAAA,cACA,OAAA,EAAS,SAAA;AAAA,cACT,QAAA,EAAU,SAAA;AAAA,cACV,eAAa,QAAA,CAAS,OAAA,EAAS,SAAS,EAAE,MAAA,EAAQ,qCAAqC,CAAA;AAAA,cAEtF,QAAA,EAAA,SAAA,GAAY,CAAA,CAAE,UAAA,GAAc,WAAA,IAAe,CAAA,CAAE;AAAA;AAAA;AAChD,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAiCA,IAAM,gBAAA,GAAmB,GAAA;AAEzB,SAAS,YAAA,CAA+B;AAAA,EACtC,OAAA;AAAA,EACA;AACF,CAAA,EAGiB;AACf,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,IAAI,CAAA;AACrC,EAAA,MAAM,EAAE,SAAS,KAAA,GAAQ,SAAA,EAAW,SAAS,IAAA,GAAO,OAAA,EAAS,MAAA,GAAS,cAAA,EAAe,GAAI,OAAA;AACzF,EAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAAoB;AAClC,IAAA,OAAA,CAAQ,KAAK,CAAA;AACb,IAAA,QAAA,CAAS,KAAK,CAAA;AAAA,EAChB,CAAA;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,YAAA,EAAc,CAAC,IAAA,KAAS;AACtB,QAAA,IAAI,CAAC,IAAA,EAAM,MAAA,CAAO,IAAI,CAAA;AAAA,MACxB,CAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA,EACE,IAAA,KAAS,MAAA,mBACP,GAAA,CAAC,QAAK,SAAA,EAAU,wBAAA,EAAyB,aAAA,EAAY,MAAA,EAAO,oBAE5D,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAU,eAAY,MAAA,EAAO,CAAA;AAAA,MAGxD,WAAA,kBAAa,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uBAAuB,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,MAC5D,eAAA,EAAe,IAAA;AAAA,MACf,MAAA;AAAA,MAEA,8BAAC,aAAA,CAAc,MAAA,EAAd,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACZ,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UAEC,OAAA,EAAS,OAAO,OAAA,IAAW,SAAA;AAAA,UAC3B,OAAA,EAAS,MAAM,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AAAA,UAClC,eAAa,CAAA,EAAG,MAAM,IAAI,MAAA,CAAO,KAAA,CAAM,aAAa,CAAA,OAAA,CAAA;AAAA,UAEnD,QAAA,EAAA,MAAA,CAAO;AAAA,SAAA;AAAA,QALH,MAAA,CAAO;AAAA,OAOf,CAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAGA,SAAS,WAAA,CACP,UACA,MAAA,EACY;AACZ,EAAA,IAAI,OAAO,QAAA,KAAa,WAAA,EAAa,OAAO,OAAA,CAAQ,QAAQ,QAAQ,CAAA;AACpE,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY;AAC9B,IAAA,MAAM,SAAA,GAAY,QAAA,CAAS,aAAA,CAAc,KAAK,CAAA;AAC9C,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,SAAS,CAAA;AACnC,IAAA,IAAI,OAAA,GAAU,KAAA;AACd,IAAA,KAAK,OAAO,kBAAkB,CAAA,CAAE,KAAK,CAAC,EAAE,YAAW,KAAM;AACvD,MAAA,MAAM,IAAA,GAAO,WAAW,SAAS,CAAA;AACjC,MAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAAa;AAC3B,QAAA,IAAI,OAAA,EAAS;AACb,QAAA,OAAA,GAAU,IAAA;AACV,QAAA,OAAA,CAAQ,KAAK,CAAA;AACb,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,IAAA,CAAK,OAAA,EAAQ;AACb,UAAA,SAAA,CAAU,MAAA,EAAO;AAAA,QACnB,GAAG,gBAAgB,CAAA;AAAA,MACrB,CAAA;AACA,MAAA,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,MAAM,CAAC,CAAA;AAAA,IAC5B,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACH;AAGO,SAAS,aAA+B,OAAA,EAA8C;AAC3F,EAAA,OAAO,WAAA,CAAsB,MAAM,CAAC,MAAA,yBACjC,YAAA,EAAA,EAAa,OAAA,EAAkB,QAAA,EAAU,MAAA,EAAQ,CACnD,CAAA;AACH;AAGA,SAAS,aAAA,CAAc;AAAA,EACrB,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAIiB;AACf,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,IAAI,CAAA;AACrC,EAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAAmB;AACjC,IAAA,OAAA,CAAQ,KAAK,CAAA;AACb,IAAA,QAAA,CAAS,KAAK,CAAA;AAAA,EAChB,CAAA;AACA,EAAA,MAAM,QAAQ,IAAA,KAAS,OAAA;AACvB,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAS,MAAM,MAAA,CAAO,KAAK,CAAA;AAAA,MAC3B,SAAA,EAAW,MAAM,MAAA,CAAO,IAAI,CAAA;AAAA,MAC5B,KAAA,EAAO,QAAQ,KAAA,IAAS,SAAA;AAAA,MACxB,aAAa,OAAA,CAAQ,OAAA;AAAA,MACrB,OAAA,EAAS,QAAQ,SAAA,GAAY,aAAA;AAAA,MAC5B,GAAI,KAAA,GACD;AAAA,QACE,WAAA,EAAa,KAAA;AAAA,QACb,UAAA,EAAY,IAAA;AAAA,QACZ,MAAA,EAAQ,cAAA;AAAA,QACR,OAAA,EAAS,EAAE,OAAA,EAAS,yBAAA,EAA2B,QAAQ,wBAAA;AAAyB,UAElF;AAAC;AAAA,GACP;AAEJ;AAGA,eAAsB,cAAc,OAAA,EAA2C;AAC7E,EAAA,MAAM,IAAA,GAAO,QAAQ,IAAA,IAAQ,SAAA;AAC7B,EAAA,IAAI,SAAS,OAAA,EAAS;AACpB,IAAA,MAAM,MAAA,GAAS,MAAM,YAAA,CAAa;AAAA,MAChC,SAAS,OAAA,CAAQ,OAAA;AAAA,MACjB,KAAA,EAAO,QAAQ,KAAA,IAAS,OAAA;AAAA,MACxB,SAAS,CAAC,EAAE,OAAO,IAAA,EAAM,KAAA,EAAO,MAAM,CAAA;AAAA,MACtC,IAAA,EAAM,MAAA;AAAA,MACN,MAAA,EAAQ;AAAA,KACT,CAAA;AACD,IAAA,OAAO,MAAA,KAAW,IAAA;AAAA,EACpB;AACA,EAAA,OAAO,WAAA,CAAY,KAAA,EAAO,CAAC,MAAA,qBACzB,GAAA,CAAC,iBAAc,OAAA,EAAkB,IAAA,EAAY,QAAA,EAAU,MAAA,EAAQ,CAChE,CAAA;AACH","file":"chunk-U4HWVCRN.js","sourcesContent":["/**\n * The one confirmation dialog, and the promise-based prompts built on it — the blocks replacement\n * for `window.confirm` / `window.alert`.\n *\n * - `ConfirmDialog` is the declarative yes/no dialog (with a loading state and optional content).\n * - `confirmDialog()` shows that same dialog from any event handler: each call mounts its own\n * short-lived React root, so no dialog host is needed in the tree.\n * - `choiceDialog()` offers arbitrary choices (Overwrite / Skip / Cancel); an `alert` is one OK.\n *\n * Hosts reach the prompts through `useBlocksEnvironment().confirm` / `.choose` (the defaults),\n * which lets an app swap in its own dialogs without touching callers.\n */\nimport { useMemo, useRef, useState, type ReactElement, type ReactNode } from 'react'\nimport { AlertCircle, AlertTriangle, Info } from 'lucide-react'\nimport { Button } from '@arbidocs/react/ui'\nimport { testIdOr } from '../chat/test-id'\nimport { ModalScaffold } from '../settings/ModalScaffold'\n\n/** Every fixed string of the confirm dialog. `confirmText` / `cancelText` props win. */\nexport interface ConfirmDialogLabels {\n confirm: string\n cancel: string\n pleaseWait: string\n}\n\nexport const DEFAULT_CONFIRM_DIALOG_LABELS: ConfirmDialogLabels = {\n confirm: 'Confirm',\n cancel: 'Cancel',\n pleaseWait: 'Please wait...',\n}\n\nexport interface ConfirmDialogProps {\n labels?: Partial<ConfirmDialogLabels>\n isOpen: boolean\n onClose: () => void\n onConfirm: () => void\n title: string\n description: string\n confirmText?: string\n cancelText?: string\n variant?: 'destructive' | 'default'\n isLoading?: boolean\n /** Dialog test id (default `confirmation-modal`). */\n testId?: string\n /** Button ids; defaults are the current ids. */\n testIds?: Partial<Record<'cancel' | 'confirm', string>>\n /** Extra content between the description and the buttons (e.g. an opt-in checkbox). */\n children?: ReactNode\n}\n\n/**\n * Declarative yes/no confirmation with a loading state. An `alertdialog`: initial focus is on\n * Cancel (the safe action) and clicking outside does not dismiss it; Escape and Cancel do.\n */\nexport function ConfirmDialog({\n isOpen,\n onClose,\n onConfirm,\n title,\n description,\n confirmText,\n cancelText,\n variant = 'destructive',\n isLoading = false,\n labels,\n testId,\n testIds,\n children,\n}: ConfirmDialogProps) {\n const l = useMemo(() => ({ ...DEFAULT_CONFIRM_DIALOG_LABELS, ...labels }), [labels])\n const cancelRef = useRef<HTMLButtonElement>(null)\n return (\n <ModalScaffold\n open={isOpen}\n onOpenChange={(next) => {\n if (!next) onClose()\n }}\n role=\"alertdialog\"\n initialFocusRef={cancelRef}\n title={title}\n description={<span className=\"whitespace-pre-line\">{description}</span>}\n showDescription\n icon={\n variant === 'destructive' ? (\n <AlertTriangle className=\"h-5 w-5 text-red-text\" aria-hidden=\"true\" />\n ) : null\n }\n testId={testIdOr(testId, { testId: 'confirmation-modal' })}\n >\n {children}\n <ModalScaffold.Footer>\n <Button\n ref={cancelRef}\n variant=\"outline\"\n onClick={() => onClose()}\n disabled={isLoading}\n data-testid={testIdOr(testIds?.cancel, { testId: 'confirmation-modal-cancel-button' })}\n >\n {cancelText ?? l.cancel}\n </Button>\n <Button\n variant={variant}\n onClick={onConfirm}\n disabled={isLoading}\n data-testid={testIdOr(testIds?.confirm, { testId: 'confirmation-modal-confirm-button' })}\n >\n {isLoading ? l.pleaseWait : (confirmText ?? l.confirm)}\n </Button>\n </ModalScaffold.Footer>\n </ModalScaffold>\n )\n}\ntype ChoiceVariant = 'default' | 'destructive' | 'outline'\n\nexport interface PromptChoice<T extends string> {\n label: string\n value: T\n variant?: ChoiceVariant\n}\n\n/** A dialog offering arbitrary choices (e.g. Overwrite / Skip / Cancel). */\nexport interface ChoiceRequest<T extends string> {\n message: string\n title?: string\n choices: PromptChoice<T>[]\n icon?: 'alert' | 'info'\n /** Dialog test id; each button is `${testId}-${value}-button`. Default `choice-modal`. */\n testId?: string\n}\n\n/**\n * `confirm` — Cancel / Confirm (destructive); `yesno` — No / Yes; `alert` — a single OK\n * (resolves true once acknowledged).\n */\nexport type ConfirmKind = 'confirm' | 'yesno' | 'alert'\n\nexport interface ConfirmRequest {\n message: string\n /** Default: \"Alert\" for `alert`, else \"Confirm\". */\n title?: string\n kind?: ConfirmKind\n}\n\n/** Close animation length before the root is unmounted. */\nconst UNMOUNT_DELAY_MS = 300\n\nfunction PromptDialog<T extends string>({\n request,\n onSettle,\n}: {\n request: ChoiceRequest<T>\n onSettle: (value: T | null) => void\n}): ReactElement {\n const [open, setOpen] = useState(true)\n const { message, title = 'Confirm', choices, icon = 'alert', testId = 'choice-modal' } = request\n const settle = (value: T | null) => {\n setOpen(false)\n onSettle(value)\n }\n return (\n <ModalScaffold\n open={open}\n onOpenChange={(next) => {\n if (!next) settle(null)\n }}\n title={title}\n icon={\n icon === 'info' ? (\n <Info className=\"h-5 w-5 text-blue-text\" aria-hidden=\"true\" />\n ) : (\n <AlertCircle className=\"h-5 w-5\" aria-hidden=\"true\" />\n )\n }\n description={<span className=\"whitespace-pre-line\">{message}</span>}\n showDescription\n testId={testId}\n >\n <ModalScaffold.Footer>\n {choices.map((choice) => (\n <Button\n key={choice.value}\n variant={choice.variant ?? 'default'}\n onClick={() => settle(choice.value)}\n data-testid={`${testId}-${choice.value.toLowerCase()}-button`}\n >\n {choice.label}\n </Button>\n ))}\n </ModalScaffold.Footer>\n </ModalScaffold>\n )\n}\n\n/** Mount a dialog in its own short-lived root; `render` gets the settle callback. */\nfunction mountDialog<R>(\n fallback: R,\n render: (settle: (value: R) => void) => ReactElement\n): Promise<R> {\n if (typeof document === 'undefined') return Promise.resolve(fallback)\n return new Promise((resolve) => {\n const container = document.createElement('div')\n document.body.appendChild(container)\n let settled = false\n void import('react-dom/client').then(({ createRoot }) => {\n const root = createRoot(container)\n const settle = (value: R) => {\n if (settled) return\n settled = true\n resolve(value)\n setTimeout(() => {\n root.unmount()\n container.remove()\n }, UNMOUNT_DELAY_MS)\n }\n root.render(render(settle))\n })\n })\n}\n\n/** Show a choice dialog; resolves with the chosen `value`, or `null` when dismissed. */\nexport function choiceDialog<T extends string>(request: ChoiceRequest<T>): Promise<T | null> {\n return mountDialog<T | null>(null, (settle) => (\n <PromptDialog request={request} onSettle={settle} />\n ))\n}\n\n/** `ConfirmDialog` driven by a promise: open until answered, then closes. */\nfunction PromptConfirm({\n request,\n kind,\n onSettle,\n}: {\n request: ConfirmRequest\n kind: 'confirm' | 'yesno'\n onSettle: (value: boolean) => void\n}): ReactElement {\n const [open, setOpen] = useState(true)\n const settle = (value: boolean) => {\n setOpen(false)\n onSettle(value)\n }\n const yesno = kind === 'yesno'\n return (\n <ConfirmDialog\n isOpen={open}\n onClose={() => settle(false)}\n onConfirm={() => settle(true)}\n title={request.title ?? 'Confirm'}\n description={request.message}\n variant={yesno ? 'default' : 'destructive'}\n {...(yesno\n ? {\n confirmText: 'Yes',\n cancelText: 'No',\n testId: 'yes-no-modal',\n testIds: { confirm: 'yes-no-modal-yes-button', cancel: 'yes-no-modal-no-button' },\n }\n : {})}\n />\n )\n}\n\n/** Show a confirmation; resolves true on Confirm / Yes / OK, false on cancel or dismissal. */\nexport async function confirmDialog(request: ConfirmRequest): Promise<boolean> {\n const kind = request.kind ?? 'confirm'\n if (kind === 'alert') {\n const choice = await choiceDialog({\n message: request.message,\n title: request.title ?? 'Alert',\n choices: [{ label: 'OK', value: 'ok' }],\n icon: 'info',\n testId: 'alert-modal',\n })\n return choice === 'ok'\n }\n return mountDialog(false, (settle) => (\n <PromptConfirm request={request} kind={kind} onSettle={settle} />\n ))\n}\n"]}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunkRFIBUWLF_cjs = require('./chunk-RFIBUWLF.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var chunkG6GUMZOZ_cjs = require('./chunk-G6GUMZOZ.cjs');
|
|
6
|
+
var chunkF4UYC2M2_cjs = require('./chunk-F4UYC2M2.cjs');
|
|
7
7
|
var chunkSIB6C7P7_cjs = require('./chunk-SIB6C7P7.cjs');
|
|
8
8
|
var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var chunk3L5MXUBZ_cjs = require('./chunk-3L5MXUBZ.cjs');
|
|
10
|
+
var chunkLKK52DEY_cjs = require('./chunk-LKK52DEY.cjs');
|
|
11
11
|
var chunkMEMWZ72Y_cjs = require('./chunk-MEMWZ72Y.cjs');
|
|
12
|
-
var
|
|
12
|
+
var chunkZLSMS6OK_cjs = require('./chunk-ZLSMS6OK.cjs');
|
|
13
13
|
var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
|
|
14
14
|
var chunkEZLZ3MDU_cjs = require('./chunk-EZLZ3MDU.cjs');
|
|
15
15
|
var chunk76L6LOP3_cjs = require('./chunk-76L6LOP3.cjs');
|
|
@@ -77,7 +77,7 @@ function defaultScopeRenderer(scopeSource) {
|
|
|
77
77
|
if (!scopeSource) return void 0;
|
|
78
78
|
return function renderScope(_field, value, onChange) {
|
|
79
79
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
-
|
|
80
|
+
chunkF4UYC2M2_cjs.ScopePicker,
|
|
81
81
|
{
|
|
82
82
|
folders: scopeSource.folders,
|
|
83
83
|
unfiledCount: scopeSource.unfiledCount,
|
|
@@ -1704,7 +1704,7 @@ function WorkflowRunner({
|
|
|
1704
1704
|
/* @__PURE__ */ jsxRuntime.jsx(SentBackNote, { state: run.stateOf(step.id), l: pl, testId: tid(step.id) }),
|
|
1705
1705
|
/* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
|
|
1706
1706
|
/* @__PURE__ */ jsxRuntime.jsx("fieldset", { disabled: run.isLocked(step.id), className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1707
|
-
|
|
1707
|
+
chunkG6GUMZOZ_cjs.SchemaForm,
|
|
1708
1708
|
{
|
|
1709
1709
|
fields: step.inputs,
|
|
1710
1710
|
values: run.inputs,
|
|
@@ -1758,7 +1758,7 @@ function WorkflowRunner({
|
|
|
1758
1758
|
/* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
|
|
1759
1759
|
!(run.phaseOf(step.id) === "done" && run.stateOf(step.id)?.by) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", "data-testid": tid(`${step.id}-status`), children: run.phaseOf(step.id) === "done" ? l.approved : run.phaseOf(step.id) === "skipped" ? l.skipped : l.awaitingReview }),
|
|
1760
1760
|
(step.fields ?? []).length > 0 && run.phaseOf(step.id) === "ready" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
-
|
|
1761
|
+
chunkG6GUMZOZ_cjs.SchemaForm,
|
|
1762
1762
|
{
|
|
1763
1763
|
fields: step.fields ?? [],
|
|
1764
1764
|
values: run.inputs,
|
|
@@ -2853,7 +2853,7 @@ function WorkflowStepAction({
|
|
|
2853
2853
|
const errors = chunk76L6LOP3_cjs.validateInputs(asForm(step), values);
|
|
2854
2854
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-1", "data-testid": tid, children: [
|
|
2855
2855
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2856
|
-
|
|
2856
|
+
chunkG6GUMZOZ_cjs.SchemaForm,
|
|
2857
2857
|
{
|
|
2858
2858
|
fields,
|
|
2859
2859
|
values,
|
|
@@ -3278,7 +3278,7 @@ function AgentCreator({
|
|
|
3278
3278
|
] })
|
|
3279
3279
|
] }),
|
|
3280
3280
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3281
|
-
|
|
3281
|
+
chunkF4UYC2M2_cjs.FoldSection,
|
|
3282
3282
|
{
|
|
3283
3283
|
label: l.advanced,
|
|
3284
3284
|
open: advancedOpen,
|
|
@@ -3525,7 +3525,7 @@ var DEFAULT_AGENT_TYPES = [
|
|
|
3525
3525
|
}
|
|
3526
3526
|
];
|
|
3527
3527
|
function AgentConnectInstructions({ email, signingKey }) {
|
|
3528
|
-
const { notify, runtimeConfig } =
|
|
3528
|
+
const { notify, runtimeConfig } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
|
|
3529
3529
|
const [agentBackend, setAgentBackend] = react.useState("claude");
|
|
3530
3530
|
const [copied, setCopied] = react.useState(false);
|
|
3531
3531
|
const setupScript = react.useMemo(
|
|
@@ -7235,7 +7235,7 @@ function TaskRunsDialog({
|
|
|
7235
7235
|
"rounded-full px-2 py-0.5 text-xs font-medium capitalize",
|
|
7236
7236
|
STATUS_STYLE[data.status] ?? "text-muted-foreground"
|
|
7237
7237
|
),
|
|
7238
|
-
children:
|
|
7238
|
+
children: chunkG6GUMZOZ_cjs.workflowRunStatusLabel(data.status)
|
|
7239
7239
|
}
|
|
7240
7240
|
)
|
|
7241
7241
|
},
|
|
@@ -7251,7 +7251,7 @@ function TaskRunsDialog({
|
|
|
7251
7251
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full items-center gap-2", children: [
|
|
7252
7252
|
run.error && renderErrorReport?.(run),
|
|
7253
7253
|
(run.conversationId || run.resultId && onOpenResult) && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { asChild: true, variant: "ghost", size: "sm", className: "h-7 gap-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7254
|
-
|
|
7254
|
+
chunk3L5MXUBZ_cjs.ActionLink,
|
|
7255
7255
|
{
|
|
7256
7256
|
href: getRunHref?.(run),
|
|
7257
7257
|
onSelect: () => {
|
|
@@ -7300,7 +7300,7 @@ function TaskRunsDialog({
|
|
|
7300
7300
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: l.description })
|
|
7301
7301
|
] }),
|
|
7302
7302
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7303
|
-
|
|
7303
|
+
chunkLKK52DEY_cjs.GridView,
|
|
7304
7304
|
{
|
|
7305
7305
|
testId: chunkMHVNT4J3_cjs.testIdOr(testIds?.list, { testId: "task-runs-list" }),
|
|
7306
7306
|
gridId: "workflow-runs",
|
|
@@ -7679,7 +7679,7 @@ function WorkflowComposer({
|
|
|
7679
7679
|
},
|
|
7680
7680
|
"data-testid": `${id}-dropzone`,
|
|
7681
7681
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7682
|
-
|
|
7682
|
+
chunkF4UYC2M2_cjs.AddFilesFirst,
|
|
7683
7683
|
{
|
|
7684
7684
|
reason: l.addFilesReason,
|
|
7685
7685
|
action: addFilesAction,
|
|
@@ -7689,7 +7689,7 @@ function WorkflowComposer({
|
|
|
7689
7689
|
}
|
|
7690
7690
|
),
|
|
7691
7691
|
!noFiles && workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7692
|
-
|
|
7692
|
+
chunkG6GUMZOZ_cjs.SchemaForm,
|
|
7693
7693
|
{
|
|
7694
7694
|
fields,
|
|
7695
7695
|
values: values.inputs,
|
|
@@ -8322,7 +8322,7 @@ function WorkTaskComposer({
|
|
|
8322
8322
|
)
|
|
8323
8323
|
] }),
|
|
8324
8324
|
workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8325
|
-
|
|
8325
|
+
chunkG6GUMZOZ_cjs.SchemaForm,
|
|
8326
8326
|
{
|
|
8327
8327
|
fields,
|
|
8328
8328
|
values: values.inputs,
|
|
@@ -8981,7 +8981,7 @@ function ConfigFieldComponent({
|
|
|
8981
8981
|
const fieldTestId = chunkMHVNT4J3_cjs.testIdOr(testIds?.field?.(section, fieldName), {
|
|
8982
8982
|
testId: `config-field-${section}-${fieldName.replace(/\./g, "-")}`
|
|
8983
8983
|
});
|
|
8984
|
-
const { notify } =
|
|
8984
|
+
const { notify } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
|
|
8985
8985
|
const fieldId = `${section}-${fieldName}`;
|
|
8986
8986
|
const label = fieldSchema.title || prettifyKey(fieldName.split(".").pop() ?? fieldName);
|
|
8987
8987
|
const description = fieldSchema.description || "";
|
|
@@ -10711,5 +10711,5 @@ exports.workflowTaskFields = workflowTaskFields;
|
|
|
10711
10711
|
exports.workflowToComposerValues = workflowToComposerValues;
|
|
10712
10712
|
exports.workflowToSkillMarkdown = workflowToSkillMarkdown;
|
|
10713
10713
|
exports.workflowWhen = workflowWhen;
|
|
10714
|
-
//# sourceMappingURL=chunk-
|
|
10715
|
-
//# sourceMappingURL=chunk-
|
|
10714
|
+
//# sourceMappingURL=chunk-UR6DWL4L.cjs.map
|
|
10715
|
+
//# sourceMappingURL=chunk-UR6DWL4L.cjs.map
|