* docs: migrate ui docs to docs universe * created yarn workspace * added eslint and tsconfig configurations * fix eslint configurations * fixed eslint configurations * shared tailwind configurations * added shared ui package * added more shared components * migrating more components * made details components shared * move InlineCode component * moved InputText * moved Loading component * Moved Modal component * moved Select components * Moved Tooltip component * moved Search components * moved ColorMode provider * Moved Notification components and providers * used icons package * use UI colors in api-reference * moved Navbar component * used Navbar and Search in UI docs * added Feedback to UI docs * general enhancements * fix color mode * added copy colors file from ui-preset * added features and enhancements to UI docs * move Sidebar component and provider * general fixes and preparations for deployment * update docusaurus version * adjusted versions * fix output directory * remove rootDirectory property * fix yarn.lock * moved code component * added vale for all docs MD and MDX * fix tests * fix vale error * fix deployment errors * change ignore commands * add output directory * fix docs test * general fixes * content fixes * fix announcement script * added changeset * fix vale checks * added nofilter option * fix vale error
68 lines
2.1 KiB
TypeScript
68 lines
2.1 KiB
TypeScript
import React from "react"
|
|
import clsx from "clsx"
|
|
import { ThemeClassNames } from "@docusaurus/theme-common"
|
|
import { useDoc } from "@docusaurus/theme-common/internal"
|
|
import Heading from "@theme/Heading"
|
|
import MDXContent from "@theme/MDXContent"
|
|
import type { Props } from "@theme/DocItem/Content"
|
|
import { DocContextValue } from "@medusajs/docs"
|
|
import { Badge, type BadgeVariant } from "docs-ui"
|
|
|
|
/**
|
|
Title can be declared inside md content or declared through
|
|
front matter and added manually. To make both cases consistent,
|
|
the added title is added under the same div.markdown block
|
|
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
|
|
|
|
We render a "synthetic title" if:
|
|
- user doesn't ask to hide it with front matter
|
|
- the markdown content does not already contain a top-level h1 heading
|
|
*/
|
|
function useSyntheticTitle(): string | null {
|
|
const { metadata, frontMatter, contentTitle } = useDoc()
|
|
const shouldRender =
|
|
!frontMatter.hide_title && typeof contentTitle === "undefined"
|
|
if (!shouldRender) {
|
|
return null
|
|
}
|
|
return metadata.title
|
|
}
|
|
|
|
export default function DocItemContent({ children }: Props): JSX.Element {
|
|
const {
|
|
frontMatter: { badge },
|
|
} = useDoc() as DocContextValue
|
|
const syntheticTitle = useSyntheticTitle()
|
|
|
|
return (
|
|
<div className={clsx(ThemeClassNames.docs.docMarkdown, "markdown")}>
|
|
{syntheticTitle && (
|
|
<header
|
|
className={clsx(badge && "md:flex md:items-center md:gap-0.5 mb-2")}
|
|
>
|
|
<Heading as="h1" className={clsx(badge && "!mb-0")}>
|
|
{syntheticTitle}
|
|
{badge && (
|
|
<Badge
|
|
variant={badge.variant as BadgeVariant}
|
|
className="md:hidden ml-1 align-middle"
|
|
>
|
|
{badge.text}
|
|
</Badge>
|
|
)}
|
|
</Heading>
|
|
{badge && (
|
|
<Badge
|
|
variant={badge.variant as BadgeVariant}
|
|
className={clsx("md:block hidden")}
|
|
>
|
|
{badge.text}
|
|
</Badge>
|
|
)}
|
|
</header>
|
|
)}
|
|
<MDXContent>{children}</MDXContent>
|
|
</div>
|
|
)
|
|
}
|