@eventcatalog/core 3.0.0 → 3.2.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-VO5WYA44.js → chunk-AA47DJ43.js} +1 -1
- package/dist/{chunk-EKGR533N.js → chunk-GGRXP5WM.js} +1 -1
- package/dist/{chunk-E5Q7TZYT.js → chunk-L3QRQT7U.js} +1 -1
- package/dist/{chunk-BYP43AAT.js → chunk-RWYEP5SD.js} +1 -1
- package/dist/{chunk-KF5PARQK.js → chunk-VPQCMMRM.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.config.d.cts +7 -0
- package/dist/eventcatalog.config.d.ts +7 -0
- package/dist/eventcatalog.js +5 -5
- 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/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +520 -247
- package/eventcatalog/src/components/ChatPanel/ChatPanelButton.tsx +3 -3
- package/eventcatalog/src/components/Checkbox.astro +7 -4
- package/eventcatalog/src/components/CopyAsMarkdown.tsx +15 -15
- package/eventcatalog/src/components/EnvironmentDropdown.tsx +15 -7
- package/eventcatalog/src/components/FavoriteButton.tsx +1 -1
- package/eventcatalog/src/components/Grids/DomainGrid.tsx +72 -60
- package/eventcatalog/src/components/Grids/MessageGrid.tsx +68 -48
- package/eventcatalog/src/components/Header.astro +15 -10
- package/eventcatalog/src/components/Lists/OwnersList.tsx +17 -10
- package/eventcatalog/src/components/Lists/PillListFlat.styles.css +12 -0
- package/eventcatalog/src/components/Lists/PillListFlat.tsx +15 -15
- package/eventcatalog/src/components/Lists/VersionList.astro +15 -5
- package/eventcatalog/src/components/MDX/Accordion/Accordion.tsx +3 -3
- package/eventcatalog/src/components/MDX/Admonition.tsx +49 -9
- package/eventcatalog/src/components/MDX/Attachments.astro +15 -11
- package/eventcatalog/src/components/MDX/ChannelInformation/ChannelInformation.tsx +29 -15
- package/eventcatalog/src/components/MDX/EntityPropertiesTable/EntityPropertiesTable.astro +20 -13
- package/eventcatalog/src/components/MDX/Link/Link.astro +1 -1
- package/eventcatalog/src/components/MDX/MessageTable/MessageTable.client.tsx +50 -29
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.tsx +14 -12
- package/eventcatalog/src/components/MDX/NodeGraph/StepWalkthrough.tsx +4 -4
- package/eventcatalog/src/components/MDX/NodeGraph/StudioModal.tsx +4 -4
- package/eventcatalog/src/components/MDX/NodeGraph/VisualiserSearch.tsx +2 -2
- package/eventcatalog/src/components/MDX/ResourceGroupTable/ResourceGroupTable.client.tsx +54 -33
- package/eventcatalog/src/components/MDX/ResourceLink/ResourceLink.astro +1 -1
- package/eventcatalog/src/components/MDX/Steps/Step.astro +2 -2
- package/eventcatalog/src/components/MDX/Steps/Steps.astro +3 -3
- package/eventcatalog/src/components/MDX/Tabs/Tabs.astro +13 -9
- package/eventcatalog/src/components/MDX/Tiles/Tile.astro +25 -13
- package/eventcatalog/src/components/MDX/Tiles/Tiles.astro +1 -1
- package/eventcatalog/src/components/SchemaExplorer/ApiAccessSection.tsx +3 -3
- package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +3 -3
- package/eventcatalog/src/components/SchemaExplorer/AvroSchemaViewer.tsx +29 -25
- package/eventcatalog/src/components/SchemaExplorer/DiffViewer.tsx +3 -3
- package/eventcatalog/src/components/SchemaExplorer/JSONSchemaViewer.tsx +61 -42
- package/eventcatalog/src/components/SchemaExplorer/OwnersSection.tsx +13 -9
- package/eventcatalog/src/components/SchemaExplorer/Pagination.tsx +6 -4
- package/eventcatalog/src/components/SchemaExplorer/ProducersConsumersSection.tsx +17 -13
- package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +35 -8
- package/eventcatalog/src/components/SchemaExplorer/SchemaDetailsHeader.tsx +33 -21
- package/eventcatalog/src/components/SchemaExplorer/SchemaDetailsPanel.tsx +1 -1
- package/eventcatalog/src/components/SchemaExplorer/SchemaExplorer.tsx +41 -33
- package/eventcatalog/src/components/SchemaExplorer/SchemaListItem.tsx +19 -7
- package/eventcatalog/src/components/SchemaExplorer/SchemaViewerModal.tsx +8 -8
- package/eventcatalog/src/components/Search/Search.astro +3 -3
- package/eventcatalog/src/components/Search/SearchModal.tsx +65 -36
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +31 -21
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +92 -59
- package/eventcatalog/src/components/Tables/Table.tsx +25 -24
- package/eventcatalog/src/components/Tables/columns/ContainersTableColumns.tsx +22 -16
- package/eventcatalog/src/components/Tables/columns/DomainTableColumns.tsx +14 -11
- package/eventcatalog/src/components/Tables/columns/FlowTableColumns.tsx +6 -6
- package/eventcatalog/src/components/Tables/columns/MessageTableColumns.tsx +22 -16
- package/eventcatalog/src/components/Tables/columns/ServiceTableColumns.tsx +22 -16
- package/eventcatalog/src/components/Tables/columns/SharedColumns.tsx +4 -4
- package/eventcatalog/src/components/Tables/columns/TeamsTableColumns.tsx +21 -13
- package/eventcatalog/src/components/Tables/columns/UserTableColumns.tsx +30 -19
- package/eventcatalog/src/components/ThemeToggle.tsx +18 -0
- package/eventcatalog/src/enterprise/ai/chat-api.ts +24 -3
- package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/components/NestedItem.tsx +15 -7
- package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/components/NoResultsFound.tsx +2 -2
- package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/index.tsx +19 -15
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +50 -17
- package/eventcatalog/src/layouts/DirectoryLayout.astro +11 -6
- package/eventcatalog/src/layouts/DiscoverLayout.astro +13 -8
- package/eventcatalog/src/layouts/Footer.astro +6 -6
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +62 -14
- package/eventcatalog/src/pages/_index.astro +135 -179
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +2 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +4 -4
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +77 -63
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +23 -24
- package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +66 -50
- package/eventcatalog/src/pages/docs/custom/index.astro +2 -2
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +25 -21
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +25 -21
- package/eventcatalog/src/pages/schemas/explorer/index.astro +1 -1
- package/eventcatalog/src/pages/studio.astro +59 -31
- package/eventcatalog/src/remark-plugins/directives.ts +6 -6
- package/eventcatalog/src/remark-plugins/mermaid.ts +2 -2
- package/eventcatalog/src/stores/theme-store.ts +93 -0
- package/eventcatalog/src/styles/theme.css +255 -0
- package/eventcatalog/src/styles/themes/forest.css +230 -0
- package/eventcatalog/src/styles/themes/ocean.css +235 -0
- package/eventcatalog/src/styles/themes/sapphire.css +230 -0
- package/eventcatalog/src/styles/themes/sunset.css +230 -0
- package/eventcatalog/src/utils/feature.ts +4 -0
- package/eventcatalog/tailwind.config.mjs +6 -3
- package/package.json +7 -6
|
@@ -22,15 +22,21 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
25
|
-
<main
|
|
25
|
+
<main
|
|
26
|
+
class="flex sm:px-6 docs-layout h-full bg-[rgb(var(--ec-page-bg))]"
|
|
27
|
+
data-pagefind-body
|
|
28
|
+
data-pagefind-meta={`title:${pageTitle}`}
|
|
29
|
+
>
|
|
26
30
|
<div class="flex docs-layout w-full">
|
|
27
31
|
<div class="w-full lg:mr-2 pr-8 overflow-y-auto pt-6 pb-8 min-h-[50em]">
|
|
28
32
|
{/* Title Section */}
|
|
29
|
-
<div class="relative border-b border-
|
|
33
|
+
<div class="relative border-b border-[rgb(var(--ec-page-border))] mb-6 pb-6">
|
|
30
34
|
<div class="xl:flex xl:items-start xl:justify-between">
|
|
31
35
|
<div class="min-w-0 flex-1">
|
|
32
|
-
<h1 class="text-xl font-bold leading-7 text-
|
|
33
|
-
|
|
36
|
+
<h1 class="text-xl font-bold leading-7 text-[rgb(var(--ec-page-text))] sm:text-2xl xl:text-3xl">
|
|
37
|
+
Ubiquitous Language
|
|
38
|
+
</h1>
|
|
39
|
+
<p class="mt-2 text-sm text-[rgb(var(--ec-page-text-muted))]">
|
|
34
40
|
Browse and discover ubiquitous language terms in the {props.data.name} domain{
|
|
35
41
|
subdomains.length > 0 ? ' and its subdomains' : ''
|
|
36
42
|
}
|
|
@@ -43,10 +49,10 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
43
49
|
type="text"
|
|
44
50
|
id="searchInput"
|
|
45
51
|
placeholder="Search terms..."
|
|
46
|
-
class="w-full px-4 py-2.5 pl-10 border border-
|
|
52
|
+
class="w-full px-4 py-2.5 pl-10 border border-[rgb(var(--ec-input-border))] rounded-lg focus:ring-2 focus:ring-[rgb(var(--ec-accent))] focus:border-[rgb(var(--ec-accent))] text-sm bg-[rgb(var(--ec-input-bg))] text-[rgb(var(--ec-input-text))] placeholder:text-[rgb(var(--ec-input-placeholder))] transition-colors"
|
|
47
53
|
/>
|
|
48
54
|
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
|
|
49
|
-
<svg class="h-4 w-4 text-
|
|
55
|
+
<svg class="h-4 w-4 text-[rgb(var(--ec-icon-color))]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
50
56
|
<path
|
|
51
57
|
stroke-linecap="round"
|
|
52
58
|
stroke-linejoin="round"
|
|
@@ -57,7 +63,7 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
57
63
|
</div>
|
|
58
64
|
<div class="mt-2 text-right">
|
|
59
65
|
<span
|
|
60
|
-
class="inline-flex items-center px-2 py-1 text-xs font-medium text-
|
|
66
|
+
class="inline-flex items-center px-2 py-1 text-xs font-medium text-[rgb(var(--ec-page-text-muted))] bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-md"
|
|
61
67
|
id="resultsCount"
|
|
62
68
|
>
|
|
63
69
|
{/* This will be updated by JavaScript */}
|
|
@@ -70,15 +76,15 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
70
76
|
{
|
|
71
77
|
!ubiquitousLanguage && subdomains.length === 0 && (
|
|
72
78
|
<div class="flex flex-col items-center justify-center py-16 px-4">
|
|
73
|
-
<div class="flex items-center justify-center w-16 h-16 rounded-full bg-
|
|
79
|
+
<div class="flex items-center justify-center w-16 h-16 rounded-full bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] mb-4">
|
|
74
80
|
{(() => {
|
|
75
81
|
const BookOpen = LucideIcons.BookOpen;
|
|
76
82
|
//@ts-ignore
|
|
77
|
-
return <BookOpen className="w-8 h-8 text-
|
|
83
|
+
return <BookOpen className="w-8 h-8 text-[rgb(var(--ec-icon-color))]" />;
|
|
78
84
|
})()}
|
|
79
85
|
</div>
|
|
80
|
-
<h3 class="text-lg font-medium text-
|
|
81
|
-
<p class="text-sm text-
|
|
86
|
+
<h3 class="text-lg font-medium text-[rgb(var(--ec-page-text))] mb-2">No ubiquitous language defined</h3>
|
|
87
|
+
<p class="text-sm text-[rgb(var(--ec-page-text-muted))] text-center max-w-md">
|
|
82
88
|
This domain does not have any defined ubiquitous language terms yet. Consider adding some terms to help establish
|
|
83
89
|
a common vocabulary for your domain.
|
|
84
90
|
</p>
|
|
@@ -98,9 +104,9 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
98
104
|
{/* <div class="flex items-center justify-center w-8 h-8 rounded-lg bg-gray-900">
|
|
99
105
|
<RectangleGroupIcon className="w-4 h-4 text-white" />
|
|
100
106
|
</div> */}
|
|
101
|
-
<h3 class="text-xl font-semibold text-
|
|
107
|
+
<h3 class="text-xl font-semibold text-[rgb(var(--ec-page-text))]">
|
|
102
108
|
{props.data.name} Domain Language
|
|
103
|
-
<span class="ml-1 text-sm font-normal text-
|
|
109
|
+
<span class="ml-1 text-sm font-normal text-[rgb(var(--ec-page-text-muted))]">
|
|
104
110
|
({ubiquitousLanguage?.data?.dictionary?.length || 0} terms)
|
|
105
111
|
</span>
|
|
106
112
|
</h3>
|
|
@@ -110,48 +116,46 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
110
116
|
{ubiquitousLanguage?.data?.dictionary?.map((term) => (
|
|
111
117
|
<a
|
|
112
118
|
href={buildUrl(`/docs/${props.collection}/${props.data.id}/language/${term.id}`)}
|
|
113
|
-
class={`term-card group block bg-
|
|
119
|
+
class={`term-card group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border rounded-lg p-5 transition-all duration-200 hover:shadow-md hover:border-[rgb(var(--ec-accent)/0.5)] hover:-translate-y-0.5 ${duplicateTerms.has(term.name.toLowerCase()) ? 'border-orange-500/50 dark:border-orange-500/30' : 'border-[rgb(var(--ec-page-border))]'}`}
|
|
114
120
|
data-domain="main"
|
|
115
121
|
>
|
|
116
122
|
<div class="flex flex-col h-full">
|
|
117
123
|
<div class="flex items-start justify-between gap-3 mb-3">
|
|
118
124
|
<div class="flex items-center gap-2.5">
|
|
119
125
|
{term.icon ? (
|
|
120
|
-
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-
|
|
126
|
+
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-[rgb(var(--ec-accent-subtle))] transition-colors">
|
|
121
127
|
{(() => {
|
|
122
128
|
const Icon = LucideIcons[term.icon as keyof typeof LucideIcons];
|
|
123
129
|
//@ts-ignore
|
|
124
|
-
return Icon ? <Icon className="w-4 h-4 text-
|
|
130
|
+
return Icon ? <Icon className="w-4 h-4 text-[rgb(var(--ec-accent))]" /> : null;
|
|
125
131
|
})()}
|
|
126
132
|
</div>
|
|
127
133
|
) : (
|
|
128
|
-
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-
|
|
134
|
+
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-[rgb(var(--ec-accent-subtle))] transition-colors">
|
|
129
135
|
{(() => {
|
|
130
136
|
const BookText = LucideIcons.BookText;
|
|
131
137
|
//@ts-ignore
|
|
132
|
-
return (
|
|
133
|
-
<BookText className="w-4 h-4 text-gray-500 group-hover:text-gray-700 transition-colors" />
|
|
134
|
-
);
|
|
138
|
+
return <BookText className="w-4 h-4 text-[rgb(var(--ec-accent))]" />;
|
|
135
139
|
})()}
|
|
136
140
|
</div>
|
|
137
141
|
)}
|
|
138
142
|
<h4
|
|
139
|
-
class={`text-base font-semibold group-hover:text-
|
|
143
|
+
class={`text-base font-semibold group-hover:text-[rgb(var(--ec-icon-hover))] transition-colors ${duplicateTerms.has(term.name.toLowerCase()) ? 'text-orange-500 dark:text-orange-400' : 'text-[rgb(var(--ec-page-text))]'}`}
|
|
140
144
|
>
|
|
141
145
|
{term.name}
|
|
142
146
|
</h4>
|
|
143
147
|
</div>
|
|
144
148
|
{duplicateTerms.has(term.name.toLowerCase()) && (
|
|
145
|
-
<span class="flex-shrink-0 inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-orange-
|
|
149
|
+
<span class="flex-shrink-0 inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-orange-500/10 text-orange-500 dark:text-orange-400 border border-orange-500/20">
|
|
146
150
|
Duplicate
|
|
147
151
|
</span>
|
|
148
152
|
)}
|
|
149
153
|
</div>
|
|
150
|
-
<p class="summary-text text-
|
|
154
|
+
<p class="summary-text text-[rgb(var(--ec-page-text-muted))] text-sm leading-relaxed line-clamp-3 flex-grow mb-3">
|
|
151
155
|
{term.summary}
|
|
152
156
|
</p>
|
|
153
|
-
<div class="pt-3 border-t border-
|
|
154
|
-
<span class="inline-flex items-center text-sm text-
|
|
157
|
+
<div class="pt-3 border-t border-[rgb(var(--ec-page-border))]">
|
|
158
|
+
<span class="inline-flex items-center text-sm text-[rgb(var(--ec-page-text-muted))] font-medium group-hover:text-[rgb(var(--ec-page-text))]">
|
|
155
159
|
View details
|
|
156
160
|
<svg
|
|
157
161
|
class="ml-1 w-4 h-4 transition-transform group-hover:translate-x-0.5"
|
|
@@ -168,11 +172,16 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
168
172
|
))}
|
|
169
173
|
</div>
|
|
170
174
|
<div
|
|
171
|
-
class="hidden domain-no-results text-center py-12 bg-
|
|
175
|
+
class="hidden domain-no-results text-center py-12 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] rounded-lg border border-[rgb(var(--ec-page-border))] border-dashed"
|
|
172
176
|
data-domain-no-results="main"
|
|
173
177
|
>
|
|
174
|
-
<div class="flex items-center justify-center w-12 h-12 mx-auto mb-4 rounded-full bg-
|
|
175
|
-
<svg
|
|
178
|
+
<div class="flex items-center justify-center w-12 h-12 mx-auto mb-4 rounded-full bg-[rgb(var(--ec-content-hover))]">
|
|
179
|
+
<svg
|
|
180
|
+
class="w-6 h-6 text-[rgb(var(--ec-icon-color))]"
|
|
181
|
+
fill="none"
|
|
182
|
+
stroke="currentColor"
|
|
183
|
+
viewBox="0 0 24 24"
|
|
184
|
+
>
|
|
176
185
|
<path
|
|
177
186
|
stroke-linecap="round"
|
|
178
187
|
stroke-linejoin="round"
|
|
@@ -181,8 +190,10 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
181
190
|
/>
|
|
182
191
|
</svg>
|
|
183
192
|
</div>
|
|
184
|
-
<h4 class="text-base font-medium text-
|
|
185
|
-
|
|
193
|
+
<h4 class="text-base font-medium text-[rgb(var(--ec-page-text))]">
|
|
194
|
+
No matching terms in {props.data.name}
|
|
195
|
+
</h4>
|
|
196
|
+
<p class="mt-1 text-sm text-[rgb(var(--ec-page-text-muted))]">Try adjusting your search terms.</p>
|
|
186
197
|
</div>
|
|
187
198
|
</div>
|
|
188
199
|
)}
|
|
@@ -197,16 +208,16 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
197
208
|
{/* <div class="flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200">
|
|
198
209
|
<RectangleGroupIcon className="w-4 h-4 text-gray-700" />
|
|
199
210
|
</div> */}
|
|
200
|
-
<h3 class="text-xl font-semibold text-
|
|
211
|
+
<h3 class="text-xl font-semibold text-[rgb(var(--ec-page-text))]">
|
|
201
212
|
{subdomain.data.name} Domain Language
|
|
202
|
-
<span class="ml-1 text-sm font-normal text-
|
|
213
|
+
<span class="ml-1 text-sm font-normal text-[rgb(var(--ec-page-text-muted))]">
|
|
203
214
|
({subdomainUL?.data?.dictionary?.length || 0} terms)
|
|
204
215
|
</span>
|
|
205
216
|
</h3>
|
|
206
217
|
</div>
|
|
207
218
|
<a
|
|
208
219
|
href={buildUrl(`/docs/domains/${subdomain.data.id}/${subdomain.data.version}`)}
|
|
209
|
-
class="inline-flex items-center text-sm text-
|
|
220
|
+
class="inline-flex items-center text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] font-medium transition-colors"
|
|
210
221
|
>
|
|
211
222
|
View Domain
|
|
212
223
|
<svg class="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
@@ -218,48 +229,46 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
218
229
|
{subdomainUL?.data?.dictionary?.map((term) => (
|
|
219
230
|
<a
|
|
220
231
|
href={buildUrl(`/docs/${props.collection}/${subdomain.data.id}/language/${term.id}`)}
|
|
221
|
-
class={`term-card group block bg-
|
|
232
|
+
class={`term-card group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border rounded-lg p-5 transition-all duration-200 hover:shadow-md hover:border-[rgb(var(--ec-accent)/0.5)] hover:-translate-y-0.5 ${duplicateTerms.has(term.name.toLowerCase()) ? 'border-orange-500/50 dark:border-orange-500/30' : 'border-[rgb(var(--ec-page-border))]'}`}
|
|
222
233
|
data-domain={subdomain.data.id}
|
|
223
234
|
>
|
|
224
235
|
<div class="flex flex-col h-full">
|
|
225
236
|
<div class="flex items-start justify-between gap-3 mb-3">
|
|
226
237
|
<div class="flex items-center gap-2.5">
|
|
227
238
|
{term.icon ? (
|
|
228
|
-
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-
|
|
239
|
+
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-[rgb(var(--ec-accent-subtle))] transition-colors">
|
|
229
240
|
{(() => {
|
|
230
241
|
const Icon = LucideIcons[term.icon as keyof typeof LucideIcons];
|
|
231
242
|
//@ts-ignore
|
|
232
|
-
return Icon ? <Icon className="w-4 h-4 text-
|
|
243
|
+
return Icon ? <Icon className="w-4 h-4 text-[rgb(var(--ec-accent))]" /> : null;
|
|
233
244
|
})()}
|
|
234
245
|
</div>
|
|
235
246
|
) : (
|
|
236
|
-
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-
|
|
247
|
+
<div class="flex items-center justify-center w-8 h-8 rounded-md bg-[rgb(var(--ec-accent-subtle))] transition-colors">
|
|
237
248
|
{(() => {
|
|
238
249
|
const BookText = LucideIcons.BookText;
|
|
239
250
|
//@ts-ignore
|
|
240
|
-
return (
|
|
241
|
-
<BookText className="w-4 h-4 text-gray-500 group-hover:text-gray-700 transition-colors" />
|
|
242
|
-
);
|
|
251
|
+
return <BookText className="w-4 h-4 text-[rgb(var(--ec-accent))]" />;
|
|
243
252
|
})()}
|
|
244
253
|
</div>
|
|
245
254
|
)}
|
|
246
255
|
<h4
|
|
247
|
-
class={`text-base font-semibold group-hover:text-
|
|
256
|
+
class={`text-base font-semibold group-hover:text-[rgb(var(--ec-icon-hover))] transition-colors ${duplicateTerms.has(term.name.toLowerCase()) ? 'text-orange-500 dark:text-orange-400' : 'text-[rgb(var(--ec-page-text))]'}`}
|
|
248
257
|
>
|
|
249
258
|
{term.name}
|
|
250
259
|
</h4>
|
|
251
260
|
</div>
|
|
252
261
|
{duplicateTerms.has(term.name.toLowerCase()) && (
|
|
253
|
-
<span class="flex-shrink-0 inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-orange-
|
|
262
|
+
<span class="flex-shrink-0 inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-orange-500/10 text-orange-500 dark:text-orange-400 border border-orange-500/20">
|
|
254
263
|
Duplicate
|
|
255
264
|
</span>
|
|
256
265
|
)}
|
|
257
266
|
</div>
|
|
258
|
-
<p class="summary-text text-
|
|
267
|
+
<p class="summary-text text-[rgb(var(--ec-page-text-muted))] text-sm leading-relaxed line-clamp-3 flex-grow mb-3">
|
|
259
268
|
{term.summary}
|
|
260
269
|
</p>
|
|
261
|
-
<div class="pt-3 border-t border-
|
|
262
|
-
<span class="inline-flex items-center text-sm text-
|
|
270
|
+
<div class="pt-3 border-t border-[rgb(var(--ec-page-border))]">
|
|
271
|
+
<span class="inline-flex items-center text-sm text-[rgb(var(--ec-page-text-muted))] font-medium group-hover:text-[rgb(var(--ec-page-text))]">
|
|
263
272
|
View details
|
|
264
273
|
<svg
|
|
265
274
|
class="ml-1 w-4 h-4 transition-transform group-hover:translate-x-0.5"
|
|
@@ -276,11 +285,16 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
276
285
|
))}
|
|
277
286
|
</div>
|
|
278
287
|
<div
|
|
279
|
-
class="hidden domain-no-results text-center py-12 bg-
|
|
288
|
+
class="hidden domain-no-results text-center py-12 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] rounded-lg border border-[rgb(var(--ec-page-border))] border-dashed"
|
|
280
289
|
data-domain-no-results={subdomain.data.id}
|
|
281
290
|
>
|
|
282
|
-
<div class="flex items-center justify-center w-12 h-12 mx-auto mb-4 rounded-full bg-
|
|
283
|
-
<svg
|
|
291
|
+
<div class="flex items-center justify-center w-12 h-12 mx-auto mb-4 rounded-full bg-[rgb(var(--ec-content-hover))]">
|
|
292
|
+
<svg
|
|
293
|
+
class="w-6 h-6 text-[rgb(var(--ec-icon-color))]"
|
|
294
|
+
fill="none"
|
|
295
|
+
stroke="currentColor"
|
|
296
|
+
viewBox="0 0 24 24"
|
|
297
|
+
>
|
|
284
298
|
<path
|
|
285
299
|
stroke-linecap="round"
|
|
286
300
|
stroke-linejoin="round"
|
|
@@ -289,8 +303,10 @@ const { subdomains, duplicateTerms } = ubiquitousLanguageData;
|
|
|
289
303
|
/>
|
|
290
304
|
</svg>
|
|
291
305
|
</div>
|
|
292
|
-
<h4 class="text-base font-medium text-
|
|
293
|
-
|
|
306
|
+
<h4 class="text-base font-medium text-[rgb(var(--ec-page-text))]">
|
|
307
|
+
No matching terms in {subdomain.data.name}
|
|
308
|
+
</h4>
|
|
309
|
+
<p class="mt-1 text-sm text-[rgb(var(--ec-page-text-muted))]">Try adjusting your search terms.</p>
|
|
294
310
|
</div>
|
|
295
311
|
</div>
|
|
296
312
|
))}
|
|
@@ -107,7 +107,7 @@ if (!isCustomDocsEnabled()) {
|
|
|
107
107
|
<div class="flex flex-wrap items-center gap-3 mb-3">
|
|
108
108
|
<h1 class="text-4xl font-semibold text-gray-900 font-inter">Custom Documentation</h1>
|
|
109
109
|
<div
|
|
110
|
-
class="inline-flex items-center px-3 py-1.5 rounded-full text-xs font-medium bg-
|
|
110
|
+
class="inline-flex items-center px-3 py-1.5 rounded-full text-xs font-medium bg-[rgb(var(--ec-accent-subtle))] text-[rgb(var(--ec-accent-text))] border border-[rgb(var(--ec-accent)/0.3)] shadow-sm"
|
|
111
111
|
>
|
|
112
112
|
Pro feature
|
|
113
113
|
</div>
|
|
@@ -128,7 +128,7 @@ if (!isCustomDocsEnabled()) {
|
|
|
128
128
|
!isCustomDocsEnabled() && (
|
|
129
129
|
<a
|
|
130
130
|
href="https://www.eventcatalog.dev/pro/trial"
|
|
131
|
-
class="inline-flex items-center justify-center px-5 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-gradient-to-r from-
|
|
131
|
+
class="inline-flex items-center justify-center px-5 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-gradient-to-r from-[rgb(var(--ec-accent-gradient-from))] to-[rgb(var(--ec-accent-gradient-to))] hover:opacity-90 shadow-sm"
|
|
132
132
|
>
|
|
133
133
|
Start 14-day trial
|
|
134
134
|
</a>
|
|
@@ -66,26 +66,30 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
66
66
|
<main class="flex sm:px-8 docs-layout h-full" data-pagefind-body data-pagefind-meta={`title:${pageTitle}`}>
|
|
67
67
|
<div class="flex docs-layout w-full">
|
|
68
68
|
<div class="w-full lg:mr-2 pr-8 overflow-y-auto py-8">
|
|
69
|
-
<div class="border-b border-
|
|
69
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] pb-6">
|
|
70
70
|
<div class="flex justify-start">
|
|
71
71
|
<div class="flex flex-col justify-between space-y-3">
|
|
72
72
|
<div>
|
|
73
73
|
<span
|
|
74
|
-
class="inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium bg-
|
|
74
|
+
class="inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium bg-[rgb(var(--ec-content-hover))] text-[rgb(var(--ec-page-text-muted))] mb-2"
|
|
75
75
|
>
|
|
76
76
|
Team
|
|
77
77
|
</span>
|
|
78
|
-
<h2 class="text-3xl font-bold text-
|
|
78
|
+
<h2 class="text-3xl font-bold text-[rgb(var(--ec-page-text))]">{props.data.name}</h2>
|
|
79
79
|
</div>
|
|
80
|
-
{
|
|
80
|
+
{
|
|
81
|
+
props.data.summary && (
|
|
82
|
+
<p class="text-base text-[rgb(var(--ec-page-text-muted))] max-w-2xl">{props.data.summary}</p>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
81
85
|
<div class="flex flex-wrap gap-3 pt-1">
|
|
82
86
|
{
|
|
83
87
|
props.data.email && (
|
|
84
88
|
<a
|
|
85
89
|
href={`mailto:${props.data.email}`}
|
|
86
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
90
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
87
91
|
>
|
|
88
|
-
<EnvelopeIcon className="w-4 h-4 text-
|
|
92
|
+
<EnvelopeIcon className="w-4 h-4 text-[rgb(var(--ec-icon-color))]" />
|
|
89
93
|
<span>Email</span>
|
|
90
94
|
</a>
|
|
91
95
|
)
|
|
@@ -94,7 +98,7 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
94
98
|
props.data.slackDirectMessageUrl && (
|
|
95
99
|
<a
|
|
96
100
|
href={props.data.slackDirectMessageUrl}
|
|
97
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
101
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
98
102
|
>
|
|
99
103
|
<img src={buildUrl('/slack-icon.svg', true)} class="w-4 h-4" alt="Slack" />
|
|
100
104
|
<span>Slack</span>
|
|
@@ -107,7 +111,7 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
107
111
|
href={props.data.msTeamsDirectMessageUrl}
|
|
108
112
|
target="_blank"
|
|
109
113
|
rel="noopener noreferrer"
|
|
110
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
114
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
111
115
|
>
|
|
112
116
|
<img src={buildUrl('/icons/ms-teams.svg', true)} class="w-4 h-4" alt="Teams" />
|
|
113
117
|
<span>Teams</span>
|
|
@@ -118,23 +122,23 @@ const pageTitle = `Team | ${props.data.name}`;
|
|
|
118
122
|
</div>
|
|
119
123
|
</div>
|
|
120
124
|
</div>
|
|
121
|
-
<div class="border-b border-
|
|
125
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] py-4" data-pagefind-ignore>
|
|
122
126
|
<dl class="grid grid-cols-2 gap-3 sm:grid-cols-4">
|
|
123
|
-
<div class="flex flex-col p-4 bg-
|
|
124
|
-
<dt class="text-xs font-medium text-
|
|
125
|
-
<dd class="text-2xl font-semibold text-
|
|
127
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
128
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Domains</dt>
|
|
129
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedDomainsList.length}</dd>
|
|
126
130
|
</div>
|
|
127
|
-
<div class="flex flex-col p-4 bg-
|
|
128
|
-
<dt class="text-xs font-medium text-
|
|
129
|
-
<dd class="text-2xl font-semibold text-
|
|
131
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
132
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Services</dt>
|
|
133
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedServicesList.length}</dd>
|
|
130
134
|
</div>
|
|
131
|
-
<div class="flex flex-col p-4 bg-
|
|
132
|
-
<dt class="text-xs font-medium text-
|
|
133
|
-
<dd class="text-2xl font-semibold text-
|
|
135
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
136
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Messages</dt>
|
|
137
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedMessagesList.length}</dd>
|
|
134
138
|
</div>
|
|
135
|
-
<div class="flex flex-col p-4 bg-
|
|
136
|
-
<dt class="text-xs font-medium text-
|
|
137
|
-
<dd class="text-2xl font-semibold text-
|
|
139
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
140
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Members</dt>
|
|
141
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{membersList.length}</dd>
|
|
138
142
|
</div>
|
|
139
143
|
</dl>
|
|
140
144
|
</div>
|
|
@@ -63,30 +63,34 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
63
63
|
<main class="flex sm:px-8 docs-layout h-full" data-pagefind-body data-pagefind-meta={`title:${pageTitle}`}>
|
|
64
64
|
<div class="flex docs-layout w-full">
|
|
65
65
|
<div class="w-full lg:mr-2 pr-8 overflow-y-auto py-8">
|
|
66
|
-
<div class="border-b border-
|
|
66
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] pb-6">
|
|
67
67
|
<div class="flex justify-start gap-6">
|
|
68
68
|
{
|
|
69
69
|
props.data.avatarUrl && (
|
|
70
70
|
<img
|
|
71
71
|
src={props.data.avatarUrl}
|
|
72
72
|
alt={`${props.data.name}'s profile picture`}
|
|
73
|
-
class="w-20 h-20 rounded-full object-cover border-2 border-
|
|
73
|
+
class="w-20 h-20 rounded-full object-cover border-2 border-[rgb(var(--ec-page-border))]"
|
|
74
74
|
/>
|
|
75
75
|
)
|
|
76
76
|
}
|
|
77
77
|
<div class="flex flex-col justify-center space-y-2">
|
|
78
78
|
<div>
|
|
79
|
-
<h2 class="text-3xl font-bold text-
|
|
80
|
-
{
|
|
79
|
+
<h2 class="text-3xl font-bold text-[rgb(var(--ec-page-text))]">{props.data.name}</h2>
|
|
80
|
+
{
|
|
81
|
+
props.data.role && (
|
|
82
|
+
<span class="text-base font-medium text-[rgb(var(--ec-page-text-muted))]">{props.data.role}</span>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
81
85
|
</div>
|
|
82
86
|
<div class="flex flex-wrap gap-3">
|
|
83
87
|
{
|
|
84
88
|
props.data.email && (
|
|
85
89
|
<a
|
|
86
90
|
href={`mailto:${props.data.email}`}
|
|
87
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
91
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
88
92
|
>
|
|
89
|
-
<EnvelopeIcon className="w-4 h-4 text-
|
|
93
|
+
<EnvelopeIcon className="w-4 h-4 text-[rgb(var(--ec-icon-color))]" />
|
|
90
94
|
<span>Email</span>
|
|
91
95
|
</a>
|
|
92
96
|
)
|
|
@@ -95,7 +99,7 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
95
99
|
props.data.slackDirectMessageUrl && (
|
|
96
100
|
<a
|
|
97
101
|
href={props.data.slackDirectMessageUrl}
|
|
98
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
102
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
99
103
|
>
|
|
100
104
|
<img src={buildUrl('/slack-icon.svg', true)} class="w-4 h-4" alt="Slack" />
|
|
101
105
|
<span>Slack</span>
|
|
@@ -108,7 +112,7 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
108
112
|
href={props.data.msTeamsDirectMessageUrl}
|
|
109
113
|
target="_blank"
|
|
110
114
|
rel="noopener noreferrer"
|
|
111
|
-
class="inline-flex items-center gap-1.5 text-sm text-
|
|
115
|
+
class="inline-flex items-center gap-1.5 text-sm text-[rgb(var(--ec-page-text-muted))] hover:text-[rgb(var(--ec-page-text))] transition-colors"
|
|
112
116
|
>
|
|
113
117
|
<img src={buildUrl('/icons/ms-teams.svg', true)} class="w-4 h-4" alt="Teams" />
|
|
114
118
|
<span>Teams</span>
|
|
@@ -119,23 +123,23 @@ const pageTitle = `User | ${props.data.name}`;
|
|
|
119
123
|
</div>
|
|
120
124
|
</div>
|
|
121
125
|
</div>
|
|
122
|
-
<div class="border-b border-
|
|
126
|
+
<div class="border-b border-[rgb(var(--ec-page-border))] py-4" data-pagefind-ignore>
|
|
123
127
|
<dl class="grid grid-cols-2 gap-3 sm:grid-cols-4">
|
|
124
|
-
<div class="flex flex-col p-4 bg-
|
|
125
|
-
<dt class="text-xs font-medium text-
|
|
126
|
-
<dd class="text-2xl font-semibold text-
|
|
128
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
129
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Domains</dt>
|
|
130
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedDomainsList.length}</dd>
|
|
127
131
|
</div>
|
|
128
|
-
<div class="flex flex-col p-4 bg-
|
|
129
|
-
<dt class="text-xs font-medium text-
|
|
130
|
-
<dd class="text-2xl font-semibold text-
|
|
132
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
133
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Services</dt>
|
|
134
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedServicesList.length}</dd>
|
|
131
135
|
</div>
|
|
132
|
-
<div class="flex flex-col p-4 bg-
|
|
133
|
-
<dt class="text-xs font-medium text-
|
|
134
|
-
<dd class="text-2xl font-semibold text-
|
|
136
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
137
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Messages</dt>
|
|
138
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{ownedMessageList.length}</dd>
|
|
135
139
|
</div>
|
|
136
|
-
<div class="flex flex-col p-4 bg-
|
|
137
|
-
<dt class="text-xs font-medium text-
|
|
138
|
-
<dd class="text-2xl font-semibold text-
|
|
140
|
+
<div class="flex flex-col p-4 bg-[rgb(var(--ec-content-hover))] rounded-lg">
|
|
141
|
+
<dt class="text-xs font-medium text-[rgb(var(--ec-page-text-muted))]">Teams</dt>
|
|
142
|
+
<dd class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] mt-1">{associatedTeams.length}</dd>
|
|
139
143
|
</div>
|
|
140
144
|
</dl>
|
|
141
145
|
</div>
|
|
@@ -13,7 +13,7 @@ const apiAccessEnabled = isEventCatalogScaleEnabled();
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<VerticalSideBarLayout title="Schema Explorer - EventCatalog" showNestedSideBar={false}>
|
|
16
|
-
<main class="flex sm:pl-8 pr-4 docs-layout h-[calc(100vh-var(--header-height,0px)-64px)]">
|
|
16
|
+
<main class="flex sm:pl-8 pr-4 docs-layout h-[calc(100vh-var(--header-height,0px)-64px)] bg-[rgb(var(--ec-page-bg))]">
|
|
17
17
|
<div class="flex docs-layout w-full h-full">
|
|
18
18
|
<div class="w-full lg:mr-2 py-6 flex flex-col h-full">
|
|
19
19
|
<div class="w-full !max-w-none h-full flex flex-col overflow-hidden">
|