@eventcatalog/core 3.29.2 → 3.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-36IA4UE4.js → chunk-7IGMIOQF.js} +1 -1
- package/dist/{chunk-EGQGCB2B.js → chunk-HVOLSUC2.js} +1 -1
- package/dist/{chunk-DB4IQ3GB.js → chunk-LWVHWR77.js} +1 -1
- package/dist/{chunk-VEUNSJ6Z.js → chunk-QIJOBQZ7.js} +1 -1
- package/dist/{chunk-MEJOYC5Z.js → chunk-UY5QDWK7.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- 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/astro.config.mjs +11 -7
- package/eventcatalog/public/logo.png +0 -0
- package/eventcatalog/src/components/CopyAsMarkdown.tsx +29 -24
- 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/Design/Design.astro +1 -1
- package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +15 -5
- package/eventcatalog/src/components/MDX/Tiles/Tile.astro +11 -8
- 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/Settings/AssistantSettingsForm.tsx +218 -0
- package/eventcatalog/src/components/Settings/BillingSettingsForm.tsx +265 -0
- package/eventcatalog/src/components/Settings/GeneralSettingsForm.tsx +371 -0
- package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +183 -0
- package/eventcatalog/src/components/Settings/LogoUpload.tsx +137 -0
- package/eventcatalog/src/components/Settings/McpSettingsForm.tsx +91 -0
- package/eventcatalog/src/components/Settings/ReadOnlyBanner.tsx +18 -0
- package/eventcatalog/src/components/Settings/Row.tsx +59 -0
- package/eventcatalog/src/components/Settings/SettingsShared.tsx +176 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +3 -3
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +233 -261
- package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +116 -68
- package/eventcatalog/src/components/Tables/Discover/FilterComponents.tsx +2 -2
- 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/content.config.ts +1 -1
- package/eventcatalog/src/enterprise/auth/error.astro +1 -1
- package/eventcatalog/src/enterprise/auth/login.astro +1 -1
- package/eventcatalog/src/enterprise/auth/middleware/middleware-auth.ts +11 -7
- package/eventcatalog/src/enterprise/custom-documentation/components/CustomDocsNav/index.tsx +97 -95
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +232 -181
- package/eventcatalog/src/enterprise/feature.ts +2 -1
- 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/SettingsLayout.astro +116 -0
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +562 -141
- package/eventcatalog/src/layouts/VisualiserLayout.astro +7 -2
- package/eventcatalog/src/pages/_index.astro +253 -256
- package/eventcatalog/src/pages/api/settings/ai.ts +57 -0
- package/eventcatalog/src/pages/api/settings/general.ts +71 -0
- package/eventcatalog/src/pages/api/settings/logo.ts +113 -0
- 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 +130 -30
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +147 -53
- 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 +22 -19
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +71 -61
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +5 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +3 -3
- package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +6 -32
- package/eventcatalog/src/pages/docs/llm/llms.txt.ts +5 -1
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +11 -4
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +12 -5
- package/eventcatalog/src/pages/schemas/explorer/index.astro +10 -8
- package/eventcatalog/src/pages/settings/assistant.astro +37 -0
- package/eventcatalog/src/pages/settings/billing.astro +17 -0
- package/eventcatalog/src/pages/settings/general.astro +32 -0
- package/eventcatalog/src/pages/settings/index.astro +21 -0
- package/eventcatalog/src/pages/settings/llm-access.astro +34 -0
- package/eventcatalog/src/pages/settings/mcp.astro +14 -0
- 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 +95 -30
- package/eventcatalog/src/styles/themes/forest.css +17 -9
- package/eventcatalog/src/styles/themes/ocean.css +10 -2
- package/eventcatalog/src/styles/themes/sapphire.css +10 -2
- package/eventcatalog/src/styles/themes/sunset.css +25 -17
- package/eventcatalog/src/types/react-syntax-highlighter.d.ts +13 -0
- package/eventcatalog/src/utils/eventcatalog-config/config-schema.ts +49 -0
- package/eventcatalog/src/utils/eventcatalog-config/config-writer.ts +149 -0
- package/eventcatalog/src/utils/url-builder.ts +4 -2
- package/package.json +7 -5
- package/eventcatalog/public/logo.svg +0 -14
- package/eventcatalog/src/enterprise/plans/index.astro +0 -319
- package/eventcatalog/src/pages/docs/llm/llms-services.txt.ts +0 -81
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Table, type TData, type TCollectionTypes } from '@components/Tables/Table';
|
|
3
|
-
import { buildUrl } from '@utils/url-builder';
|
|
4
3
|
import VerticalSideBarLayout from './VerticalSideBarLayout.astro';
|
|
5
|
-
import { User, Users } from 'lucide-react';
|
|
6
|
-
import { getUsers } from '@utils/collections/users';
|
|
7
|
-
import { getTeams } from '@utils/collections/teams';
|
|
8
4
|
import config from '@config';
|
|
9
5
|
|
|
10
|
-
const users = await getUsers();
|
|
11
|
-
const teams = await getTeams();
|
|
12
|
-
|
|
13
6
|
export interface Props<T extends TCollectionTypes> {
|
|
14
7
|
title: string;
|
|
15
8
|
subtitle: string;
|
|
@@ -18,91 +11,33 @@ export interface Props<T extends TCollectionTypes> {
|
|
|
18
11
|
}
|
|
19
12
|
|
|
20
13
|
const { title, subtitle, data, type } = Astro.props;
|
|
21
|
-
const currentPath = Astro.url.pathname;
|
|
22
14
|
|
|
23
15
|
const checkboxLatestId = 'latest-only';
|
|
24
16
|
const checkboxDraftsId = 'drafts-only';
|
|
25
17
|
|
|
26
18
|
// @ts-ignore
|
|
27
19
|
const tableConfiguration = config[type as keyof typeof config]?.tableConfiguration ?? { columns: {} };
|
|
28
|
-
|
|
29
|
-
const tabs = [
|
|
30
|
-
{
|
|
31
|
-
label: `Users (${users.length})`,
|
|
32
|
-
href: buildUrl('/directory/users'),
|
|
33
|
-
isActive: currentPath === '/directory/users',
|
|
34
|
-
icon: User,
|
|
35
|
-
activeColor: 'orange',
|
|
36
|
-
enabled: users.length > 0,
|
|
37
|
-
visible: users.length > 0,
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
label: `Teams (${teams.length})`,
|
|
41
|
-
href: buildUrl('/directory/teams'),
|
|
42
|
-
isActive: currentPath === '/directory/teams',
|
|
43
|
-
icon: Users,
|
|
44
|
-
activeColor: 'blue',
|
|
45
|
-
enabled: teams.length > 0,
|
|
46
|
-
visible: teams.length > 0,
|
|
47
|
-
},
|
|
48
|
-
];
|
|
49
20
|
---
|
|
50
21
|
|
|
51
22
|
<VerticalSideBarLayout title={`Explore | ${title}`} showNestedSideBar={false}>
|
|
52
|
-
<main
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
.map((tab) => (
|
|
61
|
-
<a
|
|
62
|
-
href={tab.href}
|
|
63
|
-
class:list={[
|
|
64
|
-
'group inline-flex items-center py-4 px-1 text-sm font-light text-[rgb(var(--ec-page-text))]',
|
|
65
|
-
tab.isActive && 'border-b-[2px] border-[rgb(var(--ec-accent))] text-[rgb(var(--ec-accent))]',
|
|
66
|
-
!tab.isActive && 'opacity-70 hover:opacity-100',
|
|
67
|
-
!tab.enabled && 'disabled',
|
|
68
|
-
]}
|
|
69
|
-
aria-current="page"
|
|
70
|
-
>
|
|
71
|
-
<tab.icon
|
|
72
|
-
className={`w-6 h-6 -ml-0.5 mr-2 ${tab.isActive ? 'text-[rgb(var(--ec-accent))]' : 'text-[rgb(var(--ec-icon-color))]'}`}
|
|
73
|
-
/>
|
|
74
|
-
<span>{tab.label}</span>
|
|
75
|
-
</a>
|
|
76
|
-
))
|
|
77
|
-
}
|
|
78
|
-
</nav>
|
|
79
|
-
</div>
|
|
23
|
+
<main
|
|
24
|
+
class="ml-0 bg-[rgb(var(--ec-page-bg))]"
|
|
25
|
+
style="margin-left: calc(var(--ec-app-content-padding-left, 5rem) * -1); margin-right: calc(var(--ec-app-content-padding-right, 5rem) * -1);"
|
|
26
|
+
>
|
|
27
|
+
<div class="p-8 pb-20">
|
|
28
|
+
<div class="min-w-0">
|
|
29
|
+
<h1 class="text-2xl font-semibold text-[rgb(var(--ec-page-text))] capitalize md:text-4xl">{title}</h1>
|
|
30
|
+
<p class="max-w-3xl pt-2 text-base font-light text-[rgb(var(--ec-page-text-muted))]">{subtitle}</p>
|
|
80
31
|
</div>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
<div class="mt-4 flow-root">
|
|
93
|
-
<div class="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
|
|
94
|
-
<div class="inline-block min-w-full align-middle sm:px-6 lg:px-8">
|
|
95
|
-
<Table
|
|
96
|
-
checkboxLatestId={checkboxLatestId}
|
|
97
|
-
checkboxDraftsId={checkboxDraftsId}
|
|
98
|
-
data={data}
|
|
99
|
-
collection={type}
|
|
100
|
-
tableConfiguration={tableConfiguration}
|
|
101
|
-
client:load
|
|
102
|
-
/>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
32
|
+
<div class="mt-2 min-w-0">
|
|
33
|
+
<Table
|
|
34
|
+
checkboxLatestId={checkboxLatestId}
|
|
35
|
+
checkboxDraftsId={checkboxDraftsId}
|
|
36
|
+
data={data}
|
|
37
|
+
collection={type}
|
|
38
|
+
tableConfiguration={tableConfiguration}
|
|
39
|
+
client:load
|
|
40
|
+
/>
|
|
106
41
|
</div>
|
|
107
42
|
</div>
|
|
108
43
|
</main>
|
|
@@ -112,10 +47,4 @@ const tabs = [
|
|
|
112
47
|
.ec-align-top {
|
|
113
48
|
vertical-align: top !important;
|
|
114
49
|
}
|
|
115
|
-
|
|
116
|
-
a.disabled {
|
|
117
|
-
pointer-events: none;
|
|
118
|
-
cursor: default;
|
|
119
|
-
opacity: 0.25;
|
|
120
|
-
}
|
|
121
50
|
</style>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
import VerticalSideBarLayout from './VerticalSideBarLayout.astro';
|
|
3
|
+
import { buildUrl } from '@utils/url-builder';
|
|
4
|
+
import { Settings, Server, Bot, FileText, CreditCard } from 'lucide-react';
|
|
5
|
+
|
|
6
|
+
export type SettingsSection = 'general' | 'mcp' | 'assistant' | 'llm-access' | 'billing';
|
|
7
|
+
|
|
8
|
+
interface Props {
|
|
9
|
+
title: string;
|
|
10
|
+
active: SettingsSection;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const { title, active } = Astro.props;
|
|
14
|
+
|
|
15
|
+
interface SectionItem {
|
|
16
|
+
id: SettingsSection;
|
|
17
|
+
label: string;
|
|
18
|
+
href: string;
|
|
19
|
+
icon: any;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface SectionGroup {
|
|
23
|
+
label: string;
|
|
24
|
+
items: SectionItem[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const groups: SectionGroup[] = [
|
|
28
|
+
{
|
|
29
|
+
label: 'Project Settings',
|
|
30
|
+
items: [
|
|
31
|
+
{
|
|
32
|
+
id: 'general',
|
|
33
|
+
label: 'General',
|
|
34
|
+
href: buildUrl('/settings/general'),
|
|
35
|
+
icon: Settings,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: 'AI Settings',
|
|
41
|
+
items: [
|
|
42
|
+
{
|
|
43
|
+
id: 'mcp',
|
|
44
|
+
label: 'MCP',
|
|
45
|
+
href: buildUrl('/settings/mcp'),
|
|
46
|
+
icon: Server,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: 'assistant',
|
|
50
|
+
label: 'Agent',
|
|
51
|
+
href: buildUrl('/settings/assistant'),
|
|
52
|
+
icon: Bot,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'llm-access',
|
|
56
|
+
label: 'LLM Access',
|
|
57
|
+
href: buildUrl('/settings/llm-access'),
|
|
58
|
+
icon: FileText,
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
label: 'Workspace',
|
|
64
|
+
items: [
|
|
65
|
+
{
|
|
66
|
+
id: 'billing',
|
|
67
|
+
label: 'Billing',
|
|
68
|
+
href: buildUrl('/settings/billing'),
|
|
69
|
+
icon: CreditCard,
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
<VerticalSideBarLayout title={`${title} | Settings`} showNestedSideBar={true}>
|
|
77
|
+
<Fragment slot="sidebar-content">
|
|
78
|
+
<div class="settings-rail flex h-full flex-col bg-[rgb(var(--ec-rail-bg))]">
|
|
79
|
+
<nav class="flex flex-1 flex-col gap-4 overflow-y-auto px-3 pt-6 pb-4">
|
|
80
|
+
{
|
|
81
|
+
groups.map((group) => (
|
|
82
|
+
<div class="space-y-1">
|
|
83
|
+
<p class="rail-section-label px-3 pb-1 text-[0.65rem] font-semibold uppercase tracking-[0.18em] text-[rgb(var(--ec-sidebar-text)/0.5)]">
|
|
84
|
+
{group.label}
|
|
85
|
+
</p>
|
|
86
|
+
<div class="flex flex-col gap-1">
|
|
87
|
+
{group.items.map((item) => {
|
|
88
|
+
const isActive = item.id === active;
|
|
89
|
+
return (
|
|
90
|
+
<a
|
|
91
|
+
href={item.href}
|
|
92
|
+
aria-current={isActive ? 'page' : undefined}
|
|
93
|
+
class:list={[
|
|
94
|
+
'nav-secondary-item flex items-center gap-3 px-3 py-2.5 text-[13px] font-medium transition-colors duration-150',
|
|
95
|
+
isActive
|
|
96
|
+
? 'font-semibold text-[rgb(var(--ec-page-text))]'
|
|
97
|
+
: 'text-[rgb(var(--ec-sidebar-text))] hover:text-[rgb(var(--ec-page-text))]',
|
|
98
|
+
]}
|
|
99
|
+
>
|
|
100
|
+
<item.icon className="h-3.5 w-3.5 flex-shrink-0" aria-hidden="true" />
|
|
101
|
+
<span class="nav-item-label">{item.label}</span>
|
|
102
|
+
</a>
|
|
103
|
+
);
|
|
104
|
+
})}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
))
|
|
108
|
+
}
|
|
109
|
+
</nav>
|
|
110
|
+
</div>
|
|
111
|
+
</Fragment>
|
|
112
|
+
|
|
113
|
+
<div class="settings-page w-full px-8 py-8">
|
|
114
|
+
<slot />
|
|
115
|
+
</div>
|
|
116
|
+
</VerticalSideBarLayout>
|