@eventcatalog/core 0.1.10 → 0.1.14

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.
Files changed (214) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +41 -35
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/routes-manifest.json +1 -1
  14. package/.next/server/chunks/565.js +4 -4
  15. package/.next/server/chunks/{730.js → 685.js} +411 -2
  16. package/.next/server/chunks/944.js +76 -49
  17. package/.next/server/pages/404.html +1 -1
  18. package/.next/server/pages/500.html +1 -1
  19. package/.next/server/pages/_app.js +7 -3
  20. package/.next/server/pages/events/AddedItemToCart/logs.html +1 -1
  21. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +7 -7
  22. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +1 -1
  23. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +7 -7
  24. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +1 -1
  25. package/.next/server/pages/events/AddedItemToCart.html +8 -8
  26. package/.next/server/pages/events/AddedItemToCart.json +1 -1
  27. package/.next/server/pages/events/OrderComplete/logs.html +1 -1
  28. package/.next/server/pages/events/OrderComplete.html +7 -7
  29. package/.next/server/pages/events/OrderComplete.json +1 -1
  30. package/.next/server/pages/events/OrderConfirmed/logs.html +1 -1
  31. package/.next/server/pages/events/OrderConfirmed.html +3 -21
  32. package/.next/server/pages/events/OrderConfirmed.json +1 -1
  33. package/.next/server/pages/events/OrderRequested/logs.html +1 -1
  34. package/.next/server/pages/events/OrderRequested.html +7 -7
  35. package/.next/server/pages/events/OrderRequested.json +1 -1
  36. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  37. package/.next/server/pages/events/PaymentProcessed.html +7 -7
  38. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  39. package/.next/server/pages/events/RemovedItemFromCart/logs.html +1 -1
  40. package/.next/server/pages/events/RemovedItemFromCart.html +7 -7
  41. package/.next/server/pages/events/RemovedItemFromCart.json +1 -1
  42. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  43. package/.next/server/pages/events/ShipmentDelivered.html +3 -23
  44. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  45. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  46. package/.next/server/pages/events/ShipmentDispatched.html +7 -7
  47. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  48. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  49. package/.next/server/pages/events/ShipmentPrepared.html +2 -20
  50. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  51. package/.next/server/pages/events/[name]/v/[version].js +15 -1
  52. package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
  53. package/.next/server/pages/events/[name].js +15 -1
  54. package/.next/server/pages/events/[name].js.nft.json +1 -1
  55. package/.next/server/pages/events.html +3 -3
  56. package/.next/server/pages/events.json +1 -1
  57. package/.next/server/pages/index.html +1 -1
  58. package/.next/server/pages/overview.html +1 -1
  59. package/.next/server/pages/overview.json +1 -1
  60. package/.next/server/pages/services/Basket Service.html +8 -8
  61. package/.next/server/pages/services/Basket Service.json +1 -1
  62. package/.next/server/pages/services/Data Lake.html +10 -10
  63. package/.next/server/pages/services/Data Lake.json +1 -1
  64. package/.next/server/pages/services/Payment Service.html +6 -6
  65. package/.next/server/pages/services/Payment Service.json +1 -1
  66. package/.next/server/pages/services/Shipping Service.html +2 -28
  67. package/.next/server/pages/services/Shipping Service.json +1 -1
  68. package/.next/server/pages/services/[name].js +40 -3
  69. package/.next/server/pages/services/[name].js.nft.json +1 -1
  70. package/.next/server/pages/services.html +2 -2
  71. package/.next/server/pages/services.json +1 -1
  72. package/.next/server/pages/users/dboyne.html +3 -3
  73. package/.next/server/pages/users/dboyne.json +1 -1
  74. package/.next/server/pages/users/mSmith.html +3 -3
  75. package/.next/server/pages/users/mSmith.json +1 -1
  76. package/.next/static/ac8XYzWpx91m8pzawAm8i/_buildManifest.js +1 -0
  77. package/.next/static/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/_middlewareManifest.js +0 -0
  78. package/.next/static/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/_ssgManifest.js +0 -0
  79. package/.next/static/chunks/178-e5d3e237e11317c1.js +1 -0
  80. package/.next/static/chunks/280-06401c009983574c.js +1 -0
  81. package/.next/static/chunks/620-d80b0351ea428525.js +1 -0
  82. package/.next/static/chunks/651-7a25d8468f22423c.js +1 -0
  83. package/.next/static/chunks/962-3388407055119bf3.js +1 -0
  84. package/.next/static/chunks/b744740b-94e91620ba96ccbf.js +1 -0
  85. package/.next/static/chunks/pages/_app-46c2e0f1ff3b4efb.js +1 -0
  86. package/.next/static/chunks/pages/events/[name]/v/{[version]-f6619ec4056cc70d.js → [version]-d8d4d12f05da9c8a.js} +1 -1
  87. package/.next/static/chunks/pages/events/{[name]-73ecab7171745a3f.js → [name]-89e1edc81aa51fc3.js} +1 -1
  88. package/.next/static/chunks/pages/events-1f39499146c9c75f.js +1 -0
  89. package/.next/static/chunks/pages/services/[name]-204382bfbc48b1b4.js +1 -0
  90. package/.next/static/chunks/pages/services-f52121c6dc1211aa.js +1 -0
  91. package/.next/static/chunks/pages/users/{[id]-6e62960d4bd19b7d.js → [id]-d3140bb155f8fb45.js} +1 -1
  92. package/.next/static/chunks/{webpack-2ebfdb1666dac4ad.js → webpack-258a9e5dae8126df.js} +1 -1
  93. package/.next/static/css/7c5aa7fd17ca8eca.css +3 -0
  94. package/.next/trace +56 -54
  95. package/CHANGELOG.md +24 -0
  96. package/components/Header.tsx +4 -3
  97. package/components/Mdx/Examples.tsx +27 -27
  98. package/components/Mdx/NodeGraph/GraphElements.ts +183 -0
  99. package/components/Mdx/NodeGraph/GraphLayout.ts +57 -0
  100. package/components/Mdx/NodeGraph/NodeGraph.tsx +130 -0
  101. package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +98 -0
  102. package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +104 -0
  103. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +661 -0
  104. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +81 -0
  105. package/components/SyntaxHighlighter.tsx +18 -10
  106. package/lib/__tests__/graphs.spec.ts +8 -8
  107. package/lib/graphs.ts +4 -4
  108. package/out/404/index.html +1 -1
  109. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/AddedItemToCart/logs.json +0 -0
  110. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/AddedItemToCart/v/0.0.1.json +1 -1
  111. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/AddedItemToCart/v/0.0.2.json +1 -1
  112. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/events/AddedItemToCart.json +1 -0
  113. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderComplete/logs.json +0 -0
  114. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderComplete.json +1 -1
  115. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderConfirmed/logs.json +0 -0
  116. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderConfirmed.json +1 -1
  117. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderRequested/logs.json +0 -0
  118. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/OrderRequested.json +1 -1
  119. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/PaymentProcessed/logs.json +0 -0
  120. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/PaymentProcessed.json +1 -1
  121. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/RemovedItemFromCart/logs.json +0 -0
  122. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/RemovedItemFromCart.json +1 -1
  123. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/ShipmentDelivered/logs.json +0 -0
  124. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/events/ShipmentDelivered.json +1 -0
  125. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/ShipmentDispatched/logs.json +0 -0
  126. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/ShipmentDispatched.json +1 -1
  127. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/ShipmentPrepared/logs.json +0 -0
  128. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events/ShipmentPrepared.json +1 -1
  129. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/events.json +1 -1
  130. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/overview.json +1 -1
  131. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/services/Basket Service.json +1 -1
  132. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/services/Data Lake.json +1 -0
  133. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/services/Payment Service.json +1 -1
  134. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/services/Shipping Service.json +1 -0
  135. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/services.json +1 -0
  136. package/out/_next/data/ac8XYzWpx91m8pzawAm8i/users/dboyne.json +1 -0
  137. package/out/_next/data/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/users/mSmith.json +1 -1
  138. package/out/_next/static/ac8XYzWpx91m8pzawAm8i/_buildManifest.js +1 -0
  139. package/out/_next/static/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/_middlewareManifest.js +0 -0
  140. package/out/_next/static/{e-q1iE1pYqLSobepXPoMN → ac8XYzWpx91m8pzawAm8i}/_ssgManifest.js +0 -0
  141. package/out/_next/static/chunks/178-e5d3e237e11317c1.js +1 -0
  142. package/out/_next/static/chunks/280-06401c009983574c.js +1 -0
  143. package/out/_next/static/chunks/620-d80b0351ea428525.js +1 -0
  144. package/out/_next/static/chunks/651-7a25d8468f22423c.js +1 -0
  145. package/out/_next/static/chunks/962-3388407055119bf3.js +1 -0
  146. package/out/_next/static/chunks/b744740b-94e91620ba96ccbf.js +1 -0
  147. package/out/_next/static/chunks/pages/_app-46c2e0f1ff3b4efb.js +1 -0
  148. package/out/_next/static/chunks/pages/events/[name]/v/{[version]-f6619ec4056cc70d.js → [version]-d8d4d12f05da9c8a.js} +1 -1
  149. package/out/_next/static/chunks/pages/events/{[name]-73ecab7171745a3f.js → [name]-89e1edc81aa51fc3.js} +1 -1
  150. package/out/_next/static/chunks/pages/events-1f39499146c9c75f.js +1 -0
  151. package/out/_next/static/chunks/pages/services/[name]-204382bfbc48b1b4.js +1 -0
  152. package/out/_next/static/chunks/pages/services-f52121c6dc1211aa.js +1 -0
  153. package/out/_next/static/chunks/pages/users/{[id]-6e62960d4bd19b7d.js → [id]-d3140bb155f8fb45.js} +1 -1
  154. package/out/_next/static/chunks/{webpack-2ebfdb1666dac4ad.js → webpack-258a9e5dae8126df.js} +1 -1
  155. package/out/_next/static/css/7c5aa7fd17ca8eca.css +3 -0
  156. package/out/events/AddedItemToCart/index.html +8 -8
  157. package/out/events/AddedItemToCart/logs/index.html +1 -1
  158. package/out/events/AddedItemToCart/v/0.0.1/index.html +7 -7
  159. package/out/events/AddedItemToCart/v/0.0.2/index.html +7 -7
  160. package/out/events/OrderComplete/index.html +7 -7
  161. package/out/events/OrderComplete/logs/index.html +1 -1
  162. package/out/events/OrderConfirmed/index.html +3 -21
  163. package/out/events/OrderConfirmed/logs/index.html +1 -1
  164. package/out/events/OrderRequested/index.html +7 -7
  165. package/out/events/OrderRequested/logs/index.html +1 -1
  166. package/out/events/PaymentProcessed/index.html +7 -7
  167. package/out/events/PaymentProcessed/logs/index.html +1 -1
  168. package/out/events/RemovedItemFromCart/index.html +7 -7
  169. package/out/events/RemovedItemFromCart/logs/index.html +1 -1
  170. package/out/events/ShipmentDelivered/index.html +3 -23
  171. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  172. package/out/events/ShipmentDispatched/index.html +7 -7
  173. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  174. package/out/events/ShipmentPrepared/index.html +2 -20
  175. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  176. package/out/events/index.html +3 -3
  177. package/out/index.html +1 -1
  178. package/out/overview/index.html +1 -1
  179. package/out/services/Basket Service/index.html +8 -8
  180. package/out/services/Data Lake/index.html +10 -10
  181. package/out/services/Payment Service/index.html +6 -6
  182. package/out/services/Shipping Service/index.html +2 -28
  183. package/out/services/index.html +2 -2
  184. package/out/users/dboyne/index.html +3 -3
  185. package/out/users/mSmith/index.html +3 -3
  186. package/package.json +3 -1
  187. package/pages/events/[name].tsx +36 -0
  188. package/pages/services/[name].tsx +36 -0
  189. package/.next/static/chunks/178-9b89f5c036d77ab9.js +0 -1
  190. package/.next/static/chunks/336-22157631c3f2ef95.js +0 -1
  191. package/.next/static/chunks/650-4004943b2a9623ca.js +0 -1
  192. package/.next/static/chunks/962-d5070461f6d4a478.js +0 -1
  193. package/.next/static/chunks/pages/_app-c205def1388372e3.js +0 -1
  194. package/.next/static/chunks/pages/events-5ffe0ca38bc5f78c.js +0 -1
  195. package/.next/static/chunks/pages/services/[name]-d8873d29190a6447.js +0 -1
  196. package/.next/static/chunks/pages/services-a4eaef0c2abfdf9c.js +0 -1
  197. package/.next/static/css/0b54ec6503b91283.css +0 -3
  198. package/.next/static/e-q1iE1pYqLSobepXPoMN/_buildManifest.js +0 -1
  199. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/events/AddedItemToCart.json +0 -1
  200. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/events/ShipmentDelivered.json +0 -1
  201. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/services/Data Lake.json +0 -1
  202. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/services/Shipping Service.json +0 -1
  203. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/services.json +0 -1
  204. package/out/_next/data/e-q1iE1pYqLSobepXPoMN/users/dboyne.json +0 -1
  205. package/out/_next/static/chunks/178-9b89f5c036d77ab9.js +0 -1
  206. package/out/_next/static/chunks/336-22157631c3f2ef95.js +0 -1
  207. package/out/_next/static/chunks/650-4004943b2a9623ca.js +0 -1
  208. package/out/_next/static/chunks/962-d5070461f6d4a478.js +0 -1
  209. package/out/_next/static/chunks/pages/_app-c205def1388372e3.js +0 -1
  210. package/out/_next/static/chunks/pages/events-5ffe0ca38bc5f78c.js +0 -1
  211. package/out/_next/static/chunks/pages/services/[name]-d8873d29190a6447.js +0 -1
  212. package/out/_next/static/chunks/pages/services-a4eaef0c2abfdf9c.js +0 -1
  213. package/out/_next/static/css/0b54ec6503b91283.css +0 -3
  214. package/out/_next/static/e-q1iE1pYqLSobepXPoMN/_buildManifest.js +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- exports.id = 730;
