@eventcatalog/visualiser 3.20.0 → 3.20.1
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/index.js +252 -99
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +276 -123
- package/dist/index.mjs.map +1 -1
- package/dist/styles-core.css +67 -6
- package/dist/styles.css +67 -6
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5088,138 +5088,291 @@ var GroupNode_default = (0, import_react45.memo)(function GroupNode({ data }) {
|
|
|
5088
5088
|
});
|
|
5089
5089
|
|
|
5090
5090
|
// src/nodes/Custom.tsx
|
|
5091
|
-
var import_react46 = require("
|
|
5091
|
+
var import_react46 = require("react");
|
|
5092
|
+
var import_react47 = require("@xyflow/react");
|
|
5092
5093
|
var Icons = __toESM(require("@heroicons/react/24/solid"));
|
|
5093
|
-
var import_react47 = require("react");
|
|
5094
5094
|
var ContextMenu4 = __toESM(require("@radix-ui/react-context-menu"));
|
|
5095
|
-
var Tooltip = __toESM(require("@radix-ui/react-tooltip"));
|
|
5096
5095
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
5096
|
+
var PALETTES = {
|
|
5097
|
+
blue: {
|
|
5098
|
+
border: "border-blue-500",
|
|
5099
|
+
badge: "bg-blue-500",
|
|
5100
|
+
ring: "ring-2 ring-blue-400/60 ring-offset-2",
|
|
5101
|
+
shadow: "rgba(59, 130, 246, 0.15)",
|
|
5102
|
+
glow: "linear-gradient(135deg, #3b82f6, #2563eb)",
|
|
5103
|
+
pillBorder: "#3b82f6"
|
|
5104
|
+
},
|
|
5105
|
+
teal: {
|
|
5106
|
+
border: "border-teal-500",
|
|
5107
|
+
badge: "bg-teal-500",
|
|
5108
|
+
ring: "ring-2 ring-teal-400/60 ring-offset-2",
|
|
5109
|
+
shadow: "rgba(20, 184, 166, 0.15)",
|
|
5110
|
+
glow: "linear-gradient(135deg, #14b8a6, #0f766e)",
|
|
5111
|
+
pillBorder: "#14b8a6"
|
|
5112
|
+
},
|
|
5113
|
+
red: {
|
|
5114
|
+
border: "border-red-500",
|
|
5115
|
+
badge: "bg-red-500",
|
|
5116
|
+
ring: "ring-2 ring-red-400/60 ring-offset-2",
|
|
5117
|
+
shadow: "rgba(239, 68, 68, 0.15)",
|
|
5118
|
+
glow: "linear-gradient(135deg, #ef4444, #b91c1c)",
|
|
5119
|
+
pillBorder: "#ef4444"
|
|
5120
|
+
},
|
|
5121
|
+
green: {
|
|
5122
|
+
border: "border-green-500",
|
|
5123
|
+
badge: "bg-green-500",
|
|
5124
|
+
ring: "ring-2 ring-green-400/60 ring-offset-2",
|
|
5125
|
+
shadow: "rgba(34, 197, 94, 0.15)",
|
|
5126
|
+
glow: "linear-gradient(135deg, #22c55e, #15803d)",
|
|
5127
|
+
pillBorder: "#22c55e"
|
|
5128
|
+
},
|
|
5129
|
+
purple: {
|
|
5130
|
+
border: "border-purple-500",
|
|
5131
|
+
badge: "bg-purple-500",
|
|
5132
|
+
ring: "ring-2 ring-purple-400/60 ring-offset-2",
|
|
5133
|
+
shadow: "rgba(168, 85, 247, 0.15)",
|
|
5134
|
+
glow: "linear-gradient(135deg, #a855f7, #7e22ce)",
|
|
5135
|
+
pillBorder: "#a855f7"
|
|
5136
|
+
},
|
|
5137
|
+
orange: {
|
|
5138
|
+
border: "border-orange-500",
|
|
5139
|
+
badge: "bg-orange-500",
|
|
5140
|
+
ring: "ring-2 ring-orange-400/60 ring-offset-2",
|
|
5141
|
+
shadow: "rgba(251, 146, 60, 0.15)",
|
|
5142
|
+
glow: "linear-gradient(135deg, #fb923c, #ea580c)",
|
|
5143
|
+
pillBorder: "#fb923c"
|
|
5144
|
+
},
|
|
5145
|
+
pink: {
|
|
5146
|
+
border: "border-pink-500",
|
|
5147
|
+
badge: "bg-pink-500",
|
|
5148
|
+
ring: "ring-2 ring-pink-400/60 ring-offset-2",
|
|
5149
|
+
shadow: "rgba(236, 72, 153, 0.15)",
|
|
5150
|
+
glow: "linear-gradient(135deg, #ec4899, #be185d)",
|
|
5151
|
+
pillBorder: "#ec4899"
|
|
5152
|
+
},
|
|
5153
|
+
yellow: {
|
|
5154
|
+
border: "border-yellow-500",
|
|
5155
|
+
badge: "bg-yellow-500",
|
|
5156
|
+
ring: "ring-2 ring-yellow-400/60 ring-offset-2",
|
|
5157
|
+
shadow: "rgba(234, 179, 8, 0.15)",
|
|
5158
|
+
glow: "linear-gradient(135deg, #eab308, #a16207)",
|
|
5159
|
+
pillBorder: "#eab308"
|
|
5160
|
+
},
|
|
5161
|
+
gray: {
|
|
5162
|
+
border: "border-gray-500",
|
|
5163
|
+
badge: "bg-gray-500",
|
|
5164
|
+
ring: "ring-2 ring-gray-400/60 ring-offset-2",
|
|
5165
|
+
shadow: "rgba(107, 114, 128, 0.15)",
|
|
5166
|
+
glow: "linear-gradient(135deg, #6b7280, #374151)",
|
|
5167
|
+
pillBorder: "#6b7280"
|
|
5168
|
+
},
|
|
5169
|
+
indigo: {
|
|
5170
|
+
border: "border-indigo-500",
|
|
5171
|
+
badge: "bg-indigo-500",
|
|
5172
|
+
ring: "ring-2 ring-indigo-400/60 ring-offset-2",
|
|
5173
|
+
shadow: "rgba(99, 102, 241, 0.15)",
|
|
5174
|
+
glow: "linear-gradient(135deg, #6366f1, #4338ca)",
|
|
5175
|
+
pillBorder: "#6366f1"
|
|
5176
|
+
},
|
|
5177
|
+
cyan: {
|
|
5178
|
+
border: "border-cyan-500",
|
|
5179
|
+
badge: "bg-cyan-500",
|
|
5180
|
+
ring: "ring-2 ring-cyan-400/60 ring-offset-2",
|
|
5181
|
+
shadow: "rgba(6, 182, 212, 0.15)",
|
|
5182
|
+
glow: "linear-gradient(135deg, #06b6d4, #0e7490)",
|
|
5183
|
+
pillBorder: "#06b6d4"
|
|
5184
|
+
},
|
|
5185
|
+
slate: {
|
|
5186
|
+
border: "border-slate-500",
|
|
5187
|
+
badge: "bg-slate-500",
|
|
5188
|
+
ring: "ring-2 ring-slate-400/60 ring-offset-2",
|
|
5189
|
+
shadow: "rgba(100, 116, 139, 0.15)",
|
|
5190
|
+
glow: "linear-gradient(135deg, #64748b, #334155)",
|
|
5191
|
+
pillBorder: "#64748b"
|
|
5192
|
+
},
|
|
5193
|
+
amber: {
|
|
5194
|
+
border: "border-amber-500",
|
|
5195
|
+
badge: "bg-amber-500",
|
|
5196
|
+
ring: "ring-2 ring-amber-400/60 ring-offset-2",
|
|
5197
|
+
shadow: "rgba(245, 158, 11, 0.15)",
|
|
5198
|
+
glow: "linear-gradient(135deg, #f59e0b, #b45309)",
|
|
5199
|
+
pillBorder: "#f59e0b"
|
|
5200
|
+
},
|
|
5201
|
+
emerald: {
|
|
5202
|
+
border: "border-emerald-500",
|
|
5203
|
+
badge: "bg-emerald-500",
|
|
5204
|
+
ring: "ring-2 ring-emerald-400/60 ring-offset-2",
|
|
5205
|
+
shadow: "rgba(16, 185, 129, 0.15)",
|
|
5206
|
+
glow: "linear-gradient(135deg, #10b981, #047857)",
|
|
5207
|
+
pillBorder: "#10b981"
|
|
5208
|
+
},
|
|
5209
|
+
violet: {
|
|
5210
|
+
border: "border-violet-500",
|
|
5211
|
+
badge: "bg-violet-500",
|
|
5212
|
+
ring: "ring-2 ring-violet-400/60 ring-offset-2",
|
|
5213
|
+
shadow: "rgba(139, 92, 246, 0.15)",
|
|
5214
|
+
glow: "linear-gradient(135deg, #8b5cf6, #6d28d9)",
|
|
5215
|
+
pillBorder: "#8b5cf6"
|
|
5216
|
+
},
|
|
5217
|
+
rose: {
|
|
5218
|
+
border: "border-rose-500",
|
|
5219
|
+
badge: "bg-rose-500",
|
|
5220
|
+
ring: "ring-2 ring-rose-400/60 ring-offset-2",
|
|
5221
|
+
shadow: "rgba(244, 63, 94, 0.15)",
|
|
5222
|
+
glow: "linear-gradient(135deg, #f43f5e, #be123c)",
|
|
5223
|
+
pillBorder: "#f43f5e"
|
|
5224
|
+
}
|
|
5225
|
+
};
|
|
5097
5226
|
function classNames16(...classes) {
|
|
5098
5227
|
return classes.filter(Boolean).join(" ");
|
|
5099
5228
|
}
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5229
|
+
function getPalette(color) {
|
|
5230
|
+
return PALETTES[color || "blue"] ?? PALETTES.blue;
|
|
5231
|
+
}
|
|
5232
|
+
function GlowHandle14({
|
|
5233
|
+
side,
|
|
5234
|
+
gradient
|
|
5104
5235
|
}) {
|
|
5105
|
-
|
|
5236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5237
|
+
"div",
|
|
5238
|
+
{
|
|
5239
|
+
style: {
|
|
5240
|
+
position: "absolute",
|
|
5241
|
+
top: "50%",
|
|
5242
|
+
[side]: -6,
|
|
5243
|
+
transform: "translateY(-50%)",
|
|
5244
|
+
width: 12,
|
|
5245
|
+
height: 12,
|
|
5246
|
+
borderRadius: "50%",
|
|
5247
|
+
background: gradient,
|
|
5248
|
+
border: "2px solid rgb(var(--ec-page-bg))",
|
|
5249
|
+
zIndex: 20,
|
|
5250
|
+
animation: "ec-handle-pulse 2s ease-in-out infinite",
|
|
5251
|
+
pointerEvents: "none"
|
|
5252
|
+
}
|
|
5253
|
+
}
|
|
5254
|
+
);
|
|
5255
|
+
}
|
|
5256
|
+
var Custom_default = (0, import_react46.memo)(function CustomNode({ data, selected }) {
|
|
5257
|
+
const { mode, custom: customProps, step } = data;
|
|
5106
5258
|
const {
|
|
5107
5259
|
color = "blue",
|
|
5108
|
-
title = "Custom",
|
|
5109
|
-
icon = "
|
|
5110
|
-
type = "
|
|
5111
|
-
summary = "",
|
|
5112
|
-
url
|
|
5260
|
+
title = step?.title || "Custom",
|
|
5261
|
+
icon = "CubeIcon",
|
|
5262
|
+
type = "Custom",
|
|
5263
|
+
summary = step?.summary || "",
|
|
5264
|
+
url,
|
|
5113
5265
|
properties = EMPTY_OBJECT,
|
|
5114
5266
|
menu = EMPTY_ARRAY,
|
|
5115
5267
|
height = 5
|
|
5116
5268
|
} = customProps;
|
|
5117
|
-
const
|
|
5118
|
-
const
|
|
5119
|
-
const isLongType = type && type.length > 10;
|
|
5120
|
-
const displayType = isLongType ? `${type.substring(0, 10)}...` : type;
|
|
5269
|
+
const palette = getPalette(color);
|
|
5270
|
+
const IconComponent = (0, import_react46.useMemo)(() => Icons[icon] || Icons.CubeIcon, [icon]);
|
|
5121
5271
|
const portalContainer = usePortalContainer();
|
|
5272
|
+
const targetConnections = (0, import_react47.useNodeConnections)({ handleType: "target" });
|
|
5273
|
+
const sourceConnections = (0, import_react47.useNodeConnections)({ handleType: "source" });
|
|
5274
|
+
const propertyEntries = Object.entries(properties);
|
|
5275
|
+
const contextMenuItems = url ? [{ label: `Open ${type.toLowerCase()}`, url }, ...menu] : menu;
|
|
5122
5276
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(ContextMenu4.Root, { children: [
|
|
5123
5277
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ContextMenu4.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
5124
5278
|
"div",
|
|
5125
5279
|
{
|
|
5126
5280
|
className: classNames16(
|
|
5127
|
-
|
|
5281
|
+
"relative min-w-48 max-w-60 rounded-xl border-2 overflow-visible",
|
|
5282
|
+
selected ? palette.ring : "",
|
|
5283
|
+
palette.border
|
|
5128
5284
|
),
|
|
5129
5285
|
style: {
|
|
5130
|
-
|
|
5131
|
-
|
|
5286
|
+
background: "var(--ec-custom-node-bg, rgb(var(--ec-card-bg)))",
|
|
5287
|
+
boxShadow: `0 2px 12px ${palette.shadow}`,
|
|
5288
|
+
minHeight: mode === "full" ? `${height}em` : void 0
|
|
5132
5289
|
},
|
|
5133
5290
|
children: [
|
|
5134
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.
|
|
5135
|
-
|
|
5291
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5292
|
+
import_react47.Handle,
|
|
5293
|
+
{
|
|
5294
|
+
type: "target",
|
|
5295
|
+
position: import_react47.Position.Left,
|
|
5296
|
+
style: HIDDEN_HANDLE_STYLE
|
|
5297
|
+
}
|
|
5298
|
+
),
|
|
5299
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5300
|
+
import_react47.Handle,
|
|
5301
|
+
{
|
|
5302
|
+
type: "source",
|
|
5303
|
+
position: import_react47.Position.Right,
|
|
5304
|
+
style: HIDDEN_HANDLE_STYLE
|
|
5305
|
+
}
|
|
5306
|
+
),
|
|
5307
|
+
targetConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(GlowHandle14, { side: "left", gradient: palette.glow }),
|
|
5308
|
+
sourceConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(GlowHandle14, { side: "right", gradient: palette.glow }),
|
|
5309
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute -top-3 left-2.5 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
5310
|
+
"span",
|
|
5136
5311
|
{
|
|
5137
5312
|
className: classNames16(
|
|
5138
|
-
|
|
5139
|
-
|
|
5313
|
+
"inline-flex items-center gap-1 text-[7px] font-bold uppercase tracking-widest text-white px-1.5 py-0.5 rounded shadow-sm",
|
|
5314
|
+
palette.badge
|
|
5140
5315
|
),
|
|
5141
5316
|
children: [
|
|
5142
|
-
IconComponent && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconComponent, { className: "w-
|
|
5143
|
-
|
|
5144
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Tooltip.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5145
|
-
"span",
|
|
5146
|
-
{
|
|
5147
|
-
className: "text-center text-[9px] text-white font-bold uppercase mb-4",
|
|
5148
|
-
style: ROTATED_LABEL_STYLE,
|
|
5149
|
-
children: displayType
|
|
5150
|
-
}
|
|
5151
|
-
) }),
|
|
5152
|
-
isLongType && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Tooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
5153
|
-
Tooltip.Content,
|
|
5154
|
-
{
|
|
5155
|
-
className: "bg-slate-800 text-white rounded px-2 py-1 text-xs shadow-md z-50",
|
|
5156
|
-
side: "right",
|
|
5157
|
-
sideOffset: 5,
|
|
5158
|
-
children: [
|
|
5159
|
-
type,
|
|
5160
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Tooltip.Arrow, { className: "fill-slate-800" })
|
|
5161
|
-
]
|
|
5162
|
-
}
|
|
5163
|
-
) })
|
|
5164
|
-
] }) })
|
|
5317
|
+
IconComponent && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconComponent, { className: "w-2.5 h-2.5", "aria-hidden": true }),
|
|
5318
|
+
type
|
|
5165
5319
|
]
|
|
5166
5320
|
}
|
|
5167
|
-
),
|
|
5168
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5321
|
+
) }),
|
|
5322
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "px-3 pt-3.5 pb-2.5", children: [
|
|
5323
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-[13px] font-semibold leading-snug text-[rgb(var(--ec-page-text))] truncate", children: title }) }),
|
|
5324
|
+
mode === "full" && summary && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5325
|
+
"div",
|
|
5326
|
+
{
|
|
5327
|
+
className: "mt-1.5 text-[9px] text-[rgb(var(--ec-page-text-muted))] leading-relaxed overflow-hidden",
|
|
5328
|
+
style: LINE_CLAMP_STYLE,
|
|
5329
|
+
title: summary,
|
|
5330
|
+
children: summary
|
|
5331
|
+
}
|
|
5332
|
+
),
|
|
5333
|
+
mode === "full" && propertyEntries.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mt-2 pt-1.5 border-t border-[rgb(var(--ec-page-border))] grid grid-cols-2 gap-x-2 gap-y-1", children: propertyEntries.map(([key, value]) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "min-w-0", children: [
|
|
5334
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "text-[7px] font-bold uppercase tracking-wide text-[rgb(var(--ec-page-text-muted))] truncate", children: key }),
|
|
5335
|
+
typeof value === "string" && value.startsWith("http") ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5336
|
+
"a",
|
|
5337
|
+
{
|
|
5338
|
+
href: value,
|
|
5339
|
+
target: "_blank",
|
|
5340
|
+
rel: "noopener noreferrer",
|
|
5341
|
+
className: "block text-[8px] text-blue-500 underline truncate",
|
|
5342
|
+
title: value,
|
|
5343
|
+
children: value
|
|
5344
|
+
}
|
|
5345
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5174
5346
|
"div",
|
|
5175
5347
|
{
|
|
5176
|
-
className:
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-xs font-bold block pb-0.5", children: title })
|
|
5348
|
+
className: "text-[8px] text-[rgb(var(--ec-page-text))] truncate",
|
|
5349
|
+
title: String(value),
|
|
5350
|
+
children: value
|
|
5180
5351
|
}
|
|
5181
|
-
)
|
|
5182
|
-
|
|
5183
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "leading-3 py-1", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-[8px] font-light", children: summary }) }),
|
|
5184
|
-
properties && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "grid grid-cols-2 gap-x-4 py-1", children: Object.entries(properties).map(([key, value]) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
5185
|
-
"span",
|
|
5186
|
-
{
|
|
5187
|
-
className: "text-xs",
|
|
5188
|
-
style: TINY_FONT_STYLE,
|
|
5189
|
-
children: [
|
|
5190
|
-
key,
|
|
5191
|
-
":",
|
|
5192
|
-
" ",
|
|
5193
|
-
typeof value === "string" && value.startsWith("http") ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5194
|
-
"a",
|
|
5195
|
-
{
|
|
5196
|
-
href: value,
|
|
5197
|
-
target: "_blank",
|
|
5198
|
-
rel: "noopener noreferrer",
|
|
5199
|
-
className: "text-blue-500 underline",
|
|
5200
|
-
children: value
|
|
5201
|
-
}
|
|
5202
|
-
) : value
|
|
5203
|
-
]
|
|
5204
|
-
},
|
|
5205
|
-
key
|
|
5206
|
-
)) })
|
|
5207
|
-
] })
|
|
5208
|
-
] })
|
|
5352
|
+
)
|
|
5353
|
+
] }, key)) })
|
|
5209
5354
|
] })
|
|
5210
5355
|
]
|
|
5211
5356
|
}
|
|
5212
5357
|
) }),
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5358
|
+
contextMenuItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ContextMenu4.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ContextMenu4.Content, { className: "min-w-[220px] bg-[rgb(var(--ec-card-bg))] rounded-md p-1 shadow-md border border-[rgb(var(--ec-page-border))]", children: contextMenuItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5359
|
+
ContextMenu4.Item,
|
|
5360
|
+
{
|
|
5361
|
+
asChild: true,
|
|
5362
|
+
className: "text-sm px-2 py-1.5 outline-none cursor-pointer hover:bg-orange-100 rounded-sm flex items-center",
|
|
5363
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5364
|
+
"a",
|
|
5365
|
+
{
|
|
5366
|
+
href: item.url,
|
|
5367
|
+
target: "_blank",
|
|
5368
|
+
rel: "noopener noreferrer",
|
|
5369
|
+
className: "text-[rgb(var(--ec-page-text))] no-underline",
|
|
5370
|
+
children: item.label
|
|
5371
|
+
}
|
|
5372
|
+
)
|
|
5373
|
+
},
|
|
5374
|
+
`${item.label}-${item.url || ""}`
|
|
5375
|
+
)) }) })
|
|
5223
5376
|
] });
|
|
5224
5377
|
});
|
|
5225
5378
|
|
|
@@ -5256,7 +5409,7 @@ var import_react50 = require("react");
|
|
|
5256
5409
|
var import_lucide_react22 = require("lucide-react");
|
|
5257
5410
|
var import_react51 = require("@xyflow/react");
|
|
5258
5411
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
5259
|
-
function
|
|
5412
|
+
function GlowHandle15({ side }) {
|
|
5260
5413
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5261
5414
|
"div",
|
|
5262
5415
|
{
|
|
@@ -5425,8 +5578,8 @@ function DefaultDataProduct(props) {
|
|
|
5425
5578
|
}
|
|
5426
5579
|
),
|
|
5427
5580
|
notes && notes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(NotesIndicator, { notes, resourceName: name }),
|
|
5428
|
-
targetConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5429
|
-
sourceConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5581
|
+
targetConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(GlowHandle15, { side: "left" }),
|
|
5582
|
+
sourceConnections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(GlowHandle15, { side: "right" }),
|
|
5430
5583
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "absolute -top-2.5 left-2.5 flex items-center gap-1.5 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
5431
5584
|
"span",
|
|
5432
5585
|
{
|