# Package exports

`@dreamlake/dockit` exposes six entry points for configuration, rendering,
build integration, and styles.

## The exports map

| Entry | Used from | Purpose |
| --- | --- | --- |
| `@dreamlake/dockit` | `site.config.ts`, custom components | The library root: `initDocs`, components, hooks, data APIs. |
| `@dreamlake/dockit/server` | `renderer/+onRenderHtml.tsx` | The `onRenderHtml` Vike hook — SSR HTML, head tags, fonts, FOUC script. |
| `@dreamlake/dockit/client` | `renderer/+onRenderClient.tsx` | The `onRenderClient` hook — hydration + client routing renders. |
| `@dreamlake/dockit/vike` | `renderer/+config.ts` | The Vike page config (`passToClient`, `clientRouting`, `prerender`). |
| `@dreamlake/dockit/vite` | `vite.config.ts` | The `dockit()` plugin factory — Tailwind, MDX, shiki, React, Vike. |
| `@dreamlake/dockit/styles.css` | `styles/app.css` | Theme tokens, dark mode, shell CSS (import after `tailwindcss`). |

## Root export contents

**Initialization** — `initDocs`, plus the piecemeal setters:
`defineSiteConfig`, `initNavigation`, `initSearchIndex`, `initTabs`.

**Config + data singletons** — `siteConfig`, `pages`, `groupedPages`,
`groupedVisiblePages`, `TABS`, `searchIndex`, `rawMarkdown`.

**Navigation + search APIs** — `getAdjacentPages`, `tabForUrl`,
`urlInTab`, `normalizePath`, `findPage`, `internalTabs`, `isExternalTab`, `search` (dev fallback), `searchPages` (pagefind-first),
`defaultResults`.

**Components** — [`Callout`](/reference/components/callout.md),
[`Chip`](/reference/components/chip.md),
[`CodeBlock`](/reference/components/code-block.md), [`Preview`](/reference/components/preview.md),
[`StatusTable` + `TestStatus`](/reference/components/status-table.md),
[`TabStrip`](/reference/components/topbar.md#tabstrip),
[`DocFooter`](/reference/components/shell.md),
`ThemeToggle` + `ThemeProvider` (see [Theming](/guides/theming.md)),
[`SearchPalette`](/guides/search.md),
[`Sidebar`](/reference/components/shell.md#sidebar), [`TOC`](/reference/components/shell.md#table-of-contents),
[`Topbar`](/reference/components/topbar.md), `VersionBadge`, `SearchResizeHandles`, `ClientOnly`, and the `mdxComponents`
map (headings, links,
tables, `pre`/`code`, plus `Callout` / `Chip` / `Preview` /
`StatusTable` / `TestStatus` in MDX scope).

**Shell** — [`Layout`](/reference/components/shell.md) and `useMerge` (the
H1-merge context).

**Hooks** — `useTheme`, `useHiddenToggle`, `useLineNumbers`,
`useLocalStorage` (+ `docKey`, `DOC_PREFIX`), `useMediaQuery`,
`useSearchResize`.

**Types** — `SiteConfig`, `VersionChip`, `InitDocsOptions`, `PageMeta`,
`PageFrontmatter`, `NavGroup`, `TabDef`, `SearchEntry`, `SearchHit`,
`SearchResult`, `SubResult`, `PreviewProps`, `ChipProps`,
`ChipVariant`, `Theme`, `SearchConfig`, `MergeIndexDef`, `ExternalTabDef`,
`TabEntry`, `PageModule`, `VersionBadgeProps`.

## Module shape

- Pure ESM (`"type": "module"`), unbundled (`preserveModules`) with
  `.d.ts` beside every module — tree-shakes cleanly and steps through
  readable sources.
- No source maps ship in the package.
- `sideEffects` marks only CSS, so bundlers may drop any unused JS.

> **Note:** Vike discovers hooks by `+`-prefixed filenames, which cannot live in
> `node_modules` — so your site owns three one-line files re-exporting
> `/server`, `/client`, and `/vike`. See the
> [Quickstart](/get-started/quickstart.md).