3
- exports.ids = [730];
2
+ exports.id = 685;
3
+ exports.ids = [685];
4
4
  exports.modules = {
5
5
 
6
6
  /***/ 2455:
@@ -238,6 +238,415 @@ function Admonition({ children , type , className ='' }) {
238
238
  };
239
239
 
240
240
 
241
+ /***/ }),
242
+
243
+ /***/ 1262:
244
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
245
+
246
+
247
+ // EXPORTS
248
+ __webpack_require__.d(__webpack_exports__, {
249
+ "Z": () => (/* binding */ NodeGraph_NodeGraph)
250
+ });
251
+
252
+ // EXTERNAL MODULE: external "react/jsx-runtime"
253
+ var jsx_runtime_ = __webpack_require__(997);
254
+ // EXTERNAL MODULE: external "react"
255
+ var external_react_ = __webpack_require__(6689);
256
+ // EXTERNAL MODULE: external "react-flow-renderer"
257
+ var external_react_flow_renderer_ = __webpack_require__(6987);
258
+ var external_react_flow_renderer_default = /*#__PURE__*/__webpack_require__.n(external_react_flow_renderer_);
259
+ // EXTERNAL MODULE: external "next/config"
260
+ var config_ = __webpack_require__(4558);
261
+ var config_default = /*#__PURE__*/__webpack_require__.n(config_);
262
+ ;// CONCATENATED MODULE: ./components/Mdx/NodeGraph/GraphElements.ts
263
+
264
+
265
+ const { publicRuntimeConfig: { basePath ='' } = {
266
+ } } = config_default()();
267
+ const MIN_NODE_WIDTH = 150;
268
+ const generateLink = (value, type)=>basePath !== '' ? `${basePath}/${type}/${value}` : `/${type}/${value}`
269
+ ;
270
+ const calcWidth = (value)=>value.length * 7 > MIN_NODE_WIDTH ? value.length * 7 : MIN_NODE_WIDTH
271
+ ;
272
+ const buildNodeEdge = ({ id , target , source , isAnimated =true })=>({
273
+ id,
274
+ target,
275
+ source,
276
+ type: 'smoothstep',
277
+ arrowHeadType: external_react_flow_renderer_.ArrowHeadType.ArrowClosed,
278
+ animated: isAnimated
279
+ })
280
+ ;
281
+ const buildNodeData = ({ label , type , maxWidth })=>{
282
+ const width = calcWidth(label);
283
+ const linkType = type === 'service' ? 'services' : 'events';
284
+ const link = generateLink(label, linkType);
285
+ return {
286
+ label,
287
+ link,
288
+ width,
289
+ maxWidth
290
+ };
291
+ };
292
+ /**
293
+ * Builds a graph for a given event
294
+ * @param {Event} - event
295
+ * @param rootNodeColor - The color of the root node
296
+ * @param isAnimated - whether to animate the graph
297
+ */ const getEventElements = ({ name: eventName , producers: eventProducers , consumers: eventConsumers }, rootNodeColor = '#2563eb', isAnimated = true)=>{
298
+ const position = {
299
+ x: 0,
300
+ y: 0
301
+ };
302
+ const consumerColor = '#818cf8';
303
+ const producerColor = '#75d7b6';
304
+ const producersNames = eventProducers.map((s)=>calcWidth(s)
305
+ );
306
+ const maxProducersWidth = Math.max(...producersNames);
307
+ const consumersNames = eventConsumers.map((s)=>calcWidth(s)
308
+ );
309
+ const maxConsumersWidth = Math.max(...consumersNames);
310
+ const eventNameAsNodeID = `ev-${eventName.replace(/ /g, '_')}`;
311
+ const eventNodeWidth = calcWidth(eventName);
312
+ const producers = eventProducers.map((node)=>({
313
+ label: node,
314
+ id: `pr-${node.replace(/ /g, '_')}`
315
+ })
316
+ );
317
+ const consumers = eventConsumers.map((node)=>({
318
+ label: node,
319
+ id: `co-${node.replace(/ /g, '_')}`
320
+ })
321
+ );
322
+ // Transforms services & event into a graph model
323
+ const producersNodes = producers.map(({ label , id })=>{
324
+ const nodeWidth = calcWidth(label);
325
+ const diff = maxProducersWidth - nodeWidth;
326
+ const nodeMaxWidth = diff !== 0 ? nodeWidth - diff : maxProducersWidth;
327
+ return {
328
+ id,
329
+ data: buildNodeData({
330
+ label,
331
+ type: 'service',
332
+ maxWidth: nodeMaxWidth
333
+ }),
334
+ style: {
335
+ border: `2px solid ${producerColor}`,
336
+ width: nodeWidth
337
+ },
338
+ type: 'input',
339
+ position
340
+ };
341
+ });
342
+ const consumersNodes = consumers.map(({ id , label })=>{
343
+ const width = calcWidth(label);
344
+ return {
345
+ id,
346
+ data: buildNodeData({
347
+ label,
348
+ type: 'service',
349
+ maxWidth: maxConsumersWidth
350
+ }),
351
+ style: {
352
+ border: `2px solid ${consumerColor}`,
353
+ width
354
+ },
355
+ type: 'output',
356
+ position
357
+ };
358
+ });
359
+ const eventNode = {
360
+ id: eventNameAsNodeID,
361
+ data: buildNodeData({
362
+ label: eventName,
363
+ type: 'event',
364
+ maxWidth: eventNodeWidth
365
+ }),
366
+ style: {
367
+ border: `2px solid ${rootNodeColor}`,
368
+ width: eventNodeWidth
369
+ },
370
+ position
371
+ };
372
+ // Build connections
373
+ const producersEdges = producers.map(({ id , label })=>buildNodeEdge({
374
+ id: `epe-${label.replace(/ /g, '_')}`,
375
+ source: id,
376
+ target: eventNameAsNodeID,
377
+ isAnimated
378
+ })
379
+ );
380
+ const consumersEdges = consumers.map(({ id , label })=>buildNodeEdge({
381
+ id: `ece-${label.replace(/ /g, '_')}`,
382
+ target: id,
383
+ source: eventNameAsNodeID,
384
+ isAnimated
385
+ })
386
+ );
387
+ // Merge nodes in order
388
+ const elements = [
389
+ ...producersNodes,
390
+ eventNode,
391
+ ...consumersNodes,
392
+ ...producersEdges,
393
+ ...consumersEdges
394
+ ];
395
+ return elements;
396
+ };
397
+ /**
398
+ * Builds a graph for a given service
399
+ * @param {Service} service
400
+ * @param {string} rootNodeColor of the root node
401
+ * @param isAnimated whether the graph should be animated
402
+ * @returns {string} Mermaid Graph
403
+ */ const getServiceElements = ({ publishes , subscribes , name: serviceName }, rootNodeColor = '#2563eb', isAnimated = true)=>{
404
+ const position = {
405
+ x: 0,
406
+ y: 0
407
+ };
408
+ const publishColor = '#818cf8';
409
+ const subscribeColor = '#75d7b6';
410
+ const publishesNames = publishes.map((e)=>calcWidth(e.name)
411
+ );
412
+ const maxPublishesWidth = Math.max(...publishesNames);
413
+ const subscribesNames = subscribes.map((e)=>calcWidth(e.name)
414
+ );
415
+ const maxSubscribesWidth = Math.max(...subscribesNames);
416
+ const serviceNameAsNodeID = `ser-${serviceName.replace(/ /g, '_')}`;
417
+ // Transforms services & event into a graph model
418
+ const publishesNodes = publishes.map((node)=>{
419
+ const nodeWidth = calcWidth(node.name);
420
+ return {
421
+ id: `pub-${node.name.replace(/ /g, '_')}`,
422
+ data: buildNodeData({
423
+ label: node.name,
424
+ type: 'event',
425
+ maxWidth: maxPublishesWidth
426
+ }),
427
+ style: {
428
+ border: `2px solid ${publishColor}`,
429
+ width: nodeWidth
430
+ },
431
+ type: 'output',
432
+ position
433
+ };
434
+ });
435
+ const subscribesNodes = subscribes.map((node)=>{
436
+ const nodeWidth = calcWidth(node.name);
437
+ const diff = maxSubscribesWidth - nodeWidth;
438
+ const nodeMaxWidth = diff !== 0 ? nodeWidth - diff : maxSubscribesWidth;
439
+ return {
440
+ id: `sub-${node.name.replace(/ /g, '_')}`,
441
+ data: buildNodeData({
442
+ label: node.name,
443
+ type: 'event',
444
+ maxWidth: nodeMaxWidth
445
+ }),
446
+ style: {
447
+ border: `2px solid ${subscribeColor}`,
448
+ width: nodeWidth
449
+ },
450
+ type: 'input',
451
+ position
452
+ };
453
+ });
454
+ const serviceNode = {
455
+ id: serviceNameAsNodeID,
456
+ data: buildNodeData({
457
+ label: serviceName,
458
+ type: 'service',
459
+ maxWidth: calcWidth(serviceName)
460
+ }),
461
+ style: {
462
+ border: `2px solid ${rootNodeColor}`,
463
+ width: calcWidth(serviceName)
464
+ },
465
+ position
466
+ };
467
+ // Build connections
468
+ const publishesEdges = publishes.map((node)=>buildNodeEdge({
469
+ id: `ecp-${node.name.replace(/ /g, '_')}`,
470
+ source: serviceNameAsNodeID,
471
+ target: `pub-${node.name.replace(/ /g, '_')}`,
472
+ isAnimated
473
+ })
474
+ );
475
+ const subscribesEdges = subscribes.map((node)=>buildNodeEdge({
476
+ id: `esc-${node.name.replace(/ /g, '_')}`,
477
+ target: serviceNameAsNodeID,
478
+ source: `sub-${node.name.replace(/ /g, '_')}`,
479
+ isAnimated
480
+ })
481
+ );
482
+ // Merge nodes in order
483
+ const elements = [
484
+ ...subscribesNodes,
485
+ serviceNode,
486
+ ...publishesNodes,
487
+ ...publishesEdges,
488
+ ...subscribesEdges
489
+ ];
490
+ return elements;
491
+ };
492
+
493
+ // EXTERNAL MODULE: external "dagre"
494
+ var external_dagre_ = __webpack_require__(4214);
495
+ var external_dagre_default = /*#__PURE__*/__webpack_require__.n(external_dagre_);
496
+ ;// CONCATENATED MODULE: ./components/Mdx/NodeGraph/GraphLayout.ts
497
+
498
+
499
+ const nodeDefaultWidth = 150;
500
+ const nodeDefaultHeight = 36;
501
+ const offset = 48;
502
+ const verticalOffset = offset / 1.5;
503
+ function createGraphLayout(elements, isHorizontal) {
504
+ const dagreGraph = new (external_dagre_default()).graphlib.Graph();
505
+ dagreGraph.setDefaultEdgeLabel(()=>({
506
+ })
507
+ );
508
+ dagreGraph.setGraph({
509
+ rankdir: 'LR',
510
+ ranksep: offset * 2,
511
+ nodesep: verticalOffset
512
+ });
513
+ elements.forEach((element)=>{
514
+ if ((0,external_react_flow_renderer_.isNode)(element)) {
515
+ var ref, ref1, ref2, ref3;
516
+ // eslint-disable-next-line no-underscore-dangle
517
+ const nodeWidth = ((ref = element.__rf) === null || ref === void 0 ? void 0 : ref.width) ? (ref1 = element.__rf) === null || ref1 === void 0 ? void 0 : ref1.width : (ref2 = element.data) === null || ref2 === void 0 ? void 0 : ref2.width;
518
+ dagreGraph.setNode(element.id, {
519
+ width: nodeWidth || nodeDefaultWidth,
520
+ // eslint-disable-next-line no-underscore-dangle
521
+ height: ((ref3 = element.__rf) === null || ref3 === void 0 ? void 0 : ref3.height) || nodeDefaultHeight
522
+ });
523
+ } else {
524
+ dagreGraph.setEdge(element.source, element.target);
525
+ }
526
+ });
527
+ // Calculate the layout, to get the node positions with their widths and heights
528
+ external_dagre_default().layout(dagreGraph);
529
+ return elements.map((element)=>{
530
+ if ((0,external_react_flow_renderer_.isNode)(element)) {
531
+ var ref;
532
+ const node = dagreGraph.node(element.id);
533
+ element.targetPosition = isHorizontal ? external_react_flow_renderer_.Position.Left : external_react_flow_renderer_.Position.Top;
534
+ element.sourcePosition = isHorizontal ? external_react_flow_renderer_.Position.Right : external_react_flow_renderer_.Position.Bottom;
535
+ element.position = {
536
+ x: offset / 2 + node.x - ((element === null || element === void 0 ? void 0 : (ref = element.data) === null || ref === void 0 ? void 0 : ref.maxWidth) || node.width) / 2,
537
+ y: node.y - node.height / 2
538
+ };
539
+ }
540
+ return element;
541
+ });
542
+ };
543
+ // Helper - ReactFlow canvas height calculator
544
+ const calcCanvasHeight = (data, type)=>{
545
+ const minHeight = 300;
546
+ const nodeSpacing = nodeDefaultHeight + verticalOffset;
547
+ let nodesHeight = 0;
548
+ if (type === 'event') {
549
+ nodesHeight = Math.max(data.producers.length, data.consumers.length) * nodeSpacing;
550
+ } else {
551
+ nodesHeight = Math.max(data.publishes.length, data.subscribes.length) * nodeSpacing;
552
+ }
553
+ return Math.max(minHeight, nodesHeight);
554
+ };
555
+
556
+ ;// CONCATENATED MODULE: ./components/Mdx/NodeGraph/NodeGraph.tsx
557
+
558
+
559
+
560
+
561
+
562
+ // NodeGraphBuilder component wrapping ReactFlow
563
+ function NodeGraphBuilder({ data , source , rootNodeColor , maxZoom =10 , isAnimated =true , fitView =true , zoomOnScroll =false , isDraggable =false , isHorizontal =true }) {
564
+ // Load event or service elements for graph
565
+ let initialElements;
566
+ if (source === 'event') {
567
+ initialElements = getEventElements(data, rootNodeColor, isAnimated);
568
+ } else {
569
+ initialElements = getServiceElements(data, rootNodeColor, isAnimated);
570
+ }
571
+ // Initialize graph layout
572
+ const isInitializedRef = (0,external_react_.useRef)(false);
573
+ const nodes = (0,external_react_flow_renderer_.useStoreState)((state)=>state.nodes
574
+ );
575
+ const edges = (0,external_react_flow_renderer_.useStoreState)((state)=>state.edges
576
+ );
577
+ // Calculate initial element layout
578
+ const graphElements = createGraphLayout(initialElements, isHorizontal);
579
+ const { 0: elements , 1: setElements } = (0,external_react_.useState)(graphElements);
580
+ // Rerender graph layout to get rendered width/height for nodes/edges
581
+ (0,external_react_.useEffect)(()=>{
582
+ var // eslint-disable-next-line no-underscore-dangle
583
+ ref;
584
+ if (isInitializedRef.current === false && nodes.length > 0 && (nodes === null || nodes === void 0 ? void 0 : (ref = nodes[0]) === null || ref === void 0 ? void 0 : ref.__rf.width) != null) {
585
+ // Calculate element layout
586
+ const updateElements = ()=>{
587
+ const updatedElements = createGraphLayout([
588
+ ...nodes,
589
+ ...edges
590
+ ], isHorizontal);
591
+ setElements(updatedElements);
592
+ isInitializedRef.current = true;
593
+ };
594
+ updateElements();
595
+ }
596
+ }, [
597
+ nodes,
598
+ edges,
599
+ isInitializedRef,
600
+ isHorizontal
601
+ ]);
602
+ // ReactFlow operations
603
+ const onElementClick = (event, element)=>window.open(element.data.link, '_self')
604
+ ;
605
+ const onLoad = (0,external_react_.useCallback)((reactFlowInstance)=>{
606
+ if (fitView) {
607
+ reactFlowInstance.fitView();
608
+ }
609
+ }, [
610
+ fitView
611
+ ]);
612
+ return(/*#__PURE__*/ jsx_runtime_.jsx((external_react_flow_renderer_default()), {
613
+ elements: elements,
614
+ onLoad: onLoad,
615
+ onElementClick: onElementClick,
616
+ nodesDraggable: isDraggable,
617
+ zoomOnScroll: zoomOnScroll,
618
+ maxZoom: maxZoom,
619
+ children: /*#__PURE__*/ jsx_runtime_.jsx(external_react_flow_renderer_.Controls, {
620
+ })
621
+ }));
622
+ }
623
+ // NodeGraph wrapping NodeGraphBuilder Component
624
+ function NodeGraph({ data , source , rootNodeColor , maxHeight , maxZoom , fitView , zoomOnScroll , isAnimated , isDraggable , isHorizontal }) {
625
+ // Set dynamic height of node graph
626
+ const dynamicHeight = maxHeight || calcCanvasHeight(data, source);
627
+ return(/*#__PURE__*/ jsx_runtime_.jsx("div", {
628
+ className: "node-graph w-full border-dashed border-2 border-slate-300",
629
+ style: {
630
+ height: dynamicHeight
631
+ },
632
+ children: /*#__PURE__*/ jsx_runtime_.jsx(external_react_flow_renderer_.ReactFlowProvider, {
633
+ children: /*#__PURE__*/ jsx_runtime_.jsx(NodeGraphBuilder, {
634
+ source: source,
635
+ data: data,
636
+ rootNodeColor: rootNodeColor,
637
+ maxZoom: maxZoom,
638
+ fitView: fitView,
639
+ zoomOnScroll: zoomOnScroll,
640
+ isAnimated: isAnimated,
641
+ isDraggable: isDraggable,
642
+ isHorizontal: isHorizontal
643
+ })
644
+ })
645
+ }));
646
+ }
647
+ /* harmony default export */ const NodeGraph_NodeGraph = (NodeGraph);
648
+
649
+
241
650
  /***/ }),
