@eventcatalog/core 1.2.7 → 2.0.0

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 (622) hide show
  1. package/.changeset/config.json +11 -0
  2. package/.github/CODEOWNERS +3 -0
  3. package/.github/ISSUE_TEMPLATE.md +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +18 -0
  5. package/.github/funding.yml +1 -0
  6. package/.github/workflows/lint.yml +22 -0
  7. package/.github/workflows/release.yml +34 -0
  8. package/.github/workflows/verify-build.yml +27 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc +10 -0
  11. package/CHANGELOG.md +10 -577
  12. package/LICENSE.md +21 -0
  13. package/README.md +192 -5
  14. package/astro.config.mjs +57 -0
  15. package/bin/dist/eventcatalog.cjs +3139 -0
  16. package/bin/dist/eventcatalog.d.cts +1 -0
  17. package/bin/dist/eventcatalog.d.ts +1 -0
  18. package/bin/dist/eventcatalog.js +3141 -0
  19. package/images/example.png +0 -0
  20. package/package.json +59 -52
  21. package/public/icons/github.svg +1 -0
  22. package/public/icons/x-twitter.svg +1 -0
  23. package/public/logo.png +0 -0
  24. package/public/slack-icon.svg +1 -0
  25. package/scripts/build-ci.js +22 -0
  26. package/scripts/catalog-to-astro-content-directory.js +188 -0
  27. package/scripts/default-files-for-collections/commands.md +8 -0
  28. package/scripts/default-files-for-collections/domains.md +8 -0
  29. package/scripts/default-files-for-collections/events.md +8 -0
  30. package/scripts/default-files-for-collections/services.md +8 -0
  31. package/scripts/default-files-for-collections/teams.md +11 -0
  32. package/scripts/default-files-for-collections/users.md +11 -0
  33. package/scripts/start-catalog-locally.js +23 -0
  34. package/scripts/watcher.js +53 -0
  35. package/src/components/DocsNavigation.astro +110 -0
  36. package/src/components/Header.astro +65 -0
  37. package/src/components/Lists/BasicList.tsx +59 -0
  38. package/src/components/Lists/OwnersList.tsx +101 -0
  39. package/src/components/Lists/PillList.tsx +67 -0
  40. package/src/components/Lists/VersionList.astro +29 -0
  41. package/src/components/MDX/Accordion/Accordion.astro +10 -0
  42. package/src/components/MDX/Accordion/Accordion.tsx +29 -0
  43. package/src/components/MDX/Accordion/AccordionGroup.astro +16 -0
  44. package/{components/Mdx → src/components/MDX}/Admonition.tsx +6 -5
  45. package/src/components/MDX/File.tsx +43 -0
  46. package/src/components/MDX/NodeGraph/DownloadButton.tsx +58 -0
  47. package/src/components/MDX/NodeGraph/NodeGraph.astro +82 -0
  48. package/src/components/MDX/NodeGraph/NodeGraph.tsx +135 -0
  49. package/src/components/MDX/NodeGraph/NodeGraphPortal.tsx +15 -0
  50. package/src/components/MDX/NodeGraph/Nodes/Command.tsx +74 -0
  51. package/src/components/MDX/NodeGraph/Nodes/Event.tsx +74 -0
  52. package/src/components/MDX/NodeGraph/Nodes/Service.tsx +83 -0
  53. package/src/components/MDX/OpenAPI/OpenAPI.tsx +35 -0
  54. package/src/components/MDX/Schema.tsx +45 -0
  55. package/src/components/MDX/components.tsx +24 -0
  56. package/src/components/Search.astro +108 -0
  57. package/src/components/Seo.astro +79 -0
  58. package/src/components/SideBars/DomainSideBar.astro +42 -0
  59. package/src/components/SideBars/MessageSideBar.astro +81 -0
  60. package/src/components/SideBars/ServiceSideBar.astro +93 -0
  61. package/src/components/Tables/DebouncedInput.tsx +32 -0
  62. package/src/components/Tables/Table.tsx +228 -0
  63. package/src/components/Tables/columns/DomainTableColumns.tsx +118 -0
  64. package/src/components/Tables/columns/MessageTableColumns.tsx +159 -0
  65. package/src/components/Tables/columns/ServiceTableColumns.tsx +162 -0
  66. package/src/components/Tables/columns/index.tsx +17 -0
  67. package/src/components/Tables/filters/custom-filters.ts +14 -0
  68. package/src/content/config.ts +119 -0
  69. package/src/env.d.ts +2 -0
  70. package/src/layouts/CustomDocsPageLayout.astro +100 -0
  71. package/src/layouts/DiscoverLayout.astro +120 -0
  72. package/src/layouts/DocsLayout.astro +59 -0
  73. package/src/layouts/PlainPage.astro +29 -0
  74. package/src/layouts/VisualiserLayout.astro +73 -0
  75. package/src/pages/discover/[type]/index.astro +36 -0
  76. package/src/pages/docs/[type]/[id]/[version]/index.astro +215 -0
  77. package/src/pages/docs/[type]/[id]/[version]/spec/index.astro +93 -0
  78. package/src/pages/docs/index.md +4 -0
  79. package/src/pages/docs/teams/[id]/index.astro +127 -0
  80. package/src/pages/docs/users/[id]/index.astro +132 -0
  81. package/src/pages/visualiser/[type]/[id]/[version]/index.astro +46 -0
  82. package/src/pages/visualiser/index.astro +25 -0
  83. package/src/remark-plugins/mermaid.ts +27 -0
  84. package/src/remark-plugins/remark-modified-time.mjs +9 -0
  85. package/src/types/index.ts +2 -0
  86. package/src/utils/collections/util.ts +22 -0
  87. package/src/utils/colors.ts +14 -0
  88. package/src/utils/commands/node-graph.ts +107 -0
  89. package/src/utils/commands.ts +60 -0
  90. package/src/utils/config/catalog.ts +2 -0
  91. package/src/utils/domains/domains.ts +50 -0
  92. package/src/utils/domains/node-graph.ts +60 -0
  93. package/src/utils/events/node-graph.ts +108 -0
  94. package/src/utils/events.ts +62 -0
  95. package/src/utils/example-remark-plugin.mjs +6 -0
  96. package/src/utils/messages.ts +7 -0
  97. package/src/utils/node-graph-utils/utils.ts +31 -0
  98. package/src/utils/services/node-graph.ts +133 -0
  99. package/src/utils/services/services.ts +88 -0
  100. package/src/utils/teams.ts +47 -0
  101. package/src/utils/users.ts +59 -0
  102. package/tailwind.config.mjs +24 -0
  103. package/tsconfig.json +11 -26
  104. package/.next/BUILD_ID +0 -1
  105. package/.next/build-manifest.json +0 -246
  106. package/.next/cache/.tsbuildinfo +0 -1
  107. package/.next/cache/config.json +0 -7
  108. package/.next/cache/eslint/.cache_1bay4w0 +0 -1
  109. package/.next/cache/next-server.js.nft.json +0 -1
  110. package/.next/cache/webpack/client-production/0.pack +0 -0
  111. package/.next/cache/webpack/client-production/index.pack +0 -0
  112. package/.next/cache/webpack/server-production/0.pack +0 -0
  113. package/.next/cache/webpack/server-production/index.pack +0 -0
  114. package/.next/export-detail.json +0 -1
  115. package/.next/export-marker.json +0 -1
  116. package/.next/images-manifest.json +0 -1
  117. package/.next/next-server.js.nft.json +0 -1
  118. package/.next/package.json +0 -1
  119. package/.next/prerender-manifest.json +0 -1
  120. package/.next/react-loadable-manifest.json +0 -2112
  121. package/.next/required-server-files.json +0 -1
  122. package/.next/routes-manifest.json +0 -1
  123. package/.next/server/chunks/109.js +0 -608
  124. package/.next/server/chunks/237.js +0 -109
  125. package/.next/server/chunks/267.js +0 -257
  126. package/.next/server/chunks/274.js +0 -32
  127. package/.next/server/chunks/29.js +0 -675
  128. package/.next/server/chunks/331.js +0 -750
  129. package/.next/server/chunks/362.js +0 -570
  130. package/.next/server/chunks/428.js +0 -84
  131. package/.next/server/chunks/50.js +0 -466
  132. package/.next/server/chunks/526.js +0 -159
  133. package/.next/server/chunks/537.js +0 -136
  134. package/.next/server/chunks/788.js +0 -162
  135. package/.next/server/chunks/797.js +0 -92
  136. package/.next/server/chunks/8.js +0 -173
  137. package/.next/server/chunks/854.js +0 -107
  138. package/.next/server/chunks/938.js +0 -140
  139. package/.next/server/chunks/944.js +0 -721
  140. package/.next/server/chunks/962.js +0 -13
  141. package/.next/server/chunks/97.js +0 -2829
  142. package/.next/server/chunks/992.js +0 -50
  143. package/.next/server/chunks/font-manifest.json +0 -1
  144. package/.next/server/font-manifest.json +0 -1
  145. package/.next/server/middleware-manifest.json +0 -6
  146. package/.next/server/pages/404.html +0 -12
  147. package/.next/server/pages/500.html +0 -12
  148. package/.next/server/pages/_app.js +0 -623
  149. package/.next/server/pages/_app.js.nft.json +0 -1
  150. package/.next/server/pages/_document.js +0 -120
  151. package/.next/server/pages/_document.js.nft.json +0 -1
  152. package/.next/server/pages/_error.js +0 -148
  153. package/.next/server/pages/_error.js.nft.json +0 -1
  154. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +0 -1
  155. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +0 -1
  156. package/.next/server/pages/domains/Orders/events/OrderComplete.html +0 -40
  157. package/.next/server/pages/domains/Orders/events/OrderComplete.json +0 -1
  158. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +0 -1
  159. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.json +0 -1
  160. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +0 -40
  161. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +0 -1
  162. package/.next/server/pages/domains/Orders/events/OrderCreated/logs.html +0 -1
  163. package/.next/server/pages/domains/Orders/events/OrderCreated/logs.json +0 -1
  164. package/.next/server/pages/domains/Orders/events/OrderCreated.html +0 -2
  165. package/.next/server/pages/domains/Orders/events/OrderCreated.json +0 -1
  166. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +0 -1
  167. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +0 -1
  168. package/.next/server/pages/domains/Orders/events/OrderRequested.html +0 -40
  169. package/.next/server/pages/domains/Orders/events/OrderRequested.json +0 -1
  170. package/.next/server/pages/domains/Orders/services/Orders Service.html +0 -2
  171. package/.next/server/pages/domains/Orders/services/Orders Service.json +0 -1
  172. package/.next/server/pages/domains/Orders.html +0 -2
  173. package/.next/server/pages/domains/Orders.json +0 -1
  174. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +0 -1
  175. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
  176. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +0 -59
  177. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  178. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +0 -66
  179. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  180. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +0 -65
  181. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +0 -1
  182. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +0 -1
  183. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  184. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +0 -48
  185. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  186. package/.next/server/pages/domains/Shopping.html +0 -2
  187. package/.next/server/pages/domains/Shopping.json +0 -1
  188. package/.next/server/pages/domains/[domain]/events/[name]/logs.js +0 -345
  189. package/.next/server/pages/domains/[domain]/events/[name]/logs.js.nft.json +0 -1
  190. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +0 -435
  191. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js.nft.json +0 -1
  192. package/.next/server/pages/domains/[domain]/events/[name].js +0 -354
  193. package/.next/server/pages/domains/[domain]/events/[name].js.nft.json +0 -1
  194. package/.next/server/pages/domains/[domain]/services/[name].js +0 -402
  195. package/.next/server/pages/domains/[domain]/services/[name].js.nft.json +0 -1
  196. package/.next/server/pages/domains/[domain].js +0 -549
  197. package/.next/server/pages/domains/[domain].js.nft.json +0 -1
  198. package/.next/server/pages/domains.html +0 -3
  199. package/.next/server/pages/domains.js +0 -576
  200. package/.next/server/pages/domains.js.nft.json +0 -1
  201. package/.next/server/pages/domains.json +0 -1
  202. package/.next/server/pages/events/PaymentProcessed/logs.html +0 -1
  203. package/.next/server/pages/events/PaymentProcessed/logs.json +0 -1
  204. package/.next/server/pages/events/PaymentProcessed.html +0 -44
  205. package/.next/server/pages/events/PaymentProcessed.json +0 -1
  206. package/.next/server/pages/events/ShipmentDelivered/logs.html +0 -1
  207. package/.next/server/pages/events/ShipmentDelivered/logs.json +0 -1
  208. package/.next/server/pages/events/ShipmentDelivered.html +0 -44
  209. package/.next/server/pages/events/ShipmentDelivered.json +0 -1
  210. package/.next/server/pages/events/ShipmentDispatched/logs.html +0 -1
  211. package/.next/server/pages/events/ShipmentDispatched/logs.json +0 -1
  212. package/.next/server/pages/events/ShipmentDispatched.html +0 -44
  213. package/.next/server/pages/events/ShipmentDispatched.json +0 -1
  214. package/.next/server/pages/events/ShipmentPrepared/logs.html +0 -1
  215. package/.next/server/pages/events/ShipmentPrepared/logs.json +0 -1
  216. package/.next/server/pages/events/ShipmentPrepared.html +0 -2
  217. package/.next/server/pages/events/ShipmentPrepared.json +0 -1
  218. package/.next/server/pages/events/[name]/logs.js +0 -263
  219. package/.next/server/pages/events/[name]/logs.js.nft.json +0 -1
  220. package/.next/server/pages/events/[name]/v/[version].js +0 -431
  221. package/.next/server/pages/events/[name]/v/[version].js.nft.json +0 -1
  222. package/.next/server/pages/events/[name].js +0 -354
  223. package/.next/server/pages/events/[name].js.nft.json +0 -1
  224. package/.next/server/pages/events.html +0 -11
  225. package/.next/server/pages/events.js +0 -789
  226. package/.next/server/pages/events.js.nft.json +0 -1
  227. package/.next/server/pages/events.json +0 -1
  228. package/.next/server/pages/index.html +0 -1
  229. package/.next/server/pages/index.js.nft.json +0 -1
  230. package/.next/server/pages/overview.html +0 -1
  231. package/.next/server/pages/overview.js +0 -240
  232. package/.next/server/pages/overview.js.nft.json +0 -1
  233. package/.next/server/pages/overview.json +0 -1
  234. package/.next/server/pages/services/Orders Service.html +0 -1
  235. package/.next/server/pages/services/Orders Service.json +0 -1
  236. package/.next/server/pages/services/Payment Service.html +0 -2
  237. package/.next/server/pages/services/Payment Service.json +0 -1
  238. package/.next/server/pages/services/Shipping Service.html +0 -2
  239. package/.next/server/pages/services/Shipping Service.json +0 -1
  240. package/.next/server/pages/services/[name].js +0 -319
  241. package/.next/server/pages/services/[name].js.nft.json +0 -1
  242. package/.next/server/pages/services.html +0 -4
  243. package/.next/server/pages/services.js +0 -741
  244. package/.next/server/pages/services.js.nft.json +0 -1
  245. package/.next/server/pages/services.json +0 -1
  246. package/.next/server/pages/users/[id].js +0 -475
  247. package/.next/server/pages/users/[id].js.nft.json +0 -1
  248. package/.next/server/pages/users/dboyne.html +0 -16
  249. package/.next/server/pages/users/dboyne.json +0 -1
  250. package/.next/server/pages/users/mSmith.html +0 -13
  251. package/.next/server/pages/users/mSmith.json +0 -1
  252. package/.next/server/pages/users.html +0 -1
  253. package/.next/server/pages/users.js.nft.json +0 -1
  254. package/.next/server/pages/visualiser.html +0 -16
  255. package/.next/server/pages/visualiser.js +0 -739
  256. package/.next/server/pages/visualiser.js.nft.json +0 -1
  257. package/.next/server/pages/visualiser.json +0 -1
  258. package/.next/server/pages-manifest.json +0 -23
  259. package/.next/server/webpack-runtime.js +0 -259
  260. package/.next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
  261. package/.next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
  262. package/.next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
  263. package/.next/static/chunks/1254.a78e9444e102b061.js +0 -1
  264. package/.next/static/chunks/130.fa515915f80e17f9.js +0 -1
  265. package/.next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
  266. package/.next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
  267. package/.next/static/chunks/1455-8df9e334899797b2.js +0 -1
  268. package/.next/static/chunks/172-940ad0353b57ff98.js +0 -1
  269. package/.next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
  270. package/.next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
  271. package/.next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
  272. package/.next/static/chunks/2566.4084969752c613a9.js +0 -1
  273. package/.next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  274. package/.next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  275. package/.next/static/chunks/3116-446dd88b93c44018.js +0 -1
  276. package/.next/static/chunks/3193.f69abc67598575a9.js +0 -1
  277. package/.next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  278. package/.next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
  279. package/.next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
  280. package/.next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
  281. package/.next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
  282. package/.next/static/chunks/40.16abe9d3c57256d6.js +0 -1
  283. package/.next/static/chunks/407.3078ab29e8d18c02.js +0 -1
  284. package/.next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  285. package/.next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  286. package/.next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
  287. package/.next/static/chunks/4737.ae583b848d202a93.js +0 -1
  288. package/.next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  289. package/.next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
  290. package/.next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  291. package/.next/static/chunks/5835.a9405ab0913544df.js +0 -1
  292. package/.next/static/chunks/6067.cc75c37618cf0147.js +0 -1
  293. package/.next/static/chunks/6121.758a43c0db92ca23.js +0 -1
  294. package/.next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
  295. package/.next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
  296. package/.next/static/chunks/6582.06af6897be0d24b3.js +0 -1
  297. package/.next/static/chunks/6724.ed1280c926906c76.js +0 -1
  298. package/.next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
  299. package/.next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  300. package/.next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  301. package/.next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  302. package/.next/static/chunks/7374.a673e317f007d3b6.js +0 -1
  303. package/.next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
  304. package/.next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  305. package/.next/static/chunks/7469.d932a6b01168373b.js +0 -1
  306. package/.next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
  307. package/.next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  308. package/.next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  309. package/.next/static/chunks/828-1a4a120d2fbea802.js +0 -1
  310. package/.next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  311. package/.next/static/chunks/8470.c811187bd2982a8a.js +0 -1
  312. package/.next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
  313. package/.next/static/chunks/9097.1efc23284d82765c.js +0 -1
  314. package/.next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
  315. package/.next/static/chunks/9404.a44dfe8858add605.js +0 -1
  316. package/.next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  317. package/.next/static/chunks/9930.28415573db2b7806.js +0 -7
  318. package/.next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
  319. package/.next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  320. package/.next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
  321. package/.next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  322. package/.next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  323. package/.next/static/chunks/main-da37322a396d572a.js +0 -1
  324. package/.next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  325. package/.next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  326. package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  327. package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
  328. package/.next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
  329. package/.next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
  330. package/.next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  331. package/.next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  332. package/.next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  333. package/.next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
  334. package/.next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
  335. package/.next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
  336. package/.next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  337. package/.next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
  338. package/.next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
  339. package/.next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
  340. package/.next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
  341. package/.next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  342. package/.next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  343. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  344. package/.next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
  345. package/.next/static/css/7e14b4dede1671ad.css +0 -1
  346. package/.next/static/css/94b9a747218712b2.css +0 -3
  347. package/.next/static/css/ae8abf3666c55019.css +0 -5
  348. package/.next/static/css/cc3c8fcadcf7a58b.css +0 -1
  349. package/.next/static/css/deb57cf90a65a90f.css +0 -1
  350. package/.next/static/css/ed97de5465a152bb.css +0 -1
  351. package/.next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
  352. package/.next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
  353. package/.next/trace +0 -141
  354. package/bin/eventcatalog.js +0 -141
  355. package/components/BreadCrumbs.tsx +0 -50
  356. package/components/ContentView.tsx +0 -123
  357. package/components/Footer.tsx +0 -31
  358. package/components/Grids/DomainGrid.tsx +0 -61
  359. package/components/Grids/EventGrid.tsx +0 -102
  360. package/components/Grids/ServiceGrid.tsx +0 -84
  361. package/components/Grids/UserGrid.tsx +0 -55
  362. package/components/Header.tsx +0 -74
  363. package/components/Mdx/AsyncApiSpec.tsx +0 -25
  364. package/components/Mdx/Examples.tsx +0 -70
  365. package/components/Mdx/NodeGraph/GraphElements.tsx +0 -294
  366. package/components/Mdx/NodeGraph/GraphLayout.ts +0 -110
  367. package/components/Mdx/NodeGraph/Node.tsx +0 -15
  368. package/components/Mdx/NodeGraph/NodeGraph.tsx +0 -168
  369. package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +0 -102
  370. package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +0 -115
  371. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -559
  372. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +0 -81
  373. package/components/Mdx/OpenApiSpec.tsx +0 -21
  374. package/components/Mdx/SchemaViewer/SchemaViewer.module.css +0 -5
  375. package/components/Mdx/SchemaViewer/SchemaViewer.tsx +0 -34
  376. package/components/Mermaid/index.tsx +0 -58
  377. package/components/NotFound/index.tsx +0 -40
  378. package/components/Sidebars/DomainSidebar.tsx +0 -55
  379. package/components/Sidebars/EventSidebar.tsx +0 -172
  380. package/components/Sidebars/ServiceSidebar.tsx +0 -128
  381. package/components/Sidebars/components/ExternalLinks.tsx +0 -28
  382. package/components/Sidebars/components/ItemList.tsx +0 -32
  383. package/components/Sidebars/components/Owners.tsx +0 -38
  384. package/components/Sidebars/components/Tags.tsx +0 -45
  385. package/components/SyntaxHighlighter.tsx +0 -42
  386. package/eventcatalog.config.js +0 -58
  387. package/eventcatalog.styles.css +0 -15
  388. package/hooks/EventCatalog.tsx +0 -54
  389. package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +0 -20
  390. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +0 -31
  391. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +0 -1
  392. package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +0 -16
  393. package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +0 -4
  394. package/lib/__tests__/assets/domains/User/index.md +0 -16
  395. package/lib/__tests__/assets/domains/User/services/User Service/index.md +0 -19
  396. package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -25
  397. package/lib/__tests__/assets/events/EmailSent/index.md +0 -15
  398. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.cs +0 -31
  399. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.js +0 -1
  400. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/index.md +0 -8
  401. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/schema.json +0 -4
  402. package/lib/__tests__/assets/events/EventWithVersions/index.md +0 -10
  403. package/lib/__tests__/assets/events/EventWithVersions/versioned/0.0.1/index.md +0 -10
  404. package/lib/__tests__/assets/services/Basket Service/index.md +0 -26
  405. package/lib/__tests__/assets/services/Email Platform/index.md +0 -17
  406. package/lib/__tests__/assets/services/Payment Service/index.md +0 -7
  407. package/lib/__tests__/domains.spec.ts +0 -416
  408. package/lib/__tests__/events.spec.ts +0 -514
  409. package/lib/__tests__/file-reader.spec.ts +0 -69
  410. package/lib/__tests__/graphs.spec.ts +0 -88
  411. package/lib/__tests__/services.spec.ts +0 -268
  412. package/lib/analytics.ts +0 -30
  413. package/lib/domains.ts +0 -160
  414. package/lib/events.ts +0 -313
  415. package/lib/file-reader.ts +0 -76
  416. package/lib/graphs.ts +0 -92
  417. package/lib/services.ts +0 -126
  418. package/next-env.d.ts +0 -5
  419. package/next.config.js +0 -11
  420. package/out/404/index.html +0 -12
  421. package/out/404.html +0 -12
  422. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete/logs.json +0 -1
  423. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete.json +0 -1
  424. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed/logs.json +0 -1
  425. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed.json +0 -1
  426. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated/logs.json +0 -1
  427. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated.json +0 -1
  428. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested/logs.json +0 -1
  429. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested.json +0 -1
  430. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/services/Orders Service.json +0 -1
  431. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders.json +0 -1
  432. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
  433. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  434. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  435. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart.json +0 -1
  436. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  437. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  438. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping.json +0 -1
  439. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains.json +0 -1
  440. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed/logs.json +0 -1
  441. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed.json +0 -1
  442. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered/logs.json +0 -1
  443. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered.json +0 -1
  444. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched/logs.json +0 -1
  445. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched.json +0 -1
  446. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared/logs.json +0 -1
  447. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared.json +0 -1
  448. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events.json +0 -1
  449. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/overview.json +0 -1
  450. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Orders Service.json +0 -1
  451. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Payment Service.json +0 -1
  452. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Shipping Service.json +0 -1
  453. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services.json +0 -1
  454. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/dboyne.json +0 -1
  455. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/mSmith.json +0 -1
  456. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/visualiser.json +0 -1
  457. package/out/_next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
  458. package/out/_next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
  459. package/out/_next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
  460. package/out/_next/static/chunks/1254.a78e9444e102b061.js +0 -1
  461. package/out/_next/static/chunks/130.fa515915f80e17f9.js +0 -1
  462. package/out/_next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
  463. package/out/_next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
  464. package/out/_next/static/chunks/1455-8df9e334899797b2.js +0 -1
  465. package/out/_next/static/chunks/172-940ad0353b57ff98.js +0 -1
  466. package/out/_next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
  467. package/out/_next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
  468. package/out/_next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
  469. package/out/_next/static/chunks/2566.4084969752c613a9.js +0 -1
  470. package/out/_next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  471. package/out/_next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  472. package/out/_next/static/chunks/3116-446dd88b93c44018.js +0 -1
  473. package/out/_next/static/chunks/3193.f69abc67598575a9.js +0 -1
  474. package/out/_next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  475. package/out/_next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
  476. package/out/_next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
  477. package/out/_next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
  478. package/out/_next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
  479. package/out/_next/static/chunks/40.16abe9d3c57256d6.js +0 -1
  480. package/out/_next/static/chunks/407.3078ab29e8d18c02.js +0 -1
  481. package/out/_next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  482. package/out/_next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  483. package/out/_next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
  484. package/out/_next/static/chunks/4737.ae583b848d202a93.js +0 -1
  485. package/out/_next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  486. package/out/_next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
  487. package/out/_next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  488. package/out/_next/static/chunks/5835.a9405ab0913544df.js +0 -1
  489. package/out/_next/static/chunks/6067.cc75c37618cf0147.js +0 -1
  490. package/out/_next/static/chunks/6121.758a43c0db92ca23.js +0 -1
  491. package/out/_next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
  492. package/out/_next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
  493. package/out/_next/static/chunks/6582.06af6897be0d24b3.js +0 -1
  494. package/out/_next/static/chunks/6724.ed1280c926906c76.js +0 -1
  495. package/out/_next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
  496. package/out/_next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  497. package/out/_next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  498. package/out/_next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  499. package/out/_next/static/chunks/7374.a673e317f007d3b6.js +0 -1
  500. package/out/_next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
  501. package/out/_next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  502. package/out/_next/static/chunks/7469.d932a6b01168373b.js +0 -1
  503. package/out/_next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
  504. package/out/_next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  505. package/out/_next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  506. package/out/_next/static/chunks/828-1a4a120d2fbea802.js +0 -1
  507. package/out/_next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  508. package/out/_next/static/chunks/8470.c811187bd2982a8a.js +0 -1
  509. package/out/_next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
  510. package/out/_next/static/chunks/9097.1efc23284d82765c.js +0 -1
  511. package/out/_next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
  512. package/out/_next/static/chunks/9404.a44dfe8858add605.js +0 -1
  513. package/out/_next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  514. package/out/_next/static/chunks/9930.28415573db2b7806.js +0 -7
  515. package/out/_next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
  516. package/out/_next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  517. package/out/_next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
  518. package/out/_next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  519. package/out/_next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  520. package/out/_next/static/chunks/main-da37322a396d572a.js +0 -1
  521. package/out/_next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  522. package/out/_next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  523. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  524. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
  525. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
  526. package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
  527. package/out/_next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  528. package/out/_next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  529. package/out/_next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  530. package/out/_next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
  531. package/out/_next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
  532. package/out/_next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
  533. package/out/_next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  534. package/out/_next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
  535. package/out/_next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
  536. package/out/_next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
  537. package/out/_next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
  538. package/out/_next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  539. package/out/_next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  540. package/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  541. package/out/_next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
  542. package/out/_next/static/css/7e14b4dede1671ad.css +0 -1
  543. package/out/_next/static/css/94b9a747218712b2.css +0 -3
  544. package/out/_next/static/css/ae8abf3666c55019.css +0 -5
  545. package/out/_next/static/css/cc3c8fcadcf7a58b.css +0 -1
  546. package/out/_next/static/css/deb57cf90a65a90f.css +0 -1
  547. package/out/_next/static/css/ed97de5465a152bb.css +0 -1
  548. package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
  549. package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
  550. package/out/domains/Orders/events/OrderComplete/index.html +0 -40
  551. package/out/domains/Orders/events/OrderComplete/logs/index.html +0 -1
  552. package/out/domains/Orders/events/OrderConfirmed/index.html +0 -40
  553. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +0 -1
  554. package/out/domains/Orders/events/OrderCreated/index.html +0 -2
  555. package/out/domains/Orders/events/OrderCreated/logs/index.html +0 -1
  556. package/out/domains/Orders/events/OrderRequested/index.html +0 -40
  557. package/out/domains/Orders/events/OrderRequested/logs/index.html +0 -1
  558. package/out/domains/Orders/index.html +0 -2
  559. package/out/domains/Orders/services/Orders Service/index.html +0 -2
  560. package/out/domains/Shopping/events/AddedItemToCart/index.html +0 -65
  561. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +0 -1
  562. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +0 -59
  563. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +0 -66
  564. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +0 -48
  565. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +0 -1
  566. package/out/domains/Shopping/index.html +0 -2
  567. package/out/domains/index.html +0 -3
  568. package/out/events/PaymentProcessed/index.html +0 -44
  569. package/out/events/PaymentProcessed/logs/index.html +0 -1
  570. package/out/events/ShipmentDelivered/index.html +0 -44
  571. package/out/events/ShipmentDelivered/logs/index.html +0 -1
  572. package/out/events/ShipmentDispatched/index.html +0 -44
  573. package/out/events/ShipmentDispatched/logs/index.html +0 -1
  574. package/out/events/ShipmentPrepared/index.html +0 -2
  575. package/out/events/ShipmentPrepared/logs/index.html +0 -1
  576. package/out/events/index.html +0 -11
  577. package/out/favicon.ico +0 -0
  578. package/out/index.html +0 -1
  579. package/out/logo-random.svg +0 -114
  580. package/out/logo.svg +0 -44
  581. package/out/opengraph.png +0 -0
  582. package/out/overview/index.html +0 -1
  583. package/out/services/Orders Service/index.html +0 -1
  584. package/out/services/Payment Service/index.html +0 -2
  585. package/out/services/Shipping Service/index.html +0 -2
  586. package/out/services/index.html +0 -4
  587. package/out/users/dboyne/index.html +0 -16
  588. package/out/users/index.html +0 -1
  589. package/out/users/mSmith/index.html +0 -13
  590. package/out/visualiser/index.html +0 -16
  591. package/pages/_app.tsx +0 -111
  592. package/pages/_document.tsx +0 -18
  593. package/pages/domains/[domain]/events/[name]/logs.tsx +0 -35
  594. package/pages/domains/[domain]/events/[name]/v/[version].tsx +0 -39
  595. package/pages/domains/[domain]/events/[name].tsx +0 -46
  596. package/pages/domains/[domain]/index.tsx +0 -137
  597. package/pages/domains/[domain]/services/[name].tsx +0 -42
  598. package/pages/domains.tsx +0 -210
  599. package/pages/events/[name]/logs.tsx +0 -177
  600. package/pages/events/[name]/v/[version].tsx +0 -38
  601. package/pages/events/[name].tsx +0 -223
  602. package/pages/events.tsx +0 -357
  603. package/pages/index.tsx +0 -56
  604. package/pages/overview.tsx +0 -89
  605. package/pages/services/[name].tsx +0 -164
  606. package/pages/services.tsx +0 -311
  607. package/pages/users/[id].tsx +0 -101
  608. package/pages/users.tsx +0 -43
  609. package/pages/visualiser.tsx +0 -322
  610. package/postcss.config.js +0 -6
  611. package/public/logo-random.svg +0 -114
  612. package/public/logo.svg +0 -44
  613. package/scripts/__tests__/assets/eventcatalog.config.js +0 -32
  614. package/scripts/__tests__/generate.spec.ts +0 -36
  615. package/scripts/generate.js +0 -28
  616. package/scripts/move-schemas-for-download.js +0 -80
  617. package/styles/Home.module.css +0 -116
  618. package/styles/globals.css +0 -85
  619. package/tailwind.config.js +0 -36
  620. package/types/index.ts +0 -7
  621. package/utils/random-bg.ts +0 -13
  622. /package/{lib/__tests__/assets/services/Payment Service/openapi.yaml → public/openapi.yml} +0 -0
