@tangle-network/sandbox-ui 0.133.6 → 0.133.8
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/{WorkflowGraph-m2uy9TDl.js → WorkflowGraph-CBVgTWX-.js} +1 -1
- package/dist/integrations.d.ts +0 -9
- package/dist/integrations.js +1 -1
- package/dist/{node-output-BC5ZQ8R6.js → node-output-jpe1KLea.js} +1 -1
- package/dist/pages.js +14 -9
- package/dist/{provider-logo-X9PkbMIX.js → provider-logo-BGCziCbM.js} +15 -0
- package/dist/workflows.js +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as triggerNodeIndex, B as fmtTokens, C as COMPACT_NODE_SIZE, D as buildWorkflowGraph, I as shortModel, L as clampPreview, M as worstSeverity, O as isStructuralKind, R as fmtCost, S as statusBorder, _ as emptySlotLabel, a as NodeMark, b as problemSurface, c as RESTING_BORDER, d as STATUS_LABEL, g as edgeColor, h as StatusPill, j as wfEdgeId, l as RESTING_SHADOW, m as StatusFooter, n as classifyOutput, o as ProblemMarker, s as ProblemMessages, t as NodeOutputBody, u as STATUS_COLOR, v as kindAccent, x as problemTitle, y as problemBorder, z as fmtDuration } from "./node-output-
|
|
1
|
+
import { A as triggerNodeIndex, B as fmtTokens, C as COMPACT_NODE_SIZE, D as buildWorkflowGraph, I as shortModel, L as clampPreview, M as worstSeverity, O as isStructuralKind, R as fmtCost, S as statusBorder, _ as emptySlotLabel, a as NodeMark, b as problemSurface, c as RESTING_BORDER, d as STATUS_LABEL, g as edgeColor, h as StatusPill, j as wfEdgeId, l as RESTING_SHADOW, m as StatusFooter, n as classifyOutput, o as ProblemMarker, s as ProblemMessages, t as NodeOutputBody, u as STATUS_COLOR, v as kindAccent, x as problemTitle, y as problemBorder, z as fmtDuration } from "./node-output-jpe1KLea.js";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { Maximize2, Minimize2, Plus, X } from "lucide-react";
|
package/dist/integrations.d.ts
CHANGED
|
@@ -331,15 +331,6 @@ interface ConnectInput {
|
|
|
331
331
|
export declare function useIntegrations({ apiBaseUrl, fetchImpl, autoLoad, refreshOnReturn }: UseIntegrationsOptions): UseIntegrationsResult;
|
|
332
332
|
//#endregion
|
|
333
333
|
//#region src/integrations/provider-logo.d.ts
|
|
334
|
-
/**
|
|
335
|
-
* Ordered candidate logo URLs for a provider slug, most specific first. The
|
|
336
|
-
* renderer walks the chain on each `onError` until one loads, then falls back to
|
|
337
|
-
* the monogram tile.
|
|
338
|
-
*
|
|
339
|
-
* Order: explicit `iconUrl` → full-color vector mark for brands Simple Icons
|
|
340
|
-
* delisted (svgl.app) → a pinned override → the ActivePieces CDN by id (covers
|
|
341
|
-
* most of the hub catalog) → derived simpleicons slugs → monogram.
|
|
342
|
-
*/
|
|
343
334
|
export declare function providerLogoCandidates(opts: {
|
|
344
335
|
id: string;
|
|
345
336
|
iconUrl?: string | null;
|
package/dist/integrations.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as normalizeProviderId, r as providerLogoCandidates, t as ProviderIcon } from "./provider-logo-
|
|
1
|
+
import { n as normalizeProviderId, r as providerLogoCandidates, t as ProviderIcon } from "./provider-logo-BGCziCbM.js";
|
|
2
2
|
import { Alert, Button, Card, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, EmptyState, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, StatusPill } from "@tangle-network/ui/primitives";
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import * as React$1 from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
|
|
2
|
-
import { t as ProviderIcon } from "./provider-logo-
|
|
2
|
+
import { t as ProviderIcon } from "./provider-logo-BGCziCbM.js";
|
|
3
3
|
import { StatusPill } from "@tangle-network/ui/primitives";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { AlertTriangle, Bell, Box, Cable, Camera, Check, Circle, Clock, Code, GitBranch, Repeat, ScanSearch, Sparkles, UserCheck, Webhook, Zap } from "lucide-react";
|
package/dist/pages.js
CHANGED
|
@@ -7,7 +7,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
import * as React$1 from "react";
|
|
8
8
|
import { useState } from "react";
|
|
9
9
|
import { AlertCircle, CheckCircle, ChevronDown, ChevronUp, Clock, Cpu, Eye, EyeOff, GripVertical, Key, Layers, Lock, MemoryStick, Pencil, Plus, Power, PowerOff, Terminal, Trash2, Upload } from "lucide-react";
|
|
10
|
-
import { focusField } from "@tangle-network/ui/utils";
|
|
10
|
+
import { cn, focusField, focusRing, ixControl, ixControlSoft, ixField } from "@tangle-network/ui/utils";
|
|
11
11
|
//#region src/pages/auth-page.tsx
|
|
12
12
|
const C = {
|
|
13
13
|
pageBg: "hsl(var(--background, 240 5% 97%))",
|
|
@@ -15,8 +15,6 @@ const C = {
|
|
|
15
15
|
border: "hsl(var(--border, 214 32% 91%))",
|
|
16
16
|
text: "hsl(var(--card-foreground, 222 47% 11%))",
|
|
17
17
|
muted: "hsl(var(--muted-foreground, 240 4% 46%))",
|
|
18
|
-
inputBg: "var(--well-card, var(--bg-input, #f5f5f4))",
|
|
19
|
-
inputBorder: "var(--field-border, hsl(var(--border, 214 32% 91%)))",
|
|
20
18
|
hover: "hsl(var(--muted, 240 5% 96%))",
|
|
21
19
|
danger: "hsl(var(--destructive, 0 72% 42%))",
|
|
22
20
|
ink: "hsl(var(--foreground, 222 47% 11%))",
|
|
@@ -66,6 +64,9 @@ function GoogleIcon() {
|
|
|
66
64
|
]
|
|
67
65
|
});
|
|
68
66
|
}
|
|
67
|
+
const OUTLINE_CONTROL = cn("border border-border", focusRing, ixControl);
|
|
68
|
+
const FIELD = cn("border", focusField, ixField);
|
|
69
|
+
const FILLED_CONTROL = cn("border border-transparent", focusRing, ixControl);
|
|
69
70
|
const SOCIAL_LABEL = {
|
|
70
71
|
github: "GitHub",
|
|
71
72
|
google: "Google"
|
|
@@ -109,19 +110,16 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
109
110
|
width: "100%",
|
|
110
111
|
padding: "0 16px",
|
|
111
112
|
...CONTROL,
|
|
112
|
-
border: `1px solid ${C.border}`,
|
|
113
113
|
background: "transparent",
|
|
114
114
|
color: C.text,
|
|
115
115
|
fontWeight: 500,
|
|
116
116
|
cursor: "pointer",
|
|
117
|
-
transition: "background 120ms"
|
|
117
|
+
transition: "background 120ms, border-color 120ms, box-shadow 120ms"
|
|
118
118
|
};
|
|
119
119
|
const inputStyle = {
|
|
120
120
|
width: "100%",
|
|
121
121
|
padding: "0 16px",
|
|
122
122
|
...CONTROL,
|
|
123
|
-
border: `1px solid ${C.inputBorder}`,
|
|
124
|
-
background: C.inputBg,
|
|
125
123
|
color: C.text
|
|
126
124
|
};
|
|
127
125
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -134,6 +132,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
134
132
|
background: C.pageBg
|
|
135
133
|
},
|
|
136
134
|
children: /* @__PURE__ */ jsxs("div", {
|
|
135
|
+
"data-slot": "card",
|
|
137
136
|
className,
|
|
138
137
|
style: {
|
|
139
138
|
width: "100%",
|
|
@@ -164,6 +163,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
164
163
|
}),
|
|
165
164
|
/* @__PURE__ */ jsxs("a", {
|
|
166
165
|
href: tangleAuthUrl,
|
|
166
|
+
className: FILLED_CONTROL,
|
|
167
167
|
style: {
|
|
168
168
|
display: "flex",
|
|
169
169
|
alignItems: "center",
|
|
@@ -173,11 +173,10 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
173
173
|
padding: "0 16px",
|
|
174
174
|
...CONTROL,
|
|
175
175
|
background: buttonBg,
|
|
176
|
-
border: "1px solid transparent",
|
|
177
176
|
color: buttonFg,
|
|
178
177
|
fontWeight: 600,
|
|
179
178
|
textDecoration: "none",
|
|
180
|
-
transition: "background 120ms"
|
|
179
|
+
transition: "background 120ms, border-color 120ms, box-shadow 120ms"
|
|
181
180
|
},
|
|
182
181
|
onMouseEnter: (e) => e.currentTarget.style.background = buttonHoverBg,
|
|
183
182
|
onMouseLeave: (e) => e.currentTarget.style.background = buttonBg,
|
|
@@ -192,6 +191,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
192
191
|
},
|
|
193
192
|
children: providers.map((p) => /* @__PURE__ */ jsxs("button", {
|
|
194
193
|
type: "button",
|
|
194
|
+
className: OUTLINE_CONTROL,
|
|
195
195
|
style: outlineBtn,
|
|
196
196
|
onClick: () => {
|
|
197
197
|
window.location.href = socialHref(p);
|
|
@@ -247,6 +247,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
247
247
|
autoComplete: "name",
|
|
248
248
|
value: name,
|
|
249
249
|
onChange: (e) => setName(e.target.value),
|
|
250
|
+
className: FIELD,
|
|
250
251
|
style: inputStyle
|
|
251
252
|
}),
|
|
252
253
|
/* @__PURE__ */ jsx("input", {
|
|
@@ -256,6 +257,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
256
257
|
placeholder: "Email",
|
|
257
258
|
value: email,
|
|
258
259
|
onChange: (e) => setEmail(e.target.value),
|
|
260
|
+
className: FIELD,
|
|
259
261
|
style: inputStyle
|
|
260
262
|
}),
|
|
261
263
|
/* @__PURE__ */ jsx("input", {
|
|
@@ -265,6 +267,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
265
267
|
placeholder: "Password",
|
|
266
268
|
value: password,
|
|
267
269
|
onChange: (e) => setPassword(e.target.value),
|
|
270
|
+
className: FIELD,
|
|
268
271
|
style: inputStyle
|
|
269
272
|
}),
|
|
270
273
|
error && /* @__PURE__ */ jsx("p", {
|
|
@@ -278,6 +281,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
278
281
|
/* @__PURE__ */ jsx("button", {
|
|
279
282
|
type: "submit",
|
|
280
283
|
disabled: loading,
|
|
284
|
+
className: OUTLINE_CONTROL,
|
|
281
285
|
style: {
|
|
282
286
|
...outlineBtn,
|
|
283
287
|
opacity: loading ? .5 : 1
|
|
@@ -296,6 +300,7 @@ function AuthPage({ product, tagline, mode = "signin", tangleAuthUrl = "/auth/ta
|
|
|
296
300
|
},
|
|
297
301
|
children: [isSignup ? "Already have an account? " : `New to Tangle${product ? ` ${product}` : ""}? `, /* @__PURE__ */ jsx("a", {
|
|
298
302
|
href: altHref,
|
|
303
|
+
className: cn("rounded-sm", focusRing, ixControlSoft),
|
|
299
304
|
style: {
|
|
300
305
|
fontWeight: 500,
|
|
301
306
|
color: C.text
|
|
@@ -131,6 +131,7 @@ const ACTIVEPIECES_CDN = "https://cdn.activepieces.com/pieces";
|
|
|
131
131
|
* to emit `iconUrl` per provider, after which this map can be retired.
|
|
132
132
|
*/
|
|
133
133
|
const PROVIDER_LOGO_URLS = {
|
|
134
|
+
adobesign: "https://www.google.com/s2/favicons?sz=64&domain_url=https://www.adobe.com/sign.html",
|
|
134
135
|
"cal-com": `${ACTIVEPIECES_CDN}/cal.com.png`,
|
|
135
136
|
"customer-io": `${ACTIVEPIECES_CDN}/customerio.png`,
|
|
136
137
|
anthropic: `${ACTIVEPIECES_CDN}/claude.png`,
|
|
@@ -228,11 +229,25 @@ const PROVIDER_VECTOR_LOGOS = {
|
|
|
228
229
|
* delisted (svgl.app) → a pinned override → the ActivePieces CDN by id (covers
|
|
229
230
|
* most of the hub catalog) → derived simpleicons slugs → monogram.
|
|
230
231
|
*/
|
|
232
|
+
/**
|
|
233
|
+
* Protocol connectors with no brand of their own. Every remote source 404s for
|
|
234
|
+
* them (production Connections logged two misses per load for `email`), so they
|
|
235
|
+
* go straight to the monogram unless the provider supplies an `iconUrl`.
|
|
236
|
+
*/
|
|
237
|
+
const GENERIC_PROVIDER_IDS = /* @__PURE__ */ new Set([
|
|
238
|
+
"email",
|
|
239
|
+
"smtp",
|
|
240
|
+
"imap",
|
|
241
|
+
"webhook",
|
|
242
|
+
"webhooks",
|
|
243
|
+
"http"
|
|
244
|
+
]);
|
|
231
245
|
function providerLogoCandidates(opts) {
|
|
232
246
|
const out = [];
|
|
233
247
|
if (opts.iconUrl) out.push(opts.iconUrl);
|
|
234
248
|
const raw = opts.id.toLowerCase();
|
|
235
249
|
const norm = normalizeProviderId(raw);
|
|
250
|
+
if (GENERIC_PROVIDER_IDS.has(raw) || GENERIC_PROVIDER_IDS.has(norm)) return out;
|
|
236
251
|
const curated = PROVIDER_LOGO_SLUGS[raw] ?? PROVIDER_LOGO_SLUGS[norm];
|
|
237
252
|
const vectorName = PROVIDER_VECTOR_LOGOS[raw] ?? PROVIDER_VECTOR_LOGOS[norm] ?? (curated ? PROVIDER_VECTOR_LOGOS[curated] : void 0);
|
|
238
253
|
if (vectorName) out.push(`https://svgl.app/library/${vectorName}.svg`);
|
package/dist/workflows.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
|
|
2
|
-
import { A as triggerNodeIndex, D as buildWorkflowGraph, E as branchNodeId, F as parseActionPath, I as shortModel, N as actionPathLabel, P as humanizeIdentifier, T as actionNodeId, a as NodeMark, d as STATUS_LABEL, f as STATUS_PILL, h as StatusPill, i as KIND_ICON, k as triggerNodeId, n as classifyOutput, p as STATUS_TONE, r as condenseText, t as NodeOutputBody, u as STATUS_COLOR, w as TRIGGER_NODE_ID } from "./node-output-
|
|
2
|
+
import { A as triggerNodeIndex, D as buildWorkflowGraph, E as branchNodeId, F as parseActionPath, I as shortModel, N as actionPathLabel, P as humanizeIdentifier, T as actionNodeId, a as NodeMark, d as STATUS_LABEL, f as STATUS_PILL, h as StatusPill, i as KIND_ICON, k as triggerNodeId, n as classifyOutput, p as STATUS_TONE, r as condenseText, t as NodeOutputBody, u as STATUS_COLOR, w as TRIGGER_NODE_ID } from "./node-output-jpe1KLea.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { Component, Suspense, lazy, useMemo, useState } from "react";
|
|
5
5
|
//#region src/workflows/WorkflowGraphLazy.tsx
|
|
@@ -30,7 +30,7 @@ function retryImport(factory, retries = 2, delayMs = 350) {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
function lazyWorkflowGraph() {
|
|
33
|
-
return lazy(() => retryImport(() => import("./WorkflowGraph-
|
|
33
|
+
return lazy(() => retryImport(() => import("./WorkflowGraph-CBVgTWX-.js").then((m) => ({ default: m.WorkflowGraph }))));
|
|
34
34
|
}
|
|
35
35
|
var GraphErrorBoundary = class extends Component {
|
|
36
36
|
state = { hasError: false };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/sandbox-ui",
|
|
3
|
-
"version": "0.133.
|
|
3
|
+
"version": "0.133.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
|
|
6
6
|
"repository": {
|