242
651
 
243
652
  /***/ 4488:
@@ -59,48 +59,34 @@ function Examples({ title ='Examples' , description , examples =[] , showLineNum
59
59
  className: "text-md font-medium text-gray-700",
60
60
  children: description
61
61
  }),
62
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
63
- children: [
64
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("nav", {
65
- className: "-mb-px flex",
66
- "aria-label": "Tabs",
67
- children: tabs.map((tab)=>{
68
- const isSelected = tab.name === selectedTab.name;
69
- return(/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("button", {
70
- type: "button",
71
- onClick: ()=>handleTabSelection(tab)
72
- ,
73
- className: classNames(isSelected ? 'border-green-500 text-green-600 selected' : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300', 'whitespace-nowrap py-4 border-b-2 font-medium text-sm important:no-underline px-8 hover:bg-gray-50 transition'),
74
- "aria-current": isSelected ? 'page' : undefined,
75
- children: [
76
- tab.name,
77
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
78
- className: "block text-xs mt-",
79
- children: [
80
- "(",
81
- tab.langugage,
82
- ")"
83
- ]
84
- })
85
- ]
86
- }, tab.name));
87
- })
88
- }),
89
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
90
- className: "my-4",
91
- children: [
92
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_SyntaxHighlighter__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
62
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
63
+ children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
64
+ className: "col-span-5",
65
+ children: [
66
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("nav", {
67
+ className: "-mb-2 flex bg-gray-900",
68
+ "aria-label": "Tabs",
69
+ children: tabs.map((tab)=>{
70
+ const isSelected = tab.name === selectedTab.name;
71
+ return(/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
72
+ type: "button",
73
+ onClick: ()=>handleTabSelection(tab)
74
+ ,
75
+ className: classNames(isSelected ? 'border-yellow-300 text-yellow-300 selected bg-gray-700' : 'border-transparent text-gray-500 hover:text-gray-400 bg-gray-800 ', 'whitespace-nowrap py-3 border-b-2 font-medium important:no-underline px-6 text-xs transition '),
76
+ "aria-current": isSelected ? 'page' : undefined,
77
+ children: tab.name
78
+ }, tab.name));
79
+ })
80
+ }),
81
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
82
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_SyntaxHighlighter__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
93
83
  language: selectedTab.langugage,
