@ixo/editor 5.7.0 → 5.9.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-4QAMDIPO.mjs → chunk-MOPZZGGR.mjs} +135 -66
- package/dist/chunk-MOPZZGGR.mjs.map +1 -0
- package/dist/{graphql-client-DE9Dyji4.d.ts → graphql-client-B0OmwaaY.d.ts} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/mantine/index.d.ts +2 -2
- package/dist/mantine/index.mjs +1 -1
- package/package.json +3 -1
- package/style-core.css +8 -5
- package/style-mantine.css +8 -5
- package/style-scoped.css +8 -5
- package/style.css +8 -5
- package/dist/chunk-4QAMDIPO.mjs.map +0 -1
|
@@ -38,12 +38,26 @@ import {
|
|
|
38
38
|
|
|
39
39
|
// src/mantine/hooks/useCreateIxoEditor.ts
|
|
40
40
|
import { useCreateBlockNote } from "@blocknote/react";
|
|
41
|
-
import { BlockNoteSchema, defaultBlockSpecs, defaultInlineContentSpecs
|
|
41
|
+
import { BlockNoteSchema, defaultBlockSpecs, defaultInlineContentSpecs } from "@blocknote/core";
|
|
42
42
|
|
|
43
43
|
// src/mantine/utils/markdownPasteHandler.ts
|
|
44
44
|
var isMarkdownList = (text) => /^[ \t]*(?:[-*+]|\d+\.)[ \t]+\S/m.test(text);
|
|
45
45
|
var tightenMarkdownList = (text) => text.replace(/\n[ \t]*\n(?=[ \t]*(?:[-*+]|\d+\.)[ \t])/g, "\n");
|
|
46
46
|
var tightenHtmlList = (html) => html.replace(/<li([^>]*)>\s*<p[^>]*>([\s\S]*?)<\/p>\s*<\/li>/gi, "<li$1>$2</li>");
|
|
47
|
+
function insertPlainTextFallback(editor, plain) {
|
|
48
|
+
if (!plain) return void 0;
|
|
49
|
+
const view = editor?.prosemirrorView;
|
|
50
|
+
if (!view) return void 0;
|
|
51
|
+
const { from, to } = view.state.selection;
|
|
52
|
+
if (typeof editor?.transact === "function") {
|
|
53
|
+
editor.transact((tr) => {
|
|
54
|
+
tr.insertText(plain, from, to);
|
|
55
|
+
});
|
|
56
|
+
} else {
|
|
57
|
+
view.dispatch(view.state.tr.insertText(plain, from, to));
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
47
61
|
var ixoPasteHandler = ({
|
|
48
62
|
event,
|
|
49
63
|
editor,
|
|
@@ -60,18 +74,41 @@ var ixoPasteHandler = ({
|
|
|
60
74
|
return true;
|
|
61
75
|
}
|
|
62
76
|
try {
|
|
63
|
-
return defaultPasteHandler(
|
|
77
|
+
return defaultPasteHandler({
|
|
78
|
+
prioritizeMarkdownOverHTML: true,
|
|
79
|
+
plainTextAsMarkdown: true
|
|
80
|
+
});
|
|
64
81
|
} catch {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
82
|
+
return insertPlainTextFallback(editor, plain);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
// src/mantine/utils/blocknoteStyleSpecs.ts
|
|
87
|
+
import { createStyleSpecFromTipTapMark, defaultStyleSpecs } from "@blocknote/core";
|
|
88
|
+
import { InputRule, markInputRule } from "@tiptap/core";
|
|
89
|
+
import Code from "@tiptap/extension-code";
|
|
90
|
+
var CodeWithTrailingSpaceInputRule = Code.extend({
|
|
91
|
+
addInputRules() {
|
|
92
|
+
return [
|
|
93
|
+
markInputRule({
|
|
94
|
+
find: /(^|[^`])`([^`]+)`(?!`)$/,
|
|
95
|
+
type: this.type
|
|
96
|
+
}),
|
|
97
|
+
new InputRule({
|
|
98
|
+
find: /(^|[^`])`([^`]+)`(?!`) $/,
|
|
99
|
+
handler: ({ state, range, match }) => {
|
|
100
|
+
const { tr, schema } = state;
|
|
101
|
+
const leadingChar = match[1];
|
|
102
|
+
const content = match[2];
|
|
103
|
+
tr.replaceWith(range.from + leadingChar.length, range.to, [schema.text(content, [this.type.create()]), schema.text(" ")]);
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
];
|
|
74
107
|
}
|
|
108
|
+
});
|
|
109
|
+
var ixoStyleSpecs = {
|
|
110
|
+
...defaultStyleSpecs,
|
|
111
|
+
code: createStyleSpecFromTipTapMark(CodeWithTrailingSpaceInputRule, "boolean")
|
|
75
112
|
};
|
|
76
113
|
|
|
77
114
|
// src/mantine/blocks/checkbox/CheckboxBlockSpec.tsx
|
|
@@ -1765,7 +1802,8 @@ function BaseContainer({ children, onClick, style, blockId }) {
|
|
|
1765
1802
|
...hasPresence ? { borderLeftColor: presenceBorderColor, borderLeftWidth: 3 } : {}
|
|
1766
1803
|
},
|
|
1767
1804
|
onClick,
|
|
1768
|
-
|
|
1805
|
+
onMouseDown: onClick ? void 0 : (e) => e.preventDefault(),
|
|
1806
|
+
onPointerDown: blockId && onClick ? onPointerDown : void 0
|
|
1769
1807
|
},
|
|
1770
1808
|
/* @__PURE__ */ React9.createElement(PresenceBadges, { users: presenceUsers }),
|
|
1771
1809
|
children
|
|
@@ -15674,7 +15712,7 @@ var GeneralTab5 = ({
|
|
|
15674
15712
|
|
|
15675
15713
|
// src/mantine/blocks/apiRequest/template/ResponseSchemaTab.tsx
|
|
15676
15714
|
import React149 from "react";
|
|
15677
|
-
import { Stack as Stack112, Text as Text88, Button as Button30, Group as Group51, ActionIcon as ActionIcon21, Paper as Paper10, Alert as Alert22, Code } from "@mantine/core";
|
|
15715
|
+
import { Stack as Stack112, Text as Text88, Button as Button30, Group as Group51, ActionIcon as ActionIcon21, Paper as Paper10, Alert as Alert22, Code as Code2 } from "@mantine/core";
|
|
15678
15716
|
import { IconTrash as IconTrash3, IconPlus as IconPlus4, IconInfoCircle as IconInfoCircle2 } from "@tabler/icons-react";
|
|
15679
15717
|
var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
|
|
15680
15718
|
const fields = schema?.fields || [];
|
|
@@ -15699,7 +15737,7 @@ var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
|
|
|
15699
15737
|
newFields[index] = { ...newFields[index], [key]: value };
|
|
15700
15738
|
onSchemaChange({ fields: newFields });
|
|
15701
15739
|
};
|
|
15702
|
-
return /* @__PURE__ */ React149.createElement(Stack112, { gap: "lg" }, /* @__PURE__ */ React149.createElement(Alert22, { icon: /* @__PURE__ */ React149.createElement(IconInfoCircle2, { size: 16 }), title: "Response Schema", color: "blue" }, /* @__PURE__ */ React149.createElement(Text88, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React149.createElement(Stack112, { gap: "xs" }, /* @__PURE__ */ React149.createElement(Text88, { size: "sm", fw: 600 }, "How it works"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React149.createElement(
|
|
15740
|
+
return /* @__PURE__ */ React149.createElement(Stack112, { gap: "lg" }, /* @__PURE__ */ React149.createElement(Alert22, { icon: /* @__PURE__ */ React149.createElement(IconInfoCircle2, { size: 16 }), title: "Response Schema", color: "blue" }, /* @__PURE__ */ React149.createElement(Text88, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React149.createElement(Stack112, { gap: "xs" }, /* @__PURE__ */ React149.createElement(Text88, { size: "sm", fw: 600 }, "How it works"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React149.createElement(Code2, null, "customer.email"), ")"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React149.createElement(Code2, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React149.createElement(Stack112, { gap: "xs" }, /* @__PURE__ */ React149.createElement(Group51, { justify: "space-between" }, /* @__PURE__ */ React149.createElement(Text88, { size: "sm", fw: 600 }, "Response Fields"), /* @__PURE__ */ React149.createElement(Button30, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React149.createElement(IconPlus4, { size: 14 }), onClick: handleAddField }, "Add Field")), fields.length === 0 ? /* @__PURE__ */ React149.createElement(Code2, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React149.createElement(Stack112, { gap: "md" }, fields.map((field, index) => /* @__PURE__ */ React149.createElement(Paper10, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React149.createElement(Stack112, { gap: "sm" }, /* @__PURE__ */ React149.createElement(Group51, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React149.createElement(Text88, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React149.createElement(ActionIcon21, { color: "red", variant: "subtle", onClick: () => handleRemoveField(index) }, /* @__PURE__ */ React149.createElement(IconTrash3, { size: 16 }))), /* @__PURE__ */ React149.createElement(
|
|
15703
15741
|
BaseTextInput,
|
|
15704
15742
|
{
|
|
15705
15743
|
label: "Field Path",
|
|
@@ -15747,7 +15785,7 @@ var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
|
|
|
15747
15785
|
minRows: 2,
|
|
15748
15786
|
size: "sm"
|
|
15749
15787
|
}
|
|
15750
|
-
), field.path && field.displayName && /* @__PURE__ */ React149.createElement(Stack112, { gap: 4 }, /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "Reference format:"), /* @__PURE__ */ React149.createElement(
|
|
15788
|
+
), field.path && field.displayName && /* @__PURE__ */ React149.createElement(Stack112, { gap: 4 }, /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "Reference format:"), /* @__PURE__ */ React149.createElement(Code2, { block: true, style: { fontSize: "11px" } }, `{{${blockId}.response.${field.path}}}`))))))), fields.length === 0 && /* @__PURE__ */ React149.createElement(Stack112, { gap: "xs" }, /* @__PURE__ */ React149.createElement(Text88, { size: "sm", fw: 600 }, "Example Schema"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "For a typical API response like:"), /* @__PURE__ */ React149.createElement(Code2, { block: true, style: { fontSize: "11px" } }, `{
|
|
15751
15789
|
"customer": {
|
|
15752
15790
|
"email": "user@example.com",
|
|
15753
15791
|
"name": "John Doe"
|
|
@@ -15756,7 +15794,7 @@ var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
|
|
|
15756
15794
|
"id": "l1v6r07b",
|
|
15757
15795
|
"name": "Product-1"
|
|
15758
15796
|
}
|
|
15759
|
-
}`), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "You would define fields like:"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "\u2022 Path: ", /* @__PURE__ */ React149.createElement(
|
|
15797
|
+
}`), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "You would define fields like:"), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "\u2022 Path: ", /* @__PURE__ */ React149.createElement(Code2, null, "customer.email"), ', Display Name: "Customer Email", Type: string'), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "\u2022 Path: ", /* @__PURE__ */ React149.createElement(Code2, null, "customer.name"), ', Display Name: "Customer Name", Type: string'), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "\u2022 Path: ", /* @__PURE__ */ React149.createElement(Code2, null, "product.id"), ', Display Name: "Product ID", Type: string'), /* @__PURE__ */ React149.createElement(Text88, { size: "xs", c: "dimmed" }, "\u2022 Path: ", /* @__PURE__ */ React149.createElement(Code2, null, "product.name"), ', Display Name: "Product Name", Type: string')));
|
|
15760
15798
|
};
|
|
15761
15799
|
|
|
15762
15800
|
// src/mantine/components/EvaluationTab.tsx
|
|
@@ -15983,7 +16021,7 @@ var ApiRequestTemplateView = ({ editor, block }) => {
|
|
|
15983
16021
|
|
|
15984
16022
|
// src/mantine/blocks/apiRequest/flow/FlowView.tsx
|
|
15985
16023
|
import React153, { useMemo as useMemo51, useState as useState62 } from "react";
|
|
15986
|
-
import { Group as Group53, Stack as Stack115, Text as Text91, Button as Button31, Badge as Badge19, Code as
|
|
16024
|
+
import { Group as Group53, Stack as Stack115, Text as Text91, Button as Button31, Badge as Badge19, Code as Code3, Loader as Loader22, Alert as Alert23, Divider as Divider11 } from "@mantine/core";
|
|
15987
16025
|
import { IconSend as IconSend2, IconAlertTriangle as IconAlertTriangle2, IconUser as IconUser9, IconApi } from "@tabler/icons-react";
|
|
15988
16026
|
var getMethodColor2 = (method) => {
|
|
15989
16027
|
switch (method) {
|
|
@@ -16167,7 +16205,7 @@ function ApiRequestPanelContent({ editor, block, isDisabled, disabledMessage })
|
|
|
16167
16205
|
disabled: isDisabled || isLoading || !endpoint
|
|
16168
16206
|
},
|
|
16169
16207
|
isLoading ? "Sending..." : "Execute"
|
|
16170
|
-
), isDisabled && disabledMessage && /* @__PURE__ */ React153.createElement(Text91, { size: "xs", c: "dimmed" }, disabledMessage), validationWarnings.length > 0 && /* @__PURE__ */ React153.createElement(Alert23, { icon: /* @__PURE__ */ React153.createElement(IconAlertTriangle2, { size: 16 }), title: "Schema Validation Warnings", color: "yellow" }, /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React153.createElement(Text91, { key: index, size: "xs", c: "dimmed" }, "\u2022", " ", warning)))), runtime.error && /* @__PURE__ */ React153.createElement(Alert23, { icon: /* @__PURE__ */ React153.createElement(IconAlertTriangle2, { size: 16 }), title: "Request Error", color: "red" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs" }, runtime.error.message)), headers.length > 0 && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Headers"), /* @__PURE__ */ React153.createElement(
|
|
16208
|
+
), isDisabled && disabledMessage && /* @__PURE__ */ React153.createElement(Text91, { size: "xs", c: "dimmed" }, disabledMessage), validationWarnings.length > 0 && /* @__PURE__ */ React153.createElement(Alert23, { icon: /* @__PURE__ */ React153.createElement(IconAlertTriangle2, { size: 16 }), title: "Schema Validation Warnings", color: "yellow" }, /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React153.createElement(Text91, { key: index, size: "xs", c: "dimmed" }, "\u2022", " ", warning)))), runtime.error && /* @__PURE__ */ React153.createElement(Alert23, { icon: /* @__PURE__ */ React153.createElement(IconAlertTriangle2, { size: 16 }), title: "Request Error", color: "red" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs" }, runtime.error.message)), headers.length > 0 && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Headers"), /* @__PURE__ */ React153.createElement(Code3, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
16171
16209
|
headers.reduce(
|
|
16172
16210
|
(acc, h) => {
|
|
16173
16211
|
if (h.key && h.value) acc[h.key] = h.value;
|
|
@@ -16177,7 +16215,7 @@ function ApiRequestPanelContent({ editor, block, isDisabled, disabledMessage })
|
|
|
16177
16215
|
),
|
|
16178
16216
|
null,
|
|
16179
16217
|
2
|
|
16180
|
-
)))), method !== "GET" && body.length > 0 && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Body"), /* @__PURE__ */ React153.createElement(
|
|
16218
|
+
)))), method !== "GET" && body.length > 0 && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Body"), /* @__PURE__ */ React153.createElement(Code3, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
16181
16219
|
body.reduce(
|
|
16182
16220
|
(acc, b) => {
|
|
16183
16221
|
if (b.key && b.value) acc[b.key] = b.value;
|
|
@@ -16187,7 +16225,7 @@ function ApiRequestPanelContent({ editor, block, isDisabled, disabledMessage })
|
|
|
16187
16225
|
),
|
|
16188
16226
|
null,
|
|
16189
16227
|
2
|
|
16190
|
-
)))), response && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Response"), status === "error" ? /* @__PURE__ */ React153.createElement(Alert23, { color: "red", title: "Error", styles: { message: { fontSize: "11px" } } }, /* @__PURE__ */ React153.createElement(
|
|
16228
|
+
)))), response && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Divider11, null), /* @__PURE__ */ React153.createElement(Stack115, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text91, { size: "xs", fw: 600, c: "dimmed" }, "Response"), status === "error" ? /* @__PURE__ */ React153.createElement(Alert23, { color: "red", title: "Error", styles: { message: { fontSize: "11px" } } }, /* @__PURE__ */ React153.createElement(Code3, { block: true, style: { fontSize: "11px" } }, response)) : /* @__PURE__ */ React153.createElement(Code3, { block: true, style: { fontSize: "11px", maxHeight: "300px", overflow: "auto" } }, response))));
|
|
16191
16229
|
}
|
|
16192
16230
|
|
|
16193
16231
|
// src/mantine/blocks/apiRequest/ApiRequestBlock.tsx
|
|
@@ -16631,7 +16669,7 @@ var NotifyTemplateView = ({ editor, block }) => {
|
|
|
16631
16669
|
|
|
16632
16670
|
// src/mantine/blocks/notify/flow/FlowView.tsx
|
|
16633
16671
|
import React159, { useState as useState64 } from "react";
|
|
16634
|
-
import { Group as Group56, Stack as Stack118, Text as Text94, ActionIcon as ActionIcon23, Tooltip as Tooltip11, Button as Button32, Badge as Badge21, Collapse as Collapse4, Alert as Alert24, Loader as Loader23, Code as
|
|
16672
|
+
import { Group as Group56, Stack as Stack118, Text as Text94, ActionIcon as ActionIcon23, Tooltip as Tooltip11, Button as Button32, Badge as Badge21, Collapse as Collapse4, Alert as Alert24, Loader as Loader23, Code as Code4 } from "@mantine/core";
|
|
16635
16673
|
import { IconSend as IconSend3, IconChevronDown as IconChevronDown4, IconChevronUp as IconChevronUp2, IconCheck as IconCheck6, IconX as IconX10 } from "@tabler/icons-react";
|
|
16636
16674
|
var NotifyFlowView = ({ editor, block, isDisabled }) => {
|
|
16637
16675
|
const disabled = isDisabled?.isDisabled === "disable";
|
|
@@ -16759,7 +16797,7 @@ var NotifyFlowView = ({ editor, block, isDisabled }) => {
|
|
|
16759
16797
|
},
|
|
16760
16798
|
isLoading ? "Sending..." : status === "sent" ? "Sent" : "Send"
|
|
16761
16799
|
);
|
|
16762
|
-
return /* @__PURE__ */ React159.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React159.createElement(Stack118, { gap: "md" }, /* @__PURE__ */ React159.createElement(Group56, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React159.createElement(Group56, { wrap: "nowrap", align: "flex-start", style: { flex: 1 } }, getIcon("bell", block.props.icon), /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React159.createElement(Group56, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React159.createElement(Badge21, { size: "sm", variant: "filled", color: getChannelColor(channel) }, channel.toUpperCase()), /* @__PURE__ */ React159.createElement(Text94, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Notification"), status !== "idle" && /* @__PURE__ */ React159.createElement(Badge21, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React159.createElement(Text94, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 1 }, to.length > 0 ? `To: ${to.slice(0, 2).join(", ")}${to.length > 2 ? ` +${to.length - 2} more` : ""}` : "No recipients"), block.props.description && /* @__PURE__ */ React159.createElement(Text94, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description))), /* @__PURE__ */ React159.createElement(Group56, { gap: "xs", style: { flexShrink: 0 } }, disabled && isDisabled?.message ? /* @__PURE__ */ React159.createElement(Tooltip11, { label: isDisabled.message, position: "left", withArrow: true }, sendButton) : sendButton, /* @__PURE__ */ React159.createElement(ActionIcon23, { variant: "subtle", onClick: () => setShowDetails(!showDetails) }, showDetails ? /* @__PURE__ */ React159.createElement(IconChevronUp2, { size: 16 }) : /* @__PURE__ */ React159.createElement(IconChevronDown4, { size: 16 })))), status === "failed" && runtime.error?.message && /* @__PURE__ */ React159.createElement(Alert24, { color: "red", icon: /* @__PURE__ */ React159.createElement(IconX10, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), status === "sent" && runtime.output?.notify?.messageId && /* @__PURE__ */ React159.createElement(Alert24, { color: "green", icon: /* @__PURE__ */ React159.createElement(IconCheck6, { size: 16 }), title: "Sent successfully", styles: { message: { fontSize: "12px" } } }, "Message ID: ", runtime.output.notify.messageId, runtime.output.notify.sentAt && /* @__PURE__ */ React159.createElement(React159.Fragment, null, /* @__PURE__ */ React159.createElement("br", null), "Sent at: ", new Date(runtime.output.notify.sentAt).toLocaleString())), /* @__PURE__ */ React159.createElement(Collapse4, { in: showDetails }, /* @__PURE__ */ React159.createElement(Stack118, { gap: "md" }, channel === "email" && /* @__PURE__ */ React159.createElement(React159.Fragment, null, /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Recipients:"), /* @__PURE__ */ React159.createElement(
|
|
16800
|
+
return /* @__PURE__ */ React159.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React159.createElement(Stack118, { gap: "md" }, /* @__PURE__ */ React159.createElement(Group56, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React159.createElement(Group56, { wrap: "nowrap", align: "flex-start", style: { flex: 1 } }, getIcon("bell", block.props.icon), /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React159.createElement(Group56, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React159.createElement(Badge21, { size: "sm", variant: "filled", color: getChannelColor(channel) }, channel.toUpperCase()), /* @__PURE__ */ React159.createElement(Text94, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Notification"), status !== "idle" && /* @__PURE__ */ React159.createElement(Badge21, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React159.createElement(Text94, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 1 }, to.length > 0 ? `To: ${to.slice(0, 2).join(", ")}${to.length > 2 ? ` +${to.length - 2} more` : ""}` : "No recipients"), block.props.description && /* @__PURE__ */ React159.createElement(Text94, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description))), /* @__PURE__ */ React159.createElement(Group56, { gap: "xs", style: { flexShrink: 0 } }, disabled && isDisabled?.message ? /* @__PURE__ */ React159.createElement(Tooltip11, { label: isDisabled.message, position: "left", withArrow: true }, sendButton) : sendButton, /* @__PURE__ */ React159.createElement(ActionIcon23, { variant: "subtle", onClick: () => setShowDetails(!showDetails) }, showDetails ? /* @__PURE__ */ React159.createElement(IconChevronUp2, { size: 16 }) : /* @__PURE__ */ React159.createElement(IconChevronDown4, { size: 16 })))), status === "failed" && runtime.error?.message && /* @__PURE__ */ React159.createElement(Alert24, { color: "red", icon: /* @__PURE__ */ React159.createElement(IconX10, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), status === "sent" && runtime.output?.notify?.messageId && /* @__PURE__ */ React159.createElement(Alert24, { color: "green", icon: /* @__PURE__ */ React159.createElement(IconCheck6, { size: 16 }), title: "Sent successfully", styles: { message: { fontSize: "12px" } } }, "Message ID: ", runtime.output.notify.messageId, runtime.output.notify.sentAt && /* @__PURE__ */ React159.createElement(React159.Fragment, null, /* @__PURE__ */ React159.createElement("br", null), "Sent at: ", new Date(runtime.output.notify.sentAt).toLocaleString())), /* @__PURE__ */ React159.createElement(Collapse4, { in: showDetails }, /* @__PURE__ */ React159.createElement(Stack118, { gap: "md" }, channel === "email" && /* @__PURE__ */ React159.createElement(React159.Fragment, null, /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Recipients:"), /* @__PURE__ */ React159.createElement(Code4, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
16763
16801
|
{
|
|
16764
16802
|
to: to.filter((e) => e.trim() !== ""),
|
|
16765
16803
|
...cc.length > 0 && { cc: cc.filter((e) => e.trim() !== "") },
|
|
@@ -16767,7 +16805,7 @@ var NotifyFlowView = ({ editor, block, isDisabled }) => {
|
|
|
16767
16805
|
},
|
|
16768
16806
|
null,
|
|
16769
16807
|
2
|
|
16770
|
-
))), block.props.subject && /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Subject:"), /* @__PURE__ */ React159.createElement(Text94, { size: "xs" }, block.props.subject)), block.props.body && /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Body (", block.props.bodyType || "text", "):"), /* @__PURE__ */ React159.createElement(
|
|
16808
|
+
))), block.props.subject && /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Subject:"), /* @__PURE__ */ React159.createElement(Text94, { size: "xs" }, block.props.subject)), block.props.body && /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Body (", block.props.bodyType || "text", "):"), /* @__PURE__ */ React159.createElement(Code4, { block: true, style: { fontSize: "11px", maxHeight: "200px", overflow: "auto" } }, block.props.body)), (block.props.from || block.props.replyTo) && /* @__PURE__ */ React159.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React159.createElement(Text94, { size: "xs", fw: 600, c: "dimmed" }, "Additional:"), /* @__PURE__ */ React159.createElement(Code4, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
16771
16809
|
{
|
|
16772
16810
|
...block.props.from && { from: block.props.from },
|
|
16773
16811
|
...block.props.replyTo && { replyTo: block.props.replyTo }
|
|
@@ -17284,7 +17322,7 @@ import { createReactBlockSpec as createReactBlockSpec11 } from "@blocknote/react
|
|
|
17284
17322
|
|
|
17285
17323
|
// src/mantine/blocks/dynamicList/DynamicListBlock.tsx
|
|
17286
17324
|
import React171, { useMemo as useMemo58, useState as useState68, useCallback as useCallback47, useEffect as useEffect54, useRef as useRef16 } from "react";
|
|
17287
|
-
import { Box as Box36, Stack as Stack123, Text as Text99, Paper as Paper14, Group as Group60, Button as Button33, ActionIcon as ActionIcon24, Tooltip as Tooltip12, Code as
|
|
17325
|
+
import { Box as Box36, Stack as Stack123, Text as Text99, Paper as Paper14, Group as Group60, Button as Button33, ActionIcon as ActionIcon24, Tooltip as Tooltip12, Code as Code6, Flex as Flex30, Collapse as Collapse6, Title as Title6, Badge as Badge22, TextInput as TextInput6, CloseButton as CloseButton3, Select as Select3, Menu as Menu2 } from "@mantine/core";
|
|
17288
17326
|
import { useDisclosure as useDisclosure6 } from "@mantine/hooks";
|
|
17289
17327
|
import {
|
|
17290
17328
|
IconCamera,
|
|
@@ -17305,7 +17343,7 @@ import {
|
|
|
17305
17343
|
|
|
17306
17344
|
// src/mantine/blocks/dynamicList/DynamicListSelectionPanel.tsx
|
|
17307
17345
|
import React170, { useMemo as useMemo57, useState as useState67 } from "react";
|
|
17308
|
-
import { Paper as Paper13, CloseButton as CloseButton2, Stack as Stack122, Text as Text98, Box as Box35, Group as Group59, Divider as Divider13, Code as
|
|
17346
|
+
import { Paper as Paper13, CloseButton as CloseButton2, Stack as Stack122, Text as Text98, Box as Box35, Group as Group59, Divider as Divider13, Code as Code5, ScrollArea as ScrollArea6, Collapse as Collapse5 } from "@mantine/core";
|
|
17309
17347
|
import { IconSparkles as IconSparkles2, IconChevronDown as IconChevronDown5, IconChevronRight as IconChevronRight4 } from "@tabler/icons-react";
|
|
17310
17348
|
function formatKeyAsLabel(key) {
|
|
17311
17349
|
return key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\s/, "").split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
@@ -17351,8 +17389,8 @@ function DefaultKeyValueView({
|
|
|
17351
17389
|
const value = item[key];
|
|
17352
17390
|
const formattedValue = formatValue(value, column?.type);
|
|
17353
17391
|
const isObject = typeof value === "object" && value !== null;
|
|
17354
|
-
return /* @__PURE__ */ React170.createElement(Box35, { key }, /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed", fw: 500 }, label), isObject ? /* @__PURE__ */ React170.createElement(
|
|
17355
|
-
}))))), /* @__PURE__ */ React170.createElement(Box35, { style: { flex: 1 } }), dataSource && /* @__PURE__ */ React170.createElement(React170.Fragment, null, /* @__PURE__ */ React170.createElement(Divider13, null), /* @__PURE__ */ React170.createElement(Box35, null, /* @__PURE__ */ React170.createElement(Group59, { gap: "xs", mb: "xs" }, /* @__PURE__ */ React170.createElement(IconSparkles2, { size: 14, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React170.createElement(Text98, { size: "xs", fw: 500, c: "dimmed" }, "Data Source")), dataSource.oracleName && /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed" }, "Oracle: ", dataSource.oracleName), dataSource.query && /* @__PURE__ */ React170.createElement(Box35, { mt: "xs" }, /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React170.createElement(
|
|
17392
|
+
return /* @__PURE__ */ React170.createElement(Box35, { key }, /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed", fw: 500 }, label), isObject ? /* @__PURE__ */ React170.createElement(Code5, { block: true, style: { fontSize: "12px", whiteSpace: "pre-wrap", maxHeight: 150, overflow: "auto" } }, formattedValue) : /* @__PURE__ */ React170.createElement(Text98, { size: "sm", c: column?.color || void 0 }, formattedValue));
|
|
17393
|
+
}))))), /* @__PURE__ */ React170.createElement(Box35, { style: { flex: 1 } }), dataSource && /* @__PURE__ */ React170.createElement(React170.Fragment, null, /* @__PURE__ */ React170.createElement(Divider13, null), /* @__PURE__ */ React170.createElement(Box35, null, /* @__PURE__ */ React170.createElement(Group59, { gap: "xs", mb: "xs" }, /* @__PURE__ */ React170.createElement(IconSparkles2, { size: 14, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React170.createElement(Text98, { size: "xs", fw: 500, c: "dimmed" }, "Data Source")), dataSource.oracleName && /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed" }, "Oracle: ", dataSource.oracleName), dataSource.query && /* @__PURE__ */ React170.createElement(Box35, { mt: "xs" }, /* @__PURE__ */ React170.createElement(Text98, { size: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React170.createElement(Code5, { block: true, style: { fontSize: "11px", whiteSpace: "pre-wrap" } }, dataSource.query)))));
|
|
17356
17394
|
}
|
|
17357
17395
|
var DynamicListSelectionPanel = ({
|
|
17358
17396
|
selectedItem,
|
|
@@ -17749,7 +17787,7 @@ function DynamicListBlock({ block, editor }) {
|
|
|
17749
17787
|
}
|
|
17750
17788
|
},
|
|
17751
17789
|
/* @__PURE__ */ React171.createElement(Flex30, { justify: "space-between", align: "flex-start", mb: "xs" }, /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(IconInfoCircle3, { size: 14, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", fw: 500, c: "dimmed" }, "Data Source")), /* @__PURE__ */ React171.createElement(ActionIcon24, { variant: "subtle", size: "xs", onClick: () => setShowInfo(false), "aria-label": "Close info" }, /* @__PURE__ */ React171.createElement(IconX11, { size: 14 }))),
|
|
17752
|
-
/* @__PURE__ */ React171.createElement(Stack123, { gap: 6 }, parsedDataSource?.oracleName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "Oracle:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs" }, parsedDataSource.oracleName)), parsedDataSource?.oracleDid && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "DID:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", style: { wordBreak: "break-all" } }, parsedDataSource.oracleDid)), parsedDataSource?.toolName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "Tool:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs" }, parsedDataSource.toolName)), parsedDataSource?.query && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", style: { whiteSpace: "pre-wrap" } }, parsedDataSource.query)), parsedDataSource?.description && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Description:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", fs: "italic" }, parsedDataSource.description)), parsedDataSource?.params && Object.keys(parsedDataSource.params).length > 0 && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Params:"), /* @__PURE__ */ React171.createElement(
|
|
17790
|
+
/* @__PURE__ */ React171.createElement(Stack123, { gap: 6 }, parsedDataSource?.oracleName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "Oracle:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs" }, parsedDataSource.oracleName)), parsedDataSource?.oracleDid && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "DID:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", style: { wordBreak: "break-all" } }, parsedDataSource.oracleDid)), parsedDataSource?.toolName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", w: 70 }, "Tool:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs" }, parsedDataSource.toolName)), parsedDataSource?.query && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", style: { whiteSpace: "pre-wrap" } }, parsedDataSource.query)), parsedDataSource?.description && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Description:"), /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", fs: "italic" }, parsedDataSource.description)), parsedDataSource?.params && Object.keys(parsedDataSource.params).length > 0 && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { fz: "xs", c: "dimmed", mb: 4 }, "Params:"), /* @__PURE__ */ React171.createElement(Code6, { block: true, style: { fontSize: "11px", whiteSpace: "pre-wrap" } }, JSON.stringify(parsedDataSource.params, null, 2))))
|
|
17753
17791
|
)), /* @__PURE__ */ React171.createElement(Collapse6, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React171.createElement(Stack123, { w: "100%" }, /* @__PURE__ */ React171.createElement(Collapse6, { in: showSearch }, /* @__PURE__ */ React171.createElement(Flex30, { gap: "xs", align: "center" }, /* @__PURE__ */ React171.createElement(
|
|
17754
17792
|
TextInput6,
|
|
17755
17793
|
{
|
|
@@ -17907,7 +17945,7 @@ function DynamicListBlock({ block, editor }) {
|
|
|
17907
17945
|
const rowId = getRowId(row, index);
|
|
17908
17946
|
const isChecked = isItemChecked(rowId);
|
|
17909
17947
|
return /* @__PURE__ */ React171.createElement(ListItemContainer, { key: rowId, isChecked, onClick: () => onItemCheck(rowId, !isChecked) }, /* @__PURE__ */ React171.createElement(Flex30, { align: "center", gap: "sm" }, /* @__PURE__ */ React171.createElement(Stack123, { gap: 2 }, renderField(row, columnsByPosition.topLeft), columnsByPosition.bottomLeft && /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: columnsByPosition.bottomLeft.color || "dimmed", lineClamp: 1 }, formatValue2(row[columnsByPosition.bottomLeft.key], columnsByPosition.bottomLeft.type) || ""))), /* @__PURE__ */ React171.createElement(Flex30, { align: "center", gap: "md" }, /* @__PURE__ */ React171.createElement(Stack123, { gap: 2, align: "flex-end" }, columnsByPosition.topRight && /* @__PURE__ */ React171.createElement(Text99, { size: "sm", fw: 500, c: columnsByPosition.topRight.color || void 0 }, formatValue2(row[columnsByPosition.topRight.key], columnsByPosition.topRight.type) || ""), columnsByPosition.bottomRight && /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: columnsByPosition.bottomRight.color || "dimmed", tt: "capitalize" }, formatValue2(row[columnsByPosition.bottomRight.key], columnsByPosition.bottomRight.type) || "")), isMultiSelect && /* @__PURE__ */ React171.createElement(ListItemCheckbox, { ariaLabel: `Select ${rowId}`, checked: isChecked, onCheck: (checked) => onItemCheck(rowId, checked) })));
|
|
17910
|
-
})), hasData && totalPages > 1 && /* @__PURE__ */ React171.createElement(ListPagination, { page, setPage, totalPages }), !hasData && !liveData.loading && searchQuery && rawData && rawData.length > 0 && /* @__PURE__ */ React171.createElement(Text99, { c: "dimmed", ta: "center", fz: "sm" }, "No matching items for \u201C", searchQuery, "\u201D"), !hasData && !liveData.loading && !searchQuery && parsedDataSource && /* @__PURE__ */ React171.createElement(Paper14, { p: "lg", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React171.createElement(Stack123, { gap: "sm" }, /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(IconSparkles3, { size: 16, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React171.createElement(Text99, { fz: "sm", fw: 500 }, "Data Source")), parsedDataSource.oracleName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed" }, "Oracle:"), /* @__PURE__ */ React171.createElement(Badge22, { size: "sm", variant: "light" }, parsedDataSource.oracleName)), parsedDataSource.query && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React171.createElement(
|
|
17948
|
+
})), hasData && totalPages > 1 && /* @__PURE__ */ React171.createElement(ListPagination, { page, setPage, totalPages }), !hasData && !liveData.loading && searchQuery && rawData && rawData.length > 0 && /* @__PURE__ */ React171.createElement(Text99, { c: "dimmed", ta: "center", fz: "sm" }, "No matching items for \u201C", searchQuery, "\u201D"), !hasData && !liveData.loading && !searchQuery && parsedDataSource && /* @__PURE__ */ React171.createElement(Paper14, { p: "lg", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React171.createElement(Stack123, { gap: "sm" }, /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(IconSparkles3, { size: 16, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React171.createElement(Text99, { fz: "sm", fw: 500 }, "Data Source")), parsedDataSource.oracleName && /* @__PURE__ */ React171.createElement(Group60, { gap: "xs" }, /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed" }, "Oracle:"), /* @__PURE__ */ React171.createElement(Badge22, { size: "sm", variant: "light" }, parsedDataSource.oracleName)), parsedDataSource.query && /* @__PURE__ */ React171.createElement(Box36, null, /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React171.createElement(Code6, { block: true, style: { fontSize: "12px", whiteSpace: "pre-wrap" } }, parsedDataSource.query)), parsedDataSource.description && /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed", fs: "italic" }, parsedDataSource.description), /* @__PURE__ */ React171.createElement(Text99, { size: "xs", c: "dimmed", ta: "center", mt: "xs" }, "Ask your oracle this query to populate the list."))), !hasData && !liveData.loading && !searchQuery && !parsedDataSource && /* @__PURE__ */ React171.createElement(Paper14, { p: "lg", bg: "var(--mantine-color-dark-6)", radius: "sm" }, /* @__PURE__ */ React171.createElement(Text99, { c: "dimmed", ta: "center", fz: "sm" }, "No data available. Add data from the AG-UI Canvas.")))));
|
|
17911
17949
|
}
|
|
17912
17950
|
|
|
17913
17951
|
// src/mantine/blocks/dynamicList/DynamicListBlockSpec.tsx
|
|
@@ -20479,7 +20517,7 @@ import { IconChevronRight as IconChevronRight9, IconLoader, IconTestPipe, IconTr
|
|
|
20479
20517
|
|
|
20480
20518
|
// src/mantine/blocks/domainCardViewer/flow/ViewerPanel.tsx
|
|
20481
20519
|
import React214, { useMemo as useMemo76 } from "react";
|
|
20482
|
-
import { Paper as Paper15, CloseButton as CloseButton4, Title as Title7, Stack as Stack142, Text as Text121, Loader as Loader30, Alert as Alert31, Button as Button37, Box as Box42, ScrollArea as ScrollArea7, Code as
|
|
20520
|
+
import { Paper as Paper15, CloseButton as CloseButton4, Title as Title7, Stack as Stack142, Text as Text121, Loader as Loader30, Alert as Alert31, Button as Button37, Box as Box42, ScrollArea as ScrollArea7, Code as Code7 } from "@mantine/core";
|
|
20483
20521
|
import { IconAlertCircle as IconAlertCircle15, IconCheck as IconCheck12, IconSparkles as IconSparkles4 } from "@tabler/icons-react";
|
|
20484
20522
|
function parsePreviewData(jsonString) {
|
|
20485
20523
|
if (!jsonString || jsonString === "{}") return null;
|
|
@@ -20490,7 +20528,7 @@ function parsePreviewData(jsonString) {
|
|
|
20490
20528
|
}
|
|
20491
20529
|
}
|
|
20492
20530
|
var JsonViewer = ({ data }) => {
|
|
20493
|
-
return /* @__PURE__ */ React214.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React214.createElement(Stack142, { gap: "md" }, data.name && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React214.createElement(Text121, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React214.createElement(Stack142, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React214.createElement(Box42, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React214.createElement(Text121, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React214.createElement(
|
|
20531
|
+
return /* @__PURE__ */ React214.createElement(ScrollArea7, { h: "100%", offsetScrollbars: true }, /* @__PURE__ */ React214.createElement(Stack142, { gap: "md" }, data.name && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React214.createElement(Text121, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React214.createElement(Text121, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React214.createElement(Stack142, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React214.createElement(Box42, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React214.createElement(Text121, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React214.createElement(Box42, null, /* @__PURE__ */ React214.createElement(Text121, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React214.createElement(Code7, { block: true, style: { fontSize: 11, maxHeight: 200, overflow: "auto" } }, JSON.stringify(data, null, 2)))));
|
|
20494
20532
|
};
|
|
20495
20533
|
var ViewerPanel = ({ block, onApprove }) => {
|
|
20496
20534
|
const { closePanel } = usePanelStore();
|
|
@@ -23688,6 +23726,7 @@ var ActionTemplateView = ({ editor, block }) => {
|
|
|
23688
23726
|
const panelId = `${ACTION_TEMPLATE_PANEL_ID}-${block.id}`;
|
|
23689
23727
|
const assignmentPanelId = `${ACTION_ASSIGNMENT_PANEL_ID}-${block.id}`;
|
|
23690
23728
|
const { closePanel, activePanel } = usePanelStore();
|
|
23729
|
+
const { editable } = useBlocknoteContext();
|
|
23691
23730
|
const panelContent = useMemo87(() => /* @__PURE__ */ React238.createElement(TemplateConfig16, { editor, block }), [editor, block]);
|
|
23692
23731
|
const assignmentPanelContent = useMemo87(
|
|
23693
23732
|
() => /* @__PURE__ */ React238.createElement(
|
|
@@ -23710,6 +23749,7 @@ var ActionTemplateView = ({ editor, block }) => {
|
|
|
23710
23749
|
const { open: openCommitment } = usePanel(commitmentPanelId, commitmentPanelContent);
|
|
23711
23750
|
const isPanelOpenForBlock = activePanel === panelId || activePanel === assignmentPanelId || activePanel === commitmentPanelId;
|
|
23712
23751
|
const isPanelBlocked = activePanel !== null && !isPanelOpenForBlock;
|
|
23752
|
+
const interactive = !!editable;
|
|
23713
23753
|
const actionType = block.props.actionType || "";
|
|
23714
23754
|
const dueDate = block.props.ttlAbsoluteDueDate;
|
|
23715
23755
|
const dueDateDisplay = dueDate ? formatDate(dueDate) : "";
|
|
@@ -23718,7 +23758,7 @@ var ActionTemplateView = ({ editor, block }) => {
|
|
|
23718
23758
|
BaseContainer,
|
|
23719
23759
|
{
|
|
23720
23760
|
blockId: block.id,
|
|
23721
|
-
onClick: isPanelBlocked ? void 0 : open,
|
|
23761
|
+
onClick: !interactive || isPanelBlocked ? void 0 : open,
|
|
23722
23762
|
style: {
|
|
23723
23763
|
padding: 20,
|
|
23724
23764
|
borderColor: isPanelOpenForBlock ? "var(--mantine-color-accent-5)" : void 0,
|
|
@@ -23727,15 +23767,15 @@ var ActionTemplateView = ({ editor, block }) => {
|
|
|
23727
23767
|
opacity: isPanelBlocked ? 0.6 : 1
|
|
23728
23768
|
}
|
|
23729
23769
|
},
|
|
23730
|
-
/* @__PURE__ */ React238.createElement(Group88, { wrap: "nowrap", gap: 24, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React238.createElement(Group88, { wrap: "nowrap", gap: 16, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React238.createElement(Box44, { style: { flexShrink: 0, width: 32, height: 32, display: "flex", alignItems: "center", justifyContent: "center" } }, getActionMeta(actionType).icon), /* @__PURE__ */ React238.createElement(Stack158, { gap: 0, style: { flex: 1, minWidth: 0, overflow: "hidden" } }, /* @__PURE__ */ React238.createElement(Text135, { fw: 500, size: "md", truncate: true, contentEditable: false, style: { letterSpacing: "0.16px", lineHeight: 1.5 } }, block.props.title || "Title of the action"), /* @__PURE__ */ React238.createElement(Text135, { size: "sm", c: "dimmed", truncate: true, contentEditable: false, style: { letterSpacing: "0.14px" } }, subtitle))), /* @__PURE__ */ React238.createElement(Stack158, { gap: 2, align: "flex-end", style: { flexShrink: 0, minWidth: 100 } }, /* @__PURE__ */ React238.createElement(Text135, { fw: 500, size: "md", contentEditable: false, style: { letterSpacing: "0.16px", lineHeight: 1.5, textAlign: "right" } }, "Pending"), /* @__PURE__ */ React238.createElement(Group88, { gap: 4, justify: "flex-end" }, /* @__PURE__ */ React238.createElement(CommitmentDisplay, { block, onClick: isPanelBlocked ? () => {
|
|
23731
|
-
} : openCommitment }), /* @__PURE__ */ React238.createElement(AssignmentDisplay, { onClick: isPanelBlocked ? () => {
|
|
23770
|
+
/* @__PURE__ */ React238.createElement(Group88, { wrap: "nowrap", gap: 24, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React238.createElement(Group88, { wrap: "nowrap", gap: 16, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React238.createElement(Box44, { style: { flexShrink: 0, width: 32, height: 32, display: "flex", alignItems: "center", justifyContent: "center" } }, getActionMeta(actionType).icon), /* @__PURE__ */ React238.createElement(Stack158, { gap: 0, style: { flex: 1, minWidth: 0, overflow: "hidden" } }, /* @__PURE__ */ React238.createElement(Text135, { fw: 500, size: "md", truncate: true, contentEditable: false, style: { letterSpacing: "0.16px", lineHeight: 1.5 } }, block.props.title || "Title of the action"), /* @__PURE__ */ React238.createElement(Text135, { size: "sm", c: "dimmed", truncate: true, contentEditable: false, style: { letterSpacing: "0.14px" } }, subtitle))), /* @__PURE__ */ React238.createElement(Stack158, { gap: 2, align: "flex-end", style: { flexShrink: 0, minWidth: 100 } }, /* @__PURE__ */ React238.createElement(Text135, { fw: 500, size: "md", contentEditable: false, style: { letterSpacing: "0.16px", lineHeight: 1.5, textAlign: "right" } }, "Pending"), /* @__PURE__ */ React238.createElement(Group88, { gap: 4, justify: "flex-end" }, /* @__PURE__ */ React238.createElement(CommitmentDisplay, { block, onClick: !interactive || isPanelBlocked ? () => {
|
|
23771
|
+
} : openCommitment }), /* @__PURE__ */ React238.createElement(AssignmentDisplay, { onClick: !interactive || isPanelBlocked ? () => {
|
|
23732
23772
|
} : openAssignment, block }))))
|
|
23733
23773
|
);
|
|
23734
23774
|
};
|
|
23735
23775
|
|
|
23736
23776
|
// src/mantine/blocks/action/flow/FlowView.tsx
|
|
23737
23777
|
import React242, { useCallback as useCallback74, useEffect as useEffect78, useMemo as useMemo90, useRef as useRef23, useState as useState95 } from "react";
|
|
23738
|
-
import { Group as Group91, Stack as Stack161, Text as Text139, Code as
|
|
23778
|
+
import { Group as Group91, Stack as Stack161, Text as Text139, Code as Code8, Alert as Alert35, Box as Box47, Divider as Divider20, Button as Button43, Loader as Loader34 } from "@mantine/core";
|
|
23739
23779
|
import { IconAlertTriangle as IconAlertTriangle4, IconUser as IconUser13, IconBolt as IconBolt9, IconShieldCheck as IconShieldCheck14, IconPlayerPlay as IconPlayerPlay2 } from "@tabler/icons-react";
|
|
23740
23780
|
|
|
23741
23781
|
// src/mantine/hooks/useAutoCommitOnExecute.ts
|
|
@@ -24444,7 +24484,7 @@ function GenericFlowPanel({
|
|
|
24444
24484
|
disabled: isDisabled || isLoading || !actionType
|
|
24445
24485
|
},
|
|
24446
24486
|
isLoading ? "Running..." : "Execute"
|
|
24447
|
-
), isDisabled && disabledMessage && /* @__PURE__ */ React242.createElement(Text139, { size: "xs", c: "dimmed" }, disabledMessage), runtime.error && /* @__PURE__ */ React242.createElement(Alert35, { icon: /* @__PURE__ */ React242.createElement(IconAlertTriangle4, { size: 16 }), title: "Execution Error", color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React242.createElement(Text139, { size: "xs" }, runtime.error.message)), Object.keys(parsedInputs).length > 0 && /* @__PURE__ */ React242.createElement(React242.Fragment, null, /* @__PURE__ */ React242.createElement(Divider20, null), /* @__PURE__ */ React242.createElement(Stack161, { gap: "xs" }, /* @__PURE__ */ React242.createElement(Text139, { size: "xs", fw: 600, c: "dimmed" }, "Inputs"), /* @__PURE__ */ React242.createElement(
|
|
24487
|
+
), isDisabled && disabledMessage && /* @__PURE__ */ React242.createElement(Text139, { size: "xs", c: "dimmed" }, disabledMessage), runtime.error && /* @__PURE__ */ React242.createElement(Alert35, { icon: /* @__PURE__ */ React242.createElement(IconAlertTriangle4, { size: 16 }), title: "Execution Error", color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React242.createElement(Text139, { size: "xs" }, runtime.error.message)), Object.keys(parsedInputs).length > 0 && /* @__PURE__ */ React242.createElement(React242.Fragment, null, /* @__PURE__ */ React242.createElement(Divider20, null), /* @__PURE__ */ React242.createElement(Stack161, { gap: "xs" }, /* @__PURE__ */ React242.createElement(Text139, { size: "xs", fw: 600, c: "dimmed" }, "Inputs"), /* @__PURE__ */ React242.createElement(Code8, { block: true, style: { fontSize: "11px" } }, JSON.stringify(parsedInputs, null, 2)))), outputJson && /* @__PURE__ */ React242.createElement(React242.Fragment, null, /* @__PURE__ */ React242.createElement(Divider20, null), /* @__PURE__ */ React242.createElement(Stack161, { gap: "xs" }, /* @__PURE__ */ React242.createElement(Text139, { size: "xs", fw: 600, c: "dimmed" }, "Output"), /* @__PURE__ */ React242.createElement(Code8, { block: true, style: { fontSize: "11px", maxHeight: "300px", overflow: "auto" } }, outputJson))));
|
|
24448
24488
|
}
|
|
24449
24489
|
|
|
24450
24490
|
// src/mantine/blocks/action/actionTypes/pod/domainIndexerLookup/DomainIndexerLookupConfig.tsx
|
|
@@ -25617,7 +25657,7 @@ registerActionTypeUI("qi/pod.list-domain-flows", {
|
|
|
25617
25657
|
|
|
25618
25658
|
// src/mantine/blocks/action/actionTypes/httpRequest/HttpRequestConfig.tsx
|
|
25619
25659
|
import React255, { useEffect as useEffect88, useState as useState108, useCallback as useCallback87 } from "react";
|
|
25620
|
-
import { Stack as Stack174, Text as Text152, Button as Button49, Group as Group97, ActionIcon as ActionIcon37, Paper as Paper19, Alert as Alert42, Code as
|
|
25660
|
+
import { Stack as Stack174, Text as Text152, Button as Button49, Group as Group97, ActionIcon as ActionIcon37, Paper as Paper19, Alert as Alert42, Code as Code9 } from "@mantine/core";
|
|
25621
25661
|
import { IconTrash as IconTrash9, IconPlus as IconPlus8, IconInfoCircle as IconInfoCircle5 } from "@tabler/icons-react";
|
|
25622
25662
|
var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
25623
25663
|
const [local, setLocal] = useState108(() => parseHttpRequestInputs(inputs));
|
|
@@ -25722,7 +25762,7 @@ var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
|
25722
25762
|
currentBlockId: blockId,
|
|
25723
25763
|
size: "sm"
|
|
25724
25764
|
}
|
|
25725
|
-
), /* @__PURE__ */ React255.createElement(ActionIcon37, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React255.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React255.createElement(Alert42, { icon: /* @__PURE__ */ React255.createElement(IconInfoCircle5, { size: 16 }), title: "Response Schema", styles: actionAlertStyles }, /* @__PURE__ */ React255.createElement(Text152, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React255.createElement(Stack174, { gap: "xs" }, /* @__PURE__ */ React255.createElement(Text152, { size: "sm", c: "neutralColor.7" }, "How it works"), /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React255.createElement(
|
|
25765
|
+
), /* @__PURE__ */ React255.createElement(ActionIcon37, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React255.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React255.createElement(Alert42, { icon: /* @__PURE__ */ React255.createElement(IconInfoCircle5, { size: 16 }), title: "Response Schema", styles: actionAlertStyles }, /* @__PURE__ */ React255.createElement(Text152, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React255.createElement(Stack174, { gap: "xs" }, /* @__PURE__ */ React255.createElement(Text152, { size: "sm", c: "neutralColor.7" }, "How it works"), /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React255.createElement(Code9, null, "customer.email"), ")"), /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React255.createElement(Code9, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React255.createElement(Stack174, { gap: "xs" }, /* @__PURE__ */ React255.createElement(Group97, { justify: "space-between" }, /* @__PURE__ */ React255.createElement(Text152, { size: "sm", c: "neutralColor.7" }, "Response Fields"), /* @__PURE__ */ React255.createElement(Button49, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React255.createElement(IconPlus8, { size: 14 }), onClick: handleAddSchemaField }, "Add Field")), schemaFields.length === 0 ? /* @__PURE__ */ React255.createElement(Code9, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React255.createElement(Stack174, { gap: "md" }, schemaFields.map((field, index) => /* @__PURE__ */ React255.createElement(Paper19, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React255.createElement(Stack174, { gap: "sm" }, /* @__PURE__ */ React255.createElement(Group97, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React255.createElement(Text152, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React255.createElement(ActionIcon37, { color: "red", variant: "subtle", onClick: () => handleRemoveSchemaField(index) }, /* @__PURE__ */ React255.createElement(IconTrash9, { size: 16 }))), /* @__PURE__ */ React255.createElement(
|
|
25726
25766
|
BaseTextInput,
|
|
25727
25767
|
{
|
|
25728
25768
|
label: "Field Path",
|
|
@@ -25770,12 +25810,12 @@ var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
|
25770
25810
|
minRows: 2,
|
|
25771
25811
|
size: "sm"
|
|
25772
25812
|
}
|
|
25773
|
-
), field.path && field.displayName && /* @__PURE__ */ React255.createElement(Stack174, { gap: 4 }, /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "Reference format:"), /* @__PURE__ */ React255.createElement(
|
|
25813
|
+
), field.path && field.displayName && /* @__PURE__ */ React255.createElement(Stack174, { gap: 4 }, /* @__PURE__ */ React255.createElement(Text152, { size: "xs", c: "dimmed" }, "Reference format:"), /* @__PURE__ */ React255.createElement(Code9, { block: true, style: { fontSize: "11px" } }, `{{${blockId}.response.${field.path}}}`))))))));
|
|
25774
25814
|
};
|
|
25775
25815
|
|
|
25776
25816
|
// src/mantine/blocks/action/actionTypes/httpRequest/HttpRequestFlowDetail.tsx
|
|
25777
25817
|
import React256, { useMemo as useMemo93, useState as useState109 } from "react";
|
|
25778
|
-
import { Group as Group98, Stack as Stack175, Text as Text153, ActionIcon as ActionIcon38, Badge as Badge47, Collapse as Collapse8, Code as
|
|
25818
|
+
import { Group as Group98, Stack as Stack175, Text as Text153, ActionIcon as ActionIcon38, Badge as Badge47, Collapse as Collapse8, Code as Code10, Loader as Loader40, Alert as Alert43 } from "@mantine/core";
|
|
25779
25819
|
import { IconSend as IconSend5, IconChevronDown as IconChevronDown8, IconChevronUp as IconChevronUp4, IconAlertTriangle as IconAlertTriangle5 } from "@tabler/icons-react";
|
|
25780
25820
|
var HttpRequestFlowDetail = ({ inputs, editor, runtime, updateRuntime, isDisabled }) => {
|
|
25781
25821
|
const [isLoading, setIsLoading] = useState109(false);
|
|
@@ -25879,7 +25919,7 @@ var HttpRequestFlowDetail = ({ inputs, editor, runtime, updateRuntime, isDisable
|
|
|
25879
25919
|
}
|
|
25880
25920
|
};
|
|
25881
25921
|
const hasDetails = headers.length > 0 || body.length > 0 || !!response;
|
|
25882
|
-
return /* @__PURE__ */ React256.createElement(Stack175, { gap: "md" }, /* @__PURE__ */ React256.createElement(Group98, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React256.createElement(Badge47, { size: "sm", variant: "filled", color: getMethodColor(method) }, method), /* @__PURE__ */ React256.createElement(Text153, { size: "xs", c: "dimmed", contentEditable: false, style: { wordBreak: "break-all", overflow: "hidden", textOverflow: "ellipsis" } }, endpoint || "No endpoint configured"), status !== "idle" && /* @__PURE__ */ React256.createElement(Badge47, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React256.createElement(Group98, { gap: "xs" }, /* @__PURE__ */ React256.createElement(BasePrimaryButton, { leftSection: isLoading ? /* @__PURE__ */ React256.createElement(Loader40, { size: 14 }) : /* @__PURE__ */ React256.createElement(IconSend5, { size: 14 }), onClick: handleExecuteRequest, disabled: isDisabled || isLoading || !endpoint }, isLoading ? "Sending..." : "Execute"), /* @__PURE__ */ React256.createElement(ActionIcon38, { variant: "subtle", onClick: () => setShowDetails(!showDetails), disabled: !hasDetails }, showDetails ? /* @__PURE__ */ React256.createElement(IconChevronUp4, { size: 16 }) : /* @__PURE__ */ React256.createElement(IconChevronDown8, { size: 16 }))), /* @__PURE__ */ React256.createElement(Collapse8, { in: showDetails }, /* @__PURE__ */ React256.createElement(Stack175, { gap: "md" }, validationWarnings.length > 0 && /* @__PURE__ */ React256.createElement(Alert43, { icon: /* @__PURE__ */ React256.createElement(IconAlertTriangle5, { size: 16 }), title: "Schema Validation Warnings", color: "yellow", styles: actionAlertStyles }, /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React256.createElement(Text153, { key: index, size: "xs", c: "dimmed" }, "\u2022 ", warning)))), headers.length > 0 && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Headers:"), /* @__PURE__ */ React256.createElement(
|
|
25922
|
+
return /* @__PURE__ */ React256.createElement(Stack175, { gap: "md" }, /* @__PURE__ */ React256.createElement(Group98, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React256.createElement(Badge47, { size: "sm", variant: "filled", color: getMethodColor(method) }, method), /* @__PURE__ */ React256.createElement(Text153, { size: "xs", c: "dimmed", contentEditable: false, style: { wordBreak: "break-all", overflow: "hidden", textOverflow: "ellipsis" } }, endpoint || "No endpoint configured"), status !== "idle" && /* @__PURE__ */ React256.createElement(Badge47, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React256.createElement(Group98, { gap: "xs" }, /* @__PURE__ */ React256.createElement(BasePrimaryButton, { leftSection: isLoading ? /* @__PURE__ */ React256.createElement(Loader40, { size: 14 }) : /* @__PURE__ */ React256.createElement(IconSend5, { size: 14 }), onClick: handleExecuteRequest, disabled: isDisabled || isLoading || !endpoint }, isLoading ? "Sending..." : "Execute"), /* @__PURE__ */ React256.createElement(ActionIcon38, { variant: "subtle", onClick: () => setShowDetails(!showDetails), disabled: !hasDetails }, showDetails ? /* @__PURE__ */ React256.createElement(IconChevronUp4, { size: 16 }) : /* @__PURE__ */ React256.createElement(IconChevronDown8, { size: 16 }))), /* @__PURE__ */ React256.createElement(Collapse8, { in: showDetails }, /* @__PURE__ */ React256.createElement(Stack175, { gap: "md" }, validationWarnings.length > 0 && /* @__PURE__ */ React256.createElement(Alert43, { icon: /* @__PURE__ */ React256.createElement(IconAlertTriangle5, { size: 16 }), title: "Schema Validation Warnings", color: "yellow", styles: actionAlertStyles }, /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React256.createElement(Text153, { key: index, size: "xs", c: "dimmed" }, "\u2022 ", warning)))), headers.length > 0 && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Headers:"), /* @__PURE__ */ React256.createElement(Code10, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
25883
25923
|
headers.reduce(
|
|
25884
25924
|
(acc, h) => {
|
|
25885
25925
|
if (h.key && h.value) acc[h.key] = h.value;
|
|
@@ -25889,7 +25929,7 @@ var HttpRequestFlowDetail = ({ inputs, editor, runtime, updateRuntime, isDisable
|
|
|
25889
25929
|
),
|
|
25890
25930
|
null,
|
|
25891
25931
|
2
|
|
25892
|
-
))), method !== "GET" && body.length > 0 && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Body:"), /* @__PURE__ */ React256.createElement(
|
|
25932
|
+
))), method !== "GET" && body.length > 0 && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Body:"), /* @__PURE__ */ React256.createElement(Code10, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
|
|
25893
25933
|
body.reduce(
|
|
25894
25934
|
(acc, b) => {
|
|
25895
25935
|
if (b.key && b.value) acc[b.key] = b.value;
|
|
@@ -25899,7 +25939,7 @@ var HttpRequestFlowDetail = ({ inputs, editor, runtime, updateRuntime, isDisable
|
|
|
25899
25939
|
),
|
|
25900
25940
|
null,
|
|
25901
25941
|
2
|
|
25902
|
-
))), response && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Response:"), status === "error" ? /* @__PURE__ */ React256.createElement(Alert43, { color: "red", title: "Error", styles: { ...actionAlertStyles, message: { ...actionAlertStyles.message, fontSize: "11px" } } }, /* @__PURE__ */ React256.createElement(
|
|
25942
|
+
))), response && /* @__PURE__ */ React256.createElement(Stack175, { gap: "xs" }, /* @__PURE__ */ React256.createElement(Text153, { size: "xs", fw: 600, c: "dimmed" }, "Response:"), status === "error" ? /* @__PURE__ */ React256.createElement(Alert43, { color: "red", title: "Error", styles: { ...actionAlertStyles, message: { ...actionAlertStyles.message, fontSize: "11px" } } }, /* @__PURE__ */ React256.createElement(Code10, { block: true, style: { fontSize: "11px" } }, response)) : /* @__PURE__ */ React256.createElement(Code10, { block: true, style: { fontSize: "11px", maxHeight: "300px", overflow: "auto" } }, response)))));
|
|
25903
25943
|
};
|
|
25904
25944
|
|
|
25905
25945
|
// src/mantine/blocks/action/actionTypes/httpRequest/index.ts
|
|
@@ -28778,7 +28818,7 @@ var EvaluateClaimFlowDetail = ({
|
|
|
28778
28818
|
if (handlers2.getEvaluationTemplate) {
|
|
28779
28819
|
setOutcomeTemplateLoading(true);
|
|
28780
28820
|
try {
|
|
28781
|
-
const evalTemplateResult = await handlers2.getEvaluationTemplate(deedDid);
|
|
28821
|
+
const evalTemplateResult = await handlers2.getEvaluationTemplate(deedDid, collectionId);
|
|
28782
28822
|
setOutcomeTemplateJson(evalTemplateResult?.surveyTemplate || null);
|
|
28783
28823
|
} catch {
|
|
28784
28824
|
setOutcomeTemplateJson(null);
|
|
@@ -30920,9 +30960,9 @@ var DomainCardPreviewConfig = ({ inputs, onInputsChange }) => {
|
|
|
30920
30960
|
|
|
30921
30961
|
// src/mantine/blocks/action/actionTypes/domainCardPreview/DomainCardPreviewFlowDetail.tsx
|
|
30922
30962
|
import React279, { useCallback as useCallback106, useMemo as useMemo109 } from "react";
|
|
30923
|
-
import { Alert as Alert56, Badge as Badge52, Box as Box61, Button as Button59, Code as
|
|
30963
|
+
import { Alert as Alert56, Badge as Badge52, Box as Box61, Button as Button59, Code as Code11, Group as Group110, Loader as Loader56, ScrollArea as ScrollArea9, Stack as Stack196, Text as Text174 } from "@mantine/core";
|
|
30924
30964
|
import { IconAlertCircle as IconAlertCircle22, IconCheck as IconCheck24, IconSparkles as IconSparkles6 } from "@tabler/icons-react";
|
|
30925
|
-
var JsonViewer2 = ({ data }) => /* @__PURE__ */ React279.createElement(ScrollArea9.Autosize, { mah: 360, offsetScrollbars: true }, /* @__PURE__ */ React279.createElement(Stack196, { gap: "md" }, data.name && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React279.createElement(Text174, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React279.createElement(Stack196, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React279.createElement(Box61, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React279.createElement(Text174, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React279.createElement(
|
|
30965
|
+
var JsonViewer2 = ({ data }) => /* @__PURE__ */ React279.createElement(ScrollArea9.Autosize, { mah: 360, offsetScrollbars: true }, /* @__PURE__ */ React279.createElement(Stack196, { gap: "md" }, data.name && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React279.createElement(Text174, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React279.createElement(Text174, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React279.createElement(Stack196, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React279.createElement(Box61, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React279.createElement(Text174, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React279.createElement(Box61, null, /* @__PURE__ */ React279.createElement(Text174, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React279.createElement(Code11, { block: true, style: { fontSize: 11, maxHeight: 200, overflow: "auto" } }, JSON.stringify(data, null, 2)))));
|
|
30926
30966
|
var STATUS_BADGE = {
|
|
30927
30967
|
approved: { color: "green", text: "Approved" },
|
|
30928
30968
|
error: { color: "red", text: "Error" },
|
|
@@ -31582,7 +31622,7 @@ var CredentialStoreConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
|
31582
31622
|
|
|
31583
31623
|
// src/mantine/blocks/action/actionTypes/credentialStore/CredentialStoreFlowDetail.tsx
|
|
31584
31624
|
import React287, { useCallback as useCallback114, useMemo as useMemo113, useState as useState137 } from "react";
|
|
31585
|
-
import { Alert as Alert60, Button as Button61, Code as
|
|
31625
|
+
import { Alert as Alert60, Button as Button61, Code as Code12, Loader as Loader59, Stack as Stack204, Text as Text179 } from "@mantine/core";
|
|
31586
31626
|
import { IconShieldCheck as IconShieldCheck15 } from "@tabler/icons-react";
|
|
31587
31627
|
function safeParse(value) {
|
|
31588
31628
|
let result = value;
|
|
@@ -31606,7 +31646,7 @@ function CredentialPreview({ value }) {
|
|
|
31606
31646
|
return value;
|
|
31607
31647
|
}, [value]);
|
|
31608
31648
|
if (!display) return null;
|
|
31609
|
-
return /* @__PURE__ */ React287.createElement(React287.Fragment, null, /* @__PURE__ */ React287.createElement(Text179, { size: "xs", fw: 600, c: "dimmed" }, "Credential"), /* @__PURE__ */ React287.createElement(
|
|
31649
|
+
return /* @__PURE__ */ React287.createElement(React287.Fragment, null, /* @__PURE__ */ React287.createElement(Text179, { size: "xs", fw: 600, c: "dimmed" }, "Credential"), /* @__PURE__ */ React287.createElement(Code12, { block: true, style: { fontSize: "11px", maxHeight: "200px", overflow: "auto" } }, display));
|
|
31610
31650
|
}
|
|
31611
31651
|
var CredentialStoreFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled }) => {
|
|
31612
31652
|
const handlers = useBlocknoteHandlers();
|
|
@@ -31814,7 +31854,7 @@ var PaymentConfig = ({ inputs, onInputsChange }) => {
|
|
|
31814
31854
|
|
|
31815
31855
|
// src/mantine/blocks/action/actionTypes/payment/PaymentFlowDetail.tsx
|
|
31816
31856
|
import React289, { useCallback as useCallback116, useMemo as useMemo114, useState as useState139 } from "react";
|
|
31817
|
-
import { Alert as Alert61, Button as Button62, Code as
|
|
31857
|
+
import { Alert as Alert61, Button as Button62, Code as Code13, Divider as Divider25, Group as Group111, Loader as Loader60, Stack as Stack206, Text as Text181 } from "@mantine/core";
|
|
31818
31858
|
import { IconAlertTriangle as IconAlertTriangle6, IconCash as IconCash2, IconSearch as IconSearch8, IconSend as IconSend7 } from "@tabler/icons-react";
|
|
31819
31859
|
function parsePrimarySkill3(rawSkill) {
|
|
31820
31860
|
const coerce2 = (candidate) => {
|
|
@@ -32090,7 +32130,7 @@ var PaymentFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisa
|
|
|
32090
32130
|
setSubmitting(false);
|
|
32091
32131
|
}
|
|
32092
32132
|
}, [isDisabled, submitting, block, handlers, transactionId]);
|
|
32093
|
-
return /* @__PURE__ */ React289.createElement(Stack206, { gap: "md" }, paymentConfig && !isProposed && !isTerminal && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Payment Configuration"), /* @__PURE__ */ React289.createElement(
|
|
32133
|
+
return /* @__PURE__ */ React289.createElement(Stack206, { gap: "md" }, paymentConfig && !isProposed && !isTerminal && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Payment Configuration"), /* @__PURE__ */ React289.createElement(Code13, { block: true, style: { fontSize: "11px", maxHeight: "200px", overflow: "auto" } }, JSON.stringify(paymentConfig, null, 2))), summary && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Divider25, null), /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Payout Proposal"), /* @__PURE__ */ React289.createElement(Stack206, { gap: 4, style: { background: "var(--mantine-color-neutralColor-4)", borderRadius: 8, padding: 12 } }, Object.entries(summary).map(([key, value]) => /* @__PURE__ */ React289.createElement(Group111, { key, justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs", c: "dimmed", style: { textTransform: "capitalize" } }, key.replace(/_/g, " ")), /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 500, c: "var(--mantine-color-text)", style: { textAlign: "right", wordBreak: "break-all" } }, typeof value === "object" ? JSON.stringify(value) : String(value)))))), paymentStatus && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Divider25, null), /* @__PURE__ */ React289.createElement(Group111, { justify: "space-between" }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Status"), /* @__PURE__ */ React289.createElement(Text181, { size: "sm", fw: 600, c: getPaymentStatusColor(paymentStatus), style: { textTransform: "capitalize" } }, paymentStatus))), transactionId && /* @__PURE__ */ React289.createElement(Group111, { justify: "space-between" }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Transaction ID"), /* @__PURE__ */ React289.createElement(Text181, { size: "xs", c: "var(--mantine-color-text)", style: { fontFamily: "monospace" } }, transactionId)), !isTerminal && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Divider25, null), isSubmitted ? /* @__PURE__ */ React289.createElement(
|
|
32094
32134
|
Button62,
|
|
32095
32135
|
{
|
|
32096
32136
|
fullWidth: true,
|
|
@@ -32123,7 +32163,7 @@ var PaymentFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisa
|
|
|
32123
32163
|
disabled: isDisabled || submitting
|
|
32124
32164
|
},
|
|
32125
32165
|
submitting ? "Executing..." : "Execute Payout"
|
|
32126
|
-
)), paymentError && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), title: "Payment Error", color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, paymentError)), error && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, error)), runtime.error?.message && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, runtime.error.message)), proposal && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Divider25, null), /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Proposal Detail"), /* @__PURE__ */ React289.createElement(
|
|
32166
|
+
)), paymentError && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), title: "Payment Error", color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, paymentError)), error && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, error)), runtime.error?.message && /* @__PURE__ */ React289.createElement(Alert61, { icon: /* @__PURE__ */ React289.createElement(IconAlertTriangle6, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React289.createElement(Text181, { size: "xs" }, runtime.error.message)), proposal && /* @__PURE__ */ React289.createElement(React289.Fragment, null, /* @__PURE__ */ React289.createElement(Divider25, null), /* @__PURE__ */ React289.createElement(Text181, { size: "xs", fw: 600, c: "dimmed" }, "Proposal Detail"), /* @__PURE__ */ React289.createElement(Code13, { block: true, style: { fontSize: "11px", maxHeight: "200px", overflow: "auto" } }, JSON.stringify(proposal, null, 2))));
|
|
32127
32167
|
};
|
|
32128
32168
|
|
|
32129
32169
|
// src/mantine/blocks/action/actionTypes/payment/index.ts
|
|
@@ -41284,9 +41324,7 @@ function useCreateIxoEditor(options) {
|
|
|
41284
41324
|
inlineContentSpecs: {
|
|
41285
41325
|
...defaultInlineContentSpecs
|
|
41286
41326
|
},
|
|
41287
|
-
styleSpecs:
|
|
41288
|
-
...defaultStyleSpecs
|
|
41289
|
-
}
|
|
41327
|
+
styleSpecs: ixoStyleSpecs
|
|
41290
41328
|
});
|
|
41291
41329
|
const editor = useCreateBlockNote({
|
|
41292
41330
|
schema,
|
|
@@ -41317,7 +41355,7 @@ function useCreateIxoEditor(options) {
|
|
|
41317
41355
|
|
|
41318
41356
|
// src/mantine/hooks/useCollaborativeIxoEditor.ts
|
|
41319
41357
|
import { useCreateBlockNote as useCreateBlockNote2 } from "@blocknote/react";
|
|
41320
|
-
import { BlockNoteSchema as BlockNoteSchema2, defaultBlockSpecs as defaultBlockSpecs2, defaultInlineContentSpecs as defaultInlineContentSpecs2
|
|
41358
|
+
import { BlockNoteSchema as BlockNoteSchema2, defaultBlockSpecs as defaultBlockSpecs2, defaultInlineContentSpecs as defaultInlineContentSpecs2 } from "@blocknote/core";
|
|
41321
41359
|
|
|
41322
41360
|
// src/core/hooks/useMatrixProvider.ts
|
|
41323
41361
|
import { useEffect as useEffect146, useState as useState177, useRef as useRef39, useCallback as useCallback167, useMemo as useMemo149 } from "react";
|
|
@@ -42094,9 +42132,7 @@ function useCreateCollaborativeIxoEditor(options) {
|
|
|
42094
42132
|
inlineContentSpecs: {
|
|
42095
42133
|
...defaultInlineContentSpecs2
|
|
42096
42134
|
},
|
|
42097
|
-
styleSpecs:
|
|
42098
|
-
...defaultStyleSpecs2
|
|
42099
|
-
}
|
|
42135
|
+
styleSpecs: ixoStyleSpecs
|
|
42100
42136
|
}),
|
|
42101
42137
|
[]
|
|
42102
42138
|
);
|
|
@@ -42462,7 +42498,7 @@ function useCreateCollaborativeIxoEditor(options) {
|
|
|
42462
42498
|
|
|
42463
42499
|
// src/mantine/IxoEditor.tsx
|
|
42464
42500
|
import React373, { useMemo as useMemo156 } from "react";
|
|
42465
|
-
import { SuggestionMenuController, getDefaultReactSlashMenuItems } from "@blocknote/react";
|
|
42501
|
+
import { GridSuggestionMenuController, SuggestionMenuController, getDefaultReactSlashMenuItems } from "@blocknote/react";
|
|
42466
42502
|
import { BlockNoteView } from "@blocknote/mantine";
|
|
42467
42503
|
import { filterSuggestionItems } from "@blocknote/core";
|
|
42468
42504
|
import { MantineThemeContext, useMantineTheme } from "@mantine/core";
|
|
@@ -43547,6 +43583,34 @@ function cleanEmptyEditable(el) {
|
|
|
43547
43583
|
el.innerHTML = "";
|
|
43548
43584
|
}
|
|
43549
43585
|
}
|
|
43586
|
+
function isSelectionInsideRoot(selection, root) {
|
|
43587
|
+
const anchor = selection.anchorNode;
|
|
43588
|
+
const focus = selection.focusNode;
|
|
43589
|
+
return !!anchor && !!focus && root.contains(anchor) && root.contains(focus);
|
|
43590
|
+
}
|
|
43591
|
+
function placeCaretAfter(node) {
|
|
43592
|
+
const selection = window.getSelection();
|
|
43593
|
+
if (!selection) return;
|
|
43594
|
+
const range = document.createRange();
|
|
43595
|
+
range.setStartAfter(node);
|
|
43596
|
+
range.collapse(true);
|
|
43597
|
+
selection.removeAllRanges();
|
|
43598
|
+
selection.addRange(range);
|
|
43599
|
+
}
|
|
43600
|
+
function insertPlainTextAtSelection(root, text) {
|
|
43601
|
+
const selection = window.getSelection();
|
|
43602
|
+
if (!selection || selection.rangeCount === 0 || !isSelectionInsideRoot(selection, root)) {
|
|
43603
|
+
const textNode2 = document.createTextNode(text);
|
|
43604
|
+
root.appendChild(textNode2);
|
|
43605
|
+
placeCaretAfter(textNode2);
|
|
43606
|
+
return;
|
|
43607
|
+
}
|
|
43608
|
+
const range = selection.getRangeAt(0);
|
|
43609
|
+
range.deleteContents();
|
|
43610
|
+
const textNode = document.createTextNode(text);
|
|
43611
|
+
range.insertNode(textNode);
|
|
43612
|
+
placeCaretAfter(textNode);
|
|
43613
|
+
}
|
|
43550
43614
|
function PageTitle({ editor, editable }) {
|
|
43551
43615
|
const [title, setTitle] = useState184("");
|
|
43552
43616
|
const [hasIcon, setHasIcon] = useState184(false);
|
|
@@ -43642,8 +43706,12 @@ function PageTitle({ editor, editable }) {
|
|
|
43642
43706
|
}, [editor]);
|
|
43643
43707
|
const handlePaste = useCallback171((e) => {
|
|
43644
43708
|
e.preventDefault();
|
|
43645
|
-
const text = e.clipboardData.getData("text/plain").replace(/\n/g, " ");
|
|
43646
|
-
|
|
43709
|
+
const text = e.clipboardData.getData("text/plain").replace(/\r?\n/g, " ");
|
|
43710
|
+
if (titleRef.current) {
|
|
43711
|
+
insertPlainTextAtSelection(titleRef.current, text);
|
|
43712
|
+
cleanEmptyEditable(titleRef.current);
|
|
43713
|
+
setTitle(titleRef.current.textContent || "");
|
|
43714
|
+
}
|
|
43647
43715
|
}, []);
|
|
43648
43716
|
return /* @__PURE__ */ React371.createElement(Box73, { maw: 900, mx: "auto", w: "100%" }, /* @__PURE__ */ React371.createElement(
|
|
43649
43717
|
Box73,
|
|
@@ -44086,7 +44154,7 @@ function IxoEditorContent({
|
|
|
44086
44154
|
onChange,
|
|
44087
44155
|
onSelectionChange
|
|
44088
44156
|
},
|
|
44089
|
-
config.slashMenu && /* @__PURE__ */ React373.createElement(
|
|
44157
|
+
config.slashMenu && /* @__PURE__ */ React373.createElement(React373.Fragment, null, /* @__PURE__ */ React373.createElement(
|
|
44090
44158
|
SuggestionMenuController,
|
|
44091
44159
|
{
|
|
44092
44160
|
triggerCharacter: "/",
|
|
@@ -44108,16 +44176,17 @@ function IxoEditorContent({
|
|
|
44108
44176
|
return filterSuggestionItems(allItems, query);
|
|
44109
44177
|
}
|
|
44110
44178
|
}
|
|
44111
|
-
),
|
|
44179
|
+
), /* @__PURE__ */ React373.createElement(GridSuggestionMenuController, { triggerCharacter: ":", columns: 10, minQueryLength: 2 })),
|
|
44112
44180
|
children
|
|
44113
44181
|
);
|
|
44114
44182
|
return /* @__PURE__ */ React373.createElement("div", { style: { display: "flex", height: "100%", width: "100%", gap: 0 } }, /* @__PURE__ */ React373.createElement(
|
|
44115
44183
|
"div",
|
|
44116
44184
|
{
|
|
44117
|
-
className: `ixo-editor ixo-editor--theme-${config.theme} ${className}`,
|
|
44185
|
+
className: `ixo-editor ixo-editor--theme-${config.theme}${isEditable ? "" : " ixo-editor--readonly"} ${className}`,
|
|
44118
44186
|
style: {
|
|
44119
44187
|
width: isPanelVisible && isPanelOpen ? "50%" : "100%",
|
|
44120
|
-
transition: "width 0.2s ease"
|
|
44188
|
+
transition: "width 0.2s ease",
|
|
44189
|
+
...isEditable ? {} : { caretColor: "transparent" }
|
|
44121
44190
|
}
|
|
44122
44191
|
},
|
|
44123
44192
|
/* @__PURE__ */ React373.createElement(CoverImage, { coverImageUrl, logoUrl }),
|
|
@@ -44948,4 +45017,4 @@ export {
|
|
|
44948
45017
|
getExtraSlashMenuItems,
|
|
44949
45018
|
useCreateIxoEditor
|
|
44950
45019
|
};
|
|
44951
|
-
//# sourceMappingURL=chunk-
|
|
45020
|
+
//# sourceMappingURL=chunk-MOPZZGGR.mjs.map
|