Files
langflow/docs/css/navbar.css
Antônio Alexandre Borges Lima bbe2ccdc91 docs: fix sidebar and TOC styles for Redocusaurus (#12748)
* docs: improve sidebar and TOC readability + scroll progress

- Fix left nav sidebar hugging the left edge (remove margin-left)
- Increase sidebar font sizes and lift muted colors for legibility
- TOC right-side: white inactive items, pink active, gray for passed sections
- Add clientModule (tocProgress.js) to track scroll progress in TOC
- Add Redocusaurus API page styles to match site theme

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: fix sidebar/TOC height stability and active item reflow

- Force sidebarViewport to 100vh to prevent shrinking during scroll
- Replace font-weight on active TOC item with text-shadow to avoid reflow

* docs: left-anchor sidebar and increase fonts on large screens

* docs: constrain prev/next nav to match content max-width

* docs: fix sidebar jump on scroll by moving padding-top inside menu

* docs: fix sidebar-ad spacing with transparent padding on li

* docs: fix sidebarViewport height and MutationObserver leak

* docs: constrain doc content to 75vw and remove dead CSS comments

- Cap docMainContainer at 75vw
- Set pagination-nav to 100% width to match content column
- Remove commented-out .markdown and .ch-scrollycoding blocks

* docs: set docMainContainer max-width to 75% for better reading width

* docs: center main-wrapper on large screens and center docItemWrapper

* fix: revert lodash override to stable 4.17.21

lodash 4.18.0 is a broken release — template.js uses assignWith and
arrayEach without importing them, crashing npm start. Pin to 4.17.21
across all nested overrides.

* fix: prevent horizontal scroll on mobile docs pages

docsWrapper has flex:1 0 auto (flex-shrink:0), so it never shrinks below
the natural content width (~570px on iPhone). Cap it to 100vw and add
min-width:0 down the flex chain (docRoot, docMainContainer) so the
layout stays within viewport on narrow screens.

Also remove the overflow:visible override from ch-code-wrapper, which
was defeating the code block's own horizontal containment.

* feat: responsive navbar search and hide social icons on mobile

Shrink search bar as viewport narrows (160px at 1100px, 100px at 996px),
collapse to icon-only at 960px. Hide GitHub, X, and Discord icons below
996px where the hamburger menu takes over navigation.

* fix: images always respect container width above 996px

Use min(100%, 600px) so images are capped at 600px but never overflow
their container when the content area is narrower (e.g. sidebar open).

* fix: improve TOC progress scroll tracking and bottom-of-page detection

Adds scroll handler with RAF throttle, pauses/resumes MutationObserver
to avoid loops, and forces last TOC link active when scrolled to page bottom.

* fix: translate Portuguese comments to English in custom.css

* fix: sidebar viewport fills full screen height

* feat: sidebar section icon turns pink with ease transition when active

* fix: reduce TOC font size to 0.8rem

* fix: remove docMainContainer right padding and add 48px gap to content col

* fix: card header responsive alignment and title margin reset

* fix: darken card background and active sidebar item bg on light theme

* fix: revert TOC colors and add inline code border radius tweak

* fix: minimal scrollbar for sidebar and TOC — thumb only on hover

* fix: scrollbar fade-in/out transition at 0.25s ease

* feat: add rehype plugin for table column wrapping and centering

Inserts zero-width space after underscores in inline code cells so long
env-var names wrap at underscore boundaries. Also centers Format/Default
columns via a col-center class applied at build time.

* fix: use --ifm-heading-color for sidebar group labels in both themes

* refactor: split docs custom.css into themed partials

Breaks the 1,658-line monolithic custom.css into 8 focused files
(tokens, layout, navbar, sidebar, typography, components, code,
redocusaurus). custom.css is now a thin entry point with @imports.

* fix: align sidebar and navbar with shared --docs-gutter token

Introduces --docs-gutter: 1rem in tokens.css and applies it to both
navbar__inner horizontal padding and sidebar nav.menu padding-left,
keeping the Langflow logo and sidebar items visually aligned.

* fix: match sidebar ad background to page background color

Dark mode uses #111 (same as sidebar bg); light mode uses --ifm-background-color.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:11:36 +00:00

200 lines
4.1 KiB
CSS

/* override the infima navbar docs/node_modules/infima/dist/css/default/default.css */
.navbar {
box-shadow: none !important;
border-bottom: 1px solid var(--ifm-toc-border-color);
}
[data-theme="dark"] .navbar {
background: #111;
border-bottom-color: #2c2c32;
}
/* Navbar - smaller logo, more padding, compact */
.navbar__logo {
height: 1.5rem; /* Smaller logo */
}
/* Improve logo grey marks contrast on light background */
html[data-theme="light"] .navbar__logo {
filter: brightness(0.78) contrast(1.05);
}
.navbar__inner {
padding: 0.5rem var(--docs-gutter);
}
/* Social icons - smaller, muted */
.header-github-link,
.header-twitter-link,
.header-discord-link {
opacity: 0.5;
transition: opacity 0.15s ease;
padding: 0.25rem 0.35rem;
border-radius: 6px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.header-github-link:hover,
.header-twitter-link:hover,
.header-discord-link:hover {
opacity: 0.8;
}
.header-github-link:before {
content: "";
width: 18px;
height: 18px;
display: flex;
background: url("/logos/gitLight.svg") no-repeat;
background-size: contain;
}
[data-theme="dark"] .header-github-link:before {
background: url("/logos/gitDark.svg") no-repeat;
background-size: contain;
width: 18px;
height: 18px;
}
.header-twitter-link::before {
content: "";
width: 18px;
height: 18px;
display: flex;
background: url("/logos/xLight.svg") no-repeat;
background-size: contain;
}
[data-theme="dark"] .header-twitter-link::before {
background: url("/logos/xDark.svg") no-repeat;
background-size: contain;
width: 18px;
height: 18px;
}
.header-discord-link {
margin-right: 0.5rem;
}
.header-discord-link::before {
content: "";
width: 18px;
height: 18px;
display: flex;
background: url("/logos/discordLight.svg") no-repeat;
background-size: contain;
}
[data-theme="dark"] .header-discord-link::before {
background: url("/logos/discordDark.svg") no-repeat;
background-size: contain;
width: 18px;
height: 18px;
}
/* Reduce width on mobile for Mendable Search */
@media (max-width: 767px) {
.mendable-search {
width: 200px;
}
}
@media (max-width: 500px) {
.mendable-search {
width: 150px;
}
}
@media (max-width: 380px) {
.mendable-search {
width: 140px;
}
}
/* DocSearch Input Styling - wider, muted, blends with theme */
.DocSearch-Button {
border: 1px solid var(--ifm-color-emphasis-200) !important;
border-radius: 8px !important;
background: transparent !important;
color: #4b4b55 !important;
min-width: 220px !important;
padding: 0 1rem !important;
height: 2.25rem !important;
}
/* Shrink search to icon-only as navbar gets tight */
@media (max-width: 1100px) {
.DocSearch-Button {
min-width: 160px !important;
}
}
@media (max-width: 996px) {
.DocSearch-Button {
min-width: 100px !important;
}
.header-github-link,
.header-twitter-link,
.header-discord-link {
display: none;
}
}
@media (max-width: 960px) {
.DocSearch-Button {
min-width: 0 !important;
width: 2.25rem !important;
padding: 0 !important;
justify-content: center !important;
}
.DocSearch-Button-Placeholder,
.DocSearch-Button-Keys {
display: none !important;
}
.DocSearch-Search-Icon {
margin: 0 !important;
}
}
[data-theme="dark"] .DocSearch-Button {
border-color: #303038 !important;
background: rgba(255, 255, 255, 0.03) !important;
color: #c6c6d1 !important;
}
.DocSearch-Button:hover,
.DocSearch-Button:focus {
border-color: var(--ifm-color-emphasis-400) !important;
box-shadow: none !important;
}
[data-theme="dark"] .DocSearch-Button:hover {
border-color: #454550 !important;
background: rgba(255, 255, 255, 0.05) !important;
}
.DocSearch-Search-Icon {
color: #4b4b55 !important;
width: 15px !important;
height: 15px !important;
}
.DocSearch-Button-Placeholder {
font-size: 0.8125rem !important;
color: inherit !important;
}
[data-theme="dark"] .DocSearch-Search-Icon {
color: #c6c6d1 !important;
}
[data-theme="dark"] .DocSearch-Button-Keys kbd {
background: rgba(255, 255, 255, 0.06) !important;
border-color: #383840 !important;
color: #6a6a72 !important;
box-shadow: none !important;
}