94
84
  showLineNumbers: showLineNumbers,
95
85
  children: selectedTab.content
96
- }),
97
- selectedTab.langugage && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
98
- className: "-mb-2 block text-xs text-right font-bold",
99
- children: selectedTab.name
100
86
  })
101
- ]
102
- })
103
- ]
87
+ })
88
+ ]
89
+ })
104
90
  })
105
91
  ]
106
92
  })
@@ -443,6 +429,8 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__) => {
443
429
  /* harmony import */ var react_syntax_highlighter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(727);
444
430
  /* harmony import */ var react_syntax_highlighter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_syntax_highlighter__WEBPACK_IMPORTED_MODULE_3__);
445
431
  /* harmony import */ var copy_text_to_clipboard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7656);
432
+ /* harmony import */ var _heroicons_react_outline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8768);
433
+ /* harmony import */ var _heroicons_react_outline__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_heroicons_react_outline__WEBPACK_IMPORTED_MODULE_5__);
446
434
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([copy_text_to_clipboard__WEBPACK_IMPORTED_MODULE_4__]);
447
435
  copy_text_to_clipboard__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? await __webpack_async_dependencies__ : __webpack_async_dependencies__)[0];
448
436
 
@@ -450,6 +438,7 @@ copy_text_to_clipboard__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependenc
450
438
 
