@eventcatalog/core 3.18.5 → 3.19.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/catalog-to-astro-content-directory.cjs +1 -1
- package/dist/{chunk-JEZODNLN.js → chunk-26A45SNU.js} +1 -1
- package/dist/{chunk-2IVWMV2T.js → chunk-6OQXRJWI.js} +1 -1
- package/dist/{chunk-5J4CB7HN.js → chunk-FK7TCLJJ.js} +1 -1
- package/dist/{chunk-Z3BWXNQW.js → chunk-NXKN2YAU.js} +1 -1
- package/dist/{chunk-SSNGN2OB.js → chunk-XKHNXR3Q.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +2 -2
- 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 +33 -2
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +3 -3
- package/eventcatalog/src/components/ChatPanel/ChatPanelButton.tsx +1 -1
- package/eventcatalog/src/components/CopyAsMarkdown.tsx +9 -9
- package/eventcatalog/src/components/EnvironmentDropdown.tsx +1 -1
- package/eventcatalog/src/components/Grids/DomainGrid.tsx +6 -6
- package/eventcatalog/src/components/Grids/MessageGrid.tsx +5 -5
- package/eventcatalog/src/components/Grids/components.tsx +3 -3
- package/eventcatalog/src/components/Header.astro +6 -6
- package/eventcatalog/src/components/MDX/Accordion/Accordion.tsx +1 -1
- package/eventcatalog/src/components/MDX/Accordion/AccordionGroup.astro +1 -1
- package/eventcatalog/src/components/MDX/Attachments.astro +1 -1
- package/eventcatalog/src/components/MDX/EntityPropertiesTable/EntityPropertiesTable.astro +1 -1
- package/eventcatalog/src/components/MDX/MessageTable/MessageTable.client.tsx +2 -2
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraphPortal.tsx +1 -1
- package/eventcatalog/src/components/MDX/RemoteFile.astro +1 -1
- package/eventcatalog/src/components/MDX/ResourceGroupTable/ResourceGroupTable.client.tsx +2 -2
- package/eventcatalog/src/components/MDX/SchemaViewer/SchemaViewerRoot.astro +1 -1
- package/eventcatalog/src/components/MDX/Tabs/Tabs.astro +1 -1
- package/eventcatalog/src/components/MDX/Tiles/Tile.astro +1 -1
- package/eventcatalog/src/components/SchemaExplorer/AvroSchemaViewer.tsx +6 -6
- package/eventcatalog/src/components/SchemaExplorer/JSONSchemaViewer.tsx +10 -10
- package/eventcatalog/src/components/SchemaExplorer/OwnersSection.tsx +1 -1
- package/eventcatalog/src/components/SchemaExplorer/ProducersConsumersSection.tsx +2 -2
- package/eventcatalog/src/components/SchemaExplorer/SchemaCodeModal.tsx +2 -2
- package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +3 -3
- package/eventcatalog/src/components/SchemaExplorer/SchemaDetailsHeader.tsx +5 -5
- package/eventcatalog/src/components/SchemaExplorer/SchemaExplorer.tsx +3 -3
- package/eventcatalog/src/components/SchemaExplorer/SchemaViewerModal.tsx +2 -2
- package/eventcatalog/src/components/SchemaExplorer/VersionHistoryModal.tsx +2 -2
- package/eventcatalog/src/components/Search/Search.astro +1 -1
- package/eventcatalog/src/components/Search/SearchModal.tsx +1 -1
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +1 -1
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +2 -2
- package/eventcatalog/src/components/Studio/StudioPageModal.tsx +2 -2
- package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +4 -4
- package/eventcatalog/src/components/Tables/Table.tsx +2 -2
- package/eventcatalog/src/enterprise/auth/error.astro +3 -2
- package/eventcatalog/src/enterprise/auth/login.astro +1 -0
- package/eventcatalog/src/enterprise/auth/unauthorized.astro +2 -2
- package/eventcatalog/src/enterprise/plans/index.astro +15 -15
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +3 -0
- package/eventcatalog/src/layouts/VisualiserLayout.astro +1 -1
- package/eventcatalog/src/pages/diagrams/[id]/[version]/embed.astro +1 -0
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +1 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +1 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +1 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +1 -1
- package/eventcatalog/src/pages/docs/custom/feature.astro +6 -6
- package/eventcatalog/src/pages/docs/custom/index.astro +6 -6
- package/eventcatalog/src/pages/index.astro +1 -1
- package/eventcatalog/src/pages/schemas/explorer/index.astro +1 -1
- package/eventcatalog/src/pages/studio.astro +3 -3
- package/eventcatalog/src/remark-plugins/directives.ts +1 -1
- package/eventcatalog/src/styles/tailwind.css +84 -0
- package/eventcatalog/src/utils/icon-map.ts +76 -0
- package/package.json +7 -7
- package/eventcatalog/tailwind.config.mjs +0 -103
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-26A45SNU.js";
|
|
4
|
+
import "../chunk-FK7TCLJJ.js";
|
|
5
5
|
import "../chunk-4UVFXLPI.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-NXKN2YAU.js";
|
|
7
7
|
import "../chunk-5T63CXKU.js";
|
|
8
8
|
export {
|
|
9
9
|
log_build_default as default
|
|
@@ -34,7 +34,7 @@ __export(catalog_to_astro_content_directory_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(catalog_to_astro_content_directory_exports);
|
|
36
36
|
|
|
37
|
-
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@
|
|
37
|
+
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js
|
|
38
38
|
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
39
39
|
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
40
40
|
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
package/dist/eventcatalog.cjs
CHANGED
|
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
|
|
25
|
-
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@
|
|
25
|
+
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js
|
|
26
26
|
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
27
27
|
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
28
28
|
|
|
@@ -114,7 +114,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
114
114
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
115
115
|
|
|
116
116
|
// package.json
|
|
117
|
-
var version = "3.
|
|
117
|
+
var version = "3.19.1";
|
|
118
118
|
|
|
119
119
|
// src/constants.ts
|
|
120
120
|
var VERSION = version;
|
package/dist/eventcatalog.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
} from "./chunk-PLNJC7NZ.js";
|
|
7
7
|
import {
|
|
8
8
|
log_build_default
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-26A45SNU.js";
|
|
10
|
+
import "./chunk-FK7TCLJJ.js";
|
|
11
11
|
import "./chunk-4UVFXLPI.js";
|
|
12
12
|
import {
|
|
13
13
|
runMigrations
|
|
@@ -22,13 +22,13 @@ import {
|
|
|
22
22
|
} from "./chunk-3KXCGYET.js";
|
|
23
23
|
import {
|
|
24
24
|
generate
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-XKHNXR3Q.js";
|
|
26
26
|
import {
|
|
27
27
|
logger
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-6OQXRJWI.js";
|
|
29
29
|
import {
|
|
30
30
|
VERSION
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-NXKN2YAU.js";
|
|
32
32
|
import {
|
|
33
33
|
getEventCatalogConfigFile,
|
|
34
34
|
verifyRequiredFieldsAreInCatalogConfigFile
|
package/dist/generate.cjs
CHANGED
package/dist/generate.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-XKHNXR3Q.js";
|
|
4
|
+
import "./chunk-6OQXRJWI.js";
|
|
5
|
+
import "./chunk-NXKN2YAU.js";
|
|
6
6
|
import "./chunk-5T63CXKU.js";
|
|
7
7
|
export {
|
|
8
8
|
generate
|
package/dist/utils/cli-logger.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { defineConfig } from 'astro/config';
|
|
3
|
-
import
|
|
3
|
+
import tailwindcss from '@tailwindcss/vite';
|
|
4
4
|
import mdx from '@astrojs/mdx';
|
|
5
5
|
import react from '@astrojs/react';
|
|
6
6
|
import { searchForWorkspaceRoot } from 'vite';
|
|
@@ -64,7 +64,6 @@ export default defineConfig({
|
|
|
64
64
|
devToolbar: { enabled: false },
|
|
65
65
|
integrations: [
|
|
66
66
|
react(),
|
|
67
|
-
tailwind(),
|
|
68
67
|
expressiveCode({
|
|
69
68
|
...expressiveCodeConfig,
|
|
70
69
|
}),
|
|
@@ -95,6 +94,7 @@ export default defineConfig({
|
|
|
95
94
|
eventCatalogIntegration(),
|
|
96
95
|
].filter(Boolean),
|
|
97
96
|
vite: {
|
|
97
|
+
plugins: [tailwindcss()],
|
|
98
98
|
define: {
|
|
99
99
|
/**
|
|
100
100
|
* Trailing slash is exposed as global variable here principally for `@utils/url-builder`.
|
|
@@ -125,6 +125,22 @@ export default defineConfig({
|
|
|
125
125
|
},
|
|
126
126
|
},
|
|
127
127
|
...(config.server?.allowedHosts ? { allowedHosts: config.server?.allowedHosts } : {}),
|
|
128
|
+
// Pre-transform critical modules during startup so they're ready when
|
|
129
|
+
// the first page request arrives. Without this, Vite transforms each
|
|
130
|
+
// module on-demand during the first request, adding seconds to TTFB.
|
|
131
|
+
warmup: {
|
|
132
|
+
ssrFiles: [
|
|
133
|
+
'./src/pages/index.astro',
|
|
134
|
+
'./src/pages/_index.astro',
|
|
135
|
+
'./src/layouts/VerticalSideBarLayout.astro',
|
|
136
|
+
'./src/components/Header.astro',
|
|
137
|
+
'./src/components/SideNav/SideNav.astro',
|
|
138
|
+
],
|
|
139
|
+
clientFiles: [
|
|
140
|
+
'./src/components/SideNav/NestedSideBar/index.tsx',
|
|
141
|
+
'./src/components/Search/SearchModal.tsx',
|
|
142
|
+
],
|
|
143
|
+
},
|
|
128
144
|
},
|
|
129
145
|
worker: {
|
|
130
146
|
format: 'es',
|
|
@@ -138,6 +154,21 @@ export default defineConfig({
|
|
|
138
154
|
external: ['eventcatalog.auth.js', 'eventcatalog.chat.js'],
|
|
139
155
|
},
|
|
140
156
|
optimizeDeps: {
|
|
157
|
+
// Pre-bundle heavy dependencies so Vite doesn't discover and transform
|
|
158
|
+
// them lazily on first request. This significantly reduces initial page
|
|
159
|
+
// load time in dev mode.
|
|
160
|
+
include: [
|
|
161
|
+
'lucide-react',
|
|
162
|
+
'@heroicons/react/24/outline',
|
|
163
|
+
'@heroicons/react/24/solid',
|
|
164
|
+
'@heroicons/react/20/solid',
|
|
165
|
+
'@headlessui/react',
|
|
166
|
+
'@nanostores/react',
|
|
167
|
+
'nanostores',
|
|
168
|
+
'react',
|
|
169
|
+
'react-dom',
|
|
170
|
+
'semver',
|
|
171
|
+
],
|
|
141
172
|
esbuildOptions: {
|
|
142
173
|
jsx: 'automatic',
|
|
143
174
|
},
|
|
@@ -999,7 +999,7 @@ const ChatPanel = ({ isOpen, onClose }: ChatPanelProps) => {
|
|
|
999
999
|
onKeyDown={handleInputKeyDown}
|
|
1000
1000
|
placeholder="Ask, search, or explain..."
|
|
1001
1001
|
disabled={isLoading}
|
|
1002
|
-
className="w-full px-4 py-3 pr-16 bg-transparent text-[rgb(var(--ec-input-text))] placeholder-[rgb(var(--ec-input-placeholder))] focus:outline-
|
|
1002
|
+
className="w-full px-4 py-3 pr-16 bg-transparent text-[rgb(var(--ec-input-text))] placeholder-[rgb(var(--ec-input-placeholder))] focus:outline-hidden text-sm disabled:opacity-50 rounded-xl"
|
|
1003
1003
|
/>
|
|
1004
1004
|
<div className="absolute right-2 top-1/2 -translate-y-1/2 z-10">
|
|
1005
1005
|
{isStreaming ? (
|
|
@@ -1056,7 +1056,7 @@ const ChatPanel = ({ isOpen, onClose }: ChatPanelProps) => {
|
|
|
1056
1056
|
<Dialog.Portal>
|
|
1057
1057
|
<Dialog.Overlay className="fixed inset-0 bg-black/50 backdrop-blur-sm z-[300]" />
|
|
1058
1058
|
<Dialog.Content
|
|
1059
|
-
className="fixed inset-y-4 left-1/2 -translate-x-1/2 w-[95%] max-w-4xl md:inset-y-8 rounded-xl shadow-2xl z-[301] flex flex-col overflow-hidden focus:outline-
|
|
1059
|
+
className="fixed inset-y-4 left-1/2 -translate-x-1/2 w-[95%] max-w-4xl md:inset-y-8 rounded-xl shadow-2xl z-[301] flex flex-col overflow-hidden focus:outline-hidden border border-[rgb(var(--ec-page-border))]"
|
|
1060
1060
|
style={{
|
|
1061
1061
|
background: `
|
|
1062
1062
|
radial-gradient(ellipse 100% 40% at 50% 100%, rgb(var(--ec-accent) / 0.15) 0%, transparent 100%),
|
|
@@ -1291,7 +1291,7 @@ const ChatPanel = ({ isOpen, onClose }: ChatPanelProps) => {
|
|
|
1291
1291
|
onKeyDown={handleInputKeyDown}
|
|
1292
1292
|
placeholder="Ask, search, or explain..."
|
|
1293
1293
|
disabled={isLoading}
|
|
1294
|
-
className="w-full px-4 py-3.5 pr-20 bg-transparent text-[rgb(var(--ec-input-text))] placeholder-[rgb(var(--ec-input-placeholder))] focus:outline-
|
|
1294
|
+
className="w-full px-4 py-3.5 pr-20 bg-transparent text-[rgb(var(--ec-input-text))] placeholder-[rgb(var(--ec-input-placeholder))] focus:outline-hidden text-sm disabled:opacity-50 rounded-xl"
|
|
1295
1295
|
/>
|
|
1296
1296
|
<div className="absolute right-2 top-1/2 -translate-y-1/2 z-10">
|
|
1297
1297
|
{isStreaming ? (
|
|
@@ -19,7 +19,7 @@ const ChatPanelButton = () => {
|
|
|
19
19
|
<>
|
|
20
20
|
<button
|
|
21
21
|
onClick={() => setIsOpen(true)}
|
|
22
|
-
className="flex items-center gap-1.5 px-4 py-1.5 rounded-md bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-content-hover))] ring-1 ring-inset ring-[rgb(var(--ec-page-border))] shadow-
|
|
22
|
+
className="flex items-center gap-1.5 px-4 py-1.5 rounded-md bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-content-hover))] ring-1 ring-inset ring-[rgb(var(--ec-page-border))] shadow-xs transition-colors text-sm ml-[-1px]"
|
|
23
23
|
aria-label="Open AI Assistant"
|
|
24
24
|
>
|
|
25
25
|
<BookOpen size={14} className="text-[rgb(var(--ec-accent))]" />
|
|
@@ -212,12 +212,12 @@ export function CopyPageMenu({
|
|
|
212
212
|
return (
|
|
213
213
|
<DropdownMenu.Root>
|
|
214
214
|
{/* Container for the split button */}
|
|
215
|
-
<div className="inline-flex rounded-md shadow-
|
|
215
|
+
<div className="inline-flex rounded-md shadow-xs border border-[rgb(var(--ec-dropdown-border))]">
|
|
216
216
|
{/* Left Button: Default Action */}
|
|
217
217
|
<button
|
|
218
218
|
type="button"
|
|
219
219
|
onClick={handleDefaultAction}
|
|
220
|
-
className="inline-flex items-center justify-center gap-1 px-3 py-1.5 text-sm font-medium text-[rgb(var(--ec-dropdown-text))] bg-[rgb(var(--ec-dropdown-bg))] rounded-l-md hover:bg-[rgb(var(--ec-dropdown-hover))] focus:z-10 focus:outline-
|
|
220
|
+
className="inline-flex items-center justify-center gap-1 px-3 py-1.5 text-sm font-medium text-[rgb(var(--ec-dropdown-text))] bg-[rgb(var(--ec-dropdown-bg))] rounded-l-md hover:bg-[rgb(var(--ec-dropdown-hover))] focus:z-10 focus:outline-hidden focus:ring-1 focus:ring-[rgb(var(--ec-accent))]"
|
|
221
221
|
>
|
|
222
222
|
<defaultAction.icon className="w-4 h-4" />
|
|
223
223
|
{buttonText}
|
|
@@ -226,7 +226,7 @@ export function CopyPageMenu({
|
|
|
226
226
|
<DropdownMenu.Trigger asChild>
|
|
227
227
|
<button
|
|
228
228
|
type="button"
|
|
229
|
-
className="inline-flex items-center justify-center px-1.5 py-1.5 text-sm font-medium text-[rgb(var(--ec-icon-color))] bg-[rgb(var(--ec-dropdown-bg))] rounded-r-md border-l border-[rgb(var(--ec-dropdown-border))] hover:bg-[rgb(var(--ec-dropdown-hover))] focus:z-10 focus:outline-
|
|
229
|
+
className="inline-flex items-center justify-center px-1.5 py-1.5 text-sm font-medium text-[rgb(var(--ec-icon-color))] bg-[rgb(var(--ec-dropdown-bg))] rounded-r-md border-l border-[rgb(var(--ec-dropdown-border))] hover:bg-[rgb(var(--ec-dropdown-hover))] focus:z-10 focus:outline-hidden focus:ring-1 focus:ring-[rgb(var(--ec-accent))]"
|
|
230
230
|
aria-label="More options"
|
|
231
231
|
>
|
|
232
232
|
<ChevronDownIcon className="w-4 h-4" />
|
|
@@ -243,7 +243,7 @@ export function CopyPageMenu({
|
|
|
243
243
|
{availableActions.chat && (
|
|
244
244
|
<>
|
|
245
245
|
<DropdownMenu.Item
|
|
246
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
246
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
247
247
|
onSelect={() => window.dispatchEvent(new CustomEvent('eventcatalog:open-chat'))}
|
|
248
248
|
>
|
|
249
249
|
<MenuItemContent
|
|
@@ -258,7 +258,7 @@ export function CopyPageMenu({
|
|
|
258
258
|
|
|
259
259
|
{availableActions.copyMarkdown && (
|
|
260
260
|
<DropdownMenu.Item
|
|
261
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
261
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
262
262
|
onSelect={() => copyMarkdownToClipboard()}
|
|
263
263
|
>
|
|
264
264
|
<MenuItemContent icon={Copy} title="Copy page" description="Copy page as Markdown for LLMs" />
|
|
@@ -290,7 +290,7 @@ export function CopyPageMenu({
|
|
|
290
290
|
return (
|
|
291
291
|
<DropdownMenu.Item
|
|
292
292
|
key={schema.url}
|
|
293
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
293
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
294
294
|
onSelect={() => copySchemaToClipboard(schema)}
|
|
295
295
|
>
|
|
296
296
|
<MenuItemContent icon={Icon} title={title} description={`Copy ${type} to clipboard`} />
|
|
@@ -300,7 +300,7 @@ export function CopyPageMenu({
|
|
|
300
300
|
|
|
301
301
|
{availableActions.viewMarkdown && (
|
|
302
302
|
<DropdownMenu.Item
|
|
303
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
303
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
304
304
|
onSelect={() => window.open(markdownUrl, '_blank')}
|
|
305
305
|
>
|
|
306
306
|
<MenuItemContent
|
|
@@ -314,7 +314,7 @@ export function CopyPageMenu({
|
|
|
314
314
|
|
|
315
315
|
{availableActions.rssFeed && (
|
|
316
316
|
<DropdownMenu.Item
|
|
317
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
317
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
318
318
|
onSelect={() => window.open(buildUrl(`/rss/all/rss.xml`), '_blank')}
|
|
319
319
|
>
|
|
320
320
|
<MenuItemContent icon={RssIcon} title="RSS Feed" description="View this page as RSS feed" external={true} />
|
|
@@ -325,7 +325,7 @@ export function CopyPageMenu({
|
|
|
325
325
|
<>
|
|
326
326
|
<DropdownMenu.Separator className="h-px my-1 bg-[rgb(var(--ec-dropdown-border))]" />
|
|
327
327
|
<DropdownMenu.Item
|
|
328
|
-
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-
|
|
328
|
+
className="cursor-pointer hover:bg-[rgb(var(--ec-dropdown-hover))] focus:outline-hidden focus:bg-[rgb(var(--ec-dropdown-hover))]"
|
|
329
329
|
onSelect={() => window.open(editUrl, '_blank')}
|
|
330
330
|
>
|
|
331
331
|
<MenuItemContent
|
|
@@ -63,7 +63,7 @@ export const EnvironmentDropdown: React.FC<EnvironmentDropdownProps> = ({ enviro
|
|
|
63
63
|
<button
|
|
64
64
|
type="button"
|
|
65
65
|
onClick={toggleDropdown}
|
|
66
|
-
className="flex items-center space-x-1 text-sm font-medium text-[rgb(var(--ec-header-text)/0.7)] hover:text-[rgb(var(--ec-header-text))] focus:outline-
|
|
66
|
+
className="flex items-center space-x-1 text-sm font-medium text-[rgb(var(--ec-header-text)/0.7)] hover:text-[rgb(var(--ec-header-text))] focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-[rgb(var(--ec-accent))] rounded-md px-3 py-2 transition-colors"
|
|
67
67
|
aria-expanded={isOpen}
|
|
68
68
|
aria-haspopup="true"
|
|
69
69
|
>
|
|
@@ -53,7 +53,7 @@ const EntityBadge = memo(({ entity }: { entity: any }) => {
|
|
|
53
53
|
return (
|
|
54
54
|
<a
|
|
55
55
|
href={buildUrl(`/docs/entities/${id}`)}
|
|
56
|
-
className="inline-flex items-center gap-2 px-3 py-2 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg text-sm font-medium text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-content-hover))] hover:border-[rgb(var(--ec-accent)/0.5)] transition-all shadow-
|
|
56
|
+
className="inline-flex items-center gap-2 px-3 py-2 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg text-sm font-medium text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-content-hover))] hover:border-[rgb(var(--ec-accent)/0.5)] transition-all shadow-xs"
|
|
57
57
|
>
|
|
58
58
|
<BoxIcon className="h-4 w-4 text-[rgb(var(--ec-accent))]" />
|
|
59
59
|
<span>{name}</span>
|
|
@@ -93,7 +93,7 @@ const SpecificationBadge = memo(
|
|
|
93
93
|
return (
|
|
94
94
|
<a
|
|
95
95
|
href={getSpecUrl(spec, serviceId, serviceVersion)}
|
|
96
|
-
className="inline-flex items-center gap-1.5 px-2 py-1.5 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg text-xs font-medium text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-content-hover))] hover:border-[rgb(var(--ec-accent)/0.5)] transition-all shadow-
|
|
96
|
+
className="inline-flex items-center gap-1.5 px-2 py-1.5 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg text-xs font-medium text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-content-hover))] hover:border-[rgb(var(--ec-accent)/0.5)] transition-all shadow-xs"
|
|
97
97
|
>
|
|
98
98
|
<img src={buildUrl(`/icons/${getSpecIcon(spec.type)}.svg`, true)} alt={`${spec.type} icon`} className="h-3.5 w-3.5" />
|
|
99
99
|
<span>{getSpecLabel(spec.type)}</span>
|
|
@@ -159,7 +159,7 @@ const SearchableBox = memo(
|
|
|
159
159
|
placeholder="Search..."
|
|
160
160
|
value={search}
|
|
161
161
|
onChange={(e) => setSearch(e.target.value)}
|
|
162
|
-
className="flex-1 px-2 py-0.5 text-xs border border-[rgb(var(--ec-input-border))] rounded focus:outline-
|
|
162
|
+
className="flex-1 px-2 py-0.5 text-xs border border-[rgb(var(--ec-input-border))] rounded focus:outline-hidden focus:border-[rgb(var(--ec-accent))] bg-[rgb(var(--ec-input-bg))] text-[rgb(var(--ec-input-text))]"
|
|
163
163
|
onClick={(e) => e.stopPropagation()}
|
|
164
164
|
/>
|
|
165
165
|
)}
|
|
@@ -261,7 +261,7 @@ const ServiceCard = memo(({ service }: { service: any }) => {
|
|
|
261
261
|
const hasContent = hasMessages || hasContainers;
|
|
262
262
|
|
|
263
263
|
return (
|
|
264
|
-
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-
|
|
264
|
+
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-xs hover:shadow-md transition-shadow">
|
|
265
265
|
{/* Service Header */}
|
|
266
266
|
<div
|
|
267
267
|
onClick={() => hasContent && setIsCollapsed(!isCollapsed)}
|
|
@@ -335,7 +335,7 @@ const DataProductCard = memo(({ dataProduct }: { dataProduct: any }) => {
|
|
|
335
335
|
return (
|
|
336
336
|
<a
|
|
337
337
|
href={href}
|
|
338
|
-
className="block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-
|
|
338
|
+
className="block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-xs hover:shadow-md hover:border-[rgb(var(--ec-accent)/0.5)] transition-all"
|
|
339
339
|
>
|
|
340
340
|
<div className="flex items-center justify-between px-4 py-3">
|
|
341
341
|
<div className="flex items-center gap-2.5">
|
|
@@ -373,7 +373,7 @@ const SubdomainSection = memo(({ subdomain }: { subdomain: any }) => {
|
|
|
373
373
|
const dataProducts = data['data-products'] || [];
|
|
374
374
|
|
|
375
375
|
return (
|
|
376
|
-
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl overflow-hidden shadow-
|
|
376
|
+
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl overflow-hidden shadow-xs">
|
|
377
377
|
{/* Subdomain Header - Clickable */}
|
|
378
378
|
<div
|
|
379
379
|
onClick={() => setIsCollapsed(!isCollapsed)}
|
|
@@ -47,7 +47,7 @@ const MessageCard = memo(({ message, compact = false }: { message: any; compact?
|
|
|
47
47
|
return (
|
|
48
48
|
<a
|
|
49
49
|
href={buildUrl(`/docs/${message.collection}/${message.data.id}/${message.data.version}`)}
|
|
50
|
-
className={`group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-${color}-200 dark:border-${color}-500/30 rounded-lg shadow-
|
|
50
|
+
className={`group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-${color}-200 dark:border-${color}-500/30 rounded-lg shadow-xs hover:shadow-md hover:border-${color}-300 dark:hover:border-${color}-500/50 transition-all`}
|
|
51
51
|
>
|
|
52
52
|
<div className={compact ? 'p-3' : 'p-4'}>
|
|
53
53
|
<div className="flex items-center gap-2 mb-1">
|
|
@@ -82,7 +82,7 @@ const ContainerCard = memo(({ container, type }: { container: any; type: 'reads'
|
|
|
82
82
|
return (
|
|
83
83
|
<a
|
|
84
84
|
href={buildUrl(`/docs/containers/${container.data.id}/${container.data.version}`)}
|
|
85
|
-
className={`group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border rounded-lg shadow-
|
|
85
|
+
className={`group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border rounded-lg shadow-xs hover:shadow-md transition-all ${
|
|
86
86
|
type === 'reads'
|
|
87
87
|
? 'border-amber-200 dark:border-amber-500/30 hover:border-amber-300 dark:hover:border-amber-500/50'
|
|
88
88
|
: 'border-violet-200 dark:border-violet-500/30 hover:border-violet-300 dark:hover:border-violet-500/50'
|
|
@@ -117,7 +117,7 @@ const SpecificationCard = memo(
|
|
|
117
117
|
return (
|
|
118
118
|
<a
|
|
119
119
|
href={getSpecUrl(spec, serviceId, serviceVersion)}
|
|
120
|
-
className={`group flex items-center gap-3 p-3 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-${color}-200 dark:border-${color}-500/30 rounded-lg shadow-
|
|
120
|
+
className={`group flex items-center gap-3 p-3 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-${color}-200 dark:border-${color}-500/30 rounded-lg shadow-xs hover:shadow-md hover:border-${color}-300 dark:hover:border-${color}-500/50 transition-all`}
|
|
121
121
|
>
|
|
122
122
|
<img src={buildUrl(`/icons/${getSpecIcon(spec.type)}.svg`, true)} alt={`${spec.type} icon`} className="h-6 w-6" />
|
|
123
123
|
<div className="flex-1 min-w-0">
|
|
@@ -154,7 +154,7 @@ const CollapsibleMessageSection = memo(
|
|
|
154
154
|
const hasContent = messages.length > 0;
|
|
155
155
|
|
|
156
156
|
return (
|
|
157
|
-
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-
|
|
157
|
+
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-xs overflow-hidden">
|
|
158
158
|
<div
|
|
159
159
|
onClick={() => setIsCollapsed(!isCollapsed)}
|
|
160
160
|
className={`flex items-center justify-between px-5 py-4 cursor-pointer hover:bg-[rgb(var(--ec-content-hover))] transition-colors ${!isCollapsed && hasContent ? 'border-b border-[rgb(var(--ec-page-border))]' : ''}`}
|
|
@@ -198,7 +198,7 @@ const CollapsibleContainerSection = memo(
|
|
|
198
198
|
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
199
199
|
|
|
200
200
|
return (
|
|
201
|
-
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-
|
|
201
|
+
<div className="bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-xl shadow-xs overflow-hidden">
|
|
202
202
|
<div
|
|
203
203
|
onClick={() => setIsCollapsed(!isCollapsed)}
|
|
204
204
|
className={`flex items-center justify-between px-5 py-4 cursor-pointer hover:bg-[rgb(var(--ec-content-hover))] transition-colors ${!isCollapsed ? 'border-b border-[rgb(var(--ec-page-border))]' : ''}`}
|
|
@@ -21,11 +21,11 @@ export function SearchBar({ searchQuery, onSearchChange, placeholder, totalResul
|
|
|
21
21
|
placeholder={placeholder || 'Search...'}
|
|
22
22
|
value={searchQuery}
|
|
23
23
|
onChange={(e) => onSearchChange(e.target.value)}
|
|
24
|
-
className="block w-full rounded-lg border-0 py-2.5 pl-10 pr-4 text-gray-900 shadow-
|
|
24
|
+
className="block w-full rounded-lg border-0 py-2.5 pl-10 pr-4 text-gray-900 shadow-xs ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary sm:text-sm sm:leading-6"
|
|
25
25
|
/>
|
|
26
26
|
{searchQuery && (
|
|
27
27
|
<div className="absolute inset-y-0 right-0 flex items-center pr-3">
|
|
28
|
-
<button onClick={() => onSearchChange('')} className="text-gray-400 hover:text-gray-500 focus:outline-
|
|
28
|
+
<button onClick={() => onSearchChange('')} className="text-gray-400 hover:text-gray-500 focus:outline-hidden">
|
|
29
29
|
<span className="sr-only">Clear search</span>
|
|
30
30
|
<svg className="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
|
|
31
31
|
<path
|
|
@@ -126,7 +126,7 @@ export function Pagination({ currentPage, totalPages, totalItems, itemsPerPage,
|
|
|
126
126
|
</p>
|
|
127
127
|
</div>
|
|
128
128
|
<div>
|
|
129
|
-
<nav className="isolate inline-flex -space-x-px rounded-md shadow-
|
|
129
|
+
<nav className="isolate inline-flex -space-x-px rounded-md shadow-xs" aria-label="Pagination">
|
|
130
130
|
<button
|
|
131
131
|
onClick={() => onPageChange(1)}
|
|
132
132
|
disabled={currentPage === 1}
|
|
@@ -63,7 +63,7 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
63
63
|
<button
|
|
64
64
|
id="profile-menu-button"
|
|
65
65
|
type="button"
|
|
66
|
-
class="flex items-center focus:outline-
|
|
66
|
+
class="flex items-center focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-gray-400 rounded-full"
|
|
67
67
|
aria-expanded="false"
|
|
68
68
|
aria-haspopup="true"
|
|
69
69
|
aria-label="User menu"
|
|
@@ -72,10 +72,10 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
72
72
|
<img
|
|
73
73
|
src={session.user.image}
|
|
74
74
|
alt={session.user?.name || 'User'}
|
|
75
|
-
class="h-9 w-9 rounded-full border-2 border-gray-200 hover:border-gray-400 transition-all shadow-
|
|
75
|
+
class="h-9 w-9 rounded-full border-2 border-gray-200 hover:border-gray-400 transition-all shadow-xs"
|
|
76
76
|
/>
|
|
77
77
|
) : (
|
|
78
|
-
<div class="h-9 w-9 rounded-full border-2 border-gray-200 hover:border-gray-400 transition-all bg-gray-100 hover:bg-gray-200 flex items-center justify-center text-sm font-medium text-gray-600 shadow-
|
|
78
|
+
<div class="h-9 w-9 rounded-full border-2 border-gray-200 hover:border-gray-400 transition-all bg-gray-100 hover:bg-gray-200 flex items-center justify-center text-sm font-medium text-gray-600 shadow-xs">
|
|
79
79
|
{session.user?.name
|
|
80
80
|
? session.user.name
|
|
81
81
|
.split(' ')
|
|
@@ -115,7 +115,7 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
115
115
|
{isAuthEnabled() && (
|
|
116
116
|
<button
|
|
117
117
|
id="okta-signin-btn"
|
|
118
|
-
class="bg-[rgb(var(--ec-button-bg))] hover:bg-[rgb(var(--ec-button-bg-hover))] text-[rgb(var(--ec-button-text))] text-sm font-medium px-4 py-2 rounded-lg transition-all shadow-
|
|
118
|
+
class="bg-[rgb(var(--ec-button-bg))] hover:bg-[rgb(var(--ec-button-bg-hover))] text-[rgb(var(--ec-button-text))] text-sm font-medium px-4 py-2 rounded-lg transition-all shadow-xs hover:shadow focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-gray-500"
|
|
119
119
|
>
|
|
120
120
|
Sign In
|
|
121
121
|
</button>
|
|
@@ -158,7 +158,7 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
158
158
|
<li>
|
|
159
159
|
<a
|
|
160
160
|
href={repositoryUrl}
|
|
161
|
-
class="block p-1.5 rounded-lg hover:bg-[rgb(var(--ec-dropdown-hover))] transition-colors focus:outline-
|
|
161
|
+
class="block p-1.5 rounded-lg hover:bg-[rgb(var(--ec-dropdown-hover))] transition-colors focus:outline-hidden"
|
|
162
162
|
aria-label="View repository on GitHub"
|
|
163
163
|
>
|
|
164
164
|
<img
|
|
@@ -181,7 +181,7 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
181
181
|
<button
|
|
182
182
|
id="menu-toggle"
|
|
183
183
|
type="button"
|
|
184
|
-
class="text-[rgb(var(--ec-icon-color))] hover:text-[rgb(var(--ec-icon-hover))] focus:outline-
|
|
184
|
+
class="text-[rgb(var(--ec-icon-color))] hover:text-[rgb(var(--ec-icon-hover))] focus:outline-hidden focus:text-[rgb(var(--ec-icon-hover))]"
|
|
185
185
|
aria-label="Toggle menu"
|
|
186
186
|
>
|
|
187
187
|
<svg viewBox="0 0 24 24" class="h-6 w-6 fill-current">
|
|
@@ -12,7 +12,7 @@ declare global {
|
|
|
12
12
|
|
|
13
13
|
export default function Example({ title, children }: any) {
|
|
14
14
|
return (
|
|
15
|
-
<div className="border border-[rgb(var(--ec-page-border))] rounded-md px-4 shadow-
|
|
15
|
+
<div className="border border-[rgb(var(--ec-page-border))] rounded-md px-4 shadow-xs py-2 accordion bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))]">
|
|
16
16
|
<Disclosure as="div" key={title} className="">
|
|
17
17
|
{({ open }) => {
|
|
18
18
|
useEffect(() => {
|
|
@@ -105,7 +105,7 @@ const sortedGroups = Object.entries(groupedAttachments).sort(([a], [b]) => {
|
|
|
105
105
|
href={attachment.url}
|
|
106
106
|
target={isExternal ? '_blank' : '_self'}
|
|
107
107
|
rel={isExternal ? 'noopener noreferrer' : undefined}
|
|
108
|
-
class="group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg p-4 transition-all duration-200 hover:shadow-md hover:border-[rgb(var(--ec-accent)/0.5)] focus:outline-
|
|
108
|
+
class="group block bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg p-4 transition-all duration-200 hover:shadow-md hover:border-[rgb(var(--ec-accent)/0.5)] focus:outline-hidden focus:ring-2 focus:ring-[rgb(var(--ec-accent))] focus:ring-offset-2"
|
|
109
109
|
>
|
|
110
110
|
<div class="flex items-start gap-3">
|
|
111
111
|
<div class="flex-shrink-0 p-2 bg-[rgb(var(--ec-content-hover))] rounded-lg group-hover:bg-[rgb(var(--ec-accent-subtle))] transition-colors duration-200">
|
|
@@ -41,7 +41,7 @@ const isComponentEnabled = collection === 'entities';
|
|
|
41
41
|
{
|
|
42
42
|
isComponentEnabled && properties && properties.length > 0 ? (
|
|
43
43
|
<div class="overflow-x-auto relative not-prose">
|
|
44
|
-
<table class="w-full text-sm text-left text-[rgb(var(--ec-page-text-muted))] border border-[rgb(var(--ec-page-border))] rounded-lg shadow-
|
|
44
|
+
<table class="w-full text-sm text-left text-[rgb(var(--ec-page-text-muted))] border border-[rgb(var(--ec-page-border))] rounded-lg shadow-xs">
|
|
45
45
|
<thead class="text-xs text-[rgb(var(--ec-page-text))] uppercase bg-[rgb(var(--ec-content-hover))]">
|
|
46
46
|
<tr>
|
|
47
47
|
<th scope="col" class="py-3 px-6">
|