summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Benjamin MENANT <dev@menant-benjamin.fr> 2024-10-25 12:17:23 +0200
committerGravatar GitHub <noreply@github.com> 2024-10-25 11:17:23 +0100
commit1d4f6a4989bc1cfd7109b1bff41503f115660e02 (patch)
treecc6bc3a6f215f67f45d633ec8b2397a5e16ad40b
parent9d6bcdb88fcb9df0c5c70e2b591bcf962ce55f63 (diff)
downloadastro-1d4f6a4989bc1cfd7109b1bff41503f115660e02.tar.gz
astro-1d4f6a4989bc1cfd7109b1bff41503f115660e02.tar.zst
astro-1d4f6a4989bc1cfd7109b1bff41503f115660e02.zip
fix(@astro/mdx): add components property to RenderResult type definition (#12245)
-rw-r--r--.changeset/twenty-gifts-kick.md6
-rw-r--r--packages/astro/client.d.ts1
-rw-r--r--packages/astro/src/@types/astro.ts12
-rw-r--r--packages/integrations/mdx/template/content-module-types.d.ts1
4 files changed, 16 insertions, 4 deletions
diff --git a/.changeset/twenty-gifts-kick.md b/.changeset/twenty-gifts-kick.md
new file mode 100644
index 000000000..e0ff890d6
--- /dev/null
+++ b/.changeset/twenty-gifts-kick.md
@@ -0,0 +1,6 @@
+---
+'@astrojs/mdx': patch
+'astro': patch
+---
+
+Add `components` property to MDXInstance type definition (RenderResult and module import)
diff --git a/packages/astro/client.d.ts b/packages/astro/client.d.ts
index 8e1d64f23..185c190c7 100644
--- a/packages/astro/client.d.ts
+++ b/packages/astro/client.d.ts
@@ -289,6 +289,7 @@ declare module '*.mdx' {
export const url: MDX['url'];
export const getHeadings: MDX['getHeadings'];
export const Content: MDX['Content'];
+ export const components: MDX['components'];
const load: MDX['default'];
export default load;
diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts
index 19933ecb6..4c5a8b2b7 100644
--- a/packages/astro/src/@types/astro.ts
+++ b/packages/astro/src/@types/astro.ts
@@ -2648,10 +2648,12 @@ export interface MarkdownInstance<T extends Record<string, any>> {
type MD = MarkdownInstance<Record<string, any>>;
-export type MDXInstance<T extends Record<string, any>> = Omit<
+export interface MDXInstance<T extends Record<string, any>> extends Omit<
MarkdownInstance<T>,
'rawContent' | 'compiledContent'
->;
+> {
+ components: Record<string, AstroComponentFactory> | undefined;
+}
export interface MarkdownLayoutProps<T extends Record<string, any>> {
frontmatter: {
@@ -2665,10 +2667,12 @@ export interface MarkdownLayoutProps<T extends Record<string, any>> {
compiledContent: MarkdownInstance<T>['compiledContent'];
}
-export type MDXLayoutProps<T extends Record<string, any>> = Omit<
+export interface MDXLayoutProps<T extends Record<string, any>> extends Omit<
MarkdownLayoutProps<T>,
'rawContent' | 'compiledContent'
->;
+> {
+ components: MDXInstance<T>['components'];
+}
export type GetHydrateCallback = () => Promise<() => void | Promise<void>>;
diff --git a/packages/integrations/mdx/template/content-module-types.d.ts b/packages/integrations/mdx/template/content-module-types.d.ts
index 957f99895..848289f01 100644
--- a/packages/integrations/mdx/template/content-module-types.d.ts
+++ b/packages/integrations/mdx/template/content-module-types.d.ts
@@ -4,6 +4,7 @@ declare module 'astro:content' {
Content: import('astro').MarkdownInstance<{}>['Content'];
headings: import('astro').MarkdownHeading[];
remarkPluginFrontmatter: Record<string, any>;
+ components: import('astro').MDXInstance<{}>['components'];
}>;
}
}