451
439
 
452
440
 
441
+
453
442
  function SyntaxHighlighter({ language , name ='' , ...props }) {
454
443
  const { 0: showCopied , 1: setShowCopied } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
455
444
  const handleCopyCode = ()=>{
@@ -460,25 +449,40 @@ function SyntaxHighlighter({ language , name ='' , ...props }) {
460
449
  };
461
450
  const regex = /\\n/g;
462
451
  return(/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
463
- className: "relative group",
452
+ className: "h-96 relative",
464
453
  children: [
465
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
454
+ name && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
455
+ className: `flex -mb-3 pb-2 bg-gray-900 ${name ? 'justify-between' : 'justify-end'}`,
456
+ children: [
457
+ name && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
458
+ className: "block text-xs py-2 px-2 font-bold text-gray-300",
459
+ children: name
460
+ }),
461
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
462
+ type: "button",
463
+ onClick: handleCopyCode,
464
+ className: "text-xs text-white rounded-md px-4",
465
+ children: showCopied ? 'Copied' : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_heroicons_react_outline__WEBPACK_IMPORTED_MODULE_5__.ClipboardCopyIcon, {
466
+ className: "h-4 w-4"
467
+ })
468
+ })
469
+ ]
470
+ }),
471
+ !name && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
466
472
  type: "button",
