@eventcatalog/core 3.29.1 → 3.30.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.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-H5UC2A5F.js → chunk-6UG4JMUV.js} +1 -1
- package/dist/{chunk-4MSAPCV3.js → chunk-ATRBVTJ6.js} +1 -1
- package/dist/{chunk-PLNJC7NZ.js → chunk-K3ZVEX2Y.js} +13 -2
- package/dist/{chunk-V4OTI3PF.js → chunk-MVZKHUX2.js} +1 -1
- package/dist/{chunk-FVKDNLZK.js → chunk-RRBDF4MM.js} +1 -1
- package/dist/{chunk-24NGK43A.js → chunk-Z26P4PCB.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +14 -3
- package/dist/eventcatalog.js +6 -6
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/dist/watcher.cjs +13 -2
- package/dist/watcher.js +1 -1
- package/eventcatalog/astro.config.mjs +1 -1
- package/eventcatalog/public/logo.png +0 -0
- package/eventcatalog/src/components/CopyAsMarkdown.tsx +2 -2
- package/eventcatalog/src/components/EnvironmentDropdown.tsx +33 -21
- package/eventcatalog/src/components/FieldsExplorer/FieldFilters.tsx +3 -53
- package/eventcatalog/src/components/FieldsExplorer/FieldsExplorer.tsx +144 -91
- package/eventcatalog/src/components/FieldsExplorer/FieldsTable.tsx +112 -109
- package/eventcatalog/src/components/Header.astro +9 -19
- package/eventcatalog/src/components/MDX/Accordion/Accordion.tsx +12 -14
- package/eventcatalog/src/components/MDX/Accordion/AccordionGroup.astro +11 -3
- package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +15 -5
- package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +164 -53
- package/eventcatalog/src/components/SchemaExplorer/DiffViewer.tsx +1 -1
- package/eventcatalog/src/components/SchemaExplorer/ExamplesViewer.tsx +4 -4
- package/eventcatalog/src/components/SchemaExplorer/Pagination.tsx +12 -10
- package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +48 -77
- package/eventcatalog/src/components/SchemaExplorer/SchemaDetailsPanel.tsx +238 -169
- package/eventcatalog/src/components/SchemaExplorer/SchemaExplorer.tsx +189 -230
- package/eventcatalog/src/components/SchemaExplorer/SchemaListItem.tsx +39 -36
- package/eventcatalog/src/components/Search/Search.astro +1 -1
- package/eventcatalog/src/components/Seo.astro +1 -1
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +3 -3
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +229 -256
- package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +78 -59
- package/eventcatalog/src/components/Tables/Discover/columns.tsx +130 -197
- package/eventcatalog/src/components/Tables/Table.tsx +21 -18
- package/eventcatalog/src/components/Tables/columns/TeamsTableColumns.tsx +79 -131
- package/eventcatalog/src/components/Tables/columns/UserTableColumns.tsx +104 -175
- package/eventcatalog/src/enterprise/auth/error.astro +1 -1
- package/eventcatalog/src/enterprise/auth/login.astro +1 -1
- package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/index.tsx +95 -93
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +174 -136
- package/eventcatalog/src/enterprise/fields/pages/fields.astro +10 -8
- package/eventcatalog/src/enterprise/integrations/eventcatalog-features.ts +0 -8
- package/eventcatalog/src/layouts/DirectoryLayout.astro +17 -88
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +528 -146
- package/eventcatalog/src/layouts/VisualiserLayout.astro +7 -2
- package/eventcatalog/src/pages/_index.astro +5 -3
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +3 -3
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +223 -73
- package/eventcatalog/src/pages/discover/[type]/index.astro +22 -141
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +129 -29
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +129 -29
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +6 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/[...filename].astro +2 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +21 -18
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +33 -32
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +5 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +2 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +4 -6
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +11 -4
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +11 -4
- package/eventcatalog/src/pages/schemas/explorer/index.astro +10 -8
- package/eventcatalog/src/pages/studio.astro +1 -1
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/index.astro +2 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +2 -2
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/index.astro +2 -7
- package/eventcatalog/src/styles/theme.css +68 -12
- package/eventcatalog/src/types/react-syntax-highlighter.d.ts +13 -0
- package/package.json +1 -1
- package/eventcatalog/public/logo.svg +0 -14
- package/eventcatalog/src/enterprise/plans/index.astro +0 -319
|
@@ -117,17 +117,21 @@
|
|
|
117
117
|
*/
|
|
118
118
|
|
|
119
119
|
/* Header - deep black with cool border */
|
|
120
|
-
--ec-header-bg: 13
|
|
120
|
+
--ec-header-bg: 9 13 13; /* #090d0d */
|
|
121
121
|
--ec-header-text: 240 246 252; /* #f0f6fc - soft white */
|
|
122
|
-
--ec-header-border:
|
|
122
|
+
--ec-header-border: 24 27 32; /* #181b20 - subtle border */
|
|
123
|
+
|
|
124
|
+
/* Primary brand color */
|
|
125
|
+
--ec-primary: 168 85 247; /* #a855f7 (purple-500) */
|
|
126
|
+
--ec-primary-hover: 147 51 234; /* #9333ea (purple-600) */
|
|
123
127
|
|
|
124
128
|
/* Accent colors - used for selections, highlights, interactive elements */
|
|
125
|
-
--ec-accent:
|
|
126
|
-
--ec-accent-hover:
|
|
129
|
+
--ec-accent: 168 85 247; /* #a855f7 (purple-500) */
|
|
130
|
+
--ec-accent-hover: 147 51 234; /* #9333ea (purple-600) */
|
|
127
131
|
--ec-accent-subtle: 88 28 135 / 0.3; /* purple-900/30 */
|
|
128
132
|
--ec-accent-text: 216 180 254; /* #d8b4fe (purple-300) */
|
|
129
|
-
--ec-accent-gradient-from:
|
|
130
|
-
--ec-accent-gradient-to:
|
|
133
|
+
--ec-accent-gradient-from: 168 85 247; /* #a855f7 (purple-500) */
|
|
134
|
+
--ec-accent-gradient-to: 147 51 234; /* #9333ea (purple-600) */
|
|
131
135
|
|
|
132
136
|
/* Buttons - accent color for better visibility */
|
|
133
137
|
--ec-button-bg: 147 51 234; /* #9333ea - purple-600 */
|
|
@@ -144,9 +148,9 @@
|
|
|
144
148
|
--ec-icon-color: 139 148 158; /* #8b949e */
|
|
145
149
|
--ec-icon-hover: 240 246 252; /* #f0f6fc */
|
|
146
150
|
|
|
147
|
-
/* Sidebar / Vertical Nav (icon bar)
|
|
148
|
-
--ec-sidebar-bg:
|
|
149
|
-
--ec-sidebar-bg-gradient:
|
|
151
|
+
/* Sidebar / Vertical Nav (icon bar) */
|
|
152
|
+
--ec-sidebar-bg: 21 21 26; /* #15151a */
|
|
153
|
+
--ec-sidebar-bg-gradient: 21 21 26; /* #15151a */
|
|
150
154
|
--ec-sidebar-border: 33 38 45; /* #21262d */
|
|
151
155
|
--ec-sidebar-text: 139 148 158; /* #8b949e */
|
|
152
156
|
--ec-sidebar-active-bg: 48 54 61; /* #30363d - subtle highlight */
|
|
@@ -154,7 +158,7 @@
|
|
|
154
158
|
--ec-sidebar-hover-bg: 33 38 45; /* #21262d */
|
|
155
159
|
|
|
156
160
|
/* Nested sidebar content */
|
|
157
|
-
--ec-content-bg:
|
|
161
|
+
--ec-content-bg: 21 21 26; /* #15151a - lifted surface for nested sidebar */
|
|
158
162
|
--ec-content-text: 201 209 217; /* #c9d1d9 - softer than pure white */
|
|
159
163
|
--ec-content-text-muted: 139 148 158; /* #8b949e */
|
|
160
164
|
--ec-content-text-secondary: 170 178 186; /* #aab2ba - sidebar children text */
|
|
@@ -173,10 +177,10 @@
|
|
|
173
177
|
--ec-group-icon-text: 201 209 217; /* #c9d1d9 */
|
|
174
178
|
|
|
175
179
|
/* Main content/docs area - base dark surface */
|
|
176
|
-
--ec-page-bg: 13
|
|
180
|
+
--ec-page-bg: 9 13 13; /* #090d0d */
|
|
177
181
|
--ec-page-text: 240 246 252; /* #f0f6fc */
|
|
178
182
|
--ec-page-text-muted: 163 172 182; /* #a3acb6 */
|
|
179
|
-
--ec-page-border:
|
|
183
|
+
--ec-page-border: 24 27 32; /* #181b20 - more subtle */
|
|
180
184
|
|
|
181
185
|
/* Card/elevated surfaces - for depth */
|
|
182
186
|
--ec-card-bg: 22 27 34; /* #161b22 */
|
|
@@ -262,3 +266,55 @@
|
|
|
262
266
|
:root[data-theme="dark"] .ec-themed-icon {
|
|
263
267
|
filter: invert(1);
|
|
264
268
|
}
|
|
269
|
+
|
|
270
|
+
/*
|
|
271
|
+
* Expressive Code (code blocks) — match the EventCatalog editor look:
|
|
272
|
+
* single rounded container, generous padding, no scrollbar gutter when wrapping.
|
|
273
|
+
*/
|
|
274
|
+
.expressive-code {
|
|
275
|
+
margin: 1rem 0;
|
|
276
|
+
--ec-codeFontSize: 0.88em;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.expressive-code .frame {
|
|
280
|
+
box-shadow: none !important;
|
|
281
|
+
background: transparent !important;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.expressive-code .frame pre {
|
|
285
|
+
border: 1px solid rgb(var(--ec-page-border)) !important;
|
|
286
|
+
border-radius: 0.5rem !important;
|
|
287
|
+
padding: 0 !important;
|
|
288
|
+
overflow: hidden !important;
|
|
289
|
+
scrollbar-width: none !important;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.expressive-code .frame pre > code {
|
|
293
|
+
padding: 1rem 0 !important;
|
|
294
|
+
background: var(--code-background);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.expressive-code .frame pre::-webkit-scrollbar,
|
|
298
|
+
.expressive-code .frame pre::-webkit-scrollbar-track,
|
|
299
|
+
.expressive-code .frame pre::-webkit-scrollbar-thumb {
|
|
300
|
+
display: none !important;
|
|
301
|
+
width: 0 !important;
|
|
302
|
+
height: 0 !important;
|
|
303
|
+
background: transparent !important;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.expressive-code .frame .copy button {
|
|
307
|
+
border-radius: 0.375rem;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/* Hide the "Copied!" tooltip and instead swap the copy icon for a checkmark
|
|
311
|
+
while feedback is active. Reverts back to the copy icon automatically when
|
|
312
|
+
the feedback element is removed. */
|
|
313
|
+
.expressive-code .frame .copy .feedback {
|
|
314
|
+
display: none !important;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.expressive-code .frame .copy:has(.feedback) button::after {
|
|
318
|
+
-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") !important;
|
|
319
|
+
mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") !important;
|
|
320
|
+
}
|
|
@@ -1 +1,14 @@
|
|
|
1
|
+
declare module 'react-syntax-highlighter' {
|
|
2
|
+
import type { ComponentType } from 'react';
|
|
3
|
+
|
|
4
|
+
export interface SyntaxHighlighterProps {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const Prism: ComponentType<SyntaxHighlighterProps>;
|
|
9
|
+
const SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
|
|
10
|
+
|
|
11
|
+
export default SyntaxHighlighter;
|
|
12
|
+
}
|
|
13
|
+
|
|
1
14
|
declare module 'react-syntax-highlighter/dist/esm/styles/prism/material-light';
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200">
|
|
2
|
-
<!-- Background shape -->
|
|
3
|
-
<rect x="50" y="50" width="200" height="100" rx="20" fill="#4a86e8" />
|
|
4
|
-
|
|
5
|
-
<!-- Flow waves -->
|
|
6
|
-
<path d="M80 90 Q100 70, 120 90 Q140 110, 160 90 Q180 70, 200 90 Q220 110, 240 90"
|
|
7
|
-
fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round" />
|
|
8
|
-
|
|
9
|
-
<!-- Shopping cart icon -->
|
|
10
|
-
<circle cx="220" cy="110" r="10" fill="#ffffff" />
|
|
11
|
-
<circle cx="180" cy="110" r="10" fill="#ffffff" />
|
|
12
|
-
<path d="M160 80 L170 110 L230 110 L240 80 Z" fill="none" stroke="#ffffff" stroke-width="3" />
|
|
13
|
-
<path d="M170 80 L245 80" fill="none" stroke="#ffffff" stroke-width="3" />
|
|
14
|
-
</svg>
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
3
|
-
import {
|
|
4
|
-
Rocket,
|
|
5
|
-
Users,
|
|
6
|
-
Bot,
|
|
7
|
-
ScrollText,
|
|
8
|
-
Component,
|
|
9
|
-
Cpu,
|
|
10
|
-
Code,
|
|
11
|
-
LifeBuoy,
|
|
12
|
-
ExternalLink,
|
|
13
|
-
Network,
|
|
14
|
-
Github,
|
|
15
|
-
Flag,
|
|
16
|
-
} from 'lucide-react';
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
<VerticalSideBarLayout title="EventCatalog Pro" showNestedSideBar={false}>
|
|
20
|
-
<div class="min-h-[calc(100vh-60px)] bg-[rgb(var(--ec-page-bg))]">
|
|
21
|
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
22
|
-
{/* Hero Section */}
|
|
23
|
-
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center mb-16">
|
|
24
|
-
<div>
|
|
25
|
-
<div
|
|
26
|
-
class="inline-flex items-center px-4 py-2 rounded-full bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300 font-medium text-sm mb-6"
|
|
27
|
-
>
|
|
28
|
-
<Rocket className="w-4 h-4 mr-2" />
|
|
29
|
-
Upgrade your Catalog
|
|
30
|
-
</div>
|
|
31
|
-
<h1 class="text-4xl font-bold text-[rgb(var(--ec-page-text))] tracking-tight mb-4">Supercharge your EventCatalog</h1>
|
|
32
|
-
<p class="text-xl text-[rgb(var(--ec-page-text-muted))] mb-8">
|
|
33
|
-
Unlock advanced features like automated docs (e.g OpenAPI, AsyncAPI), Custom documentation, AI assistant, and catalog
|
|
34
|
-
federation — all designed to help you scale without complexity.
|
|
35
|
-
</p>
|
|
36
|
-
|
|
37
|
-
{/* Integration Sources */}
|
|
38
|
-
<div class="mb-8">
|
|
39
|
-
<p class="text-sm font-medium text-[rgb(var(--ec-page-text-muted))] mb-4">Generate documentation from:</p>
|
|
40
|
-
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
|
41
|
-
<a
|
|
42
|
-
href="https://www.eventcatalog.dev/integrations/openapi"
|
|
43
|
-
class="flex items-center space-x-2 bg-[rgb(var(--ec-content-hover))] rounded-lg px-4 py-2 hover:bg-[rgb(var(--ec-content-active))] transition-colors duration-150"
|
|
44
|
-
>
|
|
45
|
-
<img src="/icons/openapi.svg" alt="OpenAPI" class="w-6 h-6" />
|
|
46
|
-
<span class="text-sm font-medium text-[rgb(var(--ec-page-text))]">OpenAPI</span>
|
|
47
|
-
</a>
|
|
48
|
-
<a
|
|
49
|
-
href="https://www.eventcatalog.dev/integrations/asyncapi"
|
|
50
|
-
class="flex items-center space-x-2 bg-[rgb(var(--ec-content-hover))] rounded-lg px-4 py-2 hover:bg-[rgb(var(--ec-content-active))] transition-colors duration-150"
|
|
51
|
-
>
|
|
52
|
-
<img src="/icons/asyncapi.svg" alt="AsyncAPI" class="w-6 h-6" />
|
|
53
|
-
<span class="text-sm font-medium text-[rgb(var(--ec-page-text))]">AsyncAPI</span>
|
|
54
|
-
</a>
|
|
55
|
-
<a
|
|
56
|
-
href="https://www.eventcatalog.dev/integrations"
|
|
57
|
-
class="flex items-center space-x-2 bg-[rgb(var(--ec-content-hover))] rounded-lg px-4 py-2 hover:bg-[rgb(var(--ec-content-active))] transition-colors duration-150"
|
|
58
|
-
>
|
|
59
|
-
<Component className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
60
|
-
<span class="text-sm font-medium text-[rgb(var(--ec-page-text))]">And more...</span>
|
|
61
|
-
</a>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
<div class="flex flex-col sm:flex-row gap-4 mb-8">
|
|
66
|
-
<a
|
|
67
|
-
href="https://www.eventcatalog.cloud"
|
|
68
|
-
target="_blank"
|
|
69
|
-
class="inline-flex items-center justify-center px-6 py-3 border border-transparent text-base font-medium rounded-lg text-white bg-purple-600 hover:bg-purple-700 transition-colors duration-150"
|
|
70
|
-
>
|
|
71
|
-
Try for free
|
|
72
|
-
<svg class="ml-2 w-4 h-4" viewBox="0 0 20 20" fill="currentColor">
|
|
73
|
-
<path
|
|
74
|
-
fill-rule="evenodd"
|
|
75
|
-
d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
|
|
76
|
-
clip-rule="evenodd"></path>
|
|
77
|
-
</svg>
|
|
78
|
-
</a>
|
|
79
|
-
<a
|
|
80
|
-
href="https://www.eventcatalog.dev"
|
|
81
|
-
target="_blank"
|
|
82
|
-
class="inline-flex items-center justify-center px-6 py-3 border border-[rgb(var(--ec-page-border))] text-base font-medium rounded-lg text-[rgb(var(--ec-page-text))] bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-content-hover))] transition-colors duration-150"
|
|
83
|
-
>
|
|
84
|
-
View documentation
|
|
85
|
-
</a>
|
|
86
|
-
</div>
|
|
87
|
-
<p class="text-sm text-[rgb(var(--ec-page-text-muted))]">Try free for 14 days, no credit card required</p>
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
<div class="relative">
|
|
91
|
-
<img
|
|
92
|
-
src="/images/eventcatalog-upgrade.png"
|
|
93
|
-
alt="EventCatalog Pro"
|
|
94
|
-
class="w-full rounded-xl shadow-lg border border-[rgb(var(--ec-page-border))]"
|
|
95
|
-
/>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
|
|
99
|
-
{/* Why upgrade section */}
|
|
100
|
-
<div class="mb-16">
|
|
101
|
-
<h2 class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mb-8">Why upgrade EventCatalog?</h2>
|
|
102
|
-
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
103
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
104
|
-
<div class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
105
|
-
<ScrollText className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
106
|
-
</div>
|
|
107
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">A living source of truth</h3>
|
|
108
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
109
|
-
Keep docs in sync with your systems, ensuring your team always has accurate information.
|
|
110
|
-
</p>
|
|
111
|
-
</div>
|
|
112
|
-
|
|
113
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
114
|
-
<div class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
115
|
-
<Users className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
116
|
-
</div>
|
|
117
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Shared system understanding</h3>
|
|
118
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
119
|
-
Align teams and reduce tribal knowledge with centralized architecture documentation.
|
|
120
|
-
</p>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
124
|
-
<div class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
125
|
-
<Component className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
126
|
-
</div>
|
|
127
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Architecture that scales</h3>
|
|
128
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
129
|
-
Grow without losing context of complexity, making architectural decisions easy to find.
|
|
130
|
-
</p>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
{/* Documentation Journey Section */}
|
|
136
|
-
<div class="mb-16">
|
|
137
|
-
<h2 class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mb-4">Scales with your team and architecture</h2>
|
|
138
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] mb-8 max-w-3xl">
|
|
139
|
-
From scattered documentation to a well-governed system, EventCatalog helps you control complexity with well governed
|
|
140
|
-
documentation for your teams. Choose the plan that fits your needs.
|
|
141
|
-
</p>
|
|
142
|
-
|
|
143
|
-
<div class="relative py-8">
|
|
144
|
-
{/* Journey Line */}
|
|
145
|
-
<div
|
|
146
|
-
class="absolute top-1/2 left-0 w-full h-1 bg-purple-200 dark:bg-purple-900/50 transform -translate-y-1/2 hidden md:block"
|
|
147
|
-
>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 relative">
|
|
151
|
-
{/* Stage 1 */}
|
|
152
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))] relative">
|
|
153
|
-
<div
|
|
154
|
-
class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
155
|
-
>
|
|
156
|
-
<Github className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
157
|
-
</div>
|
|
158
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2 text-center">Community Edition</h3>
|
|
159
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] text-sm text-center">
|
|
160
|
-
You're just beginning to document services, domains, and events.
|
|
161
|
-
</p>
|
|
162
|
-
</div>
|
|
163
|
-
|
|
164
|
-
{/* Stage 2 */}
|
|
165
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))] relative">
|
|
166
|
-
<div
|
|
167
|
-
class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
168
|
-
>
|
|
169
|
-
<Flag className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
170
|
-
</div>
|
|
171
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2 text-center">Starter Plan</h3>
|
|
172
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] text-sm text-center">
|
|
173
|
-
For teams formalizing their architecture documentation
|
|
174
|
-
</p>
|
|
175
|
-
</div>
|
|
176
|
-
|
|
177
|
-
{/* Stage 3 */}
|
|
178
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))] relative">
|
|
179
|
-
<div
|
|
180
|
-
class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
181
|
-
>
|
|
182
|
-
<Network className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
183
|
-
</div>
|
|
184
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2 text-center">Scale Plan</h3>
|
|
185
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] text-sm text-center">
|
|
186
|
-
Built for teams scaling across domains and integrating with external systems
|
|
187
|
-
</p>
|
|
188
|
-
</div>
|
|
189
|
-
|
|
190
|
-
{/* Stage 4 */}
|
|
191
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))] relative">
|
|
192
|
-
<div
|
|
193
|
-
class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
194
|
-
>
|
|
195
|
-
<Rocket className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
196
|
-
</div>
|
|
197
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2 text-center">Enterprise Plan</h3>
|
|
198
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] text-sm text-center">
|
|
199
|
-
Designed for organizations building and governing complex event platforms
|
|
200
|
-
</p>
|
|
201
|
-
</div>
|
|
202
|
-
</div>
|
|
203
|
-
|
|
204
|
-
{/* Mobile Progress Indicators */}
|
|
205
|
-
<div class="flex justify-center items-center space-x-2 mt-4 md:hidden">
|
|
206
|
-
<div class="w-2 h-2 rounded-full bg-purple-600 dark:bg-purple-400"></div>
|
|
207
|
-
<div class="w-2 h-2 rounded-full bg-purple-400 dark:bg-purple-500"></div>
|
|
208
|
-
<div class="w-2 h-2 rounded-full bg-purple-300 dark:bg-purple-600"></div>
|
|
209
|
-
<div class="w-2 h-2 rounded-full bg-purple-200 dark:bg-purple-700"></div>
|
|
210
|
-
</div>
|
|
211
|
-
</div>
|
|
212
|
-
</div>
|
|
213
|
-
|
|
214
|
-
{/* Features Section */}
|
|
215
|
-
<div class="mb-16">
|
|
216
|
-
<h2 class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mb-8">Save time with EventCatalog</h2>
|
|
217
|
-
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
|
218
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
219
|
-
<div class="w-12 h-12 bg-blue-100 dark:bg-blue-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
220
|
-
<ScrollText className="w-6 h-6 text-blue-600 dark:text-blue-400" />
|
|
221
|
-
</div>
|
|
222
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Custom Documentation</h3>
|
|
223
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
224
|
-
Add ADRs, runbooks, and technical guidelines to create a centralized knowledge hub.
|
|
225
|
-
</p>
|
|
226
|
-
</div>
|
|
227
|
-
|
|
228
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
229
|
-
<div class="w-12 h-12 bg-green-100 dark:bg-green-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
230
|
-
<Bot className="w-6 h-6 text-green-600 dark:text-green-400" />
|
|
231
|
-
</div>
|
|
232
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">AI Assistant</h3>
|
|
233
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
234
|
-
Chat with your catalog to quickly find information about your architecture.
|
|
235
|
-
</p>
|
|
236
|
-
</div>
|
|
237
|
-
|
|
238
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
239
|
-
<div class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
240
|
-
<Component className="w-6 h-6 text-purple-600 dark:text-purple-400" />
|
|
241
|
-
</div>
|
|
242
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Federation</h3>
|
|
243
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
244
|
-
Connect multiple catalogs into a unified view for centralized visibility across teams.
|
|
245
|
-
</p>
|
|
246
|
-
</div>
|
|
247
|
-
|
|
248
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
249
|
-
<div class="w-12 h-12 bg-indigo-100 dark:bg-indigo-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
250
|
-
<Code className="w-6 h-6 text-indigo-600 dark:text-indigo-400" />
|
|
251
|
-
</div>
|
|
252
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">IDE Integration</h3>
|
|
253
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
254
|
-
Access EventCatalog directly from your IDE for seamless documentation while coding.
|
|
255
|
-
</p>
|
|
256
|
-
</div>
|
|
257
|
-
|
|
258
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
259
|
-
<div class="w-12 h-12 bg-yellow-100 dark:bg-yellow-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
260
|
-
<Cpu className="w-6 h-6 text-yellow-600 dark:text-yellow-400" />
|
|
261
|
-
</div>
|
|
262
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Automated Documentation</h3>
|
|
263
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
264
|
-
Generate and maintain documentation automatically with integrations for AsyncAPI and OpenAPI.
|
|
265
|
-
</p>
|
|
266
|
-
</div>
|
|
267
|
-
|
|
268
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
269
|
-
<div class="w-12 h-12 bg-red-100 dark:bg-red-900/30 rounded-lg flex items-center justify-center mb-4">
|
|
270
|
-
<LifeBuoy className="w-6 h-6 text-red-600 dark:text-red-400" />
|
|
271
|
-
</div>
|
|
272
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Priority Support</h3>
|
|
273
|
-
<p class="text-[rgb(var(--ec-page-text-muted))]">
|
|
274
|
-
Get priority email support and assistance from the EventCatalog team.
|
|
275
|
-
</p>
|
|
276
|
-
</div>
|
|
277
|
-
</div>
|
|
278
|
-
</div>
|
|
279
|
-
|
|
280
|
-
{/* Questions Section */}
|
|
281
|
-
<div class="mt-16">
|
|
282
|
-
<h2 class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mb-8">Questions about EventCatalog?</h2>
|
|
283
|
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
|
284
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
285
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Request a Demo</h3>
|
|
286
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] mb-4">
|
|
287
|
-
See EventCatalog in action with a personalized demo from our team.
|
|
288
|
-
</p>
|
|
289
|
-
<a
|
|
290
|
-
href="mailto:hello@eventcatalog.dev"
|
|
291
|
-
class="text-purple-600 dark:text-purple-400 hover:text-purple-700 dark:hover:text-purple-300 font-medium inline-flex items-center"
|
|
292
|
-
>
|
|
293
|
-
Schedule a demo
|
|
294
|
-
<ExternalLink className="w-4 h-4 ml-1.5" />
|
|
295
|
-
</a>
|
|
296
|
-
</div>
|
|
297
|
-
|
|
298
|
-
<div class="bg-[rgb(var(--ec-card-bg))] rounded-xl p-6 shadow-xs border border-[rgb(var(--ec-page-border))]">
|
|
299
|
-
<h3 class="text-lg font-semibold text-[rgb(var(--ec-page-text))] mb-2">Join the community</h3>
|
|
300
|
-
<p class="text-[rgb(var(--ec-page-text-muted))] mb-4">Join our growing community on Discord. Over 1000+ members.</p>
|
|
301
|
-
<a
|
|
302
|
-
href="https://discord.gg/3rjaZMmrAm"
|
|
303
|
-
class="text-purple-600 dark:text-purple-400 hover:text-purple-700 dark:hover:text-purple-300 font-medium inline-flex items-center"
|
|
304
|
-
>
|
|
305
|
-
Join the community
|
|
306
|
-
<ExternalLink className="w-4 h-4 ml-1.5" />
|
|
307
|
-
</a>
|
|
308
|
-
</div>
|
|
309
|
-
</div>
|
|
310
|
-
</div>
|
|
311
|
-
</div>
|
|
312
|
-
</div>
|
|
313
|
-
</VerticalSideBarLayout>
|
|
314
|
-
|
|
315
|
-
<style>
|
|
316
|
-
.scroll-smooth {
|
|
317
|
-
scroll-behavior: smooth;
|
|
318
|
-
}
|
|
319
|
-
</style>
|