diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css index c2ea7c7ff8e41..478de159f39fc 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css +++ b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css @@ -4,16 +4,42 @@ @apply font-regular relative z-20 + mb-px flex w-full items-center overflow-hidden + rounded-md text-sm text-neutral-800 dark:text-neutral-200; + &:hover { + &:not(.progression) .label { + @apply rounded-sm + bg-neutral-100 + text-neutral-900 + dark:bg-neutral-800 + dark:text-neutral-100; + } + + .icon { + @apply scale-110 + text-green-600 + dark:text-green-400; + } + + .progressionIcon { + @apply fill-green-200 + dark:fill-green-300; + } + } + .label { @apply font-regular + flex + items-center + gap-1.5 p-2 text-sm; } @@ -37,6 +63,12 @@ .label { @apply p-1; } + + &:not(.active):hover .label { + @apply rounded-sm + bg-neutral-100 + dark:bg-neutral-900; + } } &.active { diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx index 0556c11c0d156..7bd4132875cc7 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx +++ b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx @@ -34,9 +34,12 @@ const SidebarItem: FC = ({ {showProgressionIcons && ( )} - {label} - {/^https?:/.test(link) && } +
+ {label} + + {/^https?:/.test(link) && } +
); diff --git a/packages/ui-components/src/MDX/CodeTabs.tsx b/packages/ui-components/src/MDX/CodeTabs.tsx index 8728b460119f3..ab565767aa303 100644 --- a/packages/ui-components/src/MDX/CodeTabs.tsx +++ b/packages/ui-components/src/MDX/CodeTabs.tsx @@ -10,6 +10,10 @@ type MDXCodeTabsProps = { defaultTab?: string; }; +const NAME_OVERRIDES: Record = { + mjs: 'ESM', +}; + const MDXCodeTabs: FC = ({ languages: rawLanguages, displayNames: rawDisplayNames, @@ -20,12 +24,22 @@ const MDXCodeTabs: FC = ({ const languages = rawLanguages.split('|'); const displayNames = rawDisplayNames?.split('|') ?? []; + const occurrences: Record = {}; + const tabs = languages.map((language, index) => { - const displayName = displayNames[index]; + const base = + displayNames[index]?.trim() || + NAME_OVERRIDES[language] || + language.toUpperCase(); + + const count = occurrences[base] ?? 0; + occurrences[base] = count + 1; + + const label = count > 0 ? `${base} (${count + 1})` : base; return { key: `${language}-${index}`, - label: displayName?.length ? displayName : language.toUpperCase(), + label: label, }; });