@eventcatalog/core 3.29.2 → 3.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/{chunk-36IA4UE4.js → chunk-7IGMIOQF.js} +1 -1
  6. package/dist/{chunk-EGQGCB2B.js → chunk-HVOLSUC2.js} +1 -1
  7. package/dist/{chunk-DB4IQ3GB.js → chunk-LWVHWR77.js} +1 -1
  8. package/dist/{chunk-VEUNSJ6Z.js → chunk-QIJOBQZ7.js} +1 -1
  9. package/dist/{chunk-MEJOYC5Z.js → chunk-UY5QDWK7.js} +1 -1
  10. package/dist/constants.cjs +1 -1
  11. package/dist/constants.js +1 -1
  12. package/dist/eventcatalog.cjs +1 -1
  13. package/dist/eventcatalog.js +5 -5
  14. package/dist/generate.cjs +1 -1
  15. package/dist/generate.js +3 -3
  16. package/dist/utils/cli-logger.cjs +1 -1
  17. package/dist/utils/cli-logger.js +2 -2
  18. package/eventcatalog/astro.config.mjs +11 -7
  19. package/eventcatalog/public/logo.png +0 -0
  20. package/eventcatalog/src/components/CopyAsMarkdown.tsx +29 -24
  21. package/eventcatalog/src/components/EnvironmentDropdown.tsx +33 -21
  22. package/eventcatalog/src/components/FieldsExplorer/FieldFilters.tsx +3 -53
  23. package/eventcatalog/src/components/FieldsExplorer/FieldsExplorer.tsx +144 -91
  24. package/eventcatalog/src/components/FieldsExplorer/FieldsTable.tsx +112 -109
  25. package/eventcatalog/src/components/Header.astro +9 -19
  26. package/eventcatalog/src/components/MDX/Accordion/Accordion.tsx +12 -14
  27. package/eventcatalog/src/components/MDX/Accordion/AccordionGroup.astro +11 -3
  28. package/eventcatalog/src/components/MDX/Design/Design.astro +1 -1
  29. package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +15 -5
  30. package/eventcatalog/src/components/MDX/Tiles/Tile.astro +11 -8
  31. package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +164 -53
  32. package/eventcatalog/src/components/SchemaExplorer/DiffViewer.tsx +1 -1
  33. package/eventcatalog/src/components/SchemaExplorer/ExamplesViewer.tsx +4 -4
  34. package/eventcatalog/src/components/SchemaExplorer/Pagination.tsx +12 -10
  35. package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +48 -77
  36. package/eventcatalog/src/components/SchemaExplorer/SchemaDetailsPanel.tsx +238 -169
  37. package/eventcatalog/src/components/SchemaExplorer/SchemaExplorer.tsx +189 -230
  38. package/eventcatalog/src/components/SchemaExplorer/SchemaListItem.tsx +39 -36
  39. package/eventcatalog/src/components/Search/Search.astro +1 -1
  40. package/eventcatalog/src/components/Seo.astro +1 -1
  41. package/eventcatalog/src/components/Settings/AssistantSettingsForm.tsx +218 -0
  42. package/eventcatalog/src/components/Settings/BillingSettingsForm.tsx +265 -0
  43. package/eventcatalog/src/components/Settings/GeneralSettingsForm.tsx +371 -0
  44. package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +183 -0
  45. package/eventcatalog/src/components/Settings/LogoUpload.tsx +137 -0
  46. package/eventcatalog/src/components/Settings/McpSettingsForm.tsx +91 -0
  47. package/eventcatalog/src/components/Settings/ReadOnlyBanner.tsx +18 -0
  48. package/eventcatalog/src/components/Settings/Row.tsx +59 -0
  49. package/eventcatalog/src/components/Settings/SettingsShared.tsx +176 -0
  50. package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +3 -3
  51. package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +233 -261
  52. package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +116 -68
  53. package/eventcatalog/src/components/Tables/Discover/FilterComponents.tsx +2 -2
  54. package/eventcatalog/src/components/Tables/Discover/columns.tsx +130 -197
  55. package/eventcatalog/src/components/Tables/Table.tsx +21 -18
  56. package/eventcatalog/src/components/Tables/columns/TeamsTableColumns.tsx +79 -131
  57. package/eventcatalog/src/components/Tables/columns/UserTableColumns.tsx +104 -175
  58. package/eventcatalog/src/content.config.ts +1 -1
  59. package/eventcatalog/src/enterprise/auth/error.astro +1 -1
  60. package/eventcatalog/src/enterprise/auth/login.astro +1 -1
  61. package/eventcatalog/src/enterprise/auth/middleware/middleware-auth.ts +11 -7
  62. package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/index.tsx +97 -95
  63. package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +232 -181
  64. package/eventcatalog/src/enterprise/feature.ts +2 -1
  65. package/eventcatalog/src/enterprise/fields/pages/fields.astro +10 -8
  66. package/eventcatalog/src/enterprise/integrations/eventcatalog-features.ts +0 -8
  67. package/eventcatalog/src/layouts/DirectoryLayout.astro +17 -88
  68. package/eventcatalog/src/layouts/SettingsLayout.astro +116 -0
  69. package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +562 -141
  70. package/eventcatalog/src/layouts/VisualiserLayout.astro +7 -2
  71. package/eventcatalog/src/pages/_index.astro +253 -256
  72. package/eventcatalog/src/pages/api/settings/ai.ts +57 -0
  73. package/eventcatalog/src/pages/api/settings/general.ts +71 -0
  74. package/eventcatalog/src/pages/api/settings/logo.ts +113 -0
  75. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +3 -3
  76. package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +223 -73
  77. package/eventcatalog/src/pages/discover/[type]/index.astro +22 -141
  78. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +130 -30
  79. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +147 -53
  80. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +6 -2
  81. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/[...filename].astro +2 -2
  82. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +22 -19
  83. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +71 -61
  84. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +5 -1
  85. package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +3 -3
  86. package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +6 -32
  87. package/eventcatalog/src/pages/docs/llm/llms.txt.ts +5 -1
  88. package/eventcatalog/src/pages/docs/teams/[id]/index.astro +11 -4
  89. package/eventcatalog/src/pages/docs/users/[id]/index.astro +12 -5
  90. package/eventcatalog/src/pages/schemas/explorer/index.astro +10 -8
  91. package/eventcatalog/src/pages/settings/assistant.astro +37 -0
  92. package/eventcatalog/src/pages/settings/billing.astro +17 -0
  93. package/eventcatalog/src/pages/settings/general.astro +32 -0
  94. package/eventcatalog/src/pages/settings/index.astro +21 -0
  95. package/eventcatalog/src/pages/settings/llm-access.astro +34 -0
  96. package/eventcatalog/src/pages/settings/mcp.astro +14 -0
  97. package/eventcatalog/src/pages/studio.astro +1 -1
  98. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/index.astro +2 -7
  99. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +2 -2
  100. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/index.astro +2 -7
  101. package/eventcatalog/src/styles/theme.css +95 -30
  102. package/eventcatalog/src/styles/themes/forest.css +17 -9
  103. package/eventcatalog/src/styles/themes/ocean.css +10 -2
  104. package/eventcatalog/src/styles/themes/sapphire.css +10 -2
  105. package/eventcatalog/src/styles/themes/sunset.css +25 -17
  106. package/eventcatalog/src/types/react-syntax-highlighter.d.ts +13 -0
  107. package/eventcatalog/src/utils/eventcatalog-config/config-schema.ts +49 -0
  108. package/eventcatalog/src/utils/eventcatalog-config/config-writer.ts +149 -0
  109. package/eventcatalog/src/utils/url-builder.ts +4 -2
  110. package/package.json +7 -5
  111. package/eventcatalog/public/logo.svg +0 -14
  112. package/eventcatalog/src/enterprise/plans/index.astro +0 -319
  113. package/eventcatalog/src/pages/docs/llm/llms-services.txt.ts +0 -81