467
473
  onClick: handleCopyCode,
468
- className: "absolute top-2 right-5 text-sm bg-gray-700 text-white rounded-md py-1 px-4 transform transition opacity-0 group-hover:opacity-100",
469
- children: showCopied ? 'Copied' : 'Copy'
474
+ className: "text-xs absolute right-0 top-2 text-white rounded-md px-4",
475
+ children: showCopied ? 'Copied' : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_heroicons_react_outline__WEBPACK_IMPORTED_MODULE_5__.ClipboardCopyIcon, {
476
+ className: "h-4 w-4"
477
+ })
470
478
  }),
471
479
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_syntax_highlighter__WEBPACK_IMPORTED_MODULE_3__.Prism, {
472
480
  style: (react_syntax_highlighter_dist_cjs_styles_prism_dracula__WEBPACK_IMPORTED_MODULE_2___default()),
473
481
  language: language,
474
482
  ...props,
475
483
  wrapLines: true,
476
- className: "max-h-96 overflow-auto",
484
+ className: "h-96 overflow-auto",
477
485
  children: props.children.replace(regex, '\n')
478
- }),
479
- name && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
480
- className: "-mb-2 block text-xs text-right font-bold",
481
- children: name
482
486
  })
483
487
  ]
484
488
  }));
@@ -509,7 +513,7 @@ __webpack_require__.r(__webpack_exports__);
509
513
  /* harmony import */ var next_mdx_remote__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_mdx_remote__WEBPACK_IMPORTED_MODULE_2__);