@@ -1,38 +0,0 @@
1
- import { getEventByName, getAllEventsAndVersionsFlattened } from '@/lib/events';
2
- import EventPage, { EventsPageProps } from '../../[name]';
3
-
4
- export default function Events(props: EventsPageProps) {
5
- return <EventPage {...props} />;
6
- }
7
-
8
- export async function getStaticProps({ params }) {
9
- const { name: eventName, version } = params;
10
- const { event, markdown } = await getEventByName({ eventName, version });
11
-
12
- return {
13
- props: {
14
- event,
15
- markdown,
16
- loadedVersion: version,
17
- eventPath: `/events/${event.name}`,
18
- breadCrumbs: [
19
- { name: 'Events', href: `/events?domain=${event.domain}`, current: false },
20
- { name: event.name, href: `/events/${event.name}`, current: false },
21
- { name: `v${version}`, href: `/events/${event.name}/v/${version}`, current: true },
22
- ],
23
- },
24
- };
25
- }
26
-
27
- export async function getStaticPaths() {
28
- const allEventsAndVersions = getAllEventsAndVersionsFlattened();
29
- const eventsWithDomains = allEventsAndVersions.filter((item) => !!item.domain === false);
30
-
31
- // all but current one
32
-
33
- const paths = eventsWithDomains.map(({ eventName, version }: any) => ({ params: { name: eventName, version } }));
34
- return {
35
- paths,
36
- fallback: false,
37
- };
38
- }
@@ -1,223 +0,0 @@
1
- import Head from 'next/head';
2
- import { MDXRemote } from 'next-mdx-remote';
3
-
4
- import { Event } from '@eventcatalog/types';
5
- import Admonition from '@/components/Mdx/Admonition';
6
- import Examples from '@/components/Mdx/Examples';
7
-
8
- import getBackgroundColor from '@/utils/random-bg';
9
-
10
- import OpenApiSpec from '@/components/Mdx/OpenApiSpec';
11
- import ContentView from '@/components/ContentView';
12
- import Mermaid from '@/components/Mermaid';
13
- import EventSideBar from '@/components/Sidebars/EventSidebar';
14
- import NotFound from '@/components/NotFound';
15
- import BreadCrumbs from '@/components/BreadCrumbs';
16
- import SyntaxHighlighter from '@/components/SyntaxHighlighter';
17
- import SchemaViewer from '@/components/Mdx/SchemaViewer/SchemaViewer';
18
-
19
- import { getAllEvents, getEventByName } from '@/lib/events';
20
- import { useConfig, useUrl } from '@/hooks/EventCatalog';
21
-
22
- import { MarkdownFile } from '@/types/index';
23
- import NodeGraph from '@/components/Mdx/NodeGraph/NodeGraph';
24
-
25
- export interface EventsPageProps {
26
- event: Event;
27
- eventPath: string;
28
- breadCrumbs: any;
29
- markdown: MarkdownFile;
30
- notFound?: boolean;
31
- loadedVersion?: string;
32
- }
33
-
34
- export const getComponents = ({ event, schema, examples }: any) => ({
35
- code: ({ className, ...props }) => {
36
- const match = /language-(\w+)/.exec(className || '');
37
-
38
- return match ? <SyntaxHighlighter language={match[1]} {...props} /> : <code className={className} {...props} />;
39
- },
40
- Schema: ({ title }: { title: string }) => {
41
- if (!schema) return null;
42
-
43
- return (
44
- <section className="mt-8 xl:mt-10">
45
- {title && (
46
- <h2 id="activity-title" className="text-lg font-medium text-gray-900 underline">
47
- {title}
48
- </h2>
49
- )}
50
- <SyntaxHighlighter language={schema.language} showLineNumbers={false} name={`${event.name} Schema (${schema.language})`}>
51
- {schema.snippet}
52
- </SyntaxHighlighter>
53
- </section>
54
- );
55
- },
56
- SchemaViewer: ({
57
- title,
58
- renderRootTreeLines = false,
59
- defaultExpandedDepth = 1,
60
- maxHeight,
61
- }: {
62
- title?: string;
63
- renderRootTreeLines?: boolean;
64
- defaultExpandedDepth?: number;
65
- maxHeight?: string;
66
- }) => {
67
- if (!schema) return null;
68
-
69
- return (
70
- <section className="mt-8 xl:mt-10">
71
- {title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
72
- <SchemaViewer
73
- schema={schema.snippet}
74
- maxHeight={parseInt(maxHeight, 10)}
75
- renderRootTreeLines={renderRootTreeLines}
76
- defaultExpandedDepth={defaultExpandedDepth}
77
- />
78
- </section>
79
- );
80
- },
81
- Admonition,
82
- OpenAPI: ({ url, ...props }: { url?: string }) => {
83
- if (!event.openAPISpec) return null;
84
- return <OpenApiSpec spec={event.openAPISpec} url={url} {...props} />;
85
- },
86
- EventExamples: (props) => {
87
- if (examples.length > 0) {
88
- return <Examples {...props} examples={examples} showLineNumbers />;
89
- }
90
- console.log(
91
- 'You are using the <EventExamples /> component without any examples, please read https://eventcatalog.dev/docs/events/adding-examples for more information'
92
- );
93
- return null;
94
- },
95
- Mermaid: ({ title, charts }: { title?: string; charts?: string[] }) => (
96
- <div className="mx-auto w-full py-10">
97
- {title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
98
- <Mermaid source="event" data={event} rootNodeColor={getBackgroundColor(event.name)} charts={charts} />
99
- </div>
100
- ),
101
- NodeGraph: ({
102
- title,
103
- maxHeight,
104
- maxZoom,
105
- fitView,
106
- zoomOnScroll,
107
- isAnimated,
108
- isDraggable,
109
- }: // isHorizontal,
110
- {
111
- title?: string;
112
- maxHeight?: number;
113
- maxZoom?: number;
114
- fitView?: boolean;
115
- zoomOnScroll?: boolean;
116
- isAnimated?: boolean;
117
- isDraggable?: boolean;
118
- // isHorizontal?: boolean;
119
- }) => (
120
- <div className="mx-auto w-full">
121
- {title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
122
- <NodeGraph
123
- source="event"
124
- data={event}
125
- rootNodeColor={getBackgroundColor(event.name)}
126
- maxHeight={maxHeight}
127
- maxZoom={maxZoom}
128
- fitView={fitView}
129
- zoomOnScroll={zoomOnScroll}
130
- isAnimated={isAnimated}
131
- isDraggable={isDraggable}
132
- // isHorizontal={isHorizontal}
133
- />
134
- </div>
135
- ),
136
- });
137
-
138
- export default function Events(props: EventsPageProps) {
139
- const { event, markdown, loadedVersion, notFound, breadCrumbs, eventPath } = props;
140
- const { title } = useConfig();
141
- const { getEditUrl, hasEditUrl } = useUrl();
142
-
143
- const { name, summary, draft, schema, examples, version } = event;
144
-
145
- if (notFound)
146
- return <NotFound type="event" name={event.name} editUrl={hasEditUrl ? getEditUrl(`/events/${name}/index.md`) : ''} />;
147
-
148
- const { lastModifiedDate } = markdown;
149
-
150
- const mdxComponents = getComponents({ event, schema, examples }) as any;
151
-
152
- return (
153
- <>
154
- <Head>
155
- <title>
156
- {title} - {name} v{version}
157
- </title>
158
- </Head>
159
- <ContentView
160
- title={name}
161
- editUrl={hasEditUrl ? getEditUrl(`${eventPath}/index.md`) : ''}
162
- subtitle={summary}
163
- draft={draft}
164
- lastModifiedDate={lastModifiedDate}
165
- tags={[{ label: `v${version}` }]}
166
- breadCrumbs={<BreadCrumbs pages={breadCrumbs} />}
167
- isOldVersion={loadedVersion !== 'latest'}
168
- latestVersionUrl={eventPath}
169
- version={loadedVersion}
170
- sidebar={
171
- <EventSideBar
172
- event={event}
173
- urlPath={eventPath}
174
- loadedVersion={loadedVersion}
175
- isOldVersion={loadedVersion !== 'latest'}
176
- />
177
- }
178
- >
179
- <MDXRemote {...markdown.source} components={mdxComponents} />
180
- </ContentView>
181
- </>
182
- );
183
- }
184
-
185
- export async function getStaticProps({ params }) {
186
- try {
187
- const { event, markdown } = await getEventByName({
188
- eventName: params.name,
189
- });
190
-
191
- return {
192
- props: {
193
- event,
194
- eventPath: `/events/${event.name}`,
195
- breadCrumbs: [
196
- { name: 'Events', href: '/events', current: false },
197
- { name: event.name, href: `/events/${event.name}`, current: true },
198
- ],
199
- markdown,
200
- loadedVersion: 'latest',
201
- },
202
- };
203
- } catch (error) {
204
- return {
205
- props: {
206
- notFound: true,
207
- event: { name: params.name },
208
- },
209
- };
210
- }
211
- }
212
-
213
- export async function getStaticPaths() {
214
- const events = getAllEvents();
215
- const eventsWithoutDomains = events.filter((event) => !event.domain);
216
-
217
- const paths = eventsWithoutDomains.map((event) => ({ params: { name: event.name } }));
218
-
219
- return {
220
- paths,
221
- fallback: false,
222
- };
223
- }
package/pages/events.tsx DELETED
@@ -1,357 +0,0 @@
1
- import { Fragment, useState, useCallback, useEffect } from 'react';
2
- import Head from 'next/head';
3
- import type { Event, Service } from '@eventcatalog/types';
4
- import debounce from 'lodash.debounce';
5
-
6
- import { Menu, Transition } from '@headlessui/react';
7
- import { ChevronDownIcon, SearchIcon } from '@heroicons/react/solid';
8
- import EventGrid from '@/components/Grids/EventGrid';
9
- import { getAllEvents, getUniqueServicesNamesFromEvents } from '@/lib/events';
10
- import { getUniqueDomainNamesFromEvents } from '@/lib/domains';
11
- import { useConfig } from '@/hooks/EventCatalog';
12
- import { useRouter } from 'next/router';
13
-
14
- function classNames(...classes) {
15
- return classes.filter(Boolean).join(' ');
16
- }
17
-
18
- const sortOptions = [
19
- { name: 'Name', href: '#', current: true },
20
- { name: 'Version', href: '#', current: false },
21
- { name: 'Domains', href: '#', current: false },
22
- ];
23
-
24
- export interface PageProps {
25
- events: Event[];
26
- services: Service[];
27
- domains: string[];
28
- }
29
-
30
- export default function Page({ events, services, domains }: PageProps) {
31
- const [selectedFilters, setSelectedFilters] = useState({ services: [], domains: [], badges: [] });
32
- const [showMermaidDiagrams, setShowMermaidDiagrams] = useState(false);
33
- const [showNodeGraphs, setShowNodeGraphs] = useState(false);
34
- const [eventsToRender, setEventsToRender] = useState(events);
35
- const [searchFilter, setSearchFilter] = useState('');
36
-
37
- const filters = [
38
- {
39
- id: 'domains',
40
- name: `Filter by Domains`,
41
- options: domains.map((domain) => ({
42
- value: domain,
43
- label: domain,
44
- checked: false,
45
- })),
46
- },
47
- {
48
- id: 'services',
49
- name: `Filter by Services`,
50
- options: services.map((service) => ({
51
- value: service,
52
- label: service,
53
- checked: false,
54
- })),
55
- },
56
- {
57
- id: 'badges',
58
- name: `Filter by Badges`,
59
- options: events.reduce((p, c) => {
60
- if (!c.badges) {
61
- return p;
62
- }
63
- c.badges.forEach((badge) => {
64
- const existing = p.map((b) => b.value);
65
- if (!existing.includes(badge.content)) {
66
- p.push({
67
- value: badge.content,
68
- label: badge.content,
69
- checked: false,
70
- });
71
- }
72
- });
73
- return p;
74
- }, [] as { value: string; label: string; checked: boolean }[]),
75
- },
76
- ];
77
-
78
- const handleFilterSelection = (option, type, event) => {
79
- console.log(option, type, event);
80
-
81
- if (event.target.checked) {
82
- const newFilters = selectedFilters[type].concat([option.value]);
83
- setSelectedFilters({ ...selectedFilters, [type]: newFilters });
84
- } else {
85
- const newFilters = selectedFilters[type].filter((value) => value !== option.value);
86
- setSelectedFilters({ ...selectedFilters, [type]: newFilters });
87
- }
88
- };
89
-
90
- const getFilteredEvents = (): any => {
91
- if (!selectedFilters.services && !searchFilter && !selectedFilters.domains && !selectedFilters.badges) return events;
92
-
93
- let filteredEvents = events;
94
-
95
- if (selectedFilters.services.length > 0) {
96
- // @ts-ignore
97
- filteredEvents = filteredEvents.filter((event) => {
98
- const { services: serviceFilters } = selectedFilters;
99
-
100
- const hasConsumersFromFilters = event.consumerNames.some((consumerId) => serviceFilters.indexOf(consumerId) > -1);
101
- const hasProducersFromFilters = event.producerNames.some((producerId) => serviceFilters.indexOf(producerId) > -1);
102
-
103
- return hasConsumersFromFilters || hasProducersFromFilters;
104
- });
105
- }
106
-
107
- if (selectedFilters.domains.length > 0) {
108
- // @ts-ignore
109
- filteredEvents = filteredEvents.filter((event) => {
110
- const { domains: domainFilters } = selectedFilters;
111
- return domainFilters.indexOf(event.domain) > -1;
112
- });
113
- }
114
-
115
- if (selectedFilters.badges.length > 0) {
116
- const { badges: badgeFilters } = selectedFilters;
117
- // @ts-ignore
118
- filteredEvents = filteredEvents.filter((event) => {
119
- if (!event.badges) {
120
- return false;
121
- }
122
- return event.badges.filter((badge) => badgeFilters.includes(badge.content)).length !== 0;
123
- });
124
- }
125
-
126
- if (searchFilter) {
127
- filteredEvents = filteredEvents.filter((event) => event.name.toLowerCase().includes(searchFilter.toLowerCase()));
128
- }
129
-
130
- return filteredEvents;
131
- };
132
-
133
- useEffect(() => {
134
- setEventsToRender(getFilteredEvents());
135
- // eslint-disable-next-line react-hooks/exhaustive-deps
136
- }, [selectedFilters, searchFilter]);
137
-
138
- const router = useRouter();
139
-
140
- useEffect(() => {
141
- if (router.query.q) {
142
- setSearchFilter(router.query.q as string);
143
- }
144
- }, [router.query.q]);
145
-
146
- // eslint-disable-next-line react-hooks/exhaustive-deps
147
- const debouncedFilter = useCallback(
148
- debounce((e) => {
149
- setSearchFilter(e.target.value);
150
- }, 500),
151
- [eventsToRender]
152
- );
153
-
154
- const filtersApplied =
155
- !!searchFilter ||
156
- selectedFilters.services.length > 0 ||
157
- selectedFilters.domains.length > 0 ||
158
- selectedFilters.badges.length > 0;
159
- const { title } = useConfig();
160
-
161
- return (
162
- <>
163
- <Head>
164
- <title>{title} - All Events</title>
165
- </Head>
166
- <main className="max-w-7xl mx-auto min-h-screen px-4 xl:px-0">
167
- <div className="relative z-10 flex items-baseline justify-between pt-8 pb-6 border-b border-gray-200">
168
- <h1 className="text-2xl font-extrabold tracking-tight text-gray-900">Events ({events.length})</h1>
169
-
170
- <div className="flex items-center">
171
- <Menu as="div" className="hidden relative text-left">
172
- <div>
173
- <Menu.Button className="group inline-flex justify-center text-sm font-medium text-gray-700 hover:text-gray-900">
174
- Sort
175
- <ChevronDownIcon
176
- className="flex-shrink-0 -mr-1 ml-1 h-5 w-5 text-gray-400 group-hover:text-gray-500"
177
- aria-hidden="true"
178
- />
179
- </Menu.Button>
180
- </div>
181
-
182
- <Transition
183
- as={Fragment}
184
- enter="transition ease-out duration-100"
185
- enterFrom="transform opacity-0 scale-95"
186
- enterTo="transform opacity-100 scale-100"
187
- leave="transition ease-in duration-75"
188
- leaveFrom="transform opacity-100 scale-100"
189
- leaveTo="transform opacity-0 scale-95"
190
- >
191
- <Menu.Items className="origin-top-right absolute right-0 mt-2 w-40 rounded-md shadow-2xl bg-white ring-1 ring-black ring-opacity-5 focus:outline-none">
192
- <div className="py-1">
193
- {sortOptions.map((option) => (
194
- <Menu.Item key={option.name}>
195
- {({ active }) => (
196
- <a
197
- href={option.href}
198
- className={classNames(
199
- option.current ? 'font-medium text-gray-900' : 'text-gray-500',
200
- active ? 'bg-gray-100' : '',
201
- 'block px-4 py-2 text-sm'
202
- )}
203
- >
204
- {option.name}
205
- </a>
206
- )}
207
- </Menu.Item>
208
- ))}
209
- </div>
210
- </Menu.Items>
211
- </Transition>
212
- </Menu>
213
- </div>
214
- </div>
215
-
216
- <section className="pt-6 pb-24">
217
- <div className="grid grid-cols-4 gap-x-8 gap-y-10">
218
- {/* Filters */}
219
- <form className="hidden lg:block">
220
- <div className="border-b border-gray-200 pb-6">
221
- <label htmlFor="event" className="font-bold block text-sm font-medium text-gray-700">
222
- Search Events
223
- </label>
224
- <div className="mt-1 relative rounded-md shadow-sm">
225
- <div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
226
- <SearchIcon className="h-5 w-5 text-gray-400" aria-hidden="true" />
227
- </div>
228
- <input
229
- type="text"
230
- name="event"
231
- id="event"
232
- onChange={(e) => {
233
- setSearchFilter(e.target.value);
234
- debouncedFilter(e);
235
- }}
236
- value={searchFilter}
237
- className="focus:ring-gray-500 focus:border-gray-500 block w-full pl-10 sm:text-sm border-gray-300 rounded-md"
238
- />
239
- </div>
240
- </div>
241
- {filters.map((section: any) => {
242
- if (!section.options.length) return null;
243
- return (
244
- <div key={section.id} className="border-b border-gray-200 py-6">
245
- <h3 className="-my-3 flow-root">
246
- <div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
247
- <span className="font-bold font-medium text-gray-900">
248
- {section.name} ({section.options.length})
249
- </span>
250
- </div>
251
- </h3>
252
- <div className="pt-6">
253
- <div className="space-y-4">
254
- {section.options
255
- .sort((a, b) => a.value.localeCompare(b.value))
256
- .map((option, optionIdx) => (
257
- <div key={option.value} className="flex items-center">
258
- <input
259
- id={`filter-${section.id}-${optionIdx}`}
260
- name={`${section.id}[]`}
261
- defaultValue={option.value}
262
- type="checkbox"
263
- onChange={(event) => handleFilterSelection(option, section.id, event)}
264
- defaultChecked={option.checked}
265
- className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
266
- />
267
- <label htmlFor={`filter-${section.id}-${optionIdx}`} className="ml-3 text-sm text-gray-600">
268
- {option.label}
269
- </label>
270
- </div>
271
- ))}
272
- </div>
273
- </div>
274
- </div>
275
- );
276
- })}
277
-
278
- <div className="border-b border-gray-200 py-6">
279
- <h3 className="-my-3 flow-root">
280
- <div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
281
- <span className="font-bold font-medium text-gray-900">Features</span>
282
- </div>
283
- </h3>
284
- <div className="pt-6">
285
- <div className="space-y-4">
286
- <div className="flex items-center">
287
- <input
288
- id="show-mermaid"
289
- type="checkbox"
290
- onChange={(e) => setShowMermaidDiagrams(e.target.checked)}
291
- defaultChecked={showMermaidDiagrams}
292
- className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
293
- />
294
- <label htmlFor="show-mermaid" className="ml-3 text-sm text-gray-600">
295
- Show Mermaid Diagrams
296
- </label>
297
- </div>
298
- </div>
299
- </div>
300
- <div className="pt-6">
301
- <div className="space-y-4">
302
- <div className="flex items-center">
303
- <input
304
- id="show-node-graph"
305
- type="checkbox"
306
- onChange={(e) => setShowNodeGraphs(e.target.checked)}
307
- defaultChecked={showNodeGraphs}
308
- className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
309
- />
310
- <label htmlFor="show-node-graph" className="ml-3 text-sm text-gray-600">
311
- Show Node Graphs
312
- </label>
313
- </div>
314
- </div>
315
- </div>
316
- </div>
317
- </form>
318
-
319
- <div className="col-span-4 lg:col-span-3">
320
- <div>
321
- <h2 className="text-gray-500 text-xs font-medium uppercase tracking-wide">
322
- {filtersApplied
323
- ? `Filtered Events (${eventsToRender.length}/${events.length})`
324
- : `All Events (${events.length})`}
325
- </h2>
326
- <EventGrid events={eventsToRender} showMermaidDiagrams={showMermaidDiagrams} showNodeGraphs={showNodeGraphs} />
327
- {eventsToRender.length === 0 && (
328
- <div className="text-gray-400 flex h-96 justify-center items-center">
329
- <div>
330
- <SearchIcon className="w-6 h-6 inline-block mr-1" />
331
- No events found.
332
- </div>
333
- </div>
334
- )}
335
- </div>
336
- </div>
337
- </div>
338
- </section>
339
- </main>
340
- </>
341
- );
342
- }
343
-
344
- export const getStaticProps = () => {
345
- const events = getAllEvents({ hydrateEvents: true });
346
- const services = getUniqueServicesNamesFromEvents(events);
347
- const domains = getUniqueDomainNamesFromEvents(events);
348
-
349
- return {
350
- props: {
351
- events,
352
- // @ts-ignore
353
- services: [...new Set(services)],
354
- domains,
355
- },
356
- };
357
- };
package/pages/index.tsx DELETED
@@ -1,56 +0,0 @@
1
- /* This example requires Tailwind CSS v2.0+ */
2
-
3
- import Link from 'next/link';
4
- import getConfig from 'next/config';
5
- import { useConfig } from '@/hooks/EventCatalog';
6
-
7
- export default function Example() {
8
- const { title, tagline, logo, primaryCTA = { label: 'Explore Events', href: '/events' }, secondaryCTA } = useConfig();
9
-
10
- const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
11
- const logoToLoad = logo || { alt: 'EventCatalog Logo', src: `logo.svg` };
12
-
13
- return (
14
- <main className="sm:bg-top md:min-h-screen bg-gradient-to-t from-blue-700 to-gray-800 ec-homepage">
15
- <div className="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48">
16
- <img src={`${basePath}/${logoToLoad.src}`} alt={logoToLoad.alt} style={{ height: '85px' }} className="mx-auto" />
17
- <h1 className="mt-2 text-4xl font-extrabold text-white tracking-tight sm:text-5xl">{title}</h1>
18
- {tagline && <p className="mt-2 text-lg font-medium text-white">{tagline}</p>}
19
- <div className="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
20
- <div className="rounded-md shadow">
21
- <Link href={primaryCTA.href}>
22
- <a className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10">
23
- {primaryCTA.label}
24
- </a>
25
- </Link>
26
- </div>
27
- {secondaryCTA && (
28
- <div className="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
29
- {secondaryCTA.href.includes('http') && (
30
- <a
31
- href={secondaryCTA.href}
32
- target="_blank"
33
- className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"
34
- rel="noreferrer"
35
- >
36
- {secondaryCTA.label}
37
- </a>
38
- )}
39
- {!secondaryCTA.href.includes('http') && (
40
- <Link href={secondaryCTA.href}>
41
- <a
42
- className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"
43
- rel="noreferrer"
44
- >
45
- {secondaryCTA.label}
46
- </a>
47
- </Link>
48
- )}
49
- </div>
50
- )}
51
- </div>
52
- <div className="mt-6 space-x-5" />
53
- </div>
54
- </main>
55
- );
56
- }