From c7d1a902d310c845ceb749e7df41e764af51cde3 Mon Sep 17 00:00:00 2001 From: waleed Date: Wed, 10 Jun 2026 19:24:50 -0700 Subject: [PATCH 1/2] improvement(docs): align docs UI with the platform emcn design system --- apps/docs/app/[lang]/layout.tsx | 3 +- .../docs/app/fonts/SeasonSansUprightsVF.woff2 | Bin 0 -> 89620 bytes apps/docs/app/fonts/season.ts | 16 + apps/docs/app/global.css | 764 ++++++------------ .../components/docs-layout/page-footer.tsx | 30 +- .../docs-layout/page-navigation-arrows.tsx | 16 +- .../docs-layout/sidebar-components.tsx | 38 +- apps/docs/components/navbar/navbar.tsx | 16 +- apps/docs/components/page-actions.tsx | 19 +- apps/docs/components/page-type-badge.tsx | 19 +- apps/docs/components/ui/action-media.tsx | 4 +- apps/docs/components/ui/chip-dropdown.tsx | 140 ++++ apps/docs/components/ui/chip.tsx | 172 ++++ apps/docs/components/ui/code-block.tsx | 8 +- apps/docs/components/ui/dropdown-menu.tsx | 13 +- apps/docs/components/ui/faq.tsx | 13 +- apps/docs/components/ui/heading.tsx | 4 +- apps/docs/components/ui/image.tsx | 2 +- apps/docs/components/ui/language-dropdown.tsx | 61 +- apps/docs/components/ui/search-trigger.tsx | 6 +- apps/docs/components/ui/sim-logo.tsx | 2 +- apps/docs/components/ui/theme-toggle.tsx | 6 +- apps/docs/components/ui/video.tsx | 2 +- 23 files changed, 706 insertions(+), 648 deletions(-) create mode 100644 apps/docs/app/fonts/SeasonSansUprightsVF.woff2 create mode 100644 apps/docs/app/fonts/season.ts create mode 100644 apps/docs/components/ui/chip-dropdown.tsx create mode 100644 apps/docs/components/ui/chip.tsx diff --git a/apps/docs/app/[lang]/layout.tsx b/apps/docs/app/[lang]/layout.tsx index 8c25b2f411f..5c9b2011917 100644 --- a/apps/docs/app/[lang]/layout.tsx +++ b/apps/docs/app/[lang]/layout.tsx @@ -14,6 +14,7 @@ import { i18n } from '@/lib/i18n' import { serializeJsonLd } from '@/lib/json-ld' import { source } from '@/lib/source' import { DOCS_BASE_URL } from '@/lib/urls' +import { season } from '@/app/fonts/season' import '../global.css' const inter = Inter({ @@ -84,7 +85,7 @@ export default async function Layout({ children, params }: LayoutProps) { return ( diff --git a/apps/docs/app/fonts/SeasonSansUprightsVF.woff2 b/apps/docs/app/fonts/SeasonSansUprightsVF.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..092bd529d25b7d88e2ba42310a4351a83a01b5e3 GIT binary patch literal 89620 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�+k; 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 header { @@ -213,34 +317,25 @@ html #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) line-height: 1.4 !important; padding: 0.375rem 0.875rem !important; font-weight: 450 !important; - border-radius: 0.75rem !important; + border-radius: 0.5rem !important; /* platform rounded-lg */ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; } -/* Sidebar text — aligned with platform --text-body */ -html.dark #nd-sidebar a:not(:has(span.font-mono)), -html.dark #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) { - color: #cdcdcd !important; -} - -html:not(.dark) #nd-sidebar a:not(:has(span.font-mono)), -html:not(.dark) #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) { - color: #3b3b3b !important; +/* Sidebar text — platform --text-body */ +html #nd-sidebar a:not(:has(span.font-mono)), +html #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) { + color: var(--text-body) !important; } -/* Chevron icons — aligned with platform --text-icon */ +/* Chevron icons — platform --text-icon */ #nd-sidebar svg { display: inline-block !important; opacity: 1 !important; - color: #5e5e5e !important; + color: var(--text-icon) !important; flex-shrink: 0 !important; } -html.dark #nd-sidebar svg { - color: #939393 !important; -} - /* Ensure the small chevron toggle buttons are visible */ #nd-sidebar button[aria-label*="ollapse"], #nd-sidebar button[aria-label*="xpand"] { @@ -286,40 +381,23 @@ html.dark #nd-sidebar svg { background-image: none !important; } -html.dark #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)), -html.dark #nd-sidebar button[data-active="true"] { - background-color: #2c2c2c !important; - color: #cdcdcd !important; +html #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)), +html #nd-sidebar button[data-active="true"] { + background-color: var(--surface-active) !important; + color: var(--text-body) !important; } -html:not(.dark) #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)), -html:not(.dark) #nd-sidebar button[data-active="true"] { - background-color: #ececec !important; - color: #3b3b3b !important; -} - -/* Hover state — aligned with platform --surface-hover */ -html.dark #nd-sidebar a:not(:has(span.font-mono)):hover:not([data-active="true"]), -html.dark #nd-sidebar button:hover:not([data-active="true"]) { - background-color: #262626 !important; -} - -html:not(.dark) #nd-sidebar a:not(:has(span.font-mono)):hover:not([data-active="true"]), -html:not(.dark) #nd-sidebar button:hover:not([data-active="true"]) { - background-color: #f2f2f2 !important; +/* Hover state — platform --surface-3 */ +html #nd-sidebar a:not(:has(span.font-mono)):hover:not([data-active="true"]), +html #nd-sidebar button:hover:not([data-active="true"]) { + background-color: var(--surface-3) !important; } /* Active items don't change on hover */ -html.dark #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)):hover, -html.dark #nd-sidebar button[data-active="true"]:hover { - background-color: #2c2c2c !important; - color: #cdcdcd !important; -} - -html:not(.dark) #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)):hover, -html:not(.dark) #nd-sidebar button[data-active="true"]:hover { - background-color: #ececec !important; - color: #3b3b3b !important; +html #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)):hover, +html #nd-sidebar button[data-active="true"]:hover { + background-color: var(--surface-active) !important; + color: var(--text-body) !important; } /* Hide search, platform, and collapse button from sidebar completely */ @@ -474,23 +552,16 @@ pre code { /* Inline code — neutral colors aligned with sim design system */ :not(pre) > code { padding: 0.2em 0.4em; - border-radius: 0.25rem; + border-radius: 0.375rem; font-size: 0.875em; font-weight: 500; } -/* Light mode inline code — neutral, no red */ -:root:not(.dark) :not(pre) > code { - background-color: rgb(245 245 245); - color: rgb(55 65 81); - border: 1px solid rgb(229 231 235); -} - -/* Dark mode inline code — neutral, no red */ -.dark :not(pre) > code { - background-color: rgb(38 38 38); - color: rgb(212 212 216); - border: 1px solid rgb(63 63 70); +/* Inline code — platform surface-4 / text-body / border-1 */ +:not(pre) > code { + background-color: var(--surface-4); + color: var(--text-body); + border: 1px solid var(--border-1); } /* Remove heavy shadows globally — aligned with sim design system (shadow-card: 0 1px 3px rgba(0,0,0,0.04)) */ @@ -503,7 +574,7 @@ figure[data-rehype-pretty-code-figure], /* Search dialog — lighter shadow + constrained size */ [data-radix-popper-content-wrapper] > div, [role="dialog"][data-state] { - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; + box-shadow: var(--shadow-medium) !important; } [role="dialog"][data-state] { @@ -543,13 +614,7 @@ main article h1, font-size: 1.5rem !important; font-weight: 550 !important; letter-spacing: -0.02em; - color: rgba(0, 0, 0, 0.88); -} - -html.dark main article h1, -html.dark [data-content] h1, -html.dark #nd-page h1 { - color: rgba(255, 255, 255, 0.92); + color: var(--text-primary); } main article h2, @@ -558,13 +623,7 @@ main article h2, font-size: 1.25rem !important; font-weight: 500 !important; letter-spacing: -0.015em; - color: rgba(0, 0, 0, 0.85); -} - -html.dark main article h2, -html.dark [data-content] h2, -html.dark #nd-page h2 { - color: rgba(255, 255, 255, 0.88); + color: var(--text-primary); } main article h3, @@ -576,55 +635,28 @@ main article h4, font-size: 1rem !important; font-weight: 470 !important; letter-spacing: -0.01em; - color: rgba(0, 0, 0, 0.8); -} - -html.dark main article h3, -html.dark main article h4, -html.dark [data-content] h3, -html.dark [data-content] h4, -html.dark #nd-page h3, -html.dark #nd-page h4 { - color: rgba(255, 255, 255, 0.85); + color: var(--text-body); } -/* Body text — align with landing text colors */ +/* Body text — platform --text-secondary */ main article p, [data-content] p, [data-docs-page] p { - color: rgba(0, 0, 0, 0.7); + color: var(--text-secondary); } -html.dark main article p, -html.dark [data-content] p, -html.dark [data-docs-page] p { - color: rgba(255, 255, 255, 0.7); -} - -/* Muted text — align with landing-text-muted (#999999) */ +/* Muted text — platform --text-muted */ main article .text-muted-foreground, [data-content] .text-muted-foreground, [data-docs-page] .text-muted-foreground { - color: rgba(0, 0, 0, 0.45); -} - -html.dark main article .text-muted-foreground, -html.dark [data-content] .text-muted-foreground, -html.dark [data-docs-page] .text-muted-foreground { - color: rgba(255, 255, 255, 0.45); + color: var(--text-muted); } /* List items — inherit body text color */ main article li, [data-content] li, [data-docs-page] li { - color: rgba(0, 0, 0, 0.7); -} - -html.dark main article li, -html.dark [data-content] li, -html.dark [data-docs-page] li { - color: rgba(255, 255, 255, 0.7); + color: var(--text-secondary); } /* Custom text highlighting styles */ @@ -647,43 +679,26 @@ html.dark [data-docs-page] li { #nd-toc [class*="title"] { font-weight: 480 !important; font-size: 0.8125rem !important; - color: rgba(0, 0, 0, 0.5); -} - -html.dark #nd-toc h3, -html.dark #nd-toc [class*="title"] { - color: rgba(255, 255, 255, 0.45); + color: var(--text-muted); } /* TOC links — softer colors aligned with landing muted text */ #nd-toc a { font-weight: 430 !important; font-size: 0.8125rem !important; - color: rgba(0, 0, 0, 0.5); + color: var(--text-muted); transition: color 0.2s; } -html.dark #nd-toc a { - color: rgba(255, 255, 255, 0.45); -} - #nd-toc a:hover { - color: rgba(0, 0, 0, 0.75); -} - -html.dark #nd-toc a:hover { - color: rgba(255, 255, 255, 0.7); + color: var(--text-body); } #nd-toc a[data-active="true"] { - color: rgba(0, 0, 0, 0.85) !important; + color: var(--text-primary) !important; font-weight: 470 !important; } -html.dark #nd-toc a[data-active="true"] { - color: rgba(255, 255, 255, 0.9) !important; -} - /* Add bottom spacing to prevent abrupt page endings */ [data-content] { padding-top: 1.5rem !important; @@ -780,36 +795,19 @@ video { span.font-mono.font-medium[data-method="get"], span.font-mono.font-medium[data-method="head"], span.font-mono.font-medium[data-method="options"] { - background-color: rgb(220 252 231 / 0.85); -} -html.dark span.font-mono.font-medium[data-method="get"], -html.dark span.font-mono.font-medium[data-method="head"], -html.dark span.font-mono.font-medium[data-method="options"] { - background-color: rgb(34 197 94 / 0.15); + background-color: var(--badge-success-bg); } span.font-mono.font-medium[data-method="post"] { - background-color: rgb(219 234 254 / 0.85); -} -html.dark span.font-mono.font-medium[data-method="post"] { - background-color: rgb(59 130 246 / 0.15); + background-color: var(--badge-blue-bg); } span.font-mono.font-medium[data-method="put"] { - background-color: rgb(254 249 195 / 0.85); -} -html.dark span.font-mono.font-medium[data-method="put"] { - background-color: rgb(234 179 8 / 0.15); + background-color: var(--badge-amber-bg); } span.font-mono.font-medium[data-method="patch"] { - background-color: rgb(255 237 213 / 0.85); -} -html.dark span.font-mono.font-medium[data-method="patch"] { - background-color: rgb(249 115 22 / 0.15); + background-color: var(--badge-orange-bg); } span.font-mono.font-medium[data-method="delete"] { - background-color: rgb(254 226 226 / 0.85); -} -html.dark span.font-mono.font-medium[data-method="delete"] { - background-color: rgb(239 68 68 / 0.15); + background-color: var(--badge-error-bg); } /* Sidebar links with method badges — match regular item padding */ @@ -833,7 +831,7 @@ html #nd-sidebar a:has(span.font-mono.font-medium) { font-size: 0.625rem !important; line-height: 1 !important; padding: 0.15625rem 0.25rem; - border-radius: 0.1875rem; + border-radius: 0.375rem; flex-shrink: 0; } @@ -845,7 +843,7 @@ html #nd-sidebar a:has(span.font-mono.font-medium) { font-size: 0.625rem !important; line-height: 1 !important; padding: 0.15625rem 0.375rem; - border-radius: 0.1875rem; + border-radius: 0.375rem; } /* API page code/card containers — transparent background */ @@ -899,16 +897,9 @@ div.flex.flex-row.items-start.bg-fd-secondary.border.rounded-lg.text-xs { /* Method+path bar — cleaner, lighter styling like Gumloop. Override bg-fd-card CSS variable directly for reliability. */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose { - --color-fd-card: rgb(249 250 251) !important; - background-color: rgb(249 250 251) !important; - border-color: rgb(229 231 235) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose { - --color-fd-card: rgb(24 24 27) !important; - background-color: rgb(24 24 27) !important; - border-color: rgb(63 63 70) !important; + --color-fd-card: var(--surface-3) !important; + background-color: var(--surface-3) !important; + border-color: var(--border-1) !important; } /* Method badge inside path bar — cleaner sans-serif, softer colors */ #nd-page:has(.api-page-header) @@ -927,95 +918,50 @@ html.dark #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose span.font-mono.font-medium[class*="text-green"] { - color: rgb(22 163 74) !important; - background-color: rgb(220 252 231 / 0.7) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - span.font-mono.font-medium[class*="text-green"] { - color: rgb(74 222 128) !important; - background-color: rgb(34 197 94 / 0.15) !important; + color: var(--badge-success-text) !important; + background-color: var(--badge-success-bg) !important; } /* POST */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose span.font-mono.font-medium[class*="text-blue"] { - color: rgb(37 99 235) !important; - background-color: rgb(219 234 254 / 0.7) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - span.font-mono.font-medium[class*="text-blue"] { - color: rgb(96 165 250) !important; - background-color: rgb(59 130 246 / 0.15) !important; + color: var(--badge-blue-text) !important; + background-color: var(--badge-blue-bg) !important; } /* PUT */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose span.font-mono.font-medium[class*="text-yellow"] { - color: rgb(161 98 7) !important; - background-color: rgb(254 249 195 / 0.7) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - span.font-mono.font-medium[class*="text-yellow"] { - color: rgb(250 204 21) !important; - background-color: rgb(234 179 8 / 0.15) !important; + color: var(--badge-amber-text) !important; + background-color: var(--badge-amber-bg) !important; } /* PATCH */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose span.font-mono.font-medium[class*="text-orange"] { - color: rgb(194 65 12) !important; - background-color: rgb(255 237 213 / 0.7) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - span.font-mono.font-medium[class*="text-orange"] { - color: rgb(251 146 60) !important; - background-color: rgb(249 115 22 / 0.15) !important; + color: var(--badge-orange-text) !important; + background-color: var(--badge-orange-bg) !important; } /* DELETE */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose span.font-mono.font-medium[class*="text-red"] { - color: rgb(185 28 28) !important; - background-color: rgb(254 226 226 / 0.7) !important; -} -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - span.font-mono.font-medium[class*="text-red"] { - color: rgb(248 113 113) !important; - background-color: rgb(239 68 68 / 0.15) !important; + color: var(--badge-error-text) !important; + background-color: var(--badge-error-bg) !important; } /* Path text inside method+path bar — monospace, bright like Gumloop */ #nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose code { - color: rgb(55 65 81) !important; + color: var(--text-body) !important; background: none !important; border: none !important; padding: 0 !important; font-size: 0.8125rem !important; } -html.dark - #nd-page:has(.api-page-header) - div.flex.flex-row.items-center.rounded-xl.border.not-prose - code { - color: rgb(229 231 235) !important; -} - /* Inline code in API pages — neutral color aligned with sim design. Exclude code inside the method+path bar (handled above). */ #nd-page:has(.api-page-header) .prose :not(pre) > code { - color: rgb(55 65 81) !important; -} -html.dark #nd-page:has(.api-page-header) .prose :not(pre) > code { - color: rgb(212 212 216) !important; + color: var(--text-body) !important; } /* Response Section — custom dropdown-based rendering (Mintlify style) */ @@ -1065,14 +1011,10 @@ html.dark #nd-page:has(.api-page-header) .prose :not(pre) > code { font-weight: 500; letter-spacing: -0.015em; margin: 0; - color: rgba(0, 0, 0, 0.85); + color: var(--text-primary); font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, sans-serif; } -html.dark .response-section-title { - color: rgba(255, 255, 255, 0.88); -} - .response-section-meta { display: flex; align-items: center; @@ -1096,7 +1038,7 @@ html.dark .response-section-title { background: none; border: none; cursor: pointer; - border-radius: 0.25rem; + border-radius: 0.375rem; transition: color 0.15s; font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif; } @@ -1119,18 +1061,13 @@ html.dark .response-section-title { left: 0; z-index: 50; min-width: 5rem; - background-color: var(--color-fd-popover, white); - border: 1px solid rgb(229 231 235); - border-radius: 0.5rem; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); + background-color: var(--bg); + border: 1px solid var(--border); + border-radius: 0.75rem; + box-shadow: var(--shadow-card); padding: 0.375rem; overflow: hidden; } -html.dark .response-section-dropdown-menu { - background-color: var(--color-fd-popover, rgb(24 24 27)); - border-color: rgb(63 63 70); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); -} .response-section-dropdown-item { display: flex; @@ -1139,22 +1076,19 @@ html.dark .response-section-dropdown-menu { width: 100%; padding: 0.375rem 0.5rem; font-size: 0.875rem; - color: var(--color-fd-muted-foreground); + color: var(--text-body); background: none; border: none; cursor: pointer; - border-radius: 0.25rem; + border-radius: 0.5rem; transition: background-color 0.1s, color 0.1s; font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif; } .response-section-dropdown-item:hover { - background-color: rgb(243 244 246); - color: var(--color-fd-foreground); -} -html.dark .response-section-dropdown-item:hover { - background-color: rgb(39 39 42); + background-color: var(--surface-active); + color: var(--text-primary); } .response-section-dropdown-item-selected { color: var(--color-fd-foreground); @@ -1198,8 +1132,8 @@ html.dark .response-section-dropdown-item:hover { .flex.flex-wrap.items-center.gap-3.not-prose > span.text-sm.font-mono.text-fd-muted-foreground { order: 2; - background-color: rgb(241 245 249); - color: rgb(71 85 105); + background-color: var(--surface-5); + color: var(--text-secondary); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; font-size: 0.6875rem; @@ -1211,8 +1145,8 @@ html.dark #nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > span.text-sm.font-mono.text-fd-muted-foreground { - background-color: rgb(51 51 56); - color: rgb(212 212 220); + background-color: var(--surface-4); + color: var(--text-secondary); } /* Hide the "*" inside the name span — we'll add "required" as a ::after on the flex row */ @@ -1227,8 +1161,8 @@ html.dark order: 3; display: inline-flex; align-items: center; - background-color: rgb(254 226 226); - color: rgb(185 28 28); + background-color: var(--badge-error-bg); + color: var(--badge-error-text); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; font-size: 0.6875rem; @@ -1236,13 +1170,6 @@ html.dark font-weight: 500; font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif; } -html.dark - #nd-page:has(.api-page-header) - .flex.flex-wrap.items-center.gap-3.not-prose:has(span.text-red-400)::after { - background-color: rgb(153 27 27 / 0.3); - color: rgb(252 165 165); -} - /* Optional "?" indicator — hide it */ #nd-page:has(.api-page-header) span.font-medium.font-mono.text-fd-primary @@ -1284,8 +1211,8 @@ html.dark line-height: 1.125rem; font-weight: 500; font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif; - background-color: rgb(241 245 249); - color: rgb(71 85 105); + background-color: var(--surface-5); + color: var(--text-secondary); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; display: inline-flex; @@ -1296,8 +1223,8 @@ html.dark div.my-4 > .flex.flex-wrap.items-center.gap-3.not-prose > span.text-sm.font-mono.text-fd-muted-foreground::after { - background-color: rgb(51 51 56); - color: rgb(212 212 220); + background-color: var(--surface-4); + color: var(--text-secondary); } /* "header" badge via ::before on the auth flex row */ @@ -1306,8 +1233,8 @@ html.dark order: 3; display: inline-flex; align-items: center; - background-color: rgb(241 245 249); - color: rgb(71 85 105); + background-color: var(--surface-5); + color: var(--text-secondary); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; font-size: 0.6875rem; @@ -1319,8 +1246,8 @@ html.dark #nd-page:has(.api-page-header) div.my-4 > .flex.flex-wrap.items-center.gap-3.not-prose::before { - background-color: rgb(51 51 56); - color: rgb(212 212 220); + background-color: var(--surface-4); + color: var(--text-secondary); } /* "required" badge via ::after on the auth flex row — red pill */ @@ -1329,8 +1256,8 @@ html.dark order: 4; display: inline-flex; align-items: center; - background-color: rgb(254 226 226); - color: rgb(185 28 28); + background-color: var(--badge-error-bg); + color: var(--badge-error-text); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; font-size: 0.6875rem; @@ -1338,14 +1265,6 @@ html.dark font-weight: 500; font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif; } -html.dark - #nd-page:has(.api-page-header) - div.my-4 - > .flex.flex-wrap.items-center.gap-3.not-prose::after { - background-color: rgb(153 27 27 / 0.3); - color: rgb(252 165 165); -} - /* Hide "In: header" text below auth property — redundant with the header badge */ #nd-page:has(.api-page-header) div.my-4 .prose-no-margin p:has(> code) { display: none !important; @@ -1354,10 +1273,7 @@ html.dark /* Section dividers — bottom border after Authorization and Body sections. */ .api-section-divider { padding-bottom: 0.5rem; - border-bottom: 1px solid rgb(229 231 235 / 0.6); -} -html.dark .api-section-divider { - border-bottom-color: rgb(255 255 255 / 0.07); + border-bottom: 1px solid var(--surface-active); } /* Property rows — breathing room like Mintlify. @@ -1374,10 +1290,7 @@ html.dark .api-section-divider { /* Divider lines between fields — very subtle like Mintlify */ #nd-page:has(.api-page-header) .text-sm.border-t { - border-color: rgb(229 231 235 / 0.6); -} -html.dark #nd-page:has(.api-page-header) .text-sm.border-t { - border-color: rgb(255 255 255 / 0.07); + border-color: var(--surface-active); } /* Body/Callback section "application/json" label — remove inline code styling */ @@ -1395,8 +1308,8 @@ html.dark #nd-page:has(.api-page-header) .text-sm.border-t { #nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > button, #nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > span:has(> button) { order: 2; - background-color: rgb(241 245 249); - color: rgb(71 85 105); + background-color: var(--surface-5); + color: var(--text-secondary); padding: 0.1875rem 0.5rem; border-radius: 0.375rem; font-size: 0.6875rem; @@ -1409,8 +1322,8 @@ html.dark #nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > span:has(> button) { - background-color: rgb(51 51 56); - color: rgb(212 212 220); + background-color: var(--surface-4); + color: var(--text-secondary); } /* Section headings (Authorization, Path Parameters, etc.) — consistent top spacing */ @@ -1434,15 +1347,11 @@ html.dark div.rounded-xl.border.bg-fd-card.shadow-md:has(> [role="none"]) { background-color: transparent !important; box-shadow: none !important; - border-color: rgba(0, 0, 0, 0.1) !important; + border-color: var(--border-1) !important; padding-left: 0.875rem !important; align-items: center !important; } -html.dark div.rounded-xl.border.bg-fd-card.shadow-md:has(> [role="none"]) { - border-color: rgba(255, 255, 255, 0.1) !important; -} - div.rounded-xl.border.bg-fd-card.shadow-md > [role="none"] { display: none !important; } @@ -1450,11 +1359,7 @@ div.rounded-xl.border.bg-fd-card.shadow-md > [role="none"] { /* Files component — transparent background */ div.not-prose.rounded-md.border.bg-fd-card.p-2 { background-color: transparent !important; - border-color: rgba(0, 0, 0, 0.1) !important; -} - -html.dark div.not-prose.rounded-md.border.bg-fd-card.p-2 { - border-color: rgba(255, 255, 255, 0.1) !important; + border-color: var(--border-1) !important; } /* Callout icon — outline style, text color, vertically centered */ @@ -1527,47 +1432,31 @@ main article thead th { background: none !important; font-weight: 600 !important; padding: 0.5rem 0.75rem !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important; + border-bottom: 1px solid var(--border) !important; border-left: none !important; border-right: none !important; border-top: none !important; border-inline-start: none !important; - color: rgba(0, 0, 0, 0.85); + color: var(--text-primary); text-align: left; white-space: nowrap; line-height: 1.5; } -html.dark .prose thead th, -html.dark [data-docs-page] thead th, -html.dark [data-content] thead th, -html.dark main article thead th { - border-bottom-color: rgba(255, 255, 255, 0.1) !important; - color: rgba(255, 255, 255, 0.88); -} - .prose td, [data-docs-page] td, [data-content] td, main article td { padding: 0.5rem 0.75rem !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important; + border-bottom: 1px solid var(--surface-active) !important; border-left: none !important; border-right: none !important; border-top: none !important; border-inline-start: none !important; - color: rgba(0, 0, 0, 0.7); + color: var(--text-secondary); line-height: 1.5; } -html.dark .prose td, -html.dark [data-docs-page] td, -html.dark [data-content] td, -html.dark main article td { - border-bottom-color: rgba(255, 255, 255, 0.06) !important; - color: rgba(255, 255, 255, 0.7); -} - /* Remove bottom border on last row */ .prose tbody tr:last-child td, [data-docs-page] tbody tr:last-child td, @@ -1583,19 +1472,12 @@ figure.shiki:not(div > figure.shiki), figure[data-rehype-pretty-code-figure]:not(div > figure[data-rehype-pretty-code-figure]), figure:has(pre):not(div > figure:has(pre)) { border-radius: 0.5rem !important; - border: 1px solid rgba(0, 0, 0, 0.15) !important; + border: 1px solid var(--border) !important; overflow: hidden !important; background-color: transparent !important; box-shadow: none !important; } -html.dark figure.shiki:not(div > figure.shiki), -html.dark figure[data-rehype-pretty-code-figure]:not(div > figure[data-rehype-pretty-code-figure]), -html.dark figure:has(pre):not(div > figure:has(pre)) { - border-color: rgba(255, 255, 255, 0.15) !important; - background-color: transparent !important; -} - /* Code block inside tabs (API examples) — no extra border, inherits from parent */ div > figure.shiki { border: none !important; @@ -1610,70 +1492,40 @@ html.dark div > figure.shiki { /* Tabbed code block container (cURL/JS/Go tabs) */ div:has(> [role="tablist"]):has(> div > figure.shiki) { border-radius: 0.5rem !important; - border: 1px solid rgba(0, 0, 0, 0.08) !important; + border: 1px solid var(--border) !important; overflow: hidden !important; background-color: transparent !important; box-shadow: none !important; } -html.dark div:has(> [role="tablist"]):has(> div > figure.shiki) { - border-color: rgba(255, 255, 255, 0.08) !important; - background-color: transparent !important; -} - /* Tab list bar — match platform surface-4 */ div:has(> div > figure.shiki) > [role="tablist"] { background: none !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important; -} - -html.dark div:has(> div > figure.shiki) > [role="tablist"] { - border-bottom-color: rgba(255, 255, 255, 0.06) !important; + border-bottom: 1px solid var(--surface-active) !important; } /* Tab triggers — muted text, active gets foreground */ div:has(> div > figure.shiki) > [role="tablist"] button { - color: rgba(0, 0, 0, 0.4) !important; + color: var(--text-muted) !important; font-weight: 470 !important; } div:has(> div > figure.shiki) > [role="tablist"] button:hover { - color: rgba(0, 0, 0, 0.7) !important; + color: var(--text-body) !important; } div:has(> div > figure.shiki) > [role="tablist"] button[data-state="active"] { - color: rgba(0, 0, 0, 0.85) !important; -} - -html.dark div:has(> div > figure.shiki) > [role="tablist"] button { - color: rgba(255, 255, 255, 0.35) !important; -} - -html.dark div:has(> div > figure.shiki) > [role="tablist"] button:hover { - color: rgba(255, 255, 255, 0.65) !important; -} - -html.dark div:has(> div > figure.shiki) > [role="tablist"] button[data-state="active"] { - color: rgba(255, 255, 255, 0.88) !important; + color: var(--text-primary) !important; } /* Code block title header (figcaption with filename) */ figure.shiki > div:first-child:has(figcaption) { - background-color: rgb(245, 245, 245) !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important; -} - -html.dark figure.shiki > div:first-child:has(figcaption) { - background-color: rgb(41, 41, 41) !important; - border-bottom-color: rgba(255, 255, 255, 0.06) !important; + background-color: var(--surface-4) !important; + border-bottom: 1px solid var(--surface-active) !important; } figure.shiki figcaption { - color: rgba(0, 0, 0, 0.45) !important; -} - -html.dark figure.shiki figcaption { - color: rgba(255, 255, 255, 0.4) !important; + color: var(--text-muted) !important; } /* Code block pre element — transparent bg */ @@ -1697,7 +1549,7 @@ html.dark figure.shiki > div[role="region"] { /* Copy button — minimal ghost style */ figure.shiki button[aria-label="Copy Text"], figure.shiki button[aria-label="Copied Text"] { - color: rgba(0, 0, 0, 0.3) !important; + color: var(--text-muted) !important; background: none !important; border: none !important; box-shadow: none !important; @@ -1705,24 +1557,11 @@ figure.shiki button[aria-label="Copied Text"] { } figure.shiki button[aria-label="Copy Text"]:hover { - color: rgba(0, 0, 0, 0.6) !important; + color: var(--text-icon) !important; } figure.shiki button[aria-label="Copied Text"] { - color: rgb(34, 197, 94) !important; -} - -html.dark figure.shiki button[aria-label="Copy Text"], -html.dark figure.shiki button[aria-label="Copied Text"] { - color: rgba(255, 255, 255, 0.25) !important; -} - -html.dark figure.shiki button[aria-label="Copy Text"]:hover { - color: rgba(255, 255, 255, 0.6) !important; -} - -html.dark figure.shiki button[aria-label="Copied Text"] { - color: rgb(74, 222, 128) !important; + color: var(--brand-accent) !important; } /* Copy button container — remove backdrop blur bg */ @@ -1737,14 +1576,8 @@ figure.shiki > div:has(> button[aria-label]) { display: flex !important; flex-direction: column !important; gap: 0 !important; - border-top: 1px solid rgba(0, 0, 0, 0.08) !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important; -} - -html.dark .prose .grid:has(> a[data-card]), -html.dark #nd-page .grid:has(> a[data-card]) { - border-top-color: rgba(255, 255, 255, 0.08) !important; - border-bottom-color: rgba(255, 255, 255, 0.08) !important; + border-top: 1px solid var(--border) !important; + border-bottom: 1px solid var(--border) !important; } /* Card items — line-separated rows with hover bg (scoped to grid container only) */ @@ -1754,7 +1587,7 @@ html.dark #nd-page .grid:has(> a[data-card]) { gap: 0.125rem !important; background: none !important; border: none !important; - border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important; + border-bottom: 1px solid var(--border) !important; border-radius: 0 !important; padding: 0.875rem 1rem !important; transition: background-color 0.15s !important; @@ -1766,82 +1599,47 @@ html.dark #nd-page .grid:has(> a[data-card]) { } .grid > a[data-card]:hover { - background-color: rgba(0, 0, 0, 0.02) !important; -} - -html.dark .grid > a[data-card] { - border-bottom-color: rgba(255, 255, 255, 0.08) !important; - background: none !important; -} - -html.dark .grid > a[data-card]:hover { - background-color: rgba(255, 255, 255, 0.03) !important; + background-color: var(--surface-3) !important; } /* Card title */ .grid > a[data-card] h3 { font-weight: 470 !important; font-size: 0.875rem !important; - color: rgba(0, 0, 0, 0.85) !important; -} - -html.dark .grid > a[data-card] h3 { - color: rgba(255, 255, 255, 0.88) !important; + color: var(--text-primary) !important; } /* Card description */ .grid > a[data-card] p, .grid > a[data-card] div { - color: rgba(0, 0, 0, 0.45) !important; + color: var(--text-muted) !important; font-size: 0.8125rem !important; } -html.dark .grid > a[data-card] p, -html.dark .grid > a[data-card] div { - color: rgba(255, 255, 255, 0.4) !important; -} - /* Steps — lighter styling aligned with platform */ .fd-steps { - border-left-color: rgba(0, 0, 0, 0.08) !important; -} - -html.dark .fd-steps { - border-left-color: rgba(255, 255, 255, 0.08) !important; + border-left-color: var(--surface-active) !important; } .fd-step::before { - background-color: rgb(245, 245, 245) !important; - color: rgba(0, 0, 0, 0.5) !important; + background-color: var(--surface-4) !important; + color: var(--text-muted) !important; font-weight: 500 !important; } -html.dark .fd-step::before { - background-color: rgb(41, 41, 41) !important; - color: rgba(255, 255, 255, 0.45) !important; -} - /* Blockquotes — subtle left border, matching platform divider */ .prose blockquote, [data-docs-page] blockquote, [data-content] blockquote, main article blockquote { - border-left: 3px solid rgba(0, 0, 0, 0.1) !important; + border-left: 3px solid var(--border-1) !important; padding: 0.25rem 0 0.25rem 1rem !important; - color: rgba(0, 0, 0, 0.55) !important; + color: var(--text-muted) !important; font-style: italic; background: none !important; margin: 1.5rem 0 !important; } -html.dark .prose blockquote, -html.dark [data-docs-page] blockquote, -html.dark [data-content] blockquote, -html.dark main article blockquote { - border-left-color: rgba(255, 255, 255, 0.1) !important; - color: rgba(255, 255, 255, 0.5) !important; -} - /* Remove all remaining box-shadows on content components */ .prose > *, [data-docs-page] figure, @@ -1855,76 +1653,48 @@ html.dark main article blockquote { so the docs previews match the OG repository in both modes. */ .wp-scope { /* surfaces */ - --wp-canvas: #fefefe; /* --bg */ - --wp-panel: #fbfbfb; /* --surface-1 */ - --wp-surface: #ffffff; /* --surface-2 */ - --wp-header: #f7f7f7; /* --surface-3 */ - --wp-btn: #f5f5f5; /* --surface-4 */ - --wp-control: #f3f3f3; /* --surface-5 */ - --wp-active: #ececec; /* --surface-active */ + --wp-canvas: var(--bg); + --wp-panel: var(--surface-1); + --wp-surface: var(--surface-2); + --wp-header: var(--surface-3); + --wp-btn: var(--surface-4); + --wp-control: var(--surface-5); + --wp-active: var(--surface-active); --wp-container-fill: rgba(0, 0, 0, 0.02); /* borders */ - --wp-border: #dedede; /* --border */ - --wp-border-1: #e0e0e0; /* --border-1 */ - --wp-chip-bg: #f3f3f3; /* --surface-5: ChipTag surface (light) */ - --wp-chip-text: #3b3b3b; /* --text-body */ + --wp-border: var(--border); + --wp-border-1: var(--border-1); + --wp-chip-bg: var(--surface-5); /* ChipTag surface (light) */ + --wp-chip-text: var(--text-body); --wp-divider: #ededed; /* --divider */ --wp-edge: #e0e0e0; /* --workflow-edge */ /* text */ - --wp-text: #1a1a1a; /* --text-primary */ - --wp-text-2: #525252; /* --text-secondary */ - --wp-text-3: #5c5c5c; /* --text-tertiary */ - --wp-text-muted: #707070; /* --text-muted */ - --wp-text-subtle: #8c8c8c; /* --text-subtle */ + --wp-text: var(--text-primary); + --wp-text-2: var(--text-secondary); + --wp-text-3: var(--text-tertiary); + --wp-text-muted: var(--text-muted); + --wp-text-subtle: var(--text-subtle); /* type badges (output inspector) */ - --wp-badge-success-bg: #bbf7d0; - --wp-badge-success-text: #15803d; - --wp-badge-blue-bg: #bfdbfe; - --wp-badge-blue-text: #1d4ed8; - --wp-badge-orange-bg: #fed7aa; - --wp-badge-orange-text: #c2410c; - --wp-badge-purple-bg: #e9d5ff; - --wp-badge-purple-text: #7c3aed; - --wp-badge-gray-bg: #e7e5e4; - --wp-badge-gray-text: #57534e; + --wp-badge-success-bg: var(--badge-success-bg); + --wp-badge-success-text: var(--badge-success-text); + --wp-badge-blue-bg: var(--badge-blue-bg); + --wp-badge-blue-text: var(--badge-blue-text); + --wp-badge-orange-bg: var(--badge-orange-bg); + --wp-badge-orange-text: var(--badge-orange-text); + --wp-badge-purple-bg: var(--badge-purple-bg); + --wp-badge-purple-text: var(--badge-purple-text); + --wp-badge-gray-bg: var(--badge-gray-bg); + --wp-badge-gray-text: var(--badge-gray-text); } .dark .wp-scope { - --wp-canvas: #1b1b1b; - --wp-panel: #1e1e1e; - --wp-surface: #232323; - --wp-header: #242424; - --wp-btn: #292929; - --wp-control: #363636; - --wp-active: #2c2c2c; --wp-container-fill: rgba(255, 255, 255, 0.02); - - --wp-border: #333333; - --wp-border-1: #3d3d3d; - --wp-chip-bg: #292929; /* --surface-4: ChipTag surface (dark) */ - --wp-chip-text: #cdcdcd; /* --text-body */ + --wp-chip-bg: var(--surface-4); /* ChipTag surface (dark) */ --wp-divider: #393939; --wp-edge: #454545; - - --wp-text: #e6e6e6; - --wp-text-2: #cccccc; - --wp-text-3: #b3b3b3; - --wp-text-muted: #787878; - --wp-text-subtle: #7d7d7d; - - --wp-badge-success-bg: rgba(34, 197, 94, 0.2); - --wp-badge-success-text: #86efac; - --wp-badge-blue-bg: rgba(59, 130, 246, 0.2); - --wp-badge-blue-text: #93c5fd; - --wp-badge-orange-bg: rgba(249, 115, 22, 0.2); - --wp-badge-orange-text: #fdba74; - --wp-badge-purple-bg: rgba(168, 85, 247, 0.2); - --wp-badge-purple-text: #d8b4fe; - --wp-badge-gray-bg: #3a3a3a; - --wp-badge-gray-text: #a8a8a8; } /* Tailwind v4 content sources */ diff --git a/apps/docs/components/docs-layout/page-footer.tsx b/apps/docs/components/docs-layout/page-footer.tsx index 0e88e8b10e1..c7fd77d470c 100644 --- a/apps/docs/components/docs-layout/page-footer.tsx +++ b/apps/docs/components/docs-layout/page-footer.tsx @@ -33,19 +33,17 @@ const SOCIAL_LINKS = [ export function PageFooter({ previous, next }: PageFooterProps) { return (

-
+
{(previous || next) && ( -
+
{previous ? ( - - Previous - - + Previous + {previous.name} @@ -54,19 +52,13 @@ export function PageFooter({ previous, next }: PageFooterProps) {
)} - {previous && next && ( -
- )} - {next ? ( - - Next - - + Next + {next.name} @@ -77,9 +69,7 @@ export function PageFooter({ previous, next }: PageFooterProps) {
)} -
- -
+
{SOCIAL_LINKS.map((link) => ( diff --git a/apps/docs/components/docs-layout/page-navigation-arrows.tsx b/apps/docs/components/docs-layout/page-navigation-arrows.tsx index cc7efb33fa6..4701e2876a4 100644 --- a/apps/docs/components/docs-layout/page-navigation-arrows.tsx +++ b/apps/docs/components/docs-layout/page-navigation-arrows.tsx @@ -12,6 +12,9 @@ interface PageNavigationArrowsProps { } } +const ARROW_LINK_CLASS = + 'flex size-[30px] items-center justify-center rounded-lg text-[var(--text-icon)] transition-colors hover:bg-[var(--surface-active)]' + export function PageNavigationArrows({ previous, next }: PageNavigationArrowsProps) { if (!previous && !next) return null @@ -20,21 +23,16 @@ export function PageNavigationArrows({ previous, next }: PageNavigationArrowsPro {previous && ( - + )} {next && ( - - + + )}
diff --git a/apps/docs/components/docs-layout/sidebar-components.tsx b/apps/docs/components/docs-layout/sidebar-components.tsx index 0826cbb7b92..e023830bc9f 100644 --- a/apps/docs/components/docs-layout/sidebar-components.tsx +++ b/apps/docs/components/docs-layout/sidebar-components.tsx @@ -51,20 +51,18 @@ function isActive(url: string, pathname: string, nested = true): boolean { } const ITEM_BASE = - 'flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors text-fd-muted-foreground hover:bg-fd-accent/50 hover:text-fd-accent-foreground' -const ITEM_ACTIVE_MOBILE = 'bg-fd-primary/10 font-medium text-fd-primary' + 'flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-[var(--text-muted)] text-sm transition-colors hover:bg-[var(--surface-active)] hover:text-[var(--text-body)]' +const ITEM_ACTIVE_MOBILE = 'bg-[var(--surface-active)] font-medium text-[var(--text-primary)]' const ITEM_DESKTOP = 'lg:mb-[0.0625rem] lg:block lg:rounded-lg lg:px-2.5 lg:py-1.5 lg:font-normal lg:text-[13px] lg:leading-tight' -const ITEM_TEXT = 'lg:text-[#3b3b3b] lg:dark:text-[#cdcdcd]' -const ITEM_HOVER = 'lg:hover:bg-[#f2f2f2] lg:dark:hover:bg-[#262626]' -const ITEM_ACTIVE = - 'lg:bg-[#ececec] lg:font-normal lg:text-[#3b3b3b] lg:dark:bg-[#2c2c2c] lg:dark:text-[#cdcdcd]' +const ITEM_TEXT = 'lg:text-[var(--text-body)]' +const ITEM_HOVER = 'lg:hover:bg-[var(--surface-3)]' +const ITEM_ACTIVE = 'lg:bg-[var(--surface-active)] lg:font-normal lg:text-[var(--text-body)]' -const FOLDER_TEXT = 'lg:text-[#3b3b3b] lg:font-medium lg:dark:text-[#cdcdcd]' -const FOLDER_HOVER = 'lg:hover:bg-[#f2f2f2] lg:dark:hover:bg-[#262626]' -const FOLDER_ACTIVE = - 'lg:bg-[#ececec] lg:text-[#3b3b3b] lg:dark:bg-[#2c2c2c] lg:dark:text-[#cdcdcd]' +const FOLDER_TEXT = 'lg:text-[var(--text-body)] lg:font-medium' +const FOLDER_HOVER = 'lg:hover:bg-[var(--surface-3)]' +const FOLDER_ACTIVE = 'lg:bg-[var(--surface-active)] lg:text-[var(--text-body)]' export function SidebarItem({ item }: { item: Item }) { const pathname = usePathname() @@ -138,7 +136,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac data-active={active} className={cn( 'flex flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors', - 'text-fd-muted-foreground hover:bg-fd-accent/50 hover:text-fd-accent-foreground', + 'text-[var(--text-muted)] hover:bg-[var(--surface-active)] hover:text-[var(--text-body)]', active && ITEM_ACTIVE_MOBILE, 'lg:block lg:flex-1 lg:rounded-lg lg:px-2.5 lg:py-1.5 lg:text-[13px] lg:leading-tight', FOLDER_TEXT, @@ -152,12 +150,12 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac )} @@ -166,14 +164,14 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac onClick={toggleOpen} className={cn( 'flex flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors', - 'text-fd-muted-foreground hover:bg-fd-accent/50', + 'text-[var(--text-muted)] hover:bg-[var(--surface-active)]', 'lg:flex lg:w-full lg:cursor-pointer lg:items-center lg:justify-between lg:rounded-lg lg:px-2.5 lg:py-1.5 lg:text-left lg:text-[13px] lg:leading-tight', FOLDER_TEXT, FOLDER_HOVER )} > {item.name} - + )}
@@ -186,7 +184,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac >
{children}
-
    +
      {children}
@@ -204,13 +202,13 @@ export function SidebarSeparator({ item }: { item: Separator }) { >
-
+

{item.name} diff --git a/apps/docs/components/navbar/navbar.tsx b/apps/docs/components/navbar/navbar.tsx index 5cb7a12e77b..026a49bd786 100644 --- a/apps/docs/components/navbar/navbar.tsx +++ b/apps/docs/components/navbar/navbar.tsx @@ -2,6 +2,7 @@ import Link from 'next/link' import { usePathname } from 'next/navigation' +import { ChipLink } from '@/components/ui/chip' import { LanguageDropdown } from '@/components/ui/language-dropdown' import { SearchTrigger } from '@/components/ui/search-trigger' import { SimLogoFull } from '@/components/ui/sim-logo' @@ -27,7 +28,7 @@ export function Navbar() { const pathname = usePathname() return ( -