@@ -203,15 +203,15 @@ const CustomDocsNav: React.FC<CustomDocsNavProps> = ({ sidebarItems }) => {
203
203
  const hasNoResults = debouncedSearchTerm && filteredSidebarItems.length === 0;
204
204
 
205
205
  return (
206
- <nav ref={navRef} className="h-full text-[rgb(var(--ec-page-text))] pt-4 overflow-y-auto">
207
- <div className="mb-2 px-3 bg-[rgb(var(--ec-page-bg))] z-10">
208
- <div className="flex gap-2">
206
+ <nav ref={navRef} className="flex h-full min-h-0 flex-col text-[rgb(var(--ec-page-text))]">
207
+ <div className="flex h-[60px] flex-shrink-0 items-center border-b border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-rail-bg))] px-3">
208
+ <div className="flex w-full gap-2">
209
209
  <input
210
210
  type="text"
211
211
  value={searchTerm}
212
212
  onChange={handleSearchChange}
213
213
  placeholder="Quick search..."
214
- className="flex-1 p-2 px-2 text-sm rounded-md border border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-input-bg))] text-[rgb(var(--ec-input-text))] placeholder:text-[rgb(var(--ec-input-placeholder))] h-[30px]"
214
+ className="flex-1 min-w-0 p-2 px-2 text-sm rounded-md border border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-input-bg))] text-[rgb(var(--ec-input-text))] placeholder:text-[rgb(var(--ec-icon-color))] h-[30px] focus:outline-none focus:ring-2 focus:ring-[rgb(var(--ec-accent))] focus:border-[rgb(var(--ec-accent))]"
215
215
  />
216
216
  <button
217
217
  onClick={toggleExpandCollapse}
@@ -227,103 +227,105 @@ const CustomDocsNav: React.FC<CustomDocsNavProps> = ({ sidebarItems }) => {
227
227
  </div>
228
228
  </div>
229
229
 
230
- <div className="space-y-2 divide-y divide-[rgb(var(--ec-page-border))] pb-4">
231
- {hasNoResults ? (
232
- <NoResultsFound searchTerm={debouncedSearchTerm} />
233
- ) : (
234
- filteredSidebarItems.map((section: SidebarSection, index: number) => {
235
- const sectionBadgeClassName = getCustomDocsSidebarBadgeClasses(section.badge?.color);
236
- return (
237
- <div className="pt-2 pb-2 px-3" key={`section-${index}`}>
238
- <div className="space-y-0" data-section={`section-${index}`}>
239
- {section.items ? (
240
- <div className="flex items-center">
241
- <button
242
- className="p-1 hover:bg-[rgb(var(--ec-content-hover))] rounded-md flex-shrink-0"
243
- onClick={(e) => {
244
- e.stopPropagation();
245
- toggleGroupCollapse(`section-${index}`);
246
- }}
247
- >
248
- <div
249
- className={`transition-transform duration-150 ${collapsedGroups[`section-${index}`] ? '' : 'rotate-180'}`}
230
+ <div className="min-h-0 flex-1 overflow-y-auto">
231
+ <div className="space-y-2 pb-4 pt-2">
232
+ {hasNoResults ? (
233
+ <NoResultsFound searchTerm={debouncedSearchTerm} />
234
+ ) : (
235
+ filteredSidebarItems.map((section: SidebarSection, index: number) => {
236
+ const sectionBadgeClassName = getCustomDocsSidebarBadgeClasses(section.badge?.color);
237
+ return (
238
+ <div className="pt-2 pb-2 px-3" key={`section-${index}`}>
239
+ <div className="space-y-0" data-section={`section-${index}`}>
240
+ {section.items ? (
241
+ <div className="flex items-center">
242
+ <button
243
+ className="p-1 hover:bg-[rgb(var(--ec-content-hover))] rounded-md flex-shrink-0"
244
+ onClick={(e) => {
245
+ e.stopPropagation();
246
+ toggleGroupCollapse(`section-${index}`);
247
+ }}
250
248
  >
251
- <svg
252
- xmlns="http://www.w3.org/2000/svg"
253
- fill="none"
254
- viewBox="0 0 24 24"
255
- strokeWidth="1.5"
256
- stroke="currentColor"
257
- aria-hidden="true"
258
- data-slot="icon"
259
- className="h-3 w-3 text-[rgb(var(--ec-icon-color))]"
249
+ <div
250
+ className={`transition-transform duration-150 ${collapsedGroups[`section-${index}`] ? '' : 'rotate-180'}`}
260
251
  >
261
- <path strokeLinecap="round" strokeLinejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path>
262
- </svg>
252
+ <svg
253
+ xmlns="http://www.w3.org/2000/svg"
254
+ fill="none"
255
+ viewBox="0 0 24 24"
256
+ strokeWidth="1.5"
257
+ stroke="currentColor"
258
+ aria-hidden="true"
259
+ data-slot="icon"
260
+ className="h-3 w-3 text-[rgb(var(--ec-icon-color))]"
261
+ >
262
+ <path strokeLinecap="round" strokeLinejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path>
263
+ </svg>
264
+ </div>
265
+ </button>
266
+ <button
267
+ className="flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md hover:bg-[rgb(var(--ec-content-hover))] min-w-0 flex-1"
268
+ onClick={(e) => {
269
+ e.stopPropagation();
270
+ toggleGroupCollapse(`section-${index}`);
271
+ }}
272
+ >
273
+ <span className="truncate">{section.label}</span>
274
+ {section.badge && section?.badge?.text && (
275
+ <span className={sectionBadgeClassName}>{section.badge.text}</span>
276
+ )}
277
+ </button>
278
+ </div>
279
+ ) : (
280
+ <div className="flex items-center">
281
+ <span className="flex-grow flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md">
282
+ <span className="truncate">{section.label}</span>
283
+ <span className={sectionBadgeClassName}>Section</span>
284
+ </span>
285
+ </div>
286
+ )}
287
+
288
+ {section.items && (
289
+ <div
290
+ className={`overflow-hidden transition-[height] duration-150 ease-out ${
291
+ collapsedGroups[`section-${index}`] ? 'h-0' : 'h-auto'
292
+ }`}
293
+ >
294
+ <div className="space-y-0.5 border-[rgb(var(--ec-page-border))] border-l pl-4 ml-[9px] mt-1">
295
+ {section.items.map((item: SidebarItem, itemIndex: number) => (
296
+ <NestedItem
297
+ key={`item-${index}-${itemIndex}`}
298
+ item={item}
299
+ currentPath={currentPath}
300
+ parentId={`${index}`}
301
+ itemIndex={itemIndex}
302
+ collapsedGroups={collapsedGroups}
303
+ toggleGroupCollapse={toggleGroupCollapse}
304
+ />
305
+ ))}
263
306
  </div>
264
- </button>
265
- <button
266
- className="flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md hover:bg-[rgb(var(--ec-content-hover))] min-w-0 flex-1"
267
- onClick={(e) => {
268
- e.stopPropagation();
269
- toggleGroupCollapse(`section-${index}`);
270
- }}
307
+ </div>
308
+ )}
309
+
310
+ {section.slug && !section.items && (
311
+ <a
312
+ href={buildUrl(`/docs/custom/${section.slug}`)}
313
+ className={`flex items-center px-2 py-1.5 text-xs ${
314
+ currentPath.endsWith(`/${section.slug}`)
315
+ ? 'bg-[rgb(var(--ec-accent-subtle))] text-[rgb(var(--ec-page-text))] font-semibold'
316
+ : 'text-[rgb(var(--ec-page-text-muted))] hover:bg-[rgb(var(--ec-content-hover))]'
317
+ } rounded-md ml-6`}
318
+ data-active={currentPath.endsWith(`/${section.slug}`)}
271
319
  >
272
320
  <span className="truncate">{section.label}</span>
273
- {section.badge && section?.badge?.text && (
274
- <span className={sectionBadgeClassName}>{section.badge.text}</span>
275
- )}
276
- </button>
277
- </div>
278
- ) : (
279
- <div className="flex items-center">
280
- <span className="flex-grow flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md">
281
- <span className="truncate">{section.label}</span>
282
- <span className={sectionBadgeClassName}>Section</span>
283
- </span>
284
- </div>
285
- )}
286
-
287
- {section.items && (
288
- <div
289
- className={`overflow-hidden transition-[height] duration-150 ease-out ${
290
- collapsedGroups[`section-${index}`] ? 'h-0' : 'h-auto'
291
- }`}
292
- >
293
- <div className="space-y-0.5 border-[rgb(var(--ec-page-border))] border-l pl-4 ml-[9px] mt-1">
294
- {section.items.map((item: SidebarItem, itemIndex: number) => (
295
- <NestedItem
296
- key={`item-${index}-${itemIndex}`}
297
- item={item}
298
- currentPath={currentPath}
299
- parentId={`${index}`}
300
- itemIndex={itemIndex}
301
- collapsedGroups={collapsedGroups}
302
- toggleGroupCollapse={toggleGroupCollapse}
303
- />
304
- ))}
305
- </div>
306
- </div>
307
- )}
308
-
309
- {section.slug && !section.items && (
310
- <a
311
- href={buildUrl(`/docs/custom/${section.slug}`)}
312
- className={`flex items-center px-2 py-1.5 text-xs ${
313
- currentPath.endsWith(`/${section.slug}`)
314
- ? 'bg-[rgb(var(--ec-accent-subtle))] text-[rgb(var(--ec-page-text))] font-semibold'
315
- : 'text-[rgb(var(--ec-page-text-muted))] hover:bg-[rgb(var(--ec-content-hover))]'
316
- } rounded-md ml-6`}
317
- data-active={currentPath.endsWith(`/${section.slug}`)}
318
- >
319
- <span className="truncate">{section.label}</span>
320
- </a>
321
- )}
321
+ </a>
322
+ )}
323
+ </div>
322
324
  </div>
323
- </div>
324
- );
325
- })
326
- )}
325
+ );
326
+ })
327
+ )}
328
+ </div>
327
329
  </div>
328
330
  </nav>
329
331
  );