Files
zooqueen 47ec199510 Each docs site renders on one adapter
The two UI packages are adapters over different headless primitive
libraries: base-ui wraps @base-ui/react, radix-ui wraps @radix-ui/*. They
are meant to be alternatives. Every app here had been pulling from both.

Each package builds its own React contexts, so a provider from one is
invisible to a consumer from the other. insights-docs, pulsar-docs and
zen-docs mounted RootProvider and the CSS preset from base-ui but took
DocsLayout and the MDX map from radix-ui, so the layout's search trigger
read radix's SearchContext default -- enabled:false, setOpenSearch a
no-op. Search was dead on those three sites and nothing said so.

apps/docs was consistent in its app code (layout, provider, MDX map, CSS
all base-ui) but 28 hand-written MDX pages and the two resolveAlias
entries reached for radix Callout, Card, Files and Tabs, which loaded the
whole second library alongside the first. Tabs was the visible cost: the
nested-tabs check compares against the context of its own copy, so a
radix Tab inside a base-ui Tabs could not see its parent and drew a
second frame. Every generated page already imported base-ui tabs.

Callout, Card and Files are byte-identical across the two packages, so
this moves no pixels; Tabs gains the nesting the rest of the site has.
Nothing in apps/ imports docs-ui now, and its dependency entry goes with
it. The registry generator still names both -- it publishes both.
2026-08-27 15:44:38 -07:00
..