510
514
  /* harmony import */ var _components_Mdx_Admonition__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1790);
511
515
  /* harmony import */ var _components_Mdx_Examples__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3067);
512
- /* harmony import */ var _utils_random_bg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(6892);
516
+ /* harmony import */ var _utils_random_bg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6892);
513
517
  /* harmony import */ var _components_ContentView__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2455);
514
518
  /* harmony import */ var _components_Mermaid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(788);
515
519
  /* harmony import */ var _components_Sidebars_EventSidebar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9610);
@@ -519,6 +523,7 @@ __webpack_require__.r(__webpack_exports__);
519
523
  /* harmony import */ var _components_Mdx_SchemaViewer_SchemaViewer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(7228);
520
524
  /* harmony import */ var _lib_events__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9959);
521
525
  /* harmony import */ var _hooks_EventCatalog__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(5008);
526
+ /* harmony import */ var _components_Mdx_NodeGraph_NodeGraph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(1262);
522
527
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_lib_events__WEBPACK_IMPORTED_MODULE_12__, _components_Mermaid__WEBPACK_IMPORTED_MODULE_6__, _components_Mdx_Examples__WEBPACK_IMPORTED_MODULE_4__, _components_Mdx_SchemaViewer_SchemaViewer__WEBPACK_IMPORTED_MODULE_11__, _components_SyntaxHighlighter__WEBPACK_IMPORTED_MODULE_10__]);
523
528
  ([_lib_events__WEBPACK_IMPORTED_MODULE_12__, _components_Mermaid__WEBPACK_IMPORTED_MODULE_6__, _components_Mdx_Examples__WEBPACK_IMPORTED_MODULE_4__, _components_Mdx_SchemaViewer_SchemaViewer__WEBPACK_IMPORTED_MODULE_11__, _components_SyntaxHighlighter__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? await __webpack_async_dependencies__ : __webpack_async_dependencies__);
524
529
 
@@ -536,6 +541,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_lib
536
541
 
537
542
 
538
543
 
544
+
539
545
  const getComponents = ({ event , schema , examples })=>({
540
546
  code: ({ className , ...props })=>{
541
547
  const match = /language-(\w+)/.exec(className || '');
@@ -606,11 +612,32 @@ const getComponents = ({ event , schema , examples })=>({
606
612
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Mermaid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
607
613
  source: "event",
608
614
  data: event,
609
- rootNodeColor: (0,_utils_random_bg__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)(event.name),
615
+ rootNodeColor: (0,_utils_random_bg__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)(event.name),
610
616
  charts: charts
611
617
  })
612
618
  ]
613
619
  })
620
+ ,
621
+ NodeGraph: ({ title , maxHeight , maxZoom , fitView , zoomOnScroll , isAnimated , isDraggable })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
622
+ className: "mx-auto w-full",
623
+ children: [
624
+ title && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
625
+ className: "text-lg font-medium text-gray-900 underline",
626
+ children: title
627
+ }),
628
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Mdx_NodeGraph_NodeGraph__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
629
+ source: "event",
630
+ data: event,
631
+ rootNodeColor: (0,_utils_random_bg__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)(event.name),
632
+ maxHeight: maxHeight,
633
+ maxZoom: maxZoom,
634
+ fitView: fitView,
635
+ zoomOnScroll: zoomOnScroll,
636
+ isAnimated: isAnimated,
637
+ isDraggable: isDraggable
638
+ })
639
+ ]
640
+ })
614
641
  })
