@udus/notion-renderer
Version:

51 lines • 2.13 kB
TypeScript
import type { RichTextItemProps } from "./richTextItem.js";
import type { Overwrite } from "../../../types/utils.js";
import type { ArticleData } from "@extractus/article-extractor";
import type { DatabaseObjectResponse, MentionRichTextItemResponse, PageObjectResponse } from "@notionhq/client/build/src/api-endpoints.js";
import type { ComponentType } from "react";
export type MentionRichTextItemObject = Overwrite<MentionRichTextItemResponse, {
mention: MentionObject;
}> & {
id?: string;
};
export type MentionRichTextItemProps = RichTextItemProps<MentionRichTextItemObject>;
export type MentionRichTextItem = ComponentType;
export type MentionObject = UserMentionObject | DateMentionObject | LinkPreviewMentionObject | TempateMentionMentionObject | PageMentionObject | DatabaseMentionObject;
export type MentionObjectResponse = MentionRichTextItemResponse["mention"];
export type UserMentionObjectResponse = Extract<MentionObjectResponse, {
type: "user";
}>;
export type DateMentionObjectResponse = Extract<MentionObjectResponse, {
type: "date";
}>;
export type LinkPreviewMentionObjectResponse = Extract<MentionObjectResponse, {
type: "link_preview";
}>;
export type TemplateMentionMentionObjectResponse = Extract<MentionObjectResponse, {
type: "template_mention";
}>;
export type PageMentionObjectResponse = Extract<MentionObjectResponse, {
type: "page";
}>;
export type DatabaseMentionObjectResponse = Extract<MentionObjectResponse, {
type: "database";
}>;
export type UserMentionObject = UserMentionObjectResponse;
export type DateMentionObject = DateMentionObjectResponse;
export type LinkPreviewMentionObject = LinkPreviewMentionObjectResponse & {
link_preview: {
site_meta?: ArticleData;
};
};
export type TempateMentionMentionObject = TemplateMentionMentionObjectResponse;
export type PageMentionObject = PageMentionObjectResponse & {
page: {
page?: PageObjectResponse;
};
};
export type DatabaseMentionObject = DatabaseMentionObjectResponse & {
database: {
database?: DatabaseObjectResponse;
};
};
//# sourceMappingURL=mention.d.ts.map