@d34dman/flowdrop 0.0.20 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/components/App.svelte +172 -417
- package/dist/components/ConfigForm.svelte +707 -241
- package/dist/components/ConfigForm.svelte.d.ts +9 -2
- package/dist/components/ConfigPanel.svelte +160 -0
- package/dist/components/ConfigPanel.svelte.d.ts +32 -0
- package/dist/components/Navbar.svelte +2 -1
- package/dist/components/NodeStatusOverlay.svelte +1 -0
- package/dist/components/NodeStatusOverlay.svelte.d.ts +1 -0
- package/dist/components/ReadOnlyDetails.svelte +168 -0
- package/dist/components/ReadOnlyDetails.svelte.d.ts +25 -0
- package/dist/components/WorkflowEditor.svelte +34 -26
- package/dist/components/layouts/MainLayout.svelte +513 -0
- package/dist/components/layouts/MainLayout.svelte.d.ts +50 -0
- package/dist/components/{GatewayNode.svelte → nodes/GatewayNode.svelte} +3 -3
- package/dist/components/{GatewayNode.svelte.d.ts → nodes/GatewayNode.svelte.d.ts} +1 -1
- package/dist/components/nodes/NotesNode.svelte +348 -0
- package/dist/components/nodes/NotesNode.svelte.d.ts +24 -0
- package/dist/components/{SimpleNode.svelte → nodes/SimpleNode.svelte} +2 -2
- package/dist/components/{SimpleNode.svelte.d.ts → nodes/SimpleNode.svelte.d.ts} +1 -1
- package/dist/components/{SquareNode.svelte → nodes/SquareNode.svelte} +2 -2
- package/dist/components/{SquareNode.svelte.d.ts → nodes/SquareNode.svelte.d.ts} +1 -1
- package/dist/components/{TerminalNode.svelte → nodes/TerminalNode.svelte} +2 -2
- package/dist/components/{TerminalNode.svelte.d.ts → nodes/TerminalNode.svelte.d.ts} +1 -1
- package/dist/components/{ToolNode.svelte → nodes/ToolNode.svelte} +2 -2
- package/dist/components/{ToolNode.svelte.d.ts → nodes/ToolNode.svelte.d.ts} +1 -1
- package/dist/components/{WorkflowNode.svelte → nodes/WorkflowNode.svelte} +3 -3
- package/dist/components/{WorkflowNode.svelte.d.ts → nodes/WorkflowNode.svelte.d.ts} +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.js +8 -7
- package/dist/registry/builtinNodes.js +7 -7
- package/dist/styles/base.css +15 -1
- package/package.json +1 -1
- package/dist/components/ConfigSidebar.svelte +0 -934
- package/dist/components/ConfigSidebar.svelte.d.ts +0 -51
- package/dist/components/NotesNode.svelte +0 -566
- package/dist/components/NotesNode.svelte.d.ts +0 -43
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ConfigValues, NodeMetadata } from "../../types/index.js";
|
|
3
|
+
import Icon from "@iconify/svelte";
|
|
4
|
+
import MarkdownDisplay from "../MarkdownDisplay.svelte";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* NotesNode component props
|
|
8
|
+
* Displays a styled note with markdown content
|
|
9
|
+
*/
|
|
10
|
+
const props = $props<{
|
|
11
|
+
data: {
|
|
12
|
+
label: string;
|
|
13
|
+
config: ConfigValues;
|
|
14
|
+
metadata: NodeMetadata;
|
|
15
|
+
nodeId?: string;
|
|
16
|
+
onConfigOpen?: (node: {
|
|
17
|
+
id: string;
|
|
18
|
+
type: string;
|
|
19
|
+
data: { label: string; config: ConfigValues; metadata: NodeMetadata };
|
|
20
|
+
}) => void;
|
|
21
|
+
};
|
|
22
|
+
selected?: boolean;
|
|
23
|
+
isProcessing?: boolean;
|
|
24
|
+
isError?: boolean;
|
|
25
|
+
}>();
|
|
26
|
+
|
|
27
|
+
/** Note content derived from config */
|
|
28
|
+
const noteContent = $derived(
|
|
29
|
+
(props.data.config?.content as string) || "Add your notes here..."
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
/** Note type derived from config */
|
|
33
|
+
const noteType = $derived(
|
|
34
|
+
(props.data.config?.noteType as string) || "info"
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
/** Note type configuration with styling for each type */
|
|
38
|
+
const noteTypes = {
|
|
39
|
+
info: {
|
|
40
|
+
name: "Info",
|
|
41
|
+
bgColor: "bg-blue-50",
|
|
42
|
+
borderColor: "border-blue-200",
|
|
43
|
+
textColor: "text-blue-800",
|
|
44
|
+
iconColor: "text-blue-500",
|
|
45
|
+
icon: "mdi:information"
|
|
46
|
+
},
|
|
47
|
+
warning: {
|
|
48
|
+
name: "Warning",
|
|
49
|
+
bgColor: "bg-yellow-50",
|
|
50
|
+
borderColor: "border-yellow-200",
|
|
51
|
+
textColor: "text-yellow-800",
|
|
52
|
+
iconColor: "text-yellow-500",
|
|
53
|
+
icon: "mdi:alert"
|
|
54
|
+
},
|
|
55
|
+
success: {
|
|
56
|
+
name: "Success",
|
|
57
|
+
bgColor: "bg-green-50",
|
|
58
|
+
borderColor: "border-green-200",
|
|
59
|
+
textColor: "text-green-800",
|
|
60
|
+
iconColor: "text-green-500",
|
|
61
|
+
icon: "mdi:check-circle"
|
|
62
|
+
},
|
|
63
|
+
error: {
|
|
64
|
+
name: "Error",
|
|
65
|
+
bgColor: "bg-red-50",
|
|
66
|
+
borderColor: "border-red-200",
|
|
67
|
+
textColor: "text-red-800",
|
|
68
|
+
iconColor: "text-red-500",
|
|
69
|
+
icon: "mdi:close-circle"
|
|
70
|
+
},
|
|
71
|
+
note: {
|
|
72
|
+
name: "Note",
|
|
73
|
+
bgColor: "bg-gray-50",
|
|
74
|
+
borderColor: "border-gray-200",
|
|
75
|
+
textColor: "text-gray-800",
|
|
76
|
+
iconColor: "text-gray-500",
|
|
77
|
+
icon: "mdi:note-text"
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/** Current note type configuration based on selected type */
|
|
82
|
+
const currentType = $derived(
|
|
83
|
+
noteTypes[noteType as keyof typeof noteTypes] || noteTypes.info
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Opens the configuration sidebar for editing note properties
|
|
88
|
+
*/
|
|
89
|
+
function openConfigSidebar(): void {
|
|
90
|
+
if (props.data.onConfigOpen) {
|
|
91
|
+
const nodeForConfig = {
|
|
92
|
+
id: props.data.nodeId || "unknown",
|
|
93
|
+
type: "note",
|
|
94
|
+
data: props.data
|
|
95
|
+
};
|
|
96
|
+
props.data.onConfigOpen(nodeForConfig);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Handles double-click to open config sidebar
|
|
102
|
+
*/
|
|
103
|
+
function handleDoubleClick(): void {
|
|
104
|
+
openConfigSidebar();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Handles keyboard events for accessibility
|
|
109
|
+
* @param event - The keyboard event
|
|
110
|
+
*/
|
|
111
|
+
function handleKeydown(event: KeyboardEvent): void {
|
|
112
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
handleDoubleClick();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
</script>
|
|
118
|
+
|
|
119
|
+
<div
|
|
120
|
+
class="flowdrop-notes-node {currentType.bgColor}"
|
|
121
|
+
class:flowdrop-notes-node--selected={props.selected}
|
|
122
|
+
class:flowdrop-notes-node--processing={props.isProcessing}
|
|
123
|
+
class:flowdrop-notes-node--error={props.isError}
|
|
124
|
+
ondblclick={handleDoubleClick}
|
|
125
|
+
onkeydown={handleKeydown}
|
|
126
|
+
role="button"
|
|
127
|
+
tabindex="0"
|
|
128
|
+
>
|
|
129
|
+
<!-- Display Mode -->
|
|
130
|
+
<div class="flowdrop-notes-node__content {currentType.borderColor} {currentType.textColor}">
|
|
131
|
+
<!-- Header with icon and type -->
|
|
132
|
+
<div class="flowdrop-notes-node__header">
|
|
133
|
+
<div class="flowdrop-notes-node__header-left">
|
|
134
|
+
<Icon icon={currentType.icon} class="flowdrop-notes-node__icon {currentType.iconColor}" />
|
|
135
|
+
<span class="flowdrop-notes-node__type">{currentType.name}</span>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<!-- Rendered markdown content -->
|
|
140
|
+
<div class="flowdrop-notes-node__body">
|
|
141
|
+
<MarkdownDisplay content={noteContent} className="flowdrop-notes-node__markdown" />
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<!-- Processing indicator -->
|
|
145
|
+
{#if props.isProcessing}
|
|
146
|
+
<div class="flowdrop-notes-node__processing">
|
|
147
|
+
<div class="flowdrop-notes-node__spinner"></div>
|
|
148
|
+
<span>Processing...</span>
|
|
149
|
+
</div>
|
|
150
|
+
{/if}
|
|
151
|
+
|
|
152
|
+
<!-- Error indicator -->
|
|
153
|
+
{#if props.isError}
|
|
154
|
+
<div class="flowdrop-notes-node__error">
|
|
155
|
+
<Icon icon="mdi:alert-circle" class="flowdrop-notes-node__error-icon" />
|
|
156
|
+
<span>Error occurred</span>
|
|
157
|
+
</div>
|
|
158
|
+
{/if}
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<!-- Config button -->
|
|
162
|
+
<button
|
|
163
|
+
class="flowdrop-notes-node__config-btn"
|
|
164
|
+
onclick={openConfigSidebar}
|
|
165
|
+
title="Configure note"
|
|
166
|
+
>
|
|
167
|
+
<Icon icon="mdi:cog" />
|
|
168
|
+
</button>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
<style>
|
|
172
|
+
.flowdrop-notes-node {
|
|
173
|
+
min-width: var(--notes-node-min-width);
|
|
174
|
+
max-width: var(--notes-node-max-width);
|
|
175
|
+
width: var(--notes-node-width);
|
|
176
|
+
border-radius: var(--notes-node-border-radius);
|
|
177
|
+
border: 1px solid;
|
|
178
|
+
background: var(--notes-node-background);
|
|
179
|
+
backdrop-filter: var(--notes-node-backdrop-filter);
|
|
180
|
+
box-shadow: var(--notes-node-box-shadow);
|
|
181
|
+
transition: var(--notes-node-transition);
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
z-index: 5;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* Background color overrides for different note types */
|
|
187
|
+
.flowdrop-notes-node.bg-blue-50 {
|
|
188
|
+
background-color: var(--notes-node-info-bg);
|
|
189
|
+
border-color: var(--notes-node-info-border);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.flowdrop-notes-node.bg-yellow-50 {
|
|
193
|
+
background-color: var(--notes-node-warning-bg);
|
|
194
|
+
border-color: var(--notes-node-warning-border);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.flowdrop-notes-node.bg-green-50 {
|
|
198
|
+
background-color: var(--notes-node-success-bg);
|
|
199
|
+
border-color: var(--notes-node-success-border);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.flowdrop-notes-node.bg-red-50 {
|
|
203
|
+
background-color: var(--notes-node-error-bg);
|
|
204
|
+
border-color: var(--notes-node-error-border);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.flowdrop-notes-node.bg-gray-50 {
|
|
208
|
+
background-color: var(--notes-node-note-bg);
|
|
209
|
+
border-color: var(--notes-node-note-border);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.flowdrop-notes-node:hover {
|
|
213
|
+
box-shadow: var(--notes-node-hover-box-shadow);
|
|
214
|
+
transform: translateY(-1px);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.flowdrop-notes-node--selected {
|
|
218
|
+
box-shadow: var(--notes-node-selected-box-shadow);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.flowdrop-notes-node--processing {
|
|
222
|
+
opacity: 0.7;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.flowdrop-notes-node--error {
|
|
226
|
+
border-color: #ef4444 !important;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/* Display Mode Styles */
|
|
230
|
+
.flowdrop-notes-node__content {
|
|
231
|
+
padding: var(--notes-node-padding);
|
|
232
|
+
border-radius: var(--notes-node-border-radius);
|
|
233
|
+
border: 1px solid;
|
|
234
|
+
height: 100%;
|
|
235
|
+
display: flex;
|
|
236
|
+
flex-direction: column;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.flowdrop-notes-node__header {
|
|
240
|
+
display: flex;
|
|
241
|
+
align-items: center;
|
|
242
|
+
justify-content: space-between;
|
|
243
|
+
margin-bottom: 0.75rem;
|
|
244
|
+
flex-shrink: 0;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.flowdrop-notes-node__header-left {
|
|
248
|
+
display: flex;
|
|
249
|
+
align-items: center;
|
|
250
|
+
gap: 0.5rem;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.flowdrop-notes-node__icon {
|
|
254
|
+
width: 1.75rem;
|
|
255
|
+
height: 1.75rem;
|
|
256
|
+
flex-shrink: 0;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.flowdrop-notes-node__type {
|
|
260
|
+
font-size: 0.875rem;
|
|
261
|
+
font-weight: 600;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.flowdrop-notes-node__body {
|
|
265
|
+
margin-bottom: 0.5rem;
|
|
266
|
+
flex: 1;
|
|
267
|
+
overflow-y: auto;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.flowdrop-notes-node__processing {
|
|
271
|
+
display: flex;
|
|
272
|
+
align-items: center;
|
|
273
|
+
gap: 0.5rem;
|
|
274
|
+
font-size: 0.75rem;
|
|
275
|
+
opacity: 0.7;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.flowdrop-notes-node__spinner {
|
|
279
|
+
width: 0.75rem;
|
|
280
|
+
height: 0.75rem;
|
|
281
|
+
border: 1px solid currentColor;
|
|
282
|
+
border-top-color: transparent;
|
|
283
|
+
border-radius: 50%;
|
|
284
|
+
animation: spin 1s linear infinite;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.flowdrop-notes-node__error {
|
|
288
|
+
display: flex;
|
|
289
|
+
align-items: center;
|
|
290
|
+
gap: 0.5rem;
|
|
291
|
+
font-size: 0.75rem;
|
|
292
|
+
color: #ef4444;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.flowdrop-notes-node__error-icon {
|
|
296
|
+
width: 0.75rem;
|
|
297
|
+
height: 0.75rem;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@keyframes spin {
|
|
301
|
+
to {
|
|
302
|
+
transform: rotate(360deg);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.flowdrop-notes-node__config-btn {
|
|
307
|
+
position: absolute;
|
|
308
|
+
top: 0.5rem;
|
|
309
|
+
right: 0.5rem;
|
|
310
|
+
width: 1.5rem;
|
|
311
|
+
height: 1.5rem;
|
|
312
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
313
|
+
border: 1px solid #e5e7eb;
|
|
314
|
+
border-radius: 0.25rem;
|
|
315
|
+
color: #6b7280;
|
|
316
|
+
cursor: pointer;
|
|
317
|
+
display: flex;
|
|
318
|
+
align-items: center;
|
|
319
|
+
justify-content: center;
|
|
320
|
+
opacity: 0;
|
|
321
|
+
transition: all 0.2s ease-in-out;
|
|
322
|
+
backdrop-filter: blur(4px);
|
|
323
|
+
z-index: 15;
|
|
324
|
+
font-size: 0.875rem;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.flowdrop-notes-node:hover .flowdrop-notes-node__config-btn {
|
|
328
|
+
opacity: 1;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.flowdrop-notes-node__config-btn:hover {
|
|
332
|
+
background-color: #f9fafb;
|
|
333
|
+
border-color: #d1d5db;
|
|
334
|
+
color: #374151;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/* Responsive design */
|
|
338
|
+
@media (max-width: 640px) {
|
|
339
|
+
.flowdrop-notes-node {
|
|
340
|
+
min-width: 200px;
|
|
341
|
+
max-width: 350px;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.flowdrop-notes-node__content {
|
|
345
|
+
padding: 0.75rem;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
</style>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ConfigValues, NodeMetadata } from "../../types/index.js";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
data: {
|
|
4
|
+
label: string;
|
|
5
|
+
config: ConfigValues;
|
|
6
|
+
metadata: NodeMetadata;
|
|
7
|
+
nodeId?: string;
|
|
8
|
+
onConfigOpen?: (node: {
|
|
9
|
+
id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
data: {
|
|
12
|
+
label: string;
|
|
13
|
+
config: ConfigValues;
|
|
14
|
+
metadata: NodeMetadata;
|
|
15
|
+
};
|
|
16
|
+
}) => void;
|
|
17
|
+
};
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
isProcessing?: boolean;
|
|
20
|
+
isError?: boolean;
|
|
21
|
+
};
|
|
22
|
+
declare const NotesNode: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
23
|
+
type NotesNode = ReturnType<typeof NotesNode>;
|
|
24
|
+
export default NotesNode;
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import { Position, Handle } from '@xyflow/svelte';
|
|
9
|
-
import type { ConfigValues, NodeMetadata } from '
|
|
9
|
+
import type { ConfigValues, NodeMetadata } from '../../types/index.js';
|
|
10
10
|
import Icon from '@iconify/svelte';
|
|
11
|
-
import { getDataTypeColor } from '
|
|
11
|
+
import { getDataTypeColor } from '../../utils/colors.js';
|
|
12
12
|
|
|
13
13
|
const props = $props<{
|
|
14
14
|
data: {
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import { Position, Handle } from '@xyflow/svelte';
|
|
9
|
-
import type { ConfigValues, NodeMetadata } from '
|
|
9
|
+
import type { ConfigValues, NodeMetadata } from '../../types/index.js';
|
|
10
10
|
import Icon from '@iconify/svelte';
|
|
11
|
-
import { getDataTypeColor } from '
|
|
11
|
+
import { getDataTypeColor } from '../../utils/colors.js';
|
|
12
12
|
|
|
13
13
|
const props = $props<{
|
|
14
14
|
data: {
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
<script lang="ts">
|
|
12
12
|
import { Position, Handle } from '@xyflow/svelte';
|
|
13
|
-
import type { ConfigValues, NodeMetadata } from '
|
|
13
|
+
import type { ConfigValues, NodeMetadata } from '../../types/index.js';
|
|
14
14
|
import Icon from '@iconify/svelte';
|
|
15
|
-
import { getDataTypeColor } from '
|
|
15
|
+
import { getDataTypeColor } from '../../utils/colors.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Terminal node variant types
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import { Position, Handle } from '@xyflow/svelte';
|
|
9
9
|
import Icon from '@iconify/svelte';
|
|
10
|
-
import { getDataTypeColor } from '
|
|
11
|
-
import type { NodeMetadata } from '
|
|
10
|
+
import { getDataTypeColor } from '../../utils/colors';
|
|
11
|
+
import type { NodeMetadata } from '../../types/index.js';
|
|
12
12
|
|
|
13
13
|
interface ToolNodeParameter {
|
|
14
14
|
name: string;
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
<script lang="ts">
|
|
9
9
|
import { Position, Handle } from '@xyflow/svelte';
|
|
10
|
-
import type { WorkflowNode } from '
|
|
10
|
+
import type { WorkflowNode } from '../../types/index.js';
|
|
11
11
|
import Icon from '@iconify/svelte';
|
|
12
|
-
import { getNodeIcon } from '
|
|
13
|
-
import { getDataTypeColorToken, getCategoryColorToken } from '
|
|
12
|
+
import { getNodeIcon } from '../../utils/icons.js';
|
|
13
|
+
import { getDataTypeColorToken, getCategoryColorToken } from '../../utils/colors.js';
|
|
14
14
|
|
|
15
15
|
interface Props {
|
|
16
16
|
data: WorkflowNode['data'] & {
|
package/dist/index.d.ts
CHANGED
|
@@ -14,14 +14,14 @@ export { FlowDropApiClient } from './api/client.js';
|
|
|
14
14
|
export { EnhancedFlowDropApiClient } from './api/enhanced-client.js';
|
|
15
15
|
export { default as WorkflowEditor } from './components/WorkflowEditor.svelte';
|
|
16
16
|
export { default as NodeSidebar } from './components/NodeSidebar.svelte';
|
|
17
|
-
export { default as WorkflowNodeComponent } from './components/WorkflowNode.svelte';
|
|
18
|
-
export { default as SimpleNodeComponent } from './components/SimpleNode.svelte';
|
|
19
|
-
export { default as ToolNodeComponent } from './components/ToolNode.svelte';
|
|
20
|
-
export { default as NotesNodeComponent } from './components/NotesNode.svelte';
|
|
17
|
+
export { default as WorkflowNodeComponent } from './components/nodes/WorkflowNode.svelte';
|
|
18
|
+
export { default as SimpleNodeComponent } from './components/nodes/SimpleNode.svelte';
|
|
19
|
+
export { default as ToolNodeComponent } from './components/nodes/ToolNode.svelte';
|
|
20
|
+
export { default as NotesNodeComponent } from './components/nodes/NotesNode.svelte';
|
|
21
21
|
export { default as CanvasBanner } from './components/CanvasBanner.svelte';
|
|
22
22
|
export { default as UniversalNode } from './components/UniversalNode.svelte';
|
|
23
|
-
export { default as GatewayNode } from './components/GatewayNode.svelte';
|
|
24
|
-
export { default as SquareNode } from './components/SquareNode.svelte';
|
|
23
|
+
export { default as GatewayNode } from './components/nodes/GatewayNode.svelte';
|
|
24
|
+
export { default as SquareNode } from './components/nodes/SquareNode.svelte';
|
|
25
25
|
export { default as LoadingSpinner } from './components/LoadingSpinner.svelte';
|
|
26
26
|
export { default as StatusIcon } from './components/StatusIcon.svelte';
|
|
27
27
|
export { default as StatusLabel } from './components/StatusLabel.svelte';
|
|
@@ -29,7 +29,8 @@ export { default as NodeStatusOverlay } from './components/NodeStatusOverlay.sve
|
|
|
29
29
|
export { default as MarkdownDisplay } from './components/MarkdownDisplay.svelte';
|
|
30
30
|
export { default as ConfigForm } from './components/ConfigForm.svelte';
|
|
31
31
|
export { default as ConfigModal } from './components/ConfigModal.svelte';
|
|
32
|
-
export { default as
|
|
32
|
+
export { default as ConfigPanel } from './components/ConfigPanel.svelte';
|
|
33
|
+
export { default as ReadOnlyDetails } from './components/ReadOnlyDetails.svelte';
|
|
33
34
|
export { default as ConnectionLine } from './components/ConnectionLine.svelte';
|
|
34
35
|
export { default as LogsSidebar } from './components/LogsSidebar.svelte';
|
|
35
36
|
export { default as PipelineStatus } from './components/PipelineStatus.svelte';
|
package/dist/index.js
CHANGED
|
@@ -15,14 +15,14 @@ export { EnhancedFlowDropApiClient } from './api/enhanced-client.js';
|
|
|
15
15
|
// Export components
|
|
16
16
|
export { default as WorkflowEditor } from './components/WorkflowEditor.svelte';
|
|
17
17
|
export { default as NodeSidebar } from './components/NodeSidebar.svelte';
|
|
18
|
-
export { default as WorkflowNodeComponent } from './components/WorkflowNode.svelte';
|
|
19
|
-
export { default as SimpleNodeComponent } from './components/SimpleNode.svelte';
|
|
20
|
-
export { default as ToolNodeComponent } from './components/ToolNode.svelte';
|
|
21
|
-
export { default as NotesNodeComponent } from './components/NotesNode.svelte';
|
|
18
|
+
export { default as WorkflowNodeComponent } from './components/nodes/WorkflowNode.svelte';
|
|
19
|
+
export { default as SimpleNodeComponent } from './components/nodes/SimpleNode.svelte';
|
|
20
|
+
export { default as ToolNodeComponent } from './components/nodes/ToolNode.svelte';
|
|
21
|
+
export { default as NotesNodeComponent } from './components/nodes/NotesNode.svelte';
|
|
22
22
|
export { default as CanvasBanner } from './components/CanvasBanner.svelte';
|
|
23
23
|
export { default as UniversalNode } from './components/UniversalNode.svelte';
|
|
24
|
-
export { default as GatewayNode } from './components/GatewayNode.svelte';
|
|
25
|
-
export { default as SquareNode } from './components/SquareNode.svelte';
|
|
24
|
+
export { default as GatewayNode } from './components/nodes/GatewayNode.svelte';
|
|
25
|
+
export { default as SquareNode } from './components/nodes/SquareNode.svelte';
|
|
26
26
|
export { default as LoadingSpinner } from './components/LoadingSpinner.svelte';
|
|
27
27
|
export { default as StatusIcon } from './components/StatusIcon.svelte';
|
|
28
28
|
export { default as StatusLabel } from './components/StatusLabel.svelte';
|
|
@@ -30,7 +30,8 @@ export { default as NodeStatusOverlay } from './components/NodeStatusOverlay.sve
|
|
|
30
30
|
export { default as MarkdownDisplay } from './components/MarkdownDisplay.svelte';
|
|
31
31
|
export { default as ConfigForm } from './components/ConfigForm.svelte';
|
|
32
32
|
export { default as ConfigModal } from './components/ConfigModal.svelte';
|
|
33
|
-
export { default as
|
|
33
|
+
export { default as ConfigPanel } from './components/ConfigPanel.svelte';
|
|
34
|
+
export { default as ReadOnlyDetails } from './components/ReadOnlyDetails.svelte';
|
|
34
35
|
export { default as ConnectionLine } from './components/ConnectionLine.svelte';
|
|
35
36
|
export { default as LogsSidebar } from './components/LogsSidebar.svelte';
|
|
36
37
|
export { default as PipelineStatus } from './components/PipelineStatus.svelte';
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* ensuring all built-in node types are available without user action.
|
|
7
7
|
*/
|
|
8
8
|
import { nodeComponentRegistry } from './nodeComponentRegistry.js';
|
|
9
|
-
import WorkflowNode from '../components/WorkflowNode.svelte';
|
|
10
|
-
import SimpleNode from '../components/SimpleNode.svelte';
|
|
11
|
-
import SquareNode from '../components/SquareNode.svelte';
|
|
12
|
-
import ToolNode from '../components/ToolNode.svelte';
|
|
13
|
-
import GatewayNode from '../components/GatewayNode.svelte';
|
|
14
|
-
import NotesNode from '../components/NotesNode.svelte';
|
|
15
|
-
import TerminalNode from '../components/TerminalNode.svelte';
|
|
9
|
+
import WorkflowNode from '../components/nodes/WorkflowNode.svelte';
|
|
10
|
+
import SimpleNode from '../components/nodes/SimpleNode.svelte';
|
|
11
|
+
import SquareNode from '../components/nodes/SquareNode.svelte';
|
|
12
|
+
import ToolNode from '../components/nodes/ToolNode.svelte';
|
|
13
|
+
import GatewayNode from '../components/nodes/GatewayNode.svelte';
|
|
14
|
+
import NotesNode from '../components/nodes/NotesNode.svelte';
|
|
15
|
+
import TerminalNode from '../components/nodes/TerminalNode.svelte';
|
|
16
16
|
/**
|
|
17
17
|
* Source identifier for built-in FlowDrop components
|
|
18
18
|
*/
|
package/dist/styles/base.css
CHANGED
|
@@ -375,6 +375,7 @@
|
|
|
375
375
|
0% {
|
|
376
376
|
transform: rotate(0deg);
|
|
377
377
|
}
|
|
378
|
+
|
|
378
379
|
100% {
|
|
379
380
|
transform: rotate(360deg);
|
|
380
381
|
}
|
|
@@ -1156,6 +1157,15 @@
|
|
|
1156
1157
|
--flowdrop-edge-data-color-hover: var(--color-ref-gray-500);
|
|
1157
1158
|
--flowdrop-edge-data-color-selected: var(--color-ref-violet-600);
|
|
1158
1159
|
|
|
1160
|
+
/* Semantic text color tokens */
|
|
1161
|
+
--flowdrop-text-color-error: var(--color-ref-red-600);
|
|
1162
|
+
--flowdrop-text-color-success: var(--color-ref-green-600);
|
|
1163
|
+
--flowdrop-text-color-warning: var(--color-ref-amber-600);
|
|
1164
|
+
--flowdrop-text-color-info: var(--color-ref-blue-600);
|
|
1165
|
+
--flowdrop-text-color-muted: var(--color-ref-gray-500);
|
|
1166
|
+
--flowdrop-text-color-primary: var(--color-ref-gray-900);
|
|
1167
|
+
--flowdrop-text-color-secondary: var(--color-ref-gray-600);
|
|
1168
|
+
|
|
1159
1169
|
/* NotesNode component variables */
|
|
1160
1170
|
--notes-node-width: 500px;
|
|
1161
1171
|
--notes-node-min-width: 250px;
|
|
@@ -1362,9 +1372,11 @@
|
|
|
1362
1372
|
.markdown-display--compact h1 {
|
|
1363
1373
|
font-size: 1.25rem;
|
|
1364
1374
|
}
|
|
1375
|
+
|
|
1365
1376
|
.markdown-display--compact h2 {
|
|
1366
1377
|
font-size: 1.125rem;
|
|
1367
1378
|
}
|
|
1379
|
+
|
|
1368
1380
|
.markdown-display--compact h3 {
|
|
1369
1381
|
font-size: 1rem;
|
|
1370
1382
|
}
|
|
@@ -1377,9 +1389,11 @@
|
|
|
1377
1389
|
.markdown-display--large h1 {
|
|
1378
1390
|
font-size: 1.75rem;
|
|
1379
1391
|
}
|
|
1392
|
+
|
|
1380
1393
|
.markdown-display--large h2 {
|
|
1381
1394
|
font-size: 1.5rem;
|
|
1382
1395
|
}
|
|
1396
|
+
|
|
1383
1397
|
.markdown-display--large h3 {
|
|
1384
1398
|
font-size: 1.25rem;
|
|
1385
|
-
}
|
|
1399
|
+
}
|