Files
medusa-store/www/apps/docs/src/theme/DocSidebarItem/Html/index.tsx
Shahed Nasser 9c7f95c3d5 docs: documentation for v1.18 (#5652)
* docs: documentation for v.17.5

* fix links

* updated version number
2023-11-21 08:57:11 +00:00

68 lines
2.2 KiB
TypeScript

import React from "react"
import clsx from "clsx"
import { ThemeClassNames } from "@docusaurus/theme-common"
import type { Props } from "@theme/DocSidebarItem/Html"
import { ModifiedPropSidebarItemHtml } from "@medusajs/docs"
import DocSidebarItemIcon from "../../../components/DocSidebarItemIcon"
import { Badge } from "docs-ui"
type ModifiedProps = Props & {
item: ModifiedPropSidebarItemHtml
}
export default function DocSidebarItemHtml({
item,
level,
index,
}: ModifiedProps): JSX.Element {
const { value, defaultStyle, className, customProps } = item
return (
<li
className={clsx(
ThemeClassNames.docs.docSidebarItemLink,
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
defaultStyle && ["lg:py-[6px] lg:px-1", "menu__list-item"],
className,
customProps?.sidebar_is_title && "sidebar-title",
customProps?.sidebar_is_group_headline && "sidebar-group-headline",
customProps?.sidebar_is_group_divider && "sidebar-group-divider",
customProps?.sidebar_is_divider_line && "sidebar-divider-line",
customProps?.sidebar_is_back_link && "sidebar-back-link",
(customProps?.sidebar_is_soon || customProps?.sidebar_badge) &&
"sidebar-badge-wrapper",
customProps?.sidebar_is_soon && "sidebar-soon-link",
!customProps?.sidebar_is_title &&
"[&_.sidebar-item-icon]:w-[20px] [&_.sidebar-item-icon]:h-[20px]",
!customProps?.sidebar_is_title &&
!customProps?.sidebar_is_back_link &&
"[&_.sidebar-item-icon]:mr-0.75"
)}
key={index}
>
{customProps?.sidebar_icon && (
<DocSidebarItemIcon
icon={customProps.sidebar_icon}
is_title={customProps.sidebar_is_title}
is_disabled={customProps?.sidebar_is_soon}
/>
)}
<span
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{ __html: value }}
></span>
{customProps?.sidebar_is_soon && (
<Badge variant="purple" className={`sidebar-soon-badge`}>
Soon
</Badge>
)}
{customProps?.sidebar_badge && (
<Badge
{...customProps.sidebar_badge}
className={`sidebar-soon-badge`}
/>
)}
</li>
)
}