615
642
  ;
616
643
  function Events(props) {
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><title>404: This page could not be found</title><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/0b54ec6503b91283.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0b54ec6503b91283.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-2ebfdb1666dac4ad.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0015f560a7edeb35.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c205def1388372e3.js" defer=""></script><script src="/_next/static/chunks/pages/_error-5a714c45c50a8db4.js" defer=""></script><script src="/_next/static/e-q1iE1pYqLSobepXPoMN/_buildManifest.js" defer=""></script><script src="/_next/static/e-q1iE1pYqLSobepXPoMN/_ssgManifest.js" defer=""></script><script src="/_next/static/e-q1iE1pYqLSobepXPoMN/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events/">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services/">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview/">3D Node Graph</a></div></div></div></div></div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"e-q1iE1pYqLSobepXPoMN","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><title>404: This page could not be found</title><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/7c5aa7fd17ca8eca.css" as="style"/><link rel="stylesheet" href="/_next/static/css/7c5aa7fd17ca8eca.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-258a9e5dae8126df.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0015f560a7edeb35.js" defer=""></script><script src="/_next/static/chunks/pages/_app-46c2e0f1ff3b4efb.js" defer=""></script><script src="/_next/static/chunks/pages/_error-5a714c45c50a8db4.js" defer=""></script><script src="/_next/static/ac8XYzWpx91m8pzawAm8i/_buildManifest.js" defer=""></script><script src="/_next/static/ac8XYzWpx91m8pzawAm8i/_ssgManifest.js" defer=""></script><script src="/_next/static/ac8XYzWpx91m8pzawAm8i/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events/">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services/">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview/">3D Node Graph</a></div></div></div></div></div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"ac8XYzWpx91m8pzawAm8i","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>