UNPKG

@eventcatalog/visualizer

Version:

ReactFlow nodes and visualizer components for EventCatalog Visualizer and Studio

415 lines (396 loc) 104 kB
var __defProp = Object.defineProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; // src/nodes/event/EventNode.tsx import { Zap } from "lucide-react"; import { jsx, jsxs } from "react/jsx-runtime"; function classNames(...classes) { return classes.filter(Boolean).join(" "); } function Event(props) { const { version, owners = [], producers = [], consumers = [], name, summary } = props?.data?.message; const mode = props?.data?.mode || "simple"; const nodeLabel = "Event"; return /* @__PURE__ */ jsxs("div", { className: classNames( "w-full rounded-md border flex justify-start bg-white text-black", props?.selected ? "border-orange-600 ring-2 ring-orange-500 shadow-lg" : "border-orange-400" ), children: [ /* @__PURE__ */ jsxs( "div", { className: `bg-gradient-to-b from-orange-500 to-orange-700 relative flex items-center w-5 justify-center rounded-l-sm text-orange-100 border-r-[1px] border-orange-500`, children: [ /* @__PURE__ */ jsx(Zap, { className: "w-4 h-4 opacity-90 text-white absolute top-1" }), mode === "full" && /* @__PURE__ */ jsx( "span", { className: "w-1/2 text-center absolute bottom-1 text-[8px] text-white font-bold uppercase tracking-[3px]", style: { transform: "rotate(-90deg)" }, children: nodeLabel } ) ] } ), /* @__PURE__ */ jsxs("div", { className: "p-1 min-w-60 max-w-[min-content]", children: [ /* @__PURE__ */ jsxs("div", { className: classNames(mode === "full" ? `border-b border-gray-200` : ""), children: [ /* @__PURE__ */ jsx("span", { className: "text-xs font-bold block pt-0.5 pb-0.5", children: name }), /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [ /* @__PURE__ */ jsxs("span", { className: "text-[10px] font-light block pt-0.5 pb-0.5", children: [ "v", version ] }), mode === "simple" && /* @__PURE__ */ jsx("span", { className: "text-[10px] text-gray-500 font-light block pt-0.5 pb-0.5", children: nodeLabel }) ] }) ] }), mode === "full" && /* @__PURE__ */ jsxs("div", { className: "divide-y divide-gray-200", children: [ /* @__PURE__ */ jsx("div", { className: "leading-3 py-1", children: /* @__PURE__ */ jsx("span", { className: "text-[8px] font-light", children: summary }) }), /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-x-4 py-1", children: [ /* @__PURE__ */ jsxs("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Producers: ", producers.length ] }), /* @__PURE__ */ jsxs("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Consumers: ", consumers.length ] }), /* @__PURE__ */ jsxs("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Owners: ", owners.length ] }) ] }) ] }) ] }) ] }); } // src/nodes/event/config.ts import { MarkerType } from "@xyflow/react"; import { Zap as Zap2 } from "lucide-react"; var config_default = { type: "event", icon: Zap2, color: "orange", targetCanConnectTo: ["service", "channel"], sourceCanConnectTo: ["service", "channel"], validateConnection: (connection) => { return connection.source !== connection.target; }, getEdgeOptions: (connection) => { if (connection.source === "event" && connection.target === "service") { return { label: "Publishes", markerEnd: { type: MarkerType.ArrowClosed, color: "#000000" } }; } return { label: "Subscribes", markerEnd: { type: MarkerType.ArrowClosed, color: "#000000" } }; }, defaultData: { name: "New Event", version: "0.0.1", summary: "New event. Click edit to change the details.", mode: "full" }, editor: { title: "Event", subtitle: "Edit the details of the event", schema: { type: "object", required: ["name", "version"], properties: { name: { type: "string", title: "Name", default: "Random value", description: "The name of the event" }, version: { type: "string", title: "Version", default: "1.0.0", description: "The version number (e.g., 1.0.0)", pattern: "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$" }, summary: { type: "string", title: "Summary", default: "", description: "A brief summary of the event" } } } } }; // src/nodes/command/CommandNode.tsx import { MessageSquare } from "lucide-react"; import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime"; function classNames2(...classes) { return classes.filter(Boolean).join(" "); } function Command(props) { const { version, owners = [], producers = [], consumers = [], name, summary } = props.data.message; const mode = props.data.mode || "simple"; const nodeLabel = "Command"; return /* @__PURE__ */ jsxs2("div", { className: classNames2( "w-full rounded-md border flex justify-start bg-white text-black", props.selected ? "border-blue-600 ring-2 ring-blue-500 shadow-lg" : "border-blue-400" ), children: [ /* @__PURE__ */ jsxs2( "div", { className: `bg-gradient-to-b from-blue-500 to-blue-700 relative flex items-center w-5 justify-center rounded-l-sm text-blue-100 border-r-[1px] border-blue-500`, children: [ /* @__PURE__ */ jsx2(MessageSquare, { className: "w-4 h-4 opacity-90 text-white absolute top-1" }), mode === "full" && /* @__PURE__ */ jsx2( "span", { className: "w-1/2 text-center absolute bottom-1 text-[8px] text-white font-bold uppercase tracking-[3px]", style: { transform: "rotate(-90deg)" }, children: nodeLabel } ) ] } ), /* @__PURE__ */ jsxs2("div", { className: "p-1 min-w-60 max-w-[min-content]", children: [ /* @__PURE__ */ jsxs2("div", { className: classNames2(mode === "full" ? `border-b border-gray-200` : ""), children: [ /* @__PURE__ */ jsx2("span", { className: "text-xs font-bold block pt-0.5 pb-0.5", children: name }), /* @__PURE__ */ jsxs2("div", { className: "flex justify-between", children: [ /* @__PURE__ */ jsxs2("span", { className: "text-[10px] font-light block pt-0.5 pb-0.5", children: [ "v", version ] }), mode === "simple" && /* @__PURE__ */ jsx2("span", { className: "text-[10px] text-gray-500 font-light block pt-0.5 pb-0.5", children: nodeLabel }) ] }) ] }), mode === "full" && /* @__PURE__ */ jsxs2("div", { className: "divide-y divide-gray-200", children: [ /* @__PURE__ */ jsx2("div", { className: "leading-3 py-1", children: /* @__PURE__ */ jsx2("span", { className: "text-[8px] font-light", children: summary }) }), /* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-2 gap-x-4 py-1", children: [ /* @__PURE__ */ jsxs2("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Producers: ", producers.length ] }), /* @__PURE__ */ jsxs2("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Consumers: ", consumers.length ] }), /* @__PURE__ */ jsxs2("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Owners: ", owners.length ] }) ] }) ] }) ] }) ] }); } // src/nodes/query/QueryNode.tsx import { Search } from "lucide-react"; import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime"; function classNames3(...classes) { return classes.filter(Boolean).join(" "); } function Query(props) { const { version, owners = [], producers = [], consumers = [], name, summary } = props.data.message; const mode = props.data.mode || "simple"; const nodeLabel = "Query"; return /* @__PURE__ */ jsxs3("div", { className: classNames3( "w-full rounded-md border flex justify-start bg-white text-black", props.selected ? "border-green-600 ring-2 ring-green-500 shadow-lg" : "border-green-400" ), children: [ /* @__PURE__ */ jsxs3( "div", { className: `bg-gradient-to-b from-green-500 to-green-700 relative flex items-center w-5 justify-center rounded-l-sm text-green-100 border-r-[1px] border-green-500`, children: [ /* @__PURE__ */ jsx3(Search, { className: "w-4 h-4 opacity-90 text-white absolute top-1" }), mode === "full" && /* @__PURE__ */ jsx3( "span", { className: "w-1/2 text-center absolute bottom-1 text-[8px] text-white font-bold uppercase tracking-[3px]", style: { transform: "rotate(-90deg)" }, children: nodeLabel } ) ] } ), /* @__PURE__ */ jsxs3("div", { className: "p-1 min-w-60 max-w-[min-content]", children: [ /* @__PURE__ */ jsxs3("div", { className: classNames3(mode === "full" ? `border-b border-gray-200` : ""), children: [ /* @__PURE__ */ jsx3("span", { className: "text-xs font-bold block pt-0.5 pb-0.5", children: name }), /* @__PURE__ */ jsxs3("div", { className: "flex justify-between", children: [ /* @__PURE__ */ jsxs3("span", { className: "text-[10px] font-light block pt-0.5 pb-0.5", children: [ "v", version ] }), mode === "simple" && /* @__PURE__ */ jsx3("span", { className: "text-[10px] text-gray-500 font-light block pt-0.5 pb-0.5", children: nodeLabel }) ] }) ] }), mode === "full" && /* @__PURE__ */ jsxs3("div", { className: "divide-y divide-gray-200", children: [ /* @__PURE__ */ jsx3("div", { className: "leading-3 py-1", children: /* @__PURE__ */ jsx3("span", { className: "text-[8px] font-light", children: summary }) }), /* @__PURE__ */ jsxs3("div", { className: "grid grid-cols-2 gap-x-4 py-1", children: [ /* @__PURE__ */ jsxs3("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Producers: ", producers.length ] }), /* @__PURE__ */ jsxs3("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Consumers: ", consumers.length ] }), /* @__PURE__ */ jsxs3("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Owners: ", owners.length ] }) ] }) ] }) ] }) ] }); } // src/nodes/service/ServiceNode.tsx import { ServerIcon } from "lucide-react"; import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime"; function classNames4(...classes) { return classes.filter(Boolean).join(" "); } function Service(props) { const { data, selected } = props; const { version, owners = [], sends = [], receives = [], name, summary } = props.data.service; const mode = props.data.mode || "simple"; const nodeLabel = "Service"; return /* @__PURE__ */ jsxs4("div", { className: classNames4( "w-full rounded-md border flex justify-start bg-white text-black", selected ? "border-pink-600 ring-2 ring-pink-500 shadow-lg" : "border-pink-400" ), children: [ /* @__PURE__ */ jsxs4( "div", { className: `bg-gradient-to-b from-pink-500 to-pink-700 relative flex items-center w-5 justify-center rounded-l-sm text-pink-100 border-r-[1px] border-pink-500`, children: [ /* @__PURE__ */ jsx4(ServerIcon, { className: "w-4 h-4 opacity-90 text-white absolute top-1" }), mode === "full" && /* @__PURE__ */ jsx4( "span", { className: "w-1/2 text-center absolute bottom-1 text-[8px] text-white font-bold uppercase tracking-[3px]", style: { transform: "rotate(-90deg)" }, children: nodeLabel } ) ] } ), /* @__PURE__ */ jsxs4("div", { className: "p-1 min-w-60 max-w-[min-content]", children: [ /* @__PURE__ */ jsxs4("div", { className: classNames4(mode === "full" ? `border-b border-gray-200` : ""), children: [ /* @__PURE__ */ jsx4("span", { className: "text-xs font-bold block pt-0.5 pb-0.5", children: name }), /* @__PURE__ */ jsxs4("div", { className: "flex justify-between", children: [ /* @__PURE__ */ jsxs4("span", { className: "text-[10px] font-light block pt-0.5 pb-0.5", children: [ "v", version ] }), mode === "simple" && /* @__PURE__ */ jsx4("span", { className: "text-[10px] text-gray-500 font-light block pt-0.5 pb-0.5", children: nodeLabel }) ] }) ] }), mode === "full" && /* @__PURE__ */ jsxs4("div", { className: "divide-y divide-gray-200", children: [ /* @__PURE__ */ jsx4("div", { className: "leading-3 py-1", children: /* @__PURE__ */ jsx4("span", { className: "text-[8px] font-light", children: summary }) }), /* @__PURE__ */ jsxs4("div", { className: "grid grid-cols-2 gap-x-4 py-1", children: [ /* @__PURE__ */ jsxs4("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Receives messages: ", receives.length ] }), /* @__PURE__ */ jsxs4("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Publishes messages: ", sends.length ] }), /* @__PURE__ */ jsxs4("span", { className: "text-xs", style: { fontSize: "0.2em" }, children: [ "Owners: ", owners.length ] }) ] }) ] }) ] }) ] }); } // src/nodes/channel/ChannelNode.tsx import { ArrowRightLeft, Link } from "lucide-react"; // src/icons/protocols/index.ts var protocols_exports = {}; __export(protocols_exports, { AMQP: () => amqp_default, AzureEventGrid: () => azure_eventgrid_default, AzureEventHubs: () => azure_eventhubs_default, AzureServiceBus: () => azure_servicebus_default, EventBridge: () => eventbridge_default, GRPC: () => grpc_default, GooglePubSub: () => googlepubsub_default, Http: () => http_default, JMS: () => jms_default, Kafka: () => kafka_default, Kinesis: () => kinesis_default, MQTT: () => mqtt_default, Mercure: () => mercure_default, Nats: () => nats_default, Pulsar: () => pulsar_default, Redis: () => redis_default, SNS: () => sns_default, SQS: () => sqs_default, Solace: () => solace_default, TibcoFtl: () => tibo_ftl_default, TibcoRv: () => tibo_rv_default, WebSocket: () => ws_default, Webrtc: () => webrtc_default, ZMQ: () => zmq_default }); // src/icons/protocols/amqp.svg?raw var amqp_default = '<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72"><g id="c"><circle cx="36" cy="36" r="36" fill="#333" stroke-width="0"/><path d="m14.13,14.18h12.24v12.45h-12.24v-12.45Zm0,15.75h15.54v-15.75h12.35v28.2H14.13v-12.45Zm43.74-3.51v31.4H14.24v-12.35h31.29V14.18h12.35v12.24Z" fill="#fff" stroke-width="0"/></g></svg>'; // src/icons/protocols/azure-eventgrid.svg?raw var azure_eventgrid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><linearGradient id="a20547e5-d6af-456b-afbc-05d22ff8cb9d" x1="4589.72" y1="-5180.02" x2="4589.72" y2="-5184.21" gradientTransform="matrix(0.5, 0, 0, -0.5, -2275.31, -2589.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c69aeb" /><stop offset="1" stop-color="#6f4bb2" /></linearGradient><linearGradient id="a4745f51-5e75-4126-812d-6bb8a5130e16" x1="4587.99" y1="-5188.47" x2="4587.99" y2="-5192.65" href="#a20547e5-d6af-456b-afbc-05d22ff8cb9d" /></defs><title>Icon-integration-215</title><g><g id="b30b0bd5-e4d2-456b-8d49-c2df20200912"><path id="b51878b5-8d50-4b8b-bc48-74f5f7315a99" d="M12.7,8.15v-.6H8.18L6.06,9.66H4.5L8.12,6h2.47V5.43H7.87L3.65,9.66h-.6v.6H4.86L7,12.37H12.1v-.6H7.22L5.71,10.26H9.38v-.6H6.92l1.5-1.51Z" fill="#32bedd" /><circle id="ad0ed4eb-cd5f-4cc0-bd19-2830d27ec806" cx="9.98" cy="9.96" r="0.87" fill="#fff" /><circle id="a2746b4a-0ae4-4308-876e-5b82657e1872" cx="10.89" cy="5.74" r="0.87" fill="#fff" /><circle id="fc3316e0-7094-4ce0-99ed-43f1e6e4350c" cx="13" cy="7.85" r="0.87" fill="#fff" /><circle id="b5d18443-d50e-4590-8e8f-80b6a7f6d348" cx="12.1" cy="12.07" r="0.87" fill="#fff" /><circle cx="10.86" cy="5.74" r="1.05" fill="#50e6ff" /><circle cx="12.97" cy="7.85" r="1.05" fill="url(#a20547e5-d6af-456b-afbc-05d22ff8cb9d)" /><circle cx="12.1" cy="12.07" r="1.05" fill="url(#a4745f51-5e75-4126-812d-6bb8a5130e16)" /><circle cx="9.98" cy="9.96" r="1.05" fill="#50e6ff" /><g><path d="M1.07,1.43H2.36a0,0,0,0,1,0,0V5a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5V2A.57.57,0,0,1,1.07,1.43Z" fill="#999" /><path d="M1.07,1.43H2.36a0,0,0,0,1,0,0V5a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5V2A.57.57,0,0,1,1.07,1.43Z" fill="#999" opacity="0.5" /></g><g><path d="M15.64,1.43h1.29A.57.57,0,0,1,17.5,2V5a.29.29,0,0,1-.29.29H15.92A.29.29,0,0,1,15.64,5V1.43A0,0,0,0,1,15.64,1.43Z" fill="#999" /><path d="M15.64,1.43h1.29A.57.57,0,0,1,17.5,2V5a.29.29,0,0,1-.29.29H15.92A.29.29,0,0,1,15.64,5V1.43A0,0,0,0,1,15.64,1.43Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.16H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V-5.6A.57.57,0,0,1,8.66-6.16Z" transform="translate(11.34 -6.66) rotate(90)" fill="#949494" /><g><path d="M.79,12.68H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07A.57.57,0,0,1,.5,16V13A.29.29,0,0,1,.79,12.68Z" fill="#999" /><path d="M.79,12.68H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07A.57.57,0,0,1,.5,16V13A.29.29,0,0,1,.79,12.68Z" fill="#999" opacity="0.5" /></g><g><path d="M15.92,12.68h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.68Z" fill="#999" /><path d="M15.92,12.68h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.68Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.16H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V7.73A.57.57,0,0,1,8.66,7.16Z" transform="translate(-6.66 24.66) rotate(-90)" fill="#949494" /></g></g></svg>'; // src/icons/protocols/azure-eventhubs.svg?raw var azure_eventhubs_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><title>Icon-analytics-144</title><g><g id="a53a4de8-371c-49da-a662-c4631299fc03"><path d="M10.83,8.42a.26.26,0,0,1-.24.27H8.5a.26.26,0,0,1-.27-.24V6.89a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V8.42Z" fill="#76bc2d" /><path d="M14.54,10a.26.26,0,0,1-.24.27H12.21a.26.26,0,0,1-.27-.24V8.48a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V10Z" fill="#76bc2d" /><path d="M10.83,11.6a.26.26,0,0,1-.24.27H8.5a.26.26,0,0,1-.27-.24V10.07a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V11.6Z" fill="#76bc2d" /><path d="M7.12,6.84a.25.25,0,0,1-.23.26H4.74a.26.26,0,0,1-.27-.23V5.25A.26.26,0,0,1,4.71,5H6.8c.22,0,.32.11.32.27Z" fill="#86d633" /><path d="M7.12,10a.25.25,0,0,1-.23.27H4.74A.26.26,0,0,1,4.47,10V8.42a.26.26,0,0,1,.24-.26H6.8c.22,0,.32.11.32.26Z" fill="#76bc2d" /><path d="M7.12,13.19a.25.25,0,0,1-.23.27H4.74a.26.26,0,0,1-.27-.24V11.6a.25.25,0,0,1,.24-.26H6.8c.22,0,.32.1.32.26Z" fill="#76bc2d" /><g><path d="M1.07,1.51H2.36a0,0,0,0,1,0,0v3.6a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5.11v-3A.57.57,0,0,1,1.07,1.51Z" fill="#999" /><path d="M1.07,1.51H2.36a0,0,0,0,1,0,0v3.6a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5.11v-3A.57.57,0,0,1,1.07,1.51Z" fill="#999" opacity="0.5" /></g><g><path d="M15.64,1.51h1.29a.57.57,0,0,1,.57.57v3a.29.29,0,0,1-.29.29H15.92a.29.29,0,0,1-.29-.29V1.51A0,0,0,0,1,15.64,1.51Z" fill="#999" /><path d="M15.64,1.51h1.29a.57.57,0,0,1,.57.57v3a.29.29,0,0,1-.29.29H15.92a.29.29,0,0,1-.29-.29V1.51A0,0,0,0,1,15.64,1.51Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.08H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V-5.52A.57.57,0,0,1,8.66-6.08Z" transform="translate(11.42 -6.58) rotate(90)" fill="#949494" /><g><path d="M.79,12.76H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07a.57.57,0,0,1-.57-.57V13A.29.29,0,0,1,.79,12.76Z" fill="#999" /><path d="M.79,12.76H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07a.57.57,0,0,1-.57-.57V13A.29.29,0,0,1,.79,12.76Z" fill="#999" opacity="0.5" /></g><g><path d="M15.92,12.76h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.76Z" fill="#999" /><path d="M15.92,12.76h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.76Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.24H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V7.81A.57.57,0,0,1,8.66,7.24Z" transform="translate(-6.74 24.74) rotate(-90)" fill="#949494" /></g></g></svg>'; // src/icons/protocols/azure-servicebus.svg?raw var azure_servicebus_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><linearGradient id="bbd02878-309a-4490-8196-946338d0f593" x1="8.995" y1="10.299" x2="8.995" y2="13.199" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#005ba1" /><stop offset="0.258" stop-color="#00589d" /><stop offset="0.525" stop-color="#004f90" /><stop offset="0.796" stop-color="#003f7c" /><stop offset="1" stop-color="#003067" /></linearGradient></defs><g><g id="b532e600-3623-4be6-9fa6-30d05fff56b1"><polygon points="13.387 7.4 13.382 7.396 13.382 7.384 13.363 7.384 8.997 4.405 4.631 7.384 4.612 7.384 4.612 7.396 4.606 7.4 4.612 7.4 4.612 13.201 13.382 13.201 13.382 7.4 13.387 7.4" fill="#50e6ff" /><path d="M4.606,7.4c0-.1.008,5.681.008,5.8L8.995,10.3Z" fill="#32bedd" /><path d="M13.384,7.4,8.995,10.3,13.376,13.2C13.376,13.083,13.384,7.3,13.384,7.4Z" fill="#198ab3" /><polygon points="8.995 10.299 4.614 13.194 4.614 13.199 13.376 13.199 13.376 13.194 8.995 10.299" fill="url(#bbd02878-309a-4490-8196-946338d0f593)" /><g><path d="M1.072,1.43h1.29a0,0,0,0,1,0,0v3.6a.286.286,0,0,1-.286.286H.786A.286.286,0,0,1,.5,5.035V2A.572.572,0,0,1,1.072,1.43Z" fill="#999" /><path d="M1.072,1.43h1.29a0,0,0,0,1,0,0v3.6a.286.286,0,0,1-.286.286H.786A.286.286,0,0,1,.5,5.035V2A.572.572,0,0,1,1.072,1.43Z" fill="#999" opacity="0.5" /></g><g><path d="M15.638,1.43h1.29A.572.572,0,0,1,17.5,2V5.035a.286.286,0,0,1-.286.286h-1.29a.286.286,0,0,1-.286-.286V1.43A0,0,0,0,1,15.638,1.43Z" fill="#999" /><path d="M15.638,1.43h1.29A.572.572,0,0,1,17.5,2V5.035a.286.286,0,0,1-.286.286h-1.29a.286.286,0,0,1-.286-.286V1.43A0,0,0,0,1,15.638,1.43Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.163H9.907a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.567.567,0,0,1-.567-.567V-5.6A.567.567,0,0,1,8.66-6.163Z" transform="translate(11.337 -6.663) rotate(90)" fill="#949494" /><g><path d="M.786,12.679h1.29a.286.286,0,0,1,.286.286v3.6a0,0,0,0,1,0,0H1.072A.572.572,0,0,1,.5,16V12.965A.286.286,0,0,1,.786,12.679Z" fill="#999" /><path d="M.786,12.679h1.29a.286.286,0,0,1,.286.286v3.6a0,0,0,0,1,0,0H1.072A.572.572,0,0,1,.5,16V12.965A.286.286,0,0,1,.786,12.679Z" fill="#999" opacity="0.5" /></g><g><path d="M15.924,12.679h1.29a.286.286,0,0,1,.286.286V16a.572.572,0,0,1-.572.572h-1.29a0,0,0,0,1,0,0v-3.6A.286.286,0,0,1,15.924,12.679Z" fill="#999" /><path d="M15.924,12.679h1.29a.286.286,0,0,1,.286.286V16a.572.572,0,0,1-.572.572h-1.29a0,0,0,0,1,0,0v-3.6A.286.286,0,0,1,15.924,12.679Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.163H9.907a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.567.567,0,0,1-.567-.567V7.73A.567.567,0,0,1,8.66,7.163Z" transform="translate(-6.663 24.663) rotate(-90)" fill="#949494" /></g></g></svg>'; // src/icons/protocols/eventbridge.svg?raw var eventbridge_default = '<?xml version="1.0" encoding="UTF-8"?>\n<svg viewBox="15 7 55 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <g id="Icon-Architecture/64/Arch_Amazon-EventBridge_64" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <path d="M53.656744,66 C51.5137882,66 49.7695913,64.247 49.7695913,62.091 C49.7695913,59.935 51.5137882,58.182 53.656744,58.182 C55.7996998,58.182 57.5438968,59.935 57.5438968,62.091 C57.5438968,64.247 55.7996998,66 53.656744,66 L53.656744,66 Z M45.1326526,49 L34.7977386,49 L29.6297845,40 L34.7977386,31 L45.1326526,31 L50.2996124,40 L45.1326526,49 Z M27.6210741,21.818 C25.4781184,21.818 23.7339214,20.065 23.7339214,17.909 C23.7339214,15.753 25.4781184,14 27.6210741,14 C29.7650244,14 31.5092213,15.753 31.5092213,17.909 C31.5092213,20.065 29.7650244,21.818 27.6210741,21.818 L27.6210741,21.818 Z M53.656744,56.182 C52.918891,56.182 52.214848,56.325 51.5635088,56.576 L47.3402451,49.41 L47.117497,49.543 L52.3093171,40.5 C52.4863222,40.19 52.4863222,39.81 52.3093171,39.5 L46.5675877,29.5 C46.3895881,29.19 46.0614325,29 45.7064278,29 L35.2581509,29 L35.2989218,28.976 L31.4266852,22.404 C32.691576,21.32 33.4980434,19.708 33.4980434,17.909 C33.4980434,14.651 30.8618597,12 27.6210741,12 C24.381283,12 21.7450993,14.651 21.7450993,17.909 C21.7450993,21.167 24.381283,23.818 27.6210741,23.818 C28.3599216,23.818 29.0639646,23.675 29.7153038,23.424 L33.3299879,29.557 L27.6200797,39.5 C27.4430746,39.81 27.4430746,40.19 27.6200797,40.5 L33.3628035,50.5 C33.5408031,50.81 33.8689587,51 34.2239635,51 L45.7064278,51 C45.7889639,51 45.8695112,50.987 45.9470752,50.968 L49.8521274,57.596 C48.5862421,58.68 47.7807692,60.292 47.7807692,62.091 C47.7807692,65.349 50.4159585,68 53.656744,68 C56.8975296,68 59.5327189,65.349 59.5327189,62.091 C59.5327189,58.833 56.8975296,56.182 53.656744,56.182 L53.656744,56.182 Z M59.5844283,32.104 C57.4414725,32.104 55.6982699,30.351 55.6982699,28.195 C55.6982699,26.039 57.4414725,24.286 59.5844283,24.286 C61.7273841,24.286 63.471581,26.039 63.471581,28.195 C63.471581,30.351 61.7273841,32.104 59.5844283,32.104 L59.5844283,32.104 Z M66.8665003,39.5 L63.091716,32.925 C64.5266511,31.846 65.4604031,30.13 65.4604031,28.195 C65.4604031,24.937 62.8252138,22.286 59.5844283,22.286 C58.7600615,22.286 57.9744768,22.459 57.2614841,22.77 L54.1837819,17.409 C54.0067767,17.1 53.6776267,16.909 53.3226219,16.909 L40.9949082,16.909 L40.9949082,18.909 L52.7488468,18.909 L55.5958456,23.869 C54.4383511,24.949 53.7094478,26.486 53.7094478,28.195 C53.7094478,31.453 56.3446371,34.104 59.5844283,34.104 C60.1880358,34.104 60.771755,34.011 61.3206699,33.84 L64.85779,40 L59.8917013,48.648 L61.6140212,49.648 L66.8665003,40.5 C67.0444999,40.19 67.0444999,39.81 66.8665003,39.5 L66.8665003,39.5 Z M21.229,55.247 C19.0850498,55.247 17.3408528,53.493 17.3408528,51.338 C17.3408528,49.182 19.0850498,47.429 21.229,47.429 C23.3719558,47.429 25.1161527,49.182 25.1161527,51.338 C25.1161527,53.493 23.3719558,55.247 21.229,55.247 L21.229,55.247 Z M24.4767464,56.258 C26.0588544,55.198 27.1049748,53.389 27.1049748,51.338 C27.1049748,48.08 24.4687911,45.429 21.229,45.429 C20.2902759,45.429 19.4062445,45.657 18.618671,46.052 L15.1432044,40 L20.9018387,29.971 L19.1785244,28.971 L13.1334997,39.5 C12.9555001,39.81 12.9555001,40.19 13.1334997,40.5 L17.0047419,47.24 C15.9834817,48.304 15.3520307,49.747 15.3520307,51.338 C15.3520307,54.596 17.9882144,57.247 21.229,57.247 C21.7172558,57.247 22.189601,57.18 22.6440469,57.066 L25.8162181,62.591 C25.9942177,62.9 26.3223733,63.091 26.6773781,63.091 L39.0060862,63.091 L39.0060862,61.091 L27.2511532,61.091 L24.4767464,56.258 Z" id="Amazon-EventBridge_Icon_64_Squid" fill="currentColor"></path>\n </g>\n</svg>'; // src/icons/protocols/googlepubsub.svg?raw var googlepubsub_default = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><defs><style>.cls-1{filter:url(#luminosity-noclip);}.cls-2{fill:currentColor;}.cls-3{mask:url(#mask);}.cls-4{fill:currentColor;}.cls-5{fill:currentColor;}</style><filter id="luminosity-noclip" x="4.64" y="4.19" width="14.73" height="12.76" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-color="#fff" result="bg"/><feBlend in="SourceGraphic" in2="bg"/></filter><mask id="mask" x="4.64" y="4.19" width="14.73" height="12.76" maskUnits="userSpaceOnUse"><circle class="cls-1" cx="12" cy="12.23" r="3.58"/></mask></defs><title>Icon_24px_Pub-Sub_Color</title><g data-name="Product Icons"><circle class="cls-2" cx="18.97" cy="8.21" r="1.72"/><circle class="cls-2" cx="5.03" cy="8.21" r="1.72"/><circle class="cls-2" cx="12" cy="20.28" r="1.72"/><g class="cls-3"><rect class="cls-4" x="14.69" y="10.22" width="1.59" height="8.04" transform="matrix(0.5, -0.87, 0.87, 0.5, -4.59, 20.53)"/><rect class="cls-4" x="4.49" y="13.45" width="8.04" height="1.59" transform="translate(-5.98 6.17) rotate(-30)"/><rect class="cls-4" x="11.2" y="4.19" width="1.59" height="8.04"/></g><circle class="cls-5" cx="12" cy="12.23" r="2.78"/><circle class="cls-5" cx="5.03" cy="16.25" r="2.19"/><circle class="cls-5" cx="18.97" cy="16.25" r="2.19"/><circle class="cls-5" cx="12" cy="4.19" r="2.19"/></g></svg>'; // src/icons/protocols/grpc.svg?raw var grpc_default = '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 96 96" id="Grpc--Streamline-Svg-Logos" ><desc>Grpc Streamline Icon: https://streamlinehq.com</desc><path fill="#244b5a" d="M11.4052 61.9509c.6979.9285 1.6048 1.6794 2.6473 2.1918 1.1274.5584 2.3714.8408 3.6294.8238 1.0172.0266 2.0297-.1461 2.9805-.5084.7605-.2988 1.4394-.7734 1.9811-1.385.5084-.5959.8795-1.2963 1.0871-2.0515.2264-.8163.3384-1.66.333-2.507v-2.9454h-.0699c-.6593 1.045-1.6103 1.8739-2.7355 2.3844-1.0728.4671-2.2311.7059-3.4012.7013-1.1465.0086-2.2838-.2057-3.3485-.6311-1.0082-.4003-1.9306-.9894-2.7177-1.7358-.781-.7499-1.4014-1.6507-1.8235-2.6478-.44911-1.0526-.67592-2.1866-.6662-3.331-.00969-1.1411.20483-2.2729.63137-3.3313.40313-1.0013.99203-1.9174 1.73553-2.6999.7434-.7761 1.6387-1.3909 2.63-1.806 1.0608-.441 2.2001-.6617 3.3488-.6486.5231.003 1.045.0499 1.5602.14.5666.099 1.1197.2638 1.6481.4911 1.2545.5437 2.3389 1.4161 3.1386 2.525h.0699v-2.7354h2.3146v16.2705c-.0079.956-.1197 1.9083-.3333 2.8402-.2234 1.0076-.6664 1.9534-1.2973 2.7701-.7179.901-1.6366 1.6216-2.6826 2.1043-1.1457.5608-2.6419.8411-4.4886.8411-1.5001.0256-2.9902-.2485-4.383-.8063-1.3326-.5708-2.5279-1.4196-3.50622-2.4894l1.71802-1.8237Zm.4207-11.7116c-.0058.8357.1552 1.6641.4735 2.4368.3035.7415.7435 1.4195 1.2971 1.9986.5504.5741 1.2049 1.0382 1.9287 1.3678.754.3426 1.5738.5162 2.402.5083 1.6401.0059 3.2206-.6149 4.4182-1.7355.5881-.555 1.0488-1.2311 1.3502-1.9816.3247-.825.4741-1.7086.4384-2.5944.0059-.831-.1366-1.6564-.4209-2.4373-.2701-.7422-.6876-1.4221-1.2274-1.9987-.5548-.5845-1.223-1.0498-1.9636-1.3675-.82-.3485-1.7039-.5218-2.5949-.5086-.8282-.0076-1.648.166-2.402.5086-.7236.3299-1.378.7939-1.9287 1.3675-.5535.5794-.9935 1.2573-1.2974 1.9987-.3181.7729-.479 1.6014-.4732 2.4373Zm23.9844 8.4156h-2.5245V33.8282H40.93c2.5247 0 4.5175.5493 5.9786 1.6481 1.4608 1.099 2.1914 2.7588 2.1917 4.9793.0445 1.6118-.5403 3.1776-1.6305 4.3656-1.0872 1.1807-2.6593 1.8645-4.7163 2.0512l7.1534 11.7825h-3.086l-6.8024-11.5367h-4.208l-.0002 11.5367Zm0-13.851h4.4886c.9644.0203 1.9268-.0978 2.8577-.3508.6809-.182 1.3186-.4978 1.8761-.929.4497-.3619.7997-.8326 1.0167-1.3675.2134-.5415.3205-1.119.3157-1.701.0026-.5702-.1046-1.1356-.3157-1.6654-.2196-.5384-.5688-1.0143-1.0167-1.3852-.5521-.4398-1.1917-.7566-1.8761-.9293-.933-.2402-1.8945-.3522-2.8577-.333h-4.4886v8.6612Zm18.4441-10.9757h7.2238c2.5245 0 4.5173.5494 5.9783 1.6483 1.4608 1.0991 2.1914 2.7589 2.1918 4.9794 0 2.2212-.7306 3.8867-2.1918 4.9967-1.461 1.1106-3.4538 1.6658-5.9783 1.6656h-4.6988v11.5367h-2.525V33.8282Zm2.5252 10.9759h4.0677c.9644.0203 1.9268-.0978 2.8577-.3507.6808-.1821 1.3186-.498 1.8761-.9291.4497-.3619.7996-.8326 1.0167-1.3675.2135-.5414.3206-1.1189.3157-1.7009.0027-.5703-.1045-1.1357-.3157-1.6654-.2196-.5385-.5688-1.0143-1.0167-1.3853-.5521-.4396-1.1917-.7565-1.8761-.9293-.933-.2401-1.8945-.3522-2.8577-.3329h-4.0679l.0002 8.6611ZM95 54.7276c-.4443.6582-.9682 1.2589-1.56 1.7884-.6406.5755-1.3539 1.0647-2.1216 1.4549-.8196.4185-1.6842.7421-2.5771.9646-.9579.2378-1.9415.3555-2.9284.3505-1.7604.0165-3.5065-.3172-5.1368-.9816-3.1091-1.2564-5.5719-3.7256-6.8204-6.8379-.6681-1.66-1.0017-3.4357-.9816-5.225-.02-1.7892.3136-3.5649.9816-5.2249 1.2484-3.1122 3.7113-5.5813 6.8204-6.8374 1.6302-.6646 3.3764-.9984 5.1368-.9819 1.5867.0085 3.1574.3178 4.6288.9115 1.5694.628 2.9388 1.6704 3.9622 3.0158l-2.2088 1.6481c-.2968-.442-.6506-.843-1.0523-1.1923-.464-.4109-.976-.764-1.5249-1.0518-.5864-.3089-1.2035-.5557-1.8412-.7364-.6383-.1847-1.2994-.2791-1.9638-.2806-1.4729-.0242-2.9332.2751-4.2779.8766-1.2199.5535-2.3122 1.3533-3.2083 2.3492-.8868.9987-1.5716 2.1599-2.0166 3.4192-.9349 2.6431-.9349 5.5268 0 8.1699.4449 1.2593 1.1297 2.4204 2.0166 3.4189.8958.9962 1.9882 1.7962 3.2083 2.3494 1.3446.602 2.8049.9014 4.2779.8769.6527.0003 1.3041-.0584 1.9462-.1753.6533-.1202 1.2893-.3204 1.8937-.5961.637-.2922 1.2277-.6763 1.7533-1.14.5904-.5274 1.1038-1.1352 1.5251-1.8054L95 54.7276Z"></path><path fill="url(#a)" d="m7.53809 41.9566-6.53851-6.49 6.49007-6.5386 6.53855 6.4901-6.49011 6.5385Z"></path><path fill="url(#b)" d="m25.3301 39.1863-3.8352-3.8067 3.8068-3.8352 3.8351 3.8068-3.8067 3.8351Z"></path><path fill="#244b5a" d="M7.77596 31.5034 3.8457 35.4631l3.95949 3.9303 3.34981-.0125-3.51277-3.4845 17.34547-.0643-1.5202 1.5305 1.6749-.0061 1.9653-1.9799-1.9799-1.965-1.6749.0061 1.5317 1.5195-17.34553.0643 3.48643-3.5105-3.34954.0124Z"></path><defs><linearGradient id="a" x1="-646.313" x2="656.545" y1="-607.051" y2="-611.894" gradientUnits="userSpaceOnUse"><stop stop-color="#72c9c9"></stop><stop offset="1" stop-color="#02b0ad"></stop></linearGradient><linearGradient id="b" x1="-358.188" x2="406.007" y1="-341.49" y2="-344.331" gradientUnits="userSpaceOnUse"><stop stop-color="#03b6b4"></stop><stop offset="1" stop-color="#74cbca"></stop></linearGradient></defs></svg>'; // src/icons/protocols/http.svg?raw var http_default = '<svg fill="currentColor" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 560 560" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g> <g> <path d="M202.042,199.238c-6.938-2.103-14.268,1.82-16.371,8.759l-55.138,182.045c-2.102,6.938,1.82,14.268,8.759,16.37 c1.27,0.385,2.549,0.568,3.811,0.568c5.633,0,10.841-3.656,12.56-9.326l55.138-182.045 C212.901,208.668,208.981,201.338,202.042,199.238z"></path> </g> </g> <g> <g> <path d="M268.994,199.238c-6.93-2.103-14.268,1.82-16.37,8.759l-55.138,182.045c-2.102,6.938,1.82,14.268,8.759,16.37 c1.269,0.385,2.549,0.568,3.811,0.568c5.633,0,10.841-3.656,12.56-9.326l55.138-182.045 C279.857,208.668,275.935,201.338,268.994,199.238z"></path> </g> </g> <g> <g> <path d="M498.872,0H13.128C5.878,0,0,5.879,0,13.128v485.744C0,506.121,5.878,512,13.128,512h485.744 c7.249,0,13.128-5.879,13.128-13.128V13.128C512,5.879,506.121,0,498.872,0z M105.026,26.256h301.949v52.513H105.026V26.256z M26.256,26.256h52.513v52.513H26.256V26.256z M485.744,485.744H26.256V105.026h459.487V485.744z M485.744,78.769h-52.513V26.256 h52.513V78.769z"></path> </g> </g> <g> <g> <circle cx="93.867" cy="245.064" r="13.128"></circle> </g> </g> <g> <g> <circle cx="93.867" cy="360.592" r="13.128"></circle> </g> </g> <g> <g> <path d="M429.292,380.718H307.2c-7.249,0-13.128,5.879-13.128,13.128c0,7.249,5.879,13.128,13.128,13.128h122.092 c7.249,0,13.128-5.879,13.128-13.128C442.421,386.597,436.542,380.718,429.292,380.718z"></path> </g> </g> </g></svg>'; // src/icons/protocols/jms.svg?raw var jms_default = '<svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g id="5151e0c8492e5103c096af88a51e8d81"> <path display="inline" d="M193.918,208.369c-4.729-10.456-6.849-22.652-3.236-33.731c3.612-11.327,11.703-20.413,19.794-28.878 c22.525-22.531,50.285-39.085,72.316-61.986c12.197-12.573,22.278-27.634,25.762-44.937c2.864-12.695,1.496-25.764-1.117-38.337 c11.7,13.319,15.559,32.363,12.197,49.541c-3.608,19.292-14.316,36.344-26.886,51.031c-10.081,11.827-21.659,22.282-33.731,31.993 c-14.065,11.327-27.88,23.524-36.716,39.457c-7.472,12.943-9.215,28.876-4.11,42.942c8.341,24.146,27.756,42.071,38.338,64.848 c-11.703-10.332-23.152-21.036-33.86-32.361C211.471,236.001,200.889,223.307,193.918,208.369z M257.398,189.448 c-2.115,19.792,8.213,38.462,20.539,53.151c5.972,6.596,11.076,14.687,11.323,23.899c0.251,12.318-6.716,23.774-15.684,31.861 c2.119-0.246,3.612-2.115,5.355-3.11c13.443-8.589,26.385-19.418,32.982-34.227c4.357-10.083,3.362-22.034-2.362-31.371 c-6.724-10.953-15.559-20.662-20.786-32.61c-2.867-6.721-3.862-14.562-1.496-21.657c3.114-9.583,9.834-17.426,16.93-24.272 c19.54-18.544,43.189-31.743,65.844-46.179c-28.629,8.214-56.883,19.542-81.03,37.343 C273.702,153.727,259.515,169.658,257.398,189.448z M393.447,283.052c13.568,0.748,26.882,10.704,29.374,24.397 c2.366,11.825-3.358,23.524-10.705,32.485c-12.075,14.438-28.382,24.771-44.807,33.609c-1.622,0.991-2.99,2.237-4.235,3.608 c21.659-5.478,43.314-13.689,60.867-27.756c9.705-8.091,18.294-18.799,20.163-31.619c1.743-11.076-2.86-22.528-11.077-29.871 c-9.96-9.09-24.021-12.448-37.218-10.704c-7.593,0.995-15.931,2.613-21.158,8.961C380.877,284.921,386.971,282.429,393.447,283.052 z M123.22,318.647c16.303,4.357,33.108,5.603,49.787,6.724c14.936,0.995,29.875,1.246,44.937,1.12 c38.833-0.619,77.916-3.236,116.003-11.699c3.608-0.87,7.593-1.493,10.833-3.733c6.347-4.11,13.313-7.347,20.162-10.583 c-30.995,4.979-62.113,9.215-93.478,11.205c-31.74,1.991-63.731,3.236-95.593,1.121c-9.086-0.87-18.423-1.371-26.886-4.858 c-1.994-0.87-4.733-2.609-3.738-5.227c1.869-3.361,5.603-4.977,8.839-6.72c13.694-6.473,28.629-10.081,43.193-14.313 c-25.021-0.376-49.916,5.971-72.814,15.806c-5.105,2.491-10.83,4.481-14.936,8.714c-1.622,1.739-1.622,4.732,0.247,6.222 C113.511,315.787,118.487,317.28,123.22,318.647z M324.864,352.88c-21.784,3.859-43.694,7.472-65.726,8.589 c-24.147,1.618-48.294,0.247-72.191-2.241c-4.604-0.623-9.211-1.368-13.317-3.483c-2.116-1.246-4.231-3.236-4.106-5.854 c0.247-4.106,3.73-6.967,6.222-9.956c-7.715,2.739-15.434,5.599-21.906,10.708c-2.742,2.116-5.478,5.474-4.733,9.208 c1.125,4.356,5.356,6.97,9.09,8.96c9.208,4.733,19.54,6.846,29.625,8.714c25.511,4.11,51.527,4.235,77.167,2.488 c27.141-2.115,54.148-6.594,80.411-14.313C337.932,362.342,330.836,358.479,324.864,352.88z M188.068,395.951 c-6.97,1.99-14.066,4.357-19.79,8.957c-2.868,2.241-5.105,6.104-3.734,9.713c1.743,4.604,6.1,7.347,10.203,9.705 c10.708,5.854,22.78,8.589,34.604,10.708c26.765,4.229,54.27,3.608,80.908-1.12c15.806-2.989,31.615-7.221,46.301-13.815 c-9.584-3.984-18.917-8.467-27.878-13.693c-15.559,2.738-31.246,5.603-47.178,6.598c-21.032,1.618-42.319-0.125-63.355-2.738 c-4.98-1.121-11.202-1.618-14.563-5.976C181.847,400.677,185.828,398.063,188.068,395.951z M358.345,475.982 c17.424-3.604,34.977-7.719,50.908-15.806c4.976-2.867,11.076-5.979,12.698-11.95c0.87-5.725-5.105-8.714-9.337-11.08 c2.613,2.993,4.356,7.347,1.74,10.83c-4.357,5.853-11.821,8.091-18.42,10.332c-20.66,5.85-42.072,8.216-63.355,10.582 c-56.385,5.102-113.146,6.348-169.528,1.618c-18.92-1.994-38.217-4.109-56.264-10.829c-2.86-1.246-7.217-2.492-7.217-6.352 c1.117-3.354,4.357-5.227,7.217-6.845c12.945-6.595,27.384-10.207,41.822-11.077c-4.228-2.491-9.208-2.738-14.062-2.613 c-12.076,0.373-23.9,3.483-35.349,7.347c-9.834,3.604-19.916,7.59-27.76,14.811c-3.111,2.735-5.971,7.962-2.739,11.699 c4.98,5.353,12.699,6.72,19.54,8.338c38.338,6.599,77.171,10.328,116.011,11.699C255.781,488.184,307.684,485.942,358.345,475.982z M409.378,482.706c-23.402,7.468-47.672,11.574-71.822,14.936c-41.696,5.227-83.769,6.845-125.716,5.603 c-25.515-0.995-51.03-2.738-76.176-6.974c5.85,3.984,13.071,5.227,19.794,7.096c28.257,5.976,57.255,7.096,86.01,7.966 c42.19,0.748,84.387-0.87,125.962-7.468c19.669-3.48,39.459-7.715,57.13-16.927c9.215-4.854,18.552-12.326,20.163-23.152 C435.391,473.741,421.951,478.349,409.378,482.706z"> </path> </g> </g></svg>'; // src/icons/protocols/kafka.svg?raw var kafka_default = '<svg viewBox="-78.5 0 413 413" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" fill="currentColor" stroke="currentColor" stroke-width="0.00413"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke="#CCCCCC" stroke-width="5.782000000000001"></g><g id="SVGRepo_iconCarrier"> <g> <path d="M87.9320692,36.714181 C83.382936,32.1427482 77.0364491,29.3196096 69.9808327,29.3196096 C62.9519759,29.3196096 56.6545483,32.1427482 52.1589343,36.714181 L52.0295962,36.714181 C47.4938428,41.2633143 44.6707042,47.614261 44.6707042,54.6431179 C44.6707042,61.6987343 47.4938428,67.9961618 52.0295962,72.5185355 L52.1589343,72.6211139 C56.6545483,77.1702472 62.9519759,79.9666261 69.9808327,79.9666261 C77.0364491,79.9666261 83.382936,77.1702472 87.9320692,72.6211139 L87.9989682,72.5185355 C92.5570213,67.9961618 95.3534002,61.6987343 95.3534002,54.6431179 C95.3534002,47.614261 92.5570213,41.2633143 87.9989682,36.714181 L87.9320692,36.714181 Z M69.9808327,383.353672 C77.0364491,383.353672 83.382936,380.481475 87.9320692,375.985861 L87.9989682,375.852063 C92.5570213,371.365368 95.3534002,365.014422 95.3534002,358.034624 C95.3534002,350.979008 92.5570213,344.654821 87.9989682,340.083388 L87.9320692,340.083388 C83.382936,335.458436 77.0364491,332.662057 69.9808327,332.662057 C62.9519759,332.662057 56.6545483,335.458436 52.1589343,340.083388 L52.0295962,340.083388 C47.4938428,344.654821 44.6707042,350.979008 44.6707042,358.034624 C44.6707042,365.014422 47.4938428,371.365368 52.0295962,375.852063 L52.1589343,375.985861 C56.6545483,380.481475 62.9519759,383.353672 69.9808327,383.353672 Z M207.953367,306.633879 C214.228495,304.988163 219.910452,300.960842 223.375821,294.873031 L223.844114,293.985504 C226.925929,288.209889 227.487881,281.546747 225.842165,275.641794 C224.183069,269.317607 220.106689,263.724849 214.032258,260.2238 L213.679923,259.987423 C207.76159,256.745051 201.018169,256.040381 194.82332,257.712857 C188.525893,259.282754 182.870696,263.488472 179.423166,269.527223 C175.931037,275.507996 175.199608,282.407514 176.872084,288.758461 C178.598078,295.002369 182.634319,300.648647 188.66861,304.176455 L188.70875,304.176455 C194.756421,307.650744 201.60688,308.279595 207.953367,306.633879 Z M95.9688712,180.386512 C89.3146489,173.750129 80.1450235,169.59347 69.9808327,169.59347 C59.8567813,169.59347 50.7094556,173.750129 44.0686131,180.386512 C37.4589901,187.000595 33.38261,196.147921 33.38261,206.285352 C33.38261,216.449543 37.4589901,225.623628 44.0686131,232.31353 C50.7094556,238.896393 59.8567813,243.026292 69.9808327,243.026292 C80.1450235,243.026292 89.3146489,238.896393 95.9688712,232.31353 C102.591874,225.623628 106.668254,216.449543 106.668254,206.285352 C106.668254,196.147921 102.591874,187.000595 95.9688712,180.386512 Z M81.3581257,137.223266 C96.0848295,139.64947 109.335295,146.705086 119.445967,156.896037 L119.526245,156.896037 C121.131822,158.514993 122.701719,160.267747 124.151198,162.042801 L149.434566,147.414216 C146.036096,137.142987 145.879999,126.403464 148.609478,116.341852 C152.217565,102.85501 160.959037,90.7819674 174.062325,83.2045386 L174.494938,82.9458624 C187.455508,75.6003502 202.191132,74.0839725 215.495117,77.6920595 C228.964119,81.2956866 241.11744,90.0772977 248.681489,103.171665 L248.681489,103.198425 C256.209859,116.212514 257.739616,131.157755 254.144909,144.591077 C250.563582,158.069 241.781971,170.222321 228.692063,177.746231 L225.240074,179.788881 L224.887739,179.788881 C212.779016,185.560036 199.461652,186.452023 187.232511,183.23641 C177.188739,180.569369 167.974514,174.976611 160.7628,167.006708 L135.519571,181.590694 C138.418528,189.270702 140.028564,197.55726 140.028564,206.285352 C140.028564,214.986684 138.418528,223.375821 135.519571,231.109347 L160.7628,245.639814 C167.974514,237.567333 177.188739,232.077153 187.232511,229.410112 C200.701514,225.726206 215.637835,227.296103 228.692063,234.900292 L229.526071,235.292766 L229.526071,235.346285 C242.138765,242.972773 250.603721,254.78714 254.144909,268.113424 C257.739616,281.466468 256.209859,296.416169 248.681489,309.457017 L248.226576,310.371304 L248.173057,310.291025 C240.609008,322.86358 228.692063,331.382055 215.535256,334.985683 C202.035034,338.54025 187.103173,337.023873 174.062325,329.526723 L174.062325,329.419684 C160.959037,321.842255 152.217565,309.742453 148.609478,296.286831 C145.879999,286.251978 146.036096,275.507996 149.434566,265.241226 L124.151198,250.65724 C122.701719,252.436754 121.131822,254.10923 119.526245,255.728186 L119.445967,255.804005 C109.335295,265.945896 96.0848295,273.001512 81.3581257,275.351898 L81.3581257,304.568929 C91.8523516,306.763217 101.258354,312.01702 108.630625,319.384832 L108.666305,319.46511 C118.54506,329.290346 124.65963,342.982345 124.65963,358.034624 C124.65963,373.037844 118.54506,386.645104 108.666305,396.523859 L108.630625,396.679957 C98.6849713,406.558712 85.0331117,412.673282 69.9808327,412.673282 C55.0088325,412.673282 41.3391332,406.558712 31.4202388,396.679957 L31.3845593,396.679957 L31.3845593,396.523859 C21.4924245,386.645104 15.3644745,373.037844 15.3644745,358.034624 C15.3644745,342.982345 21.4924245,329.290346 31.3845593,319.46511 L31.3845593,319.384832 L31.4202388,319.384832 C38.7791307,312.01702 48.1985125,306.763217 58.6659788,304.568929 L58.6659788,275.351898 C43.9258952,273.001512 30.7155691,265.945896 20.6182773,255.804005 L20.5112389,255.728186 C7.88962418,243.053052 0,225.623628 0,206.285352 C0,187.000595 7.88962418,169.571171 20.5112389,156.896037 L20.6182773,156.896037 C30.7155691,146.705086 43.9258952,139.64947 58.6659788,137.223266 L58.6659788,108.135573 C48.1985125,105.861006 38.7791307,100.611663 31.4202388,93.2929105 L31.3845593,93.2929105 L31.3845593,93.2126317 C21.4924245,83.2848174 15.3644745,69.6953969 15.3644745,54.6431179 C15.3644745,39.6666577 21.4924245,25.9478991 31.3845593,16.0691441 L31.4202388,16.0200848 C41.3391332,6.11457024 55.0088325,0 69.9808327,0 C85.0331117,0 98.6849713,6.11457024 108.630625,16.0200848 L108.630625,16.0691441 L108.666305,16.0691441 C118.54506,25.9478991 124.65963,39.6666577 124.65963,54.6431179 C124.65963,69.6953969 118.54506,83.2848174 108.666305,93.2126317 L108.630625,93.2929105 C101.258354,100.611663 91.8523516,105.861006 81.3581257,108.135573 L81.3581257,137.223266 Z M223.375821,117.83147 L223.166204,117.519275 C219.674075,111.636621 214.108077,107.716339 207.953367,106.017104 C201.60688,104.344628 194.756421,105.053758 188.66861,108.528047 L188.70875,108.528047 C182.634319,111.975576 178.571319,117.621853 176.872084,123.946041 C175.199608,130.216708 175.931037,137.142987 179.423166,143.177278 L179.539124,143.337836 C183.040173,149.291848 188.606171,153.28795 194.82332,154.906906 C201.071688,156.65966 208.033646,155.928231 214.032258,152.427182 L214.357833,152.271085 C220.262787,148.743276 224.196449,143.177278 225.842165,137.062708 C227.51464,130.76528 226.85011,123.865762 223.375821,117.83147 Z" fill="currentColor"> </path> </g> </g></svg>'; // src/icons/protocols/kinesis.svg?raw var kinesis_default = '<svg viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <defs>\n <linearGradient x1="0%" y1="100%" x2="100%" y2="0%" id="linearGradient-1">\n <stop stop-color="#4D27A8" offset="0%"></stop>\n <stop stop-color="#A166FF" offset="100%"></stop>\n </linearGradient>\n </defs>\n <g id="Icon-Architecture/64/Arch_Amazon-Kinesis_64" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <g id="Icon-Architecture-BG/64/Analytics" fill="url(#linearGradient-1)">\n <rect id="Rectangle" x="0" y="0" width="80" height="80"></rect>\n </g>\n <path d="M19,62 L21,62 C21,53.594 26.465,45 67,45 L67,43 C24.703,43 19,52.604 19,62 M25,68 L27,68 C27,60.434 27,49 67,49 L67,47 C48.663,47 36.728,49.359 30.51,54.212 C25,58.512 25,63.996 25,68 M15,26 L13,26 C13,33.396 23.039,38.08 42.893,40 C23.039,41.92 13,46.604 13,54 L15,54 C15,49.145 21.756,41 67,41 L67,39 C21.756,39 15,30.855 15,26 M21,18 L19,18 C19,27.396 24.703,37 67,37 L67,35 C26.465,35 21,26.406 21,18 M67,31 L67,33 C48.663,33 36.728,30.641 30.51,25.788 C25,21.488 25,16.004 25,12 L27,12 C27,19.566 27,31 67,31" id="Amazon-Kinesis_Icon_64_Squid" fill="#FFFFFF"></path>\n </g>\n</svg>'; // src/icons/protocols/mercure.svg?raw var mercure_default = '\n<?xml version="1.0" encoding="UTF-8"?>\n<svg viewBox="0 0 106 105" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <defs>\n <linearGradient x1="-0.0211832061%" y1="50.0351145%" x2="99.9958015%" y2="50.0351145%" id="linearGradient-1">\n <stop stop-color="currentColor" offset="0%"></stop>\n <stop stop-color="currentColor" offset="100%"></stop>\n </linearGradient>\n <linearGradient x1="-0.0483596598%" y1="50.0496962%" x2="99.8944107%" y2="50.0496962%" id="linearGradient-2">\n <stop stop-color="currentColor" offset="0%"></stop>\n <stop stop-color="currentColor" offset="100%"></stop>\n </linearGradient>\n </defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <g id="mercure-hub" fill-rule="nonzero">\n <path d="M53,104.9 C24.1,104