@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
|
@@ -3,9 +3,10 @@ import { render } from 'astro:content';
|
|
|
3
3
|
|
|
4
4
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
5
5
|
import components from '@components/MDX/components';
|
|
6
|
+
import CopyAsMarkdown from '@components/CopyAsMarkdown';
|
|
6
7
|
import { buildUrl } from '@utils/url-builder';
|
|
7
8
|
import { AlignLeftIcon, HistoryIcon } from 'lucide-react';
|
|
8
|
-
import { isResourceDocsEnabled } from '@utils/feature';
|
|
9
|
+
import { isEventCatalogChatEnabled, isResourceDocsEnabled } from '@utils/feature';
|
|
9
10
|
import { getIcon } from '@utils/badges';
|
|
10
11
|
import { collectionToResourceMap } from '@utils/collections/util';
|
|
11
12
|
|
|
@@ -33,6 +34,8 @@ const docsBasePath = `/docs/${props.data.resourceCollection}/${props.data.resour
|
|
|
33
34
|
const singularResourceName =
|
|
34
35
|
collectionToResourceMap[props.data.resourceCollection as keyof typeof collectionToResourceMap] ??
|
|
35
36
|
props.data.resourceCollection.slice(0, props.data.resourceCollection.length - 1);
|
|
37
|
+
const chatEnabled = isEventCatalogChatEnabled();
|
|
38
|
+
const chatQuery = `Tell me about the ${props.data.type} doc "${title}" for ${props.data.resourceId} (version ${props.data.version})`;
|
|
36
39
|
|
|
37
40
|
const pagefindAttributes =
|
|
38
41
|
props.data.version === props.data.latestVersion
|
|
@@ -44,35 +47,37 @@ const pagefindAttributes =
|
|
|
44
47
|
---
|
|
45
48
|
|
|
46
49
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
47
|
-
<main class="flex docs-layout h-full bg-[rgb(var(--ec-page-bg))]" {...pagefindAttributes}>
|
|
48
|
-
<div class="flex docs-layout w-full
|
|
49
|
-
<div class="w-full lg:mr-2 pr-
|
|
50
|
-
<div class="border-b border-[rgb(var(--ec-page-border))] pb-
|
|
51
|
-
<
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
50
|
+
<main class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]" {...pagefindAttributes}>
|
|
51
|
+
<div class="flex docs-layout w-full">
|
|
52
|
+
<div class="w-full lg:mr-2 pr-24 py-8 bg-[rgb(var(--ec-page-bg))]">
|
|
53
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] md:pb-2">
|
|
54
|
+
<div>
|
|
55
|
+
<div class="flex justify-between items-center">
|
|
56
|
+
<div class="flex items-center gap-2">
|
|
57
|
+
<h2 id="doc-page-header" class="text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))]">{title}</h2>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="hidden lg:block">
|
|
60
|
+
<CopyAsMarkdown
|
|
61
|
+
client:only="react"
|
|
62
|
+
schemas={[]}
|
|
63
|
+
chatQuery={chatQuery}
|
|
64
|
+
chatEnabled={chatEnabled}
|
|
65
|
+
editUrl=""
|
|
66
|
+
markdownDownloadEnabled={true}
|
|
67
|
+
rssFeedEnabled={false}
|
|
68
|
+
preferChatAsDefault={false}
|
|
69
|
+
/>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
67
72
|
</div>
|
|
68
73
|
{
|
|
69
74
|
props.data.summary && (
|
|
70
|
-
<p class="text-
|
|
75
|
+
<p class="text-base pt-2 text-[rgb(var(--ec-page-text-muted))] font-light">{props.data.summary}</p>
|
|
71
76
|
)
|
|
72
77
|
}
|
|
73
78
|
{
|
|
74
79
|
badges.length > 0 && (
|
|
75
|
-
<div class="flex flex-wrap gap-3
|
|
80
|
+
<div class="flex flex-wrap gap-3 py-4">
|
|
76
81
|
{badges.map((badge: any) => (
|
|
77
82
|
<span
|
|
78
83
|
class={`
|
|
@@ -128,23 +133,26 @@ const pagefindAttributes =
|
|
|
128
133
|
<Content components={components(props)} />
|
|
129
134
|
</div>
|
|
130
135
|
</div>
|
|
131
|
-
<aside
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
<aside
|
|
137
|
+
class="hidden xl:block sticky top-[4rem] self-start w-[280px] max-h-[calc(100vh-4rem)] overflow-y-auto py-2 flex-shrink-0 pr-10 bg-[rgb(var(--ec-page-bg))]"
|
|
138
|
+
>
|
|
139
|
+
<div class="mt-8 space-y-8">
|
|
140
|
+
<h3 class="text-xs text-[rgb(var(--ec-page-text))] font-semibold capitalize flex items-center gap-2 mb-4">
|
|
134
141
|
<AlignLeftIcon className="w-4 h-4" />
|
|
135
142
|
On this page
|
|
136
143
|
</h3>
|
|
137
|
-
<nav class="
|
|
144
|
+
<nav class="text-xs border-l border-[rgb(var(--ec-page-border))]">
|
|
138
145
|
{
|
|
139
146
|
headings.map((heading) => {
|
|
147
|
+
const level = heading.depth > 2 ? heading.depth : 1;
|
|
140
148
|
if (heading.depth > 3) {
|
|
141
149
|
return null;
|
|
142
150
|
}
|
|
143
151
|
return (
|
|
144
152
|
<a
|
|
145
153
|
href={`#${heading.slug}`}
|
|
146
|
-
class={`block
|
|
147
|
-
style={`padding-left: ${
|
|
154
|
+
class={`block py-1.5 pr-2.5 leading-5 text-[rgb(var(--ec-page-text-muted))] hover:border-[rgb(var(--ec-page-border))] hover:text-[rgb(var(--ec-page-text))] border-l-2 border-transparent -ml-px transition-all duration-200`}
|
|
155
|
+
style={`padding-left: ${level * 0.75}rem`}
|
|
148
156
|
>
|
|
149
157
|
{heading.text}
|
|
150
158
|
</a>
|
|
@@ -189,7 +197,99 @@ const pagefindAttributes =
|
|
|
189
197
|
overflow: auto;
|
|
190
198
|
}
|
|
191
199
|
|
|
200
|
+
.toc-active-text {
|
|
201
|
+
color: rgb(var(--ec-accent));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.toc-active-border {
|
|
205
|
+
border-color: rgb(var(--ec-accent));
|
|
206
|
+
}
|
|
207
|
+
|
|
192
208
|
.version-item:hover {
|
|
193
209
|
background: linear-gradient(to left, rgb(var(--ec-accent-gradient-from)), rgb(var(--ec-accent-gradient-to)));
|
|
194
210
|
}
|
|
195
211
|
</style>
|
|
212
|
+
|
|
213
|
+
<script>
|
|
214
|
+
// @ts-nocheck
|
|
215
|
+
function setupObserver() {
|
|
216
|
+
try {
|
|
217
|
+
const observerOptions = {
|
|
218
|
+
rootMargin: '0px 0px -40% 0px',
|
|
219
|
+
threshold: 0.1,
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
let observerPaused = false;
|
|
223
|
+
|
|
224
|
+
function highlightTocItem(id) {
|
|
225
|
+
document.querySelectorAll('.active-toc-item').forEach((link) => {
|
|
226
|
+
link.classList.remove('active-toc-item', 'toc-active-text', 'font-medium', 'toc-active-border');
|
|
227
|
+
link.classList.add('border-transparent');
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
const tocLink = document.querySelector(`nav a[href="#${id}"]`);
|
|
231
|
+
if (tocLink) {
|
|
232
|
+
tocLink.classList.add('active-toc-item', 'toc-active-text', 'font-medium', 'toc-active-border');
|
|
233
|
+
tocLink.classList.remove('border-transparent');
|
|
234
|
+
|
|
235
|
+
setTimeout(() => {
|
|
236
|
+
tocLink.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });
|
|
237
|
+
}, 10);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
const observer = new IntersectionObserver((entries) => {
|
|
242
|
+
if (observerPaused) return;
|
|
243
|
+
|
|
244
|
+
entries.forEach((entry) => {
|
|
245
|
+
const id = entry.target.getAttribute('id');
|
|
246
|
+
if (entry.isIntersecting && id) {
|
|
247
|
+
highlightTocItem(id);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}, observerOptions);
|
|
251
|
+
|
|
252
|
+
const prose = document.querySelector('.prose');
|
|
253
|
+
if (!prose) return;
|
|
254
|
+
|
|
255
|
+
const headings = prose.querySelectorAll('h1[id], h2[id], h3[id]');
|
|
256
|
+
|
|
257
|
+
if (headings.length > 0) {
|
|
258
|
+
headings.forEach((heading) => observer.observe(heading));
|
|
259
|
+
} else {
|
|
260
|
+
const allHeadings = prose.querySelectorAll('h1, h2, h3');
|
|
261
|
+
allHeadings.forEach((heading) => {
|
|
262
|
+
if (!heading.id) {
|
|
263
|
+
const text = heading.textContent || '';
|
|
264
|
+
heading.id = text
|
|
265
|
+
.toLowerCase()
|
|
266
|
+
.replace(/[^\w\s-]/g, '')
|
|
267
|
+
.replace(/\s+/g, '-');
|
|
268
|
+
}
|
|
269
|
+
observer.observe(heading);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const tocLinks = document.querySelectorAll('nav a[href^="#"]');
|
|
274
|
+
tocLinks.forEach((link) => {
|
|
275
|
+
link.addEventListener('click', () => {
|
|
276
|
+
const hrefAttr = link.getAttribute('href');
|
|
277
|
+
if (!hrefAttr) return;
|
|
278
|
+
|
|
279
|
+
const id = hrefAttr.substring(1);
|
|
280
|
+
highlightTocItem(id);
|
|
281
|
+
|
|
282
|
+
observerPaused = true;
|
|
283
|
+
setTimeout(() => {
|
|
284
|
+
observerPaused = false;
|
|
285
|
+
}, 1000);
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
} catch (error) {
|
|
289
|
+
console.error('Error setting up TOC observer:', error);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
setupObserver();
|
|
294
|
+
document.addEventListener('astro:page-load', setupObserver);
|
|
295
|
+
</script>
|
|
@@ -149,7 +149,11 @@ const pagefindAttributes =
|
|
|
149
149
|
---
|
|
150
150
|
|
|
151
151
|
<VerticalSideBarLayout title={pageTitle}>
|
|
152
|
-
<div
|
|
152
|
+
<div
|
|
153
|
+
{...pagefindAttributes}
|
|
154
|
+
class="relative"
|
|
155
|
+
style="margin-left: calc(var(--ec-app-content-padding-left, 5rem) * -1); margin-right: calc(var(--ec-app-content-padding-right, 5rem) * -1);"
|
|
156
|
+
>
|
|
153
157
|
{
|
|
154
158
|
// Currently, Pagefind does not index metadata (such as the title),
|
|
155
159
|
// so we need to ensure it is included as text on the page.
|
|
@@ -173,7 +177,7 @@ const pagefindAttributes =
|
|
|
173
177
|
</div>
|
|
174
178
|
)
|
|
175
179
|
}
|
|
176
|
-
<div id="asyncapi" class="not-prose
|
|
180
|
+
<div id="asyncapi" class="not-prose" set:html={renderedComponent} />
|
|
177
181
|
</div>
|
|
178
182
|
</VerticalSideBarLayout>
|
|
179
183
|
|
|
@@ -16,9 +16,9 @@ const lang = getLanguageForHighlight(example.extension);
|
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
<VerticalSideBarLayout title={pageTitle} description={`Example: ${example.title} for ${data.name}`}>
|
|
19
|
-
<main class="flex sm:px-8 docs-layout h-full">
|
|
19
|
+
<main class="flex sm:px-8 docs-layout min-h-full">
|
|
20
20
|
<div class="flex docs-layout w-full">
|
|
21
|
-
<div class="w-full lg:mr-2 pr-8
|
|
21
|
+
<div class="w-full lg:mr-2 pr-8 py-8">
|
|
22
22
|
<div class="border-b border-[rgb(var(--ec-page-border))] md:pb-4">
|
|
23
23
|
<h1 class="text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))] mb-2">
|
|
24
24
|
{example.title}
|
|
@@ -64,10 +64,10 @@ const pagefindAttributes =
|
|
|
64
64
|
---
|
|
65
65
|
|
|
66
66
|
<VerticalSideBarLayout title={pageTitle} description={`GraphQL schema for ${data.name}`}>
|
|
67
|
-
<main class="flex
|
|
67
|
+
<main class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]" {...pagefindAttributes}>
|
|
68
68
|
<div class="flex docs-layout w-full">
|
|
69
|
-
<div class="w-full lg:mr-2 pr-8
|
|
70
|
-
<div class="border-b border-[rgb(var(--ec-page-border))] md:pb-
|
|
69
|
+
<div class="w-full lg:mr-2 pr-24 py-8 bg-[rgb(var(--ec-page-bg))]">
|
|
70
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] md:pb-2">
|
|
71
71
|
<div>
|
|
72
72
|
<div class="flex justify-between items-start">
|
|
73
73
|
<div class="flex-1">
|
|
@@ -82,21 +82,24 @@ const pagefindAttributes =
|
|
|
82
82
|
{
|
|
83
83
|
badges && (
|
|
84
84
|
<div class="flex flex-wrap gap-3 py-4">
|
|
85
|
-
{badges.map((badge: any) =>
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
85
|
+
{badges.map((badge: any) => {
|
|
86
|
+
return (
|
|
87
|
+
<span
|
|
88
|
+
id={badge.id || ''}
|
|
89
|
+
class={`
|
|
90
|
+
inline-flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm font-medium
|
|
91
|
+
bg-[rgb(var(--ec-content-hover))] border border-[rgb(var(--ec-page-border))]
|
|
92
|
+
text-[rgb(var(--ec-page-text))]
|
|
93
|
+
shadow-xs
|
|
94
|
+
${badge.class ? badge.class : ''}
|
|
95
|
+
`}
|
|
96
|
+
>
|
|
97
|
+
{badge.icon && <badge.icon className="w-4 h-4 flex-shrink-0 text-[rgb(var(--ec-icon-color))]" />}
|
|
98
|
+
{badge.iconURL && <img src={badge.iconURL} class="w-4 h-4 flex-shrink-0 opacity-80" alt="" />}
|
|
99
|
+
<span>{badge.content}</span>
|
|
100
|
+
</span>
|
|
101
|
+
);
|
|
102
|
+
})}
|
|
100
103
|
</div>
|
|
101
104
|
)
|
|
102
105
|
}
|
|
@@ -284,9 +284,9 @@ nodeGraphs.push({
|
|
|
284
284
|
---
|
|
285
285
|
|
|
286
286
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
287
|
-
<main class="flex docs-layout h-full bg-[rgb(var(--ec-page-bg))]" {...pagefindAttributes}>
|
|
288
|
-
<div class="flex docs-layout w-full
|
|
289
|
-
<div class="w-full lg:mr-2 pr-
|
|
287
|
+
<main class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]" {...pagefindAttributes}>
|
|
288
|
+
<div class="flex docs-layout w-full">
|
|
289
|
+
<div class="w-full lg:mr-2 pr-24 py-8 bg-[rgb(var(--ec-page-bg))]">
|
|
290
290
|
<div class="border-b border-[rgb(var(--ec-page-border))] md:pb-2">
|
|
291
291
|
<div>
|
|
292
292
|
<div class="flex justify-between items-center">
|
|
@@ -332,6 +332,33 @@ nodeGraphs.push({
|
|
|
332
332
|
/>
|
|
333
333
|
</div>
|
|
334
334
|
</div>
|
|
335
|
+
|
|
336
|
+
<h2 class="text-base pt-2 text-[rgb(var(--ec-page-text-muted))] font-light">{props.data.summary}</h2>
|
|
337
|
+
{
|
|
338
|
+
badges && (
|
|
339
|
+
<div class="flex flex-wrap gap-3 py-4">
|
|
340
|
+
{badges.map((badge: any) => {
|
|
341
|
+
return (
|
|
342
|
+
<span
|
|
343
|
+
id={badge.id || ''}
|
|
344
|
+
class={`
|
|
345
|
+
inline-flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm font-medium
|
|
346
|
+
bg-[rgb(var(--ec-content-hover))] border border-[rgb(var(--ec-page-border))]
|
|
347
|
+
text-[rgb(var(--ec-page-text))]
|
|
348
|
+
shadow-xs
|
|
349
|
+
${badge.class ? badge.class : ''}
|
|
350
|
+
`}
|
|
351
|
+
>
|
|
352
|
+
{badge.icon && <badge.icon className="w-4 h-4 flex-shrink-0 text-[rgb(var(--ec-icon-color))]" />}
|
|
353
|
+
{badge.iconURL && <img src={badge.iconURL} class="w-4 h-4 flex-shrink-0 opacity-80" alt="" />}
|
|
354
|
+
<span>{badge.content}</span>
|
|
355
|
+
</span>
|
|
356
|
+
);
|
|
357
|
+
})}
|
|
358
|
+
</div>
|
|
359
|
+
)
|
|
360
|
+
}
|
|
361
|
+
|
|
335
362
|
{
|
|
336
363
|
isMarkedAsDeprecated && hasDeprecated && (
|
|
337
364
|
<Admonition
|
|
@@ -366,32 +393,6 @@ nodeGraphs.push({
|
|
|
366
393
|
)
|
|
367
394
|
}
|
|
368
395
|
|
|
369
|
-
<h2 class="text-lg pt-2 text-[rgb(var(--ec-page-text-muted))] font-light">{props.data.summary}</h2>
|
|
370
|
-
{
|
|
371
|
-
badges && (
|
|
372
|
-
<div class="flex flex-wrap gap-3 py-4">
|
|
373
|
-
{badges.map((badge: any) => {
|
|
374
|
-
return (
|
|
375
|
-
<span
|
|
376
|
-
id={badge.id || ''}
|
|
377
|
-
class={`
|
|
378
|
-
inline-flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm font-medium
|
|
379
|
-
bg-[rgb(var(--ec-content-hover))] border border-[rgb(var(--ec-page-border))]
|
|
380
|
-
text-[rgb(var(--ec-page-text))]
|
|
381
|
-
shadow-xs
|
|
382
|
-
${badge.class ? badge.class : ''}
|
|
383
|
-
`}
|
|
384
|
-
>
|
|
385
|
-
{badge.icon && <badge.icon className="w-4 h-4 flex-shrink-0 text-[rgb(var(--ec-icon-color))]" />}
|
|
386
|
-
{badge.iconURL && <img src={badge.iconURL} class="w-4 h-4 flex-shrink-0 opacity-80" alt="" />}
|
|
387
|
-
<span>{badge.content}</span>
|
|
388
|
-
</span>
|
|
389
|
-
);
|
|
390
|
-
})}
|
|
391
|
-
</div>
|
|
392
|
-
)
|
|
393
|
-
}
|
|
394
|
-
|
|
395
396
|
{
|
|
396
397
|
props.data.draft && (
|
|
397
398
|
<Admonition type="warning" title={props.data?.draft?.title || `Draft ${friendlyCollectionName}`}>
|
|
@@ -445,7 +446,7 @@ nodeGraphs.push({
|
|
|
445
446
|
}
|
|
446
447
|
</div>
|
|
447
448
|
|
|
448
|
-
<div class="prose prose-md py-4 w-full">
|
|
449
|
+
<div class="prose prose-md py-4 w-full text-[15px]">
|
|
449
450
|
<Content components={components(props)} />
|
|
450
451
|
</div>
|
|
451
452
|
<div data-pagefind-ignore>
|
|
@@ -501,9 +502,9 @@ nodeGraphs.push({
|
|
|
501
502
|
</div>
|
|
502
503
|
<aside
|
|
503
504
|
id="eventcatalog-docs-sidebar"
|
|
504
|
-
class="hidden xl:block sticky top-
|
|
505
|
+
class="hidden xl:block sticky top-[4rem] self-start w-[280px] max-h-[calc(100vh-4rem)] overflow-y-auto py-2 flex-shrink-0 pr-10 bg-[rgb(var(--ec-page-bg))]"
|
|
505
506
|
>
|
|
506
|
-
<div class="mt-
|
|
507
|
+
<div class="mt-8 space-y-8">
|
|
507
508
|
{
|
|
508
509
|
headings.length > 0 && (
|
|
509
510
|
<div>
|
|
@@ -64,7 +64,11 @@ if (isRemote) {
|
|
|
64
64
|
</p>
|
|
65
65
|
</div>
|
|
66
66
|
) : (
|
|
67
|
-
<div
|
|
67
|
+
<div
|
|
68
|
+
{...pagefindAttributes}
|
|
69
|
+
class="relative"
|
|
70
|
+
style="margin-left: calc(var(--ec-app-content-padding-left, 5rem) * -1); margin-right: calc(var(--ec-app-content-padding-right, 5rem) * -1);"
|
|
71
|
+
>
|
|
68
72
|
{
|
|
69
73
|
// Currently, Pagefind does not index metadata (such as the title),
|
|
70
74
|
// so we need to ensure it is included as text on the page.
|
|
@@ -32,12 +32,12 @@ const badges = [
|
|
|
32
32
|
|
|
33
33
|
<VerticalSideBarLayout title={pageTitle} description={ubiquitousLanguage.summary}>
|
|
34
34
|
<main
|
|
35
|
-
class="flex sm:px-8 docs-layout h-full max-w-7xl bg-[rgb(var(--ec-page-bg))]"
|
|
35
|
+
class="flex sm:px-8 docs-layout min-h-full max-w-7xl bg-[rgb(var(--ec-page-bg))]"
|
|
36
36
|
data-pagefind-body
|
|
37
37
|
data-pagefind-meta={`title:${pageTitle}`}
|
|
38
38
|
>
|
|
39
39
|
<div class="flex docs-layout w-full">
|
|
40
|
-
<div class="w-full lg:mr-2 pr-8
|
|
40
|
+
<div class="w-full lg:mr-2 pr-8 py-8 min-h-[50em]">
|
|
41
41
|
{/* Breadcrumb */}
|
|
42
42
|
<nav class="mb-4 flex items-center space-x-2 text-sm text-[rgb(var(--ec-page-text-muted))]" aria-label="Breadcrumb">
|
|
43
43
|
<a
|
|
@@ -23,20 +23,18 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
23
23
|
|
|
24
24
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
25
25
|
<main
|
|
26
|
-
class="flex
|
|
26
|
+
class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]"
|
|
27
27
|
data-pagefind-body
|
|
28
28
|
data-pagefind-meta={`title:${pageTitle}`}
|
|
29
29
|
>
|
|
30
30
|
<div class="flex docs-layout w-full">
|
|
31
|
-
<div class="w-full lg:mr-2 pr-
|
|
31
|
+
<div class="w-full lg:mr-2 pr-24 py-8 min-h-[50em]">
|
|
32
32
|
{/* Title Section */}
|
|
33
33
|
<div class="relative border-b border-[rgb(var(--ec-page-border))] mb-6 pb-6">
|
|
34
34
|
<div class="xl:flex xl:items-start xl:justify-between">
|
|
35
35
|
<div class="min-w-0 flex-1">
|
|
36
|
-
<h1 class="text-
|
|
37
|
-
|
|
38
|
-
</h1>
|
|
39
|
-
<p class="mt-2 text-sm text-[rgb(var(--ec-page-text-muted))]">
|
|
36
|
+
<h1 class="text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))]">Ubiquitous Language</h1>
|
|
37
|
+
<p class="pt-2 text-base text-[rgb(var(--ec-page-text-muted))] font-light">
|
|
40
38
|
Browse and discover ubiquitous language terms in the {props.data.name} domain{
|
|
41
39
|
subdomains.length > 0 ? ' and its subdomains' : ''
|
|
42
40
|
}
|
|
@@ -63,9 +63,13 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
63
63
|
---
|
|
64
64
|
|
|
65
65
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
66
|
-
<main
|
|
66
|
+
<main
|
|
67
|
+
class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]"
|
|
68
|
+
data-pagefind-body
|
|
69
|
+
data-pagefind-meta={`title:${pageTitle}`}
|
|
70
|
+
>
|
|
67
71
|
<div class="flex docs-layout w-full">
|
|
68
|
-
<div class="w-full lg:mr-2 pr-8
|
|
72
|
+
<div class="w-full lg:mr-2 pr-24 py-8 bg-[rgb(var(--ec-page-bg))]">
|
|
69
73
|
<div class="border-b border-[rgb(var(--ec-page-border))] pb-6">
|
|
70
74
|
<div class="flex justify-start">
|
|
71
75
|
<div class="flex flex-col justify-between space-y-3">
|
|
@@ -146,8 +150,11 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
146
150
|
<Content components={components(props)} />
|
|
147
151
|
</div>
|
|
148
152
|
</div>
|
|
149
|
-
<aside
|
|
150
|
-
|
|
153
|
+
<aside
|
|
154
|
+
class="hidden xl:block sticky top-[5.5rem] self-start w-[280px] max-h-[calc(100vh-5.5rem)] overflow-y-auto py-2 flex-shrink-0 pr-10 bg-[rgb(var(--ec-page-bg))]"
|
|
155
|
+
data-pagefind-ignore
|
|
156
|
+
>
|
|
157
|
+
<div class="py-2">
|
|
151
158
|
{
|
|
152
159
|
ownedDomainsList.length > 0 && (
|
|
153
160
|
<PillListFlat
|
|
@@ -60,9 +60,13 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
62
|
<VerticalSideBarLayout title={pageTitle}>
|
|
63
|
-
<main
|
|
63
|
+
<main
|
|
64
|
+
class="flex docs-layout min-h-full bg-[rgb(var(--ec-page-bg))]"
|
|
65
|
+
data-pagefind-body
|
|
66
|
+
data-pagefind-meta={`title:${pageTitle}`}
|
|
67
|
+
>
|
|
64
68
|
<div class="flex docs-layout w-full">
|
|
65
|
-
<div class="w-full lg:mr-2 pr-8
|
|
69
|
+
<div class="w-full lg:mr-2 pr-24 py-8 bg-[rgb(var(--ec-page-bg))]">
|
|
66
70
|
<div class="border-b border-[rgb(var(--ec-page-border))] pb-6">
|
|
67
71
|
<div class="flex justify-start gap-6">
|
|
68
72
|
{
|
|
@@ -147,8 +151,11 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
147
151
|
<Content components={components(props)} />
|
|
148
152
|
</div>
|
|
149
153
|
</div>
|
|
150
|
-
<aside
|
|
151
|
-
|
|
154
|
+
<aside
|
|
155
|
+
class="hidden xl:block sticky top-[5.5rem] self-start w-[280px] max-h-[calc(100vh-5.5rem)] overflow-y-auto py-2 flex-shrink-0 pr-10 bg-[rgb(var(--ec-page-bg))]"
|
|
156
|
+
data-pagefind-ignore
|
|
157
|
+
>
|
|
158
|
+
<div class="py-2">
|
|
152
159
|
{
|
|
153
160
|
ownedDomainsList.length > 0 && (
|
|
154
161
|
<PillListFlat
|
|
@@ -13,13 +13,15 @@ const apiAccessEnabled = isEventCatalogScaleEnabled();
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<VerticalSideBarLayout title="Schema Explorer - EventCatalog" showNestedSideBar={false}>
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
<style is:global>
|
|
17
|
+
#eventcatalog-header {
|
|
18
|
+
left: calc(var(--ec-vertical-nav-width, 14rem) + var(--ec-schema-sidebar-width, 360px)) !important;
|
|
19
|
+
}
|
|
20
|
+
</style>
|
|
21
|
+
<main
|
|
22
|
+
class="min-h-0 overflow-hidden bg-[rgb(var(--ec-page-bg))]"
|
|
23
|
+
style={`--ec-schema-sidebar-width: 360px; margin-left: calc(var(--ec-app-content-padding-left, 5rem) * -1); margin-right: calc(var(--ec-app-content-padding-right, 5rem) * -1); height: calc(100dvh - 60px);`}
|
|
24
|
+
>
|
|
25
|
+
<SchemaExplorer client:load schemas={schemas as any} apiAccessEnabled={apiAccessEnabled} />
|
|
24
26
|
</main>
|
|
25
27
|
</VerticalSideBarLayout>
|
|
@@ -42,7 +42,7 @@ const hasResources = resourcesToShow.length > 0;
|
|
|
42
42
|
<head>
|
|
43
43
|
<meta charset="UTF-8" />
|
|
44
44
|
<meta name="viewport" content="width=device-width" />
|
|
45
|
-
<link rel="icon" type="image/
|
|
45
|
+
<link rel="icon" type="image/png" href="/logo.png" />
|
|
46
46
|
<meta name="generator" content={Astro.generator} />
|
|
47
47
|
<title>EventCatalog Studio</title>
|
|
48
48
|
</head>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import NodeGraph from '@components/MDX/NodeGraph/NodeGraph.astro';
|
|
3
3
|
import VisualiserLayout from '@layouts/VisualiserLayout.astro';
|
|
4
|
-
import { buildUrl } from '@utils/url-builder';
|
|
5
4
|
import { ClientRouter } from 'astro:transitions';
|
|
6
5
|
|
|
7
6
|
import { Page } from './_index.data';
|
|
@@ -19,9 +18,9 @@ const {
|
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
<VisualiserLayout title={`Visualiser | ${props.data.name} (${props.collection})`} description={props.data.summary}>
|
|
22
|
-
<div class="
|
|
21
|
+
<div class="p-2">
|
|
23
22
|
<div
|
|
24
|
-
class="h-[calc(100vh-
|
|
23
|
+
class="h-[calc(100vh-5rem)] w-full relative border border-[rgb(var(--ec-page-border))]"
|
|
25
24
|
id={`${id}-portal`}
|
|
26
25
|
transition:animate="fade"
|
|
27
26
|
>
|
|
@@ -34,10 +33,6 @@ const {
|
|
|
34
33
|
linkTo="visualiser"
|
|
35
34
|
version={props.data.version}
|
|
36
35
|
linksToVisualiser={false}
|
|
37
|
-
href={{
|
|
38
|
-
label: `Open documentation for ${props.data.name} v${props.data.version}`,
|
|
39
|
-
url: buildUrl(`/docs/${props.collection}/${props.data.id}/${props.data.version}`),
|
|
40
|
-
}}
|
|
41
36
|
/>
|
|
42
37
|
</div>
|
|
43
38
|
<ClientRouter />
|
|
@@ -20,9 +20,9 @@ const {
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
22
|
<VisualiserLayout title={`Visualiser | ${props.data.name} (${props.collection})`} description={props.data.summary}>
|
|
23
|
-
<div class="
|
|
23
|
+
<div class="p-2">
|
|
24
24
|
<div
|
|
25
|
-
class="h-[calc(100vh-
|
|
25
|
+
class="h-[calc(100vh-5rem)] w-full relative border border-[rgb(var(--ec-page-border))]"
|
|
26
26
|
id={`${id}-portal`}
|
|
27
27
|
transition:animate="fade"
|
|
28
28
|
>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import NodeGraph from '@components/MDX/NodeGraph/NodeGraph.astro';
|
|
3
3
|
import VisualiserLayout from '@layouts/VisualiserLayout.astro';
|
|
4
|
-
import { buildUrl } from '@utils/url-builder';
|
|
5
4
|
import { ClientRouter } from 'astro:transitions';
|
|
6
5
|
|
|
7
6
|
import { Page } from './_index.data';
|
|
@@ -19,9 +18,9 @@ const {
|
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
<VisualiserLayout title={`Visualiser | ${props.data.name} (${props.collection})`} description={props.data.summary}>
|
|
22
|
-
<div class="
|
|
21
|
+
<div class="p-2">
|
|
23
22
|
<div
|
|
24
|
-
class="h-[calc(100vh-
|
|
23
|
+
class="h-[calc(100vh-5rem)] w-full relative border border-[rgb(var(--ec-page-border))]"
|
|
25
24
|
id={`${id}-portal`}
|
|
26
25
|
transition:animate="fade"
|
|
27
26
|
>
|
|
@@ -34,10 +33,6 @@ const {
|
|
|
34
33
|
linkTo="visualiser"
|
|
35
34
|
version={props.data.version}
|
|
36
35
|
linksToVisualiser={false}
|
|
37
|
-
href={{
|
|
38
|
-
label: `Open documentation for ${props.data.name} v${props.data.version}`,
|
|
39
|
-
url: buildUrl(`/docs/${props.collection}/${props.data.id}/${props.data.version}`),
|
|
40
|
-
}}
|
|
41
36
|
/>
|
|
42
37
|
</div>
|
|
43
38
|
<ClientRouter />
|