diff --git a/AUDIT_REPORT.md b/AUDIT_REPORT.md index acda943..582b656 100644 --- a/AUDIT_REPORT.md +++ b/AUDIT_REPORT.md @@ -123,7 +123,7 @@ file. development." Verified against `askr/src/renderer/error-boundary-dom.ts`: the default fallback renders in _every_ environment; only its `
` panel's `open` state is dev-specific (`details.open = -isDevelopmentEnvironment()`). Fixed the README and the matching + isDevelopmentEnvironment()`). Fixed the README and the matching `/docs/core-concepts/error-boundaries` `reporting` heading, which had the identical error. @@ -161,7 +161,7 @@ universal: - `lifecycle-work` (`events-and-streams`): claimed `stream()` returns "the same `{ value, pending, error }` shape as `resource`." Actual shape (`askr/src/runtime/stream-operation.ts:20-29`) is `{ value, status, -pending, stale, error, restart(), close() }` — meaningfully richer. + pending, stale, error, restart(), close() }` — meaningfully richer. Fixed. - `scopes` description (`descriptionOverrides`): claimed "scopes own effects and resources, and dispose of them with their lexical owner." @@ -341,11 +341,11 @@ finding above. Every other guide route was checked; findings and fixes: pass): claimed a nested `auth.check` field — no such field exists; the real per-route option is a sibling field simply named `auth` (`askr/src/common/router.ts:131-144`). Claimed `deny('forbidden' | -'unauthorized' | ...)` takes a string reason — `deny()` takes a numeric + 'unauthorized' | ...)` takes a string reason — `deny()` takes a numeric HTTP status (`401 | 403 | 404`, `askr/src/common/router.ts:82`). The `AuthContext` example omitted its `authenticated` field. All three fixed. - **`build-an-authenticated-full-stack-app`:** `route(path, Component, -{ policy })` — the real field is plural, `policies: [...]` + { policy })` — the real field is plural, `policies: [...]` (`askr/src/common/router.ts:141-144`). Fixed. - **`add-ssr-to-an-spa`:** claimed `RouteRenderOptions` (the SSR-side type) carries an `auth` field the way the SSG side's `RouteConfig.auth` does — @@ -429,13 +429,13 @@ rather than silently leaving them unflagged. - `/docs/components/advanced-layout` — **Inaccurate, needs Published limitation → fixed.** Claimed `SidebarScope` "coordinates open/closed and rail-expanded state." Verified `SidebarScope` is `sidebarPart(props, -"sidebar-scope")` — a pure styling wrapper with zero state logic + "sidebar-scope")` — a pure styling wrapper with zero state logic (`askr-themes/src/components/sidebar/sidebar.tsx:74-77`). Set `status: -'limited'` and rewrote `state-model` to say the app owns all collapse + 'limited'` and rewrote `state-model` to say the app owns all collapse state itself. - `/docs/components/button-and-button-group` (`install-and-import`) — example implied `import { Button, ButtonGroup } from -'@askrjs/themes/button'` works as one statement. `@askrjs/themes/button` + '@askrjs/themes/button'` works as one statement. `@askrjs/themes/button` only re-exports `Button`; `ButtonGroup` requires the separate `@askrjs/themes/button-group` entrypoint (`askr-themes/src/entries/button.ts` vs `button-group.ts`) — as written, the combined import fails. Fixed. @@ -598,12 +598,12 @@ has since been verified against source and corrected: - `/docs/charts/interactions` (`zoom`) — confirmed in `askr-charts/src/controller.ts` that plain arrow keys move mark focus, and panning requires `Shift`+arrow specifically (`event.shiftKey && -zoom?.pan`) — the page claimed plain arrows pan. Fixed, and cross-checked + zoom?.pan`) — the page claimed plain arrows pan. Fixed, and cross-checked against the page's own `crosshair` heading, which was already correct about arrow keys driving inspection focus. - `/docs/charts/accessibility-and-ssr` (`ssr-output`) — confirmed in `controller.ts` (`requireCanvas(host, "plot-canvas-chrome" | -"-marks" | "-overlay")`) that hydration mounts three canvases (chrome, + "-marks" | "-overlay")`) that hydration mounts three canvases (chrome, marks, overlay), not the two the page described. Fixed. None of these needed a `status` downgrade — they're wrong details on real, diff --git a/README.md b/README.md index 8b040a3..06dd9fd 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,12 @@ CI therefore validate the same package boundary used by GitHub Pages. branding. - `src/pages/_routes.tsx` owns the complete browser and SSG route registry plus the persistent route-analytics layout, while - `src/pages/marketing/_routes.tsx` registers the marketing leaves. -- `src/pages/marketing/home.tsx` renders the `/` page. + `src/pages/marketing/_routes.tsx` registers the landing page, fallback, and + compatibility routes. Retired marketing URLs forward to docs using browser + navigation and static refresh pages; GitHub Pages serves these with HTTP 200, + not a permanent redirect status. +- `src/pages/marketing/home.tsx` renders the single `/` landing page. +- `src/pages/marketing/redirects.ts` maps retired marketing URLs to docs. - `src/pages/docs/catalog.ts` is the typed source of truth for docs routes, metadata, grouped navigation, breadcrumbs, page ordering, search, and SSG. - `src/pages/docs/` also owns the shared content primitives, responsive shell, diff --git a/package-lock.json b/package-lock.json index eb82853..66f6ea8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,49 +9,50 @@ "version": "0.1.2", "license": "Apache-2.0", "dependencies": { - "@askrjs/askr": ">=0.4.3 <0.5.0", - "@askrjs/charts": ">=0.4.0 <0.5.0", - "@askrjs/fetch": ">=0.4.2 <0.5.0", - "@askrjs/i18n": ">=0.4.0 <0.5.0", - "@askrjs/logos": ">=0.4.0 <0.5.0", - "@askrjs/lucide": ">=0.4.0 <0.5.0", - "@askrjs/monaco": ">=0.4.0 <0.5.0", - "@askrjs/otel": ">=0.4.0 <0.5.0", - "@askrjs/themes": ">=0.4.2 <0.5.0", - "@askrjs/ui": ">=0.4.3 <0.5.0", - "@fontsource-variable/domine": "^5.3.0" + "@askrjs/askr": ">=0.5.0 <0.6.0", + "@askrjs/charts": ">=0.5.0 <0.6.0", + "@askrjs/fetch": ">=0.5.0 <0.6.0", + "@askrjs/i18n": ">=0.5.0 <0.6.0", + "@askrjs/logos": ">=0.5.0 <0.6.0", + "@askrjs/lucide": ">=0.5.0 <0.6.0", + "@askrjs/monaco": ">=0.5.0 <0.6.0", + "@askrjs/otel": ">=0.5.0 <0.6.0", + "@askrjs/themes": ">=0.5.0 <0.6.0", + "@askrjs/ui": ">=0.5.0 <0.6.0", + "@fontsource-variable/domine": "^5.3.0", + "@opentelemetry/api": "^1.9.1" }, "devDependencies": { - "@askrjs/auth": ">=0.4.1 <0.5.0", - "@askrjs/cli": ">=0.4.0 <0.5.0", - "@askrjs/node": ">=0.4.0 <0.5.0", - "@askrjs/schema": ">=0.4.1 <0.5.0", - "@askrjs/server": ">=0.4.1 <0.5.0", - "@askrjs/testing": ">=0.4.1 <0.5.0", - "@askrjs/vite": ">=0.4.1 <0.5.0", - "@playwright/test": "^1.63.0", - "@types/node": "^26.6.4", + "@askrjs/auth": ">=0.5.0 <0.6.0", + "@askrjs/cli": ">=0.5.0 <0.6.0", + "@askrjs/node": ">=0.5.0 <0.6.0", + "@askrjs/schema": ">=0.5.0 <0.6.0", + "@askrjs/server": ">=0.5.0 <0.6.0", + "@askrjs/testing": ">=0.5.0 <0.6.0", + "@askrjs/vite": ">=0.5.0 <0.6.0", + "@playwright/test": "^1.64.1", + "@types/node": "^26.6.5", "@typescript/native": "npm:typescript@^7.0.2", "monaco-editor": "^0.56.0", "tsx": "4.23.15", "typescript": "npm:@typescript/typescript6@^6.0.2", - "vite-plus": "^0.3.1" + "vite-plus": "^1.2.0" }, "engines": { "node": ">=24.0.0" } }, "node_modules/@askrjs/askr": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@askrjs/askr/-/askr-0.4.3.tgz", - "integrity": "sha512-/kgytC8QXI7MRWo0jDWHVOugIG11WAzoYSNV29lKMRpYBuooGWrLaOx+m4TyOZO3XvRdJBB4thy4edlvgG9ecQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/askr/-/askr-0.5.0.tgz", + "integrity": "sha512-UaMytwNNi+ZPW51G033odDTAqZ02I/mmHrh424YY3lRk3DxdRRWkpMJCDvwOIGXeG4XbvLhB6PyRADmAfu5rog==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/auth": ">=0.4.0 <0.5.0", - "@askrjs/schema": ">=0.4.0 <0.5.0" + "@askrjs/auth": ">=0.5.0 <0.6.0", + "@askrjs/schema": ">=0.5.0 <0.6.0" }, "peerDependenciesMeta": { "@askrjs/auth": { @@ -63,9 +64,9 @@ } }, "node_modules/@askrjs/auth": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@askrjs/auth/-/auth-0.4.1.tgz", - "integrity": "sha512-tBJXtx1Zy2y6gOfLOex1qkGFTNusIzlv81I+laP23M2qtSNFen8NcSTIP7yx0huqEtvoPTKaQsI2E9YDlfxgcA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/auth/-/auth-0.5.0.tgz", + "integrity": "sha512-yfHMNt2koSIP50w9WeaFTzOYvcJcqJKMx4Gb2nDSS4FqNc2i/cpqu2YqrAXFTmOw+yY8brNl60xHf7s6fuwYgg==", "devOptional": true, "license": "Apache-2.0", "dependencies": { @@ -78,21 +79,21 @@ } }, "node_modules/@askrjs/charts": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/charts/-/charts-0.4.0.tgz", - "integrity": "sha512-Dxqxzm3kynFVDB85VINWqMdY+BzPaL2tMi1lxOypXpYPjSpGotRMLEohr25BxPeOvpVw5eXYDby+OzsftiXQKA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/charts/-/charts-0.5.0.tgz", + "integrity": "sha512-/pwEk71WlxSGG8FZ71D71kLNDMPqA13eB5i8jxFMuzaY0o1D15nZybziJD5v1S9vlervOryH0AulCmI64Ulfwg==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/cli": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/cli/-/cli-0.4.0.tgz", - "integrity": "sha512-KquJOAxR4eOyK6yjCBy6L2q50r6EmWO8T/EL79iFErdTfGpwOnm0FefZO4VVaS2whRrleIAABaWybXU1f3N9dA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/cli/-/cli-0.5.0.tgz", + "integrity": "sha512-7UUX1Nk4ua9eZSL+YF+IQ4eR3JsWYvHvKAMpoQj/M4mKDM6dK+Sb0DSzn3ox5SyquCmmg/swexYxpumnDwzsSA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -113,7 +114,7 @@ "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" }, "peerDependenciesMeta": { "@askrjs/askr": { @@ -122,72 +123,72 @@ } }, "node_modules/@askrjs/fetch": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@askrjs/fetch/-/fetch-0.4.2.tgz", - "integrity": "sha512-OW9bGhAoghXuYE9j5JJyjwjrNK36jmxDuPhk6ZtZ8sjtZyiS3JrpaNEieuhiS6Z4Hco2E87+gXB6+z4hfaLwFA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/fetch/-/fetch-0.5.0.tgz", + "integrity": "sha512-/eAjeP7x3xPfKaIaa0elg5mjNxx5ZJ51YZR1W5X2BhhVfiIXSxXRMBBa+6QIY9oNbsquzzP3BbJc6TIMlDyFgA==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" } }, "node_modules/@askrjs/i18n": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/i18n/-/i18n-0.4.0.tgz", - "integrity": "sha512-RQm9CVV2aTmdP4QnsKMpF6K4BWlrqOEijXLEaHBfOA0MRD+rxrBRL0xSbifV+AQzI7Dfmdlb+ZJRRFeEhTaFuA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/i18n/-/i18n-0.5.0.tgz", + "integrity": "sha512-DN6zf0Ok1zBLFGgm3EY35bITsOpA35qpGWvY7HNLAqw/qLjBn2ijvKEBalhc9+Fvmw72hwjgL/d2df+hWlJYKQ==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/logos": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/logos/-/logos-0.4.0.tgz", - "integrity": "sha512-jtmd32OD1UYNq/rMnfkuEPMXkg8ZkfmPlm9/R454Oe9M1cItmqrSvqCfPo61RC9Gqu+Eg/ap50A9PL+GgPqatQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/logos/-/logos-0.5.0.tgz", + "integrity": "sha512-Ko3Cf12+qwfoFx1QgDoEANPtFEILyGfSsA1/mwKD8AjTXH3n58cH0bXBv4s6FvfFH46FSIc9xzOr0eTC2YuLkw==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/lucide": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/lucide/-/lucide-0.4.0.tgz", - "integrity": "sha512-pSBe6I3FY8nfIH0aAVL+qu8rrDGY8QR3zJyuVA9JqWflPg9xcqhJg/CsZOES2YhKhFKWYJFIDvIsDP5O0NG74w==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/lucide/-/lucide-0.5.0.tgz", + "integrity": "sha512-naFre5an65bHCVYL9lSpdk/InU2PMbfigiY+b4oafNBQpcJWfEFKtZ0EayaVLlGoxDxlg2t4O23DParn8eKQgQ==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/monaco": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/monaco/-/monaco-0.4.0.tgz", - "integrity": "sha512-Br6yECjn5qh7O9Bri3DkN797/leTlHF2i3yrCsNJ/fSEYFf5lkiSO6MM3Jesie/21jQY6AjpLwyhffG0a/7y8g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/monaco/-/monaco-0.5.0.tgz", + "integrity": "sha512-oKAtmvvS5ZdB+V4B/Qt1v0781ftS1ZLPU2ErQNZdaVFSox7lXFax1iZYnA2yvuXlATPtax43fLaLwt0WmPiBBQ==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0", + "@askrjs/askr": ">=0.5.0 <0.6.0", "monaco-editor": "^0.56.0" } }, "node_modules/@askrjs/node": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/node/-/node-0.4.0.tgz", - "integrity": "sha512-gRdFGwMDiVadJatJSveLJL8ZAmxMxFTJW+ShVT8mXZa46ZSP3p28ZKGYa2TWH8j3nlhf3H1CJW+FSUmjfL1i/w==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/node/-/node-0.5.0.tgz", + "integrity": "sha512-5j+lLlMjC13Py8soE7J226DjPTW38HI0xVGKAgsKi/somlGiMzo6AuQnMqbxk9WebZwN6modHlzgwlww25Fpwg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@askrjs/auth": ">=0.4.0 <0.5.0", - "@askrjs/server": ">=0.4.0 <0.5.0", + "@askrjs/auth": ">=0.5.0 <0.6.0", + "@askrjs/server": ">=0.5.0 <0.6.0", "@types/ws": "^8.18.1", "ws": "^8.21.3" }, @@ -196,9 +197,9 @@ } }, "node_modules/@askrjs/otel": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@askrjs/otel/-/otel-0.4.0.tgz", - "integrity": "sha512-wyYRbYj84BjU9AAFXYXEM4XQNxo19V3kY5gkCV61KxrqmTNYlVwh8eRtw39DkLPpzYCKhHm5+vOVphPLQ2QnGA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/otel/-/otel-0.5.0.tgz", + "integrity": "sha512-sGKn5ny+SlClKG5GnC9fsyE00hAui4SeCm30f4kOHnVHW9CXvJdfggFAK7tG+FZlORtuJnHGjjPf+/59dihMtg==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" @@ -208,9 +209,9 @@ } }, "node_modules/@askrjs/schema": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@askrjs/schema/-/schema-0.4.1.tgz", - "integrity": "sha512-H50xFmvPlGLkVWae/Lz7794Wqy0oaAfIut64WKjG0LTh5B6KXv8u/713sZz++HFIAhymvoIZqx7knEiEsD7zMA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/schema/-/schema-0.5.0.tgz", + "integrity": "sha512-YSCBym9d92iM2JdageO9agmzAOrZj5K/uS8XE/hbq7F79no9BiSOf2ZyVAmccMZ59TfpeY85ZTIlMo0jIhsVFA==", "devOptional": true, "license": "Apache-2.0", "engines": { @@ -218,20 +219,20 @@ } }, "node_modules/@askrjs/server": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@askrjs/server/-/server-0.4.1.tgz", - "integrity": "sha512-WQr7+8PJMoSmBT1z4GRk1j82XalVRWzQqSj0BN4hQrDNwTyr1bj03I6Y8uQGijoOz/hdW3hLXhClyHeTKhbfGQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/server/-/server-0.5.0.tgz", + "integrity": "sha512-piD546hjlQElDs+7fNbTCBE85qdnpZRnLmcOUAoalI1l7h6+Elpp0/+nkfVVim2BMnNs8CTqW01Cwpxv/hv9pA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@askrjs/auth": ">=0.4.0 <0.5.0", - "@askrjs/schema": ">=0.4.0 <0.5.0" + "@askrjs/auth": ">=0.5.0 <0.6.0", + "@askrjs/schema": ">=0.5.0 <0.6.0" }, "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" }, "peerDependenciesMeta": { "@askrjs/askr": { @@ -240,9 +241,9 @@ } }, "node_modules/@askrjs/testing": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@askrjs/testing/-/testing-0.4.1.tgz", - "integrity": "sha512-aXcYg/S1buWL1n2UpqQWysD56HEC5uk9CO/1QCNoVtJWmSjGF/Xr41qgtxcyTfwVCe/D5Y2+MMHvE8qOuRuQlA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/testing/-/testing-0.5.0.tgz", + "integrity": "sha512-dwaYIQNezj9XxWFt3XavwvzlLYuYbX2Smhy8LkUS/Tzgvs+UGeajBBCnvNOl5GCy9kTTEDQm0vNQoZjaHs0eSA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -253,38 +254,38 @@ } }, "node_modules/@askrjs/themes": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@askrjs/themes/-/themes-0.4.2.tgz", - "integrity": "sha512-xg+BZcpKkkYxMirBBgykDT3hTrbvUpn1nl1GcPMzDeMiI2Uow9IQKqs027ng+qTC8lHbskzhTYHws+TyqJxBlQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/themes/-/themes-0.5.0.tgz", + "integrity": "sha512-uxHT4n+ts3JWG3kfoQgVjLrcrxUVDal47+67KHKRrWVfhKDorIm4Ah3u1594xdnjTx4hI3nBASdKcS9LmLfGOQ==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0", - "@askrjs/ui": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0", + "@askrjs/ui": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/ui": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@askrjs/ui/-/ui-0.4.3.tgz", - "integrity": "sha512-ADnB7CENORt7b1BLae1a6643Dh6cfc9dvpmDiS1Igu1L1PY0rvrh+tIu0OTJj0DdTypwIA/qFOviwx5VGLiBog==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/ui/-/ui-0.5.0.tgz", + "integrity": "sha512-Wzg5YShgKyYohoaxQwnJS6Jrva3lR8tLy92S4QIB0zZvFyltaTgbBGP8GPDJYb/2qrr6NZmuXrZRk82BPBB1qg==", "license": "Apache-2.0", "engines": { "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0" + "@askrjs/askr": ">=0.5.0 <0.6.0" } }, "node_modules/@askrjs/vite": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@askrjs/vite/-/vite-0.4.1.tgz", - "integrity": "sha512-3pcvhmsRJiptJpvSmTHoIvwN6dWVkRkR05+KGeYaRqcfCh/LyWUAHmG9Agi7M7xPjkKQTLAhtpb+c53G+WqG/g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@askrjs/vite/-/vite-0.5.0.tgz", + "integrity": "sha512-OufgXhHO9a4/IkN3KXBMnvTs8iEfUT0CMFE8v3fyRTtRahzEXU0FoFiRIEWDrmuSmGOXYTs8U7p1gLwxu9pVBQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@askrjs/node": ">=0.4.0 <0.5.0", + "@askrjs/node": ">=0.5.0 <0.6.0", "oxc-parser": "^0.147.0", "parse5": "^8.0.1" }, @@ -292,10 +293,10 @@ "node": ">=24.0.0" }, "peerDependencies": { - "@askrjs/askr": ">=0.4.0 <0.5.0", + "@askrjs/askr": ">=0.5.0 <0.6.0", "sharp": "^0.35.3", - "vite": "^8.2.2", - "vite-plus": "^0.3.1" + "vite": "^8.2.2 || ^0.3.1 || ^1.1.0", + "vite-plus": "^0.3.1 || ^1.1.0" }, "peerDependenciesMeta": { "sharp": { @@ -335,9 +336,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", - "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", + "version": "7.29.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz", + "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==", "dev": true, "license": "MIT", "engines": { @@ -345,9 +346,9 @@ } }, "node_modules/@blazediff/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", - "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.10.0.tgz", + "integrity": "sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==", "dev": true, "license": "MIT" }, @@ -812,6 +813,16 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", @@ -819,6 +830,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@npmcli/agent": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-5.0.2.tgz", @@ -962,7 +984,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -1315,9 +1336,9 @@ } }, "node_modules/@oxc-project/runtime": { - "version": "0.150.0", - "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.150.0.tgz", - "integrity": "sha512-vC4tN4n2c+gVq69Oi6CoZxGk/1mYjLiN4hVEYwvtuns/S4QwUBiJYViwLGLxPaLQnsY5FQDgGs+h6moAmSedvA==", + "version": "0.154.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.154.0.tgz", + "integrity": "sha512-cBQNGoh659BNgvA8OC/e4BNDtFkv03dJaYdkp2adgOQNtISNAPQ+nB4S8XvWtNk7Xl+0g+7aa+iRGR25Xycd1Q==", "dev": true, "license": "MIT", "engines": { @@ -1335,9 +1356,9 @@ } }, "node_modules/@oxfmt/binding-android-arm-eabi": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.68.0.tgz", - "integrity": "sha512-dhfYPbzv/h9JgHjNkl2R6sOjUfxDyLGOZVb3g8/ScaTNwwJcYgmHh8kcYFDUhinuy1QAoANCWUvw1jlk+z6gAg==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.73.0.tgz", + "integrity": "sha512-dhunAdMbi/4o0Y66/+Wl6rpsNqpvE4i26Qw6bB77A97L2lJoktWg6m+X9QOon8iOEEqzD9rEZqFi5uZ4oIzhCA==", "cpu": [ "arm" ], @@ -1352,9 +1373,9 @@ } }, "node_modules/@oxfmt/binding-android-arm64": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.68.0.tgz", - "integrity": "sha512-v3Njdi6qY0O/5eGfg01ww2w6gTn2mUvZ72Bnx1/UN53A9wruh3Nk6otc3WkgJLkXD4Qgz1SOcVQieH1oD03V9Q==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.73.0.tgz", + "integrity": "sha512-dBoypjC2/xeyKyIhN2waX0/XeoccH9k0lVVe+sGRc4X8HSJVRtqyZDoXdr7bGY9A75c51dX0z0dLDpGQKwCdCg==", "cpu": [ "arm64" ], @@ -1369,9 +1390,9 @@ } }, "node_modules/@oxfmt/binding-darwin-arm64": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.68.0.tgz", - "integrity": "sha512-ei4MCMzHFREmZwPJ7KuWUB4kBuHdsgDrnXGJVcEAopU7fj7S42I8BChdFILWdHvhFqR08FLJtOfbZIr2CDw0cA==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.73.0.tgz", + "integrity": "sha512-Tn7Y+qWIpCQK+qdYwBcn6YvqeBuPiuG3tcNlYg16a5QL2o3rSmrgBB1nCyYqo0uvc1LNrfQW9/CK2tzFuID/Fg==", "cpu": [ "arm64" ], @@ -1386,9 +1407,9 @@ } }, "node_modules/@oxfmt/binding-darwin-x64": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.68.0.tgz", - "integrity": "sha512-UrKgzZxYhwB9DSvTX+vdgl9M32wLUNKJcAKIoiyx/Kzn/zveqi7W6kYVcRroFMhS3Kwz0KhTk3WBeSuQn4YCTg==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.73.0.tgz", + "integrity": "sha512-yVb0E0tg/+9Xc9YJCBq66qF1DC/aN5mhb5nnHz0k4ikwkMANtSul2VPDSwjYdXR6/DFimc+pPUgLBqkIa5Ctuw==", "cpu": [ "x64" ], @@ -1403,9 +1424,9 @@ } }, "node_modules/@oxfmt/binding-freebsd-x64": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.68.0.tgz", - "integrity": "sha512-6jrEKgpJbilM1QaRv7hEtKXr4p4AK4jvvyOtajwyhu0kOz3e0O7OLnSTk6tBotRqCcUC4ehZRJ1Zx+Y99wieLw==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.73.0.tgz", + "integrity": "sha512-IKR4lFnBkYNL9Uqdxa5GMTQLvnLj+3sDwTvh2atHCzah0xeo+1xR5bigRU8uyXlOsA4VpXUn0UAimq4E4RBGmQ==", "cpu": [ "x64" ], @@ -1420,9 +1441,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-gnueabihf": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.68.0.tgz", - "integrity": "sha512-YOIVnKOBaLeGullskS179N12hjSAdFYnzLjOaKiLhAKNWgnShq9w4xRdtmUm6BlnP65l2/EA9Aw/KlftNxDM7Q==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.73.0.tgz", + "integrity": "sha512-7qnZ4g0ZCO3aZevOOQpZIABYwwXJW1lLDo2elviGdPQ0i11255xKEMFsi97fC1/nauQFseCJfELUy/k2JoOP+g==", "cpu": [ "arm" ], @@ -1437,9 +1458,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-musleabihf": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.68.0.tgz", - "integrity": "sha512-xW5XoEHVNqydPBv2KXvk9lmEzyAlOQHVEazKoXUuAacqekjya+OdiaFjjEBl0oJD02raG8g3TRl9OVCh9PDIHA==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.73.0.tgz", + "integrity": "sha512-36eBico2j/WPB84gb4FYd/jjqGCKOwU4M+TWLBUIqlnzTozQueLy0joA5BwsSp2OZFVkOlpCwvA3ndPamdiyLw==", "cpu": [ "arm" ], @@ -1454,9 +1475,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-gnu": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.68.0.tgz", - "integrity": "sha512-QCvYwVVQieu6oyJglAgV9vH/YMDxZyR4cwVSYtoq9oOXd5N+D3TDUBjNwxFrLn5AdcJZOcvn/7IB17vJGp+2Og==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.73.0.tgz", + "integrity": "sha512-VZ3cSgCAT18knKo52DcACmAuIoqG6qVEyeZRFbJd0xmYQ8GyYjuBc6IAh6MZHijT6q7p4/HPI+6ZWsCuhdV6iw==", "cpu": [ "arm64" ], @@ -1474,9 +1495,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-musl": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.68.0.tgz", - "integrity": "sha512-4TVz5iFQ8ndrHnhX50UXiz9BIWAtUSOHJ6Nus4qWFfJBXq/Ed/krXbF/ehJu42BXM5tIvBs99jNIM22s9agY5A==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.73.0.tgz", + "integrity": "sha512-8YVzH59XSHcqwXNgc5qK851zCqwpmBgOifARXEPPe5/xTsIbHceYoPZAyqfpYV0CfKmzSaEDBgYHFza4rhx+Zw==", "cpu": [ "arm64" ], @@ -1494,9 +1515,9 @@ } }, "node_modules/@oxfmt/binding-linux-ppc64-gnu": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.68.0.tgz", - "integrity": "sha512-qLe3ao0RP84bnPxBvRI+GnlK/jybo538NWu0Xrm+zYeTmJtpzqLhnnd5BH21NafqKnplbGZjtN1cnrOlWF73lw==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.73.0.tgz", + "integrity": "sha512-MqRJnmCys0rwOgpWyEidSA7v/bvOqfNDJhPkQoR9mPVYrvSmMaW2Xhdpl28cbTA+brOM1is62GjIvJplVlUVpw==", "cpu": [ "ppc64" ], @@ -1514,9 +1535,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-gnu": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.68.0.tgz", - "integrity": "sha512-Yvyl7a6gbb0vM6r925KW2dO+/CmXySO5TVbcX7o/uZJ+d108HFOG0TxIyHApmn5USuj5mhDPxzhiVwOlGP7uSA==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.73.0.tgz", + "integrity": "sha512-4t2F3SWJSK/O/kRRFnL0elJzn75fJGGu71gs1HtiWcS80SmJOpkHiwwLnTp9suGdns8VHEPxYS0GTcyVwHKWBA==", "cpu": [ "riscv64" ], @@ -1534,9 +1555,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-musl": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.68.0.tgz", - "integrity": "sha512-mJlFuFVCxzrYM5sFStN433D/s/mb6Wq4aCQAM02vs/OudHywnaSAd2rb1vlYUJtqdYIciJtiasuxvfbYkv5fLg==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.73.0.tgz", + "integrity": "sha512-D8b4I8I1kLdJQFwdFXNV+cwh3xWSiNKofjdGUk0nDpc0AHOds8T+poGbP9RWQMvgsvMb9OMgp/aV7ahBR37TbQ==", "cpu": [ "riscv64" ], @@ -1554,9 +1575,9 @@ } }, "node_modules/@oxfmt/binding-linux-s390x-gnu": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.68.0.tgz", - "integrity": "sha512-RlfSg++qs1hbKltRR6lYvV9EoI3MdlfSQD9w1hdHVYjHqjIn1tkH4FWOpMSmjKGN20zr+nI+W9o4ARogCDudGQ==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.73.0.tgz", + "integrity": "sha512-QrC1S5VL1+N5rvorB15jH7CPvjVHA7GyUI5oVEd8Bd9m5605RDBQYTxDQ920DuylRoZOh2V7/xXpfCtFUrojUQ==", "cpu": [ "s390x" ], @@ -1574,9 +1595,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-gnu": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.68.0.tgz", - "integrity": "sha512-nyzRB9U+dlYUKu3pMo3afHzZBUv/oTHZMG36ZfJViNVfOIzp70Q4GS8FFRGgYJ/p0zcyDCgpBvYISOdJOMh+jQ==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.73.0.tgz", + "integrity": "sha512-dFcUKQPltCEPa+YlkF3zqufn6nJPZdG73LpnjBvZFFsU3laCMssDXSYB99mVaj43FqdEgjpz5TO6gbYXcczd9g==", "cpu": [ "x64" ], @@ -1594,9 +1615,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-musl": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.68.0.tgz", - "integrity": "sha512-iCx3sbZRIvGrL1RafphEiUKBaW1lc0/tAjKOIB/Wjw2+STRBEdu5+fH1Gc1faEWEmc2k5Ks4iUUV54Zd5C9a1A==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.73.0.tgz", + "integrity": "sha512-LmQe+nV8e+eUwfPNCxDF+owbsg88toBiR/8rZRgVOeKQP3MaGefXZRvBoc1UG37iWEQ/9JlCXG9Mc4nf4N3agw==", "cpu": [ "x64" ], @@ -1614,9 +1635,9 @@ } }, "node_modules/@oxfmt/binding-openharmony-arm64": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.68.0.tgz", - "integrity": "sha512-x2X5AZez7OgyLLFpwIgItoXBUqudDM7yiaTsxv8R8vKQ6e81l0jVw0NFeUCXzcl1sAJq8h+tC8N4mY8EiMeL4w==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.73.0.tgz", + "integrity": "sha512-8weOr1OKknE0G2DbR6ejJUT9AOsoBU6cXlsetmbihHv1K+bK7qP61T6lJxY0k/aAO7GyOJiRGNlL+04r4eH8Xg==", "cpu": [ "arm64" ], @@ -1631,9 +1652,9 @@ } }, "node_modules/@oxfmt/binding-win32-arm64-msvc": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.68.0.tgz", - "integrity": "sha512-AHVPjXkenLPQUh6kB8zSC8pX2ct9r4T1Edk9r/RNJyov6wPsS5uAfYtipwG4chn6+3bPFG5rI/3DxEeH8vib1w==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.73.0.tgz", + "integrity": "sha512-mZV+QxXYgb8E18gzAFItb937VIsE4dqWdStrD3tRRC52UubOYEuU+e7NaIqUsGdB5YsJqNeuck3Ue/af2r9wyA==", "cpu": [ "arm64" ], @@ -1648,9 +1669,9 @@ } }, "node_modules/@oxfmt/binding-win32-ia32-msvc": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.68.0.tgz", - "integrity": "sha512-n09SjEk5VH7z8Hl4WVP7hho+cCwGViENkQFiM45vbW85dJd7kEhWaHRUobaPzEmrWyu6uumd4EuNfNyDKLtzDA==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.73.0.tgz", + "integrity": "sha512-QJPUsbgUb97ZPPMkFUq6VQq0fLhC4Np19KL9aB/qKVwXnpKE6MIiILXqzhKnQ/UbnEDjKJ7Xv1d6zH4bYPCUdQ==", "cpu": [ "ia32" ], @@ -1665,9 +1686,9 @@ } }, "node_modules/@oxfmt/binding-win32-x64-msvc": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.68.0.tgz", - "integrity": "sha512-gPe+dJLXaPuWPWqlpklDAJp0k+K9KhQPYiQLHfb+i2rmFuUGfJ/5Qlj6tr1mO6of5g0DiLjG/XCFHIaPhotqqA==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.73.0.tgz", + "integrity": "sha512-cGcze2fu+ykIaFtkEvZlkZ3HvnCLk+WISthtq99zWTWn0x13t5L9TxvGdLZMUMvtfYR+ICkiCwKnguVubdcw0w==", "cpu": [ "x64" ], @@ -1682,9 +1703,9 @@ } }, "node_modules/@oxlint-tsgolint/darwin-arm64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-arm64/-/darwin-arm64-7.0.2001.tgz", - "integrity": "sha512-CUJEdbSZ54+Xy9OXqOhWLTKZKV0BBiV7C2i/ygyVmXtkUNXx5YCzN8DpSSshTAKktoL7S+tnQ/ftFG/i7X896w==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-arm64/-/darwin-arm64-7.0.2004.tgz", + "integrity": "sha512-uJk3ttju7Lz+Nv8WG4CsLyewoL1qf/Ny8S8OksJ7Bm/F14Tc9gMfW6arM1PCc57IzH/X/I79YsCWTgxX1FKibQ==", "cpu": [ "arm64" ], @@ -1696,9 +1717,9 @@ ] }, "node_modules/@oxlint-tsgolint/darwin-x64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-x64/-/darwin-x64-7.0.2001.tgz", - "integrity": "sha512-pXfBb5BqONCcgrXQNUZWXgiYmRSWJzd97S8i41VVOh6ut0tyo+cJ5FKFpczDHxiVNfj/3e7c9B4MtztNdpIVCw==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-x64/-/darwin-x64-7.0.2004.tgz", + "integrity": "sha512-0BFfHTzDxNDFPcu0UZAXT6CyCJHAXM0dZveyDb4KEHa2qF/DSnOKOrmvK/wFuFol9kvijbGM9JfuOsor+zWXRw==", "cpu": [ "x64" ], @@ -1710,9 +1731,9 @@ ] }, "node_modules/@oxlint-tsgolint/linux-arm64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-arm64/-/linux-arm64-7.0.2001.tgz", - "integrity": "sha512-roP7zujb/QDPzDwEKsFFpzNHHy91/Y7oX9vQXk78ekyZtcQj1QXDIMH33gjDdHBfRl4K9pZ36xhRgrP4Zr+R8A==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-arm64/-/linux-arm64-7.0.2004.tgz", + "integrity": "sha512-TAehQc+qdRXyDN3nl/r/3/oPrBVrbtrDeGMkFyG6mf+XphpoJ2lAMVFLclyvrVZCw02RbKROjyw8h72XwQQHcw==", "cpu": [ "arm64" ], @@ -1724,9 +1745,9 @@ ] }, "node_modules/@oxlint-tsgolint/linux-x64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-x64/-/linux-x64-7.0.2001.tgz", - "integrity": "sha512-UDezNqdECVmngu2TPnjaS1YoAmcTaBoI5lV9vk3VahBxoi+I5r9k3iJTT7qZoYWOXTD/7T7bNcwRgrocR6BscQ==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/linux-x64/-/linux-x64-7.0.2004.tgz", + "integrity": "sha512-LPunZvm6ZbWPfHMAyfZf9ci3HHvNEzLejO8zdqO3GoVGoSEHqqufHUD7+OgeatVSaJP7uXDJ2HaNOHIoH7go4Q==", "cpu": [ "x64" ], @@ -1738,9 +1759,9 @@ ] }, "node_modules/@oxlint-tsgolint/win32-arm64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-arm64/-/win32-arm64-7.0.2001.tgz", - "integrity": "sha512-uJZhqB6pdXLuN+AD1F5082byyQti/NPmJA77GtcFlmT2HzRelqbNls3SaIqxpjdFgvSBF9g0yOKGBkGFg7kX8Q==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-arm64/-/win32-arm64-7.0.2004.tgz", + "integrity": "sha512-FVWplzDImWhiuawnIZVETaQecv4GWom6Jv4Fx2xj7hhXXDZ5okEgiw1gTCImHTIQsi2ycC5oSxVwrn69bMh7iw==", "cpu": [ "arm64" ], @@ -1752,9 +1773,9 @@ ] }, "node_modules/@oxlint-tsgolint/win32-x64": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-x64/-/win32-x64-7.0.2001.tgz", - "integrity": "sha512-FkDRm8hx9OwzGQqyWG1tO5QrTLRApff9DzSgpz9QZau37BR8d1VYKOxMLGf6shPZntJFoTwIIJYT68VndYDCog==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/win32-x64/-/win32-x64-7.0.2004.tgz", + "integrity": "sha512-7PsxuUx11Ry9DYTWcljTzRbmZY9B6O9fFFfZV+aodQEMy6pfRT3fhoQRv9PtGN/89z1pPz3nFKrsFm6WqNtX7w==", "cpu": [ "x64" ], @@ -1766,9 +1787,9 @@ ] }, "node_modules/@oxlint/binding-android-arm-eabi": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.83.0.tgz", - "integrity": "sha512-0yGY24EwsLk5YDe6F+VkmZyRHSwJDALa3nIrPpq7FXmp2lV2d0TzvBCGeZk+wgiULRGr5blhyr4QMp5KCXJUqA==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.88.0.tgz", + "integrity": "sha512-k6Fgkf86ubfeH4GvqYsRolfuVAp0pfYVZvifSlXNHPdMaWUOfxUrmLEeDD7hF6U2oJuhsVxhSWq86/xCJ+9MmA==", "cpu": [ "arm" ], @@ -1783,9 +1804,9 @@ } }, "node_modules/@oxlint/binding-android-arm64": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.83.0.tgz", - "integrity": "sha512-hHfJ0vc17A4iUjH5p9BsTUPYbYRNxGpvD2lbu1aBRk54bzNIx9o5TtYF39QPZcV95DagZd+4DEAw2RH3G2ZsMg==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.88.0.tgz", + "integrity": "sha512-AsIyhl9o1ejwtac7NMbhKpMdSml6NWR0ljKjZERxC8OHYDAW8o/Om9n1QHVLi4VCEUo42Zte2/Op9kyoGpJZMg==", "cpu": [ "arm64" ], @@ -1800,9 +1821,9 @@ } }, "node_modules/@oxlint/binding-darwin-arm64": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.83.0.tgz", - "integrity": "sha512-hsOjYjszLb/3zym/TkzUMPAoQlTJcuzSyEPOAyA+skXJIX9M0o+4JfOtqopX/Vf4hSLrJ98j0nvFo23gzk8auQ==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.88.0.tgz", + "integrity": "sha512-qgBjB7eEKcCB4RqjXGuoSZq74g0wD09fWFJ+HWcCJcKaga8TeUHtb+BY0SsxdleSLBgx4RZ7qmgo0EzqEq7JoQ==", "cpu": [ "arm64" ], @@ -1817,9 +1838,9 @@ } }, "node_modules/@oxlint/binding-darwin-x64": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.83.0.tgz", - "integrity": "sha512-mjh5oH2EA+wl5yRJYT9K9G61O2zFlpuv+yf2JwZOi0+dq2FnTUtm1h8i+5Ik0fXPWIu/k84I1psZR9aQsLAnyA==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.88.0.tgz", + "integrity": "sha512-sCz3X5Mw/xdzEzn4fsCt1Iq8NKJnGNfhR+b9B5k+4DysYAHsmIhYoocnBPiQ9kvY3+pUun2A0Z8Vtun/Nv6YoQ==", "cpu": [ "x64" ], @@ -1834,9 +1855,9 @@ } }, "node_modules/@oxlint/binding-freebsd-x64": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.83.0.tgz", - "integrity": "sha512-fNHr64/YaO8YssuoDVC8+F4Uk5enR86q5uxfHkQrjAPs1dbAILOrD2uaud+J7MO8Fx774g44ERLD0IGIvZE48w==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.88.0.tgz", + "integrity": "sha512-xTOdYOIqCufgIj0knvxu86FBfovP6QBiD7ngNva01gb8xPQCD5gXkE5APGczH35zStim1O3zqvFbLQmY85xXRg==", "cpu": [ "x64" ], @@ -1851,9 +1872,9 @@ } }, "node_modules/@oxlint/binding-linux-arm-gnueabihf": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.83.0.tgz", - "integrity": "sha512-Qpwy3zzAwMj+8/lyYItHmkSMwbkprFNWTK7jPYDOxSyxEhaSLOWYUTCMkjF334J8/WD0nznCCsoBbIH6hpsuIw==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.88.0.tgz", + "integrity": "sha512-BLadtw88NdYJBrAtC1dYzrPfSP2d5zgx6iuZycdD0YmZBJ2Nqbit9Z4PSaIb6gxK25dweArGMPbOmq/0ugwUPg==", "cpu": [ "arm" ], @@ -1868,9 +1889,9 @@ } }, "node_modules/@oxlint/binding-linux-arm-musleabihf": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.83.0.tgz", - "integrity": "sha512-s+BirYLFq7JL2k9sP0XI3ZXJ9dYvJ8sX3jLCLoag7tt+zrSHpZxP0jqznfL+Gdgwu7ay0dYgGYJXrQvq3iWloA==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.88.0.tgz", + "integrity": "sha512-wILSczl/DaZsCcf7j7tvNbssp8hxEHIJxrv4j7+JjI3TAL1U/JTWbeUtoJJC/vo8+2hkTmHLYoKJjmiNbijdXw==", "cpu": [ "arm" ], @@ -1885,9 +1906,9 @@ } }, "node_modules/@oxlint/binding-linux-arm64-gnu": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.83.0.tgz", - "integrity": "sha512-7lihXt3vKr+GIyapNbHrnFHm/biiW30le6Zv/DExbAFPF6YwCQXVFlONPFehxs0CpGO4CBfYPM9rdDT+XMoIlg==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.88.0.tgz", + "integrity": "sha512-jutT2Hy8JCuZuMwIFHo2HtyxfOfBJHyQxlBHBK1SL9W2f8n/WhjAP0FnDMz9d/mjhv9+QA0mx5AdQ9fDjsrFFg==", "cpu": [ "arm64" ], @@ -1905,9 +1926,9 @@ } }, "node_modules/@oxlint/binding-linux-arm64-musl": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.83.0.tgz", - "integrity": "sha512-q63JalLYVkZiZvls1z3PPUnpmQluOMXp0khqQMznCeAPLGydfNY8JhvuA4WlK57JfrvikU8wB5lPVveqpIXvew==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.88.0.tgz", + "integrity": "sha512-8N8iGV9hh4Lkeuq7QsEkjoXNRRflqR1G2qyoGYXcA0k5qllrdqmfylKEXyHIVERxqNDyMO4StqDQ0uLxXcBQAg==", "cpu": [ "arm64" ], @@ -1925,9 +1946,9 @@ } }, "node_modules/@oxlint/binding-linux-ppc64-gnu": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.83.0.tgz", - "integrity": "sha512-krQmDF+dRbxvdqVPV88ZuOoPPu8X5BuqDA8Hd+qcS4YMRQCb+nexA57DazgGsc/rGdKBe3QmV0mnv0bdpW/p5g==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.88.0.tgz", + "integrity": "sha512-5ydcQt3znNQ/rGEWYRvpS2cK9+T18P2VYgnyJ+eloEAwi9YUmsXy5VGrRqNWIK6qzWwHGnEE3ojVqqQNo+f0hA==", "cpu": [ "ppc64" ], @@ -1945,9 +1966,9 @@ } }, "node_modules/@oxlint/binding-linux-riscv64-gnu": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.83.0.tgz", - "integrity": "sha512-MmOl8Y6txEAXZU1RG8Rr264jQ6D7VPmqFsU/45x/FeWsGe32hklTqGrLE6UxHzp5Rjt0wP+20tY8YXKgSFB3mw==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.88.0.tgz", + "integrity": "sha512-iGx0uvFT54b/5DPJdEBCxYIrVB3v0uTy+JhRh3CyEp8/22BXDkG8rffkFwREdLsdj9mOrPbJYVOZw8ipcBuzjw==", "cpu": [ "riscv64" ], @@ -1965,9 +1986,9 @@ } }, "node_modules/@oxlint/binding-linux-riscv64-musl": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.83.0.tgz", - "integrity": "sha512-u1rMymh0W3JZkq370kzQsYPULGWqhE09pZRqnZvUSoYaI9pVO5yVX+iYIslmWuEgwuzH9YAaOsScJiobWCHoOw==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.88.0.tgz", + "integrity": "sha512-Wt47mKMWelVjRjuR7BCFxXkB0m79K1sTEbqMHRWciKUgo5iv7sWsF4RXSOyFYHD9zerNrkRZblnN273rhwOA1Q==", "cpu": [ "riscv64" ], @@ -1985,9 +2006,9 @@ } }, "node_modules/@oxlint/binding-linux-s390x-gnu": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.83.0.tgz", - "integrity": "sha512-y0zK3HNwGysu7rqtE+BQG/d0bx5gh/KwlOtghN8oWeK1KcWzeaLqtZrbm8owqdma1lFyrce/hTO5ismuNu+INQ==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.88.0.tgz", + "integrity": "sha512-g3L12KCS4+1gtUt3RbJ4F+Yxx4LNmmZLEPfhd8rAHEJjJk2lAgNfnjGoP/phJyhG5WS6VbNYbJtadJelNfvTMA==", "cpu": [ "s390x" ], @@ -2005,9 +2026,9 @@ } }, "node_modules/@oxlint/binding-linux-x64-gnu": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.83.0.tgz", - "integrity": "sha512-rS5gM0NgD7ngmuJmbIehsidtrOwKkLFwCQbKEeb9KuyQrrWNq5Zkn0uV6AYdXOMJ0grrWEiLwBuvMxt8w5vsNw==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.88.0.tgz", + "integrity": "sha512-og/XHVDOD9ZJgRiZkT9DgzQd4sr+JZW7e4l17Q/jVMZiIbeEd4uIu9iAoUbTF1gIvVZoRc4QDOxyVUvQGp4WHg==", "cpu": [ "x64" ], @@ -2025,9 +2046,9 @@ } }, "node_modules/@oxlint/binding-linux-x64-musl": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.83.0.tgz", - "integrity": "sha512-W2IH4EtpcPaWcvNGCA95YoDg4vxqE/ZiPCi3arrxEEpsK7+JQN9WYwrlYFx9pcdP6KPXqRqkv3zdQPHcx7b6YQ==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.88.0.tgz", + "integrity": "sha512-EmhBsp+xuKb6YbZNEMLBo80Xw71AZOIm18do8ni/GLX/Lw1XzNhVYpbxO1KasYtoAvrGtCOdCPULRlIE0bPbTQ==", "cpu": [ "x64" ], @@ -2045,9 +2066,9 @@ } }, "node_modules/@oxlint/binding-openharmony-arm64": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.83.0.tgz", - "integrity": "sha512-6LyKkUyoajssTPLlZmDbZIbu4IZ5B4bGuRUnBgCGpEvHP3FQMaYITncHA/unPUo7q+Z+pIu2HhdkQ+8d1SG7iA==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.88.0.tgz", + "integrity": "sha512-DBUcx/KwYdg1DAz+G01P/GFv512J04EsZadbHptx2FTpWT/MWRg21ZToNHt9pnsfQRBQ3et/g+vqzbvrdAVbuA==", "cpu": [ "arm64" ], @@ -2062,9 +2083,9 @@ } }, "node_modules/@oxlint/binding-win32-arm64-msvc": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.83.0.tgz", - "integrity": "sha512-Uz/fObEtF0jmNJQJ8CGRBKfefYstS0/wjD3s6IGzP8nUwsJykHQJBiN3npHwKiGRGn/vvBEgNr4B3cCzmmatvg==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.88.0.tgz", + "integrity": "sha512-xeVd0n4XG5HvynxfYvXi6uB+JvZbVZataowPS8cYpMbYg9mwE4sSyElFQd4LVJFifq8bRLDSR18XgEildmcXAg==", "cpu": [ "arm64" ], @@ -2079,9 +2100,9 @@ } }, "node_modules/@oxlint/binding-win32-ia32-msvc": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.83.0.tgz", - "integrity": "sha512-u7XcvPW6Bk58tY5iWs2ESb0vJjoE/kuSpHxopbwp/p3ZtWVQXZ6wor5w3ssVTHOqd/v8b+QdhSFWQ4grEUNWpA==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.88.0.tgz", + "integrity": "sha512-MA6iOw//amleaz2mVMsZrA7NHlEexjTrhIxSMFCXQi6IUuQO+3Od00GZhr2iCYw6RFzMW36jkKK/WHBXMsoQAw==", "cpu": [ "ia32" ], @@ -2096,9 +2117,9 @@ } }, "node_modules/@oxlint/binding-win32-x64-msvc": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.83.0.tgz", - "integrity": "sha512-LZRubd7ph13QmAg4fFecTYVZkiYbROR2Htaxh/ufWRkDhPOm2wrwaEYR89e0YpPFD3dqBrPoxS7myBw5hmYA7Q==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.88.0.tgz", + "integrity": "sha512-3Sz6rVWe8Dy+ufsXurFN1GX2dX43F/lQMSLelK9gFjiba7nHvLlqlhR5cHlWVnCpSqUY1hN9pyCX9XToe6ve6g==", "cpu": [ "x64" ], @@ -2113,26 +2134,26 @@ } }, "node_modules/@oxlint/plugins": { - "version": "1.79.0", - "resolved": "https://registry.npmjs.org/@oxlint/plugins/-/plugins-1.79.0.tgz", - "integrity": "sha512-S0uyoxakDINJ4DPgqxGlEEvrdSMeQb7Z2lKVjxoY2gwsbZbfg2Xr8Klfeo5ZeraHmmdBCELFUHkSe6KEmBpMvg==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/@oxlint/plugins/-/plugins-1.88.0.tgz", + "integrity": "sha512-G2xbfWTrbqYRhR/vfeKNMQf/sS3/ti0iKJAAkRxHuXWZH/hne/dyIb9QKk5LuR6cJLARxsL6FMoAYmfspd74MQ==", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/Boshen" + "url": "https://github.com/sponsors/oxc-project" } }, "node_modules/@playwright/test": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz", - "integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.64.1.tgz", + "integrity": "sha512-IaYGml/nSOiZWROfPtuIL7neuu9qDOZ3TNvNljUIrhDMxiGTgPjzj/g9p9RxpS2tSepPDRY+UwAaEeiKtUvIAg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.63.0" + "playwright": "1.64.1" }, "bin": { "playwright": "cli.js" @@ -2149,9 +2170,9 @@ "license": "MIT" }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.12.tgz", - "integrity": "sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.14.tgz", + "integrity": "sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==", "cpu": [ "arm" ], @@ -2161,14 +2182,15 @@ "os": [ "android" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.12.tgz", - "integrity": "sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.14.tgz", + "integrity": "sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==", "cpu": [ "arm64" ], @@ -2178,14 +2200,15 @@ "os": [ "android" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.12.tgz", - "integrity": "sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.14.tgz", + "integrity": "sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==", "cpu": [ "arm64" ], @@ -2195,14 +2218,15 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.12.tgz", - "integrity": "sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.14.tgz", + "integrity": "sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==", "cpu": [ "x64" ], @@ -2212,14 +2236,15 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.12.tgz", - "integrity": "sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.14.tgz", + "integrity": "sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==", "cpu": [ "x64" ], @@ -2229,14 +2254,15 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.12.tgz", - "integrity": "sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.14.tgz", + "integrity": "sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==", "cpu": [ "arm" ], @@ -2246,14 +2272,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.12.tgz", - "integrity": "sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.14.tgz", + "integrity": "sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==", "cpu": [ "arm64" ], @@ -2266,14 +2293,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.12.tgz", - "integrity": "sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.14.tgz", + "integrity": "sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==", "cpu": [ "arm64" ], @@ -2286,14 +2314,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.12.tgz", - "integrity": "sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.14.tgz", + "integrity": "sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==", "cpu": [ "ppc64" ], @@ -2306,14 +2335,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.12.tgz", - "integrity": "sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.14.tgz", + "integrity": "sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==", "cpu": [ "s390x" ], @@ -2326,14 +2356,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.12.tgz", - "integrity": "sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.14.tgz", + "integrity": "sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==", "cpu": [ "x64" ], @@ -2346,14 +2377,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.12.tgz", - "integrity": "sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.14.tgz", + "integrity": "sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==", "cpu": [ "x64" ], @@ -2366,14 +2398,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.12.tgz", - "integrity": "sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.14.tgz", + "integrity": "sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==", "cpu": [ "arm64" ], @@ -2383,14 +2416,15 @@ "os": [ "openharmony" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.12.tgz", - "integrity": "sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.14.tgz", + "integrity": "sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==", "cpu": [ "arm64" ], @@ -2400,14 +2434,15 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.12.tgz", - "integrity": "sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.14.tgz", + "integrity": "sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==", "cpu": [ "x64" ], @@ -2417,6 +2452,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -2426,14 +2462,8 @@ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, - "license": "MIT" - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@testing-library/dom": { "version": "10.4.2", @@ -2456,9 +2486,9 @@ } }, "node_modules/@testing-library/user-event": { - "version": "14.6.7", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.7.tgz", - "integrity": "sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==", + "version": "14.6.8", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.8.tgz", + "integrity": "sha512-vgSSqnANMnkcYR/vUNDbwS7aM3OErRLNUG8vCVVlj4oc6cKffUrccX7UAS5AmJQQNZTSibi9z5GvvRZ0aYgUCQ==", "dev": true, "license": "MIT", "engines": { @@ -2502,9 +2532,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.6.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", - "integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==", + "version": "26.6.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", + "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", "dev": true, "license": "MIT", "dependencies": { @@ -2920,80 +2950,64 @@ } }, "node_modules/@vitest/browser": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.11.tgz", - "integrity": "sha512-bwMovvAeuTFOK5kIFevw4VEf+1gVEICv4SYK4k3knJOxl6b1zEWud8mYKD73e1B0odAn174h1MofURy2TPWf3w==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-5.0.4.tgz", + "integrity": "sha512-pRRkI2am/lmhGiaeHkVVLQb7SZyCOe5ytjVNQ0zLNZjA1xb+7aNTRqaaPeMJzWM958/5IrxJ50yTUpKSsigHMw==", "dev": true, "license": "MIT", "dependencies": { - "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.11", - "@vitest/utils": "4.1.11", - "magic-string": "^0.30.21", + "@blazediff/core": "1.10.0", + "@vitest/mocker": "5.0.4", + "@vitest/ui": "5.0.4", + "@vitest/utils": "5.0.4", + "magic-string": "^1.4.3", "pngjs": "^7.0.0", "sirv": "^3.0.2", - "tinyrainbow": "^3.1.0", - "ws": "^8.19.0" + "tinyrainbow": "^3.2.0", + "ws": "^8.22.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.1.11" + "vitest": "5.0.4" } }, "node_modules/@vitest/browser-preview": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/browser-preview/-/browser-preview-4.1.11.tgz", - "integrity": "sha512-iPKSE6Ibayey6HFgK1V1/aHgyhx7HSRk1YMi+lnBZGmlIiNV5Uc7xRkD9Su8RDylTxDECK23t7kTHdRKoqSYDQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/browser-preview/-/browser-preview-5.0.4.tgz", + "integrity": "sha512-ltb2DIPoNS14XuyHD/bW2tt+T764eoy5IeQTWH2/2/6f6WgsyazPBmvoa6BstMiDm4VhE5CBy71wr6EhGhoymw==", "dev": true, "license": "MIT", "dependencies": { - "@testing-library/dom": "^10.4.1", - "@testing-library/user-event": "^14.6.1", - "@vitest/browser": "4.1.11" + "@testing-library/dom": "^10.4.2", + "@testing-library/user-event": "^14.6.7", + "@vitest/browser": "5.0.4" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.1.11" - } - }, - "node_modules/@vitest/expect": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz", - "integrity": "sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.11", - "@vitest/utils": "4.1.11", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "vitest": "5.0.4" } }, "node_modules/@vitest/mocker": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz", - "integrity": "sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.4.tgz", + "integrity": "sha512-tqAlrYWce4iUxhr3ncNohejtCTOcHeE8XWrSNZY3OhPoDn01yeGv+gnaBy64ATp7o6pb03eIbBAjzmibpc9vIQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.11", + "@jridgewell/trace-mapping": "0.3.31", + "@vitest/spy": "5.0.4", "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" + "magic-string": "^1.4.3" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "msw": "^2.4.9", + "msw": "^2.4.9 || ^3.0.0", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { @@ -3006,77 +3020,84 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz", - "integrity": "sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.0.4.tgz", + "integrity": "sha512-kh/bp0oLr6w18kt4MFn5/zS+Hpc5k3bsf6S2m2Qksj7sKHrnc7Tu90UVYyiXnRvkYruN6kSCHQ3RR+SBE6FinA==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.1.0" + "tinyrainbow": "^3.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz", - "integrity": "sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==", + "node_modules/@vitest/snapshot": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-5.0.4.tgz", + "integrity": "sha512-d5bPylmU0je1vWdcXTj9NnYghZvFE/7jhYZZcW4TCa+f3aazYDN4szksKfuHqKjBm7NwtSEPpeY52Zn7lYuqTA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.11", + "@vitest/pretty-format": "5.0.4", + "@vitest/utils": "5.0.4", + "magic-string": "^1.4.3", "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/snapshot": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz", - "integrity": "sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==", + "node_modules/@vitest/spy": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.4.tgz", + "integrity": "sha512-MZKk/gSkm2q+ICobMxCpH1mA+cCAWm8WV7UhxlqGjq/sJ3AGc1BqFOs5CRVXxH78wQtme9q/NAAgBquj4AcyMw==", "dev": true, "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.11", - "@vitest/utils": "4.1.11", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/spy": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz", - "integrity": "sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==", + "node_modules/@vitest/ui": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.0.4.tgz", + "integrity": "sha512-L40ToOGwFgeZ+JVPMKHb7T0b671mqcmCpMUh9P68xq9YZ+TXM72rkDf9ljuv02e5Y1zj8ww0CnWIUnqs3FEWKQ==", "dev": true, "license": "MIT", + "dependencies": { + "@vitest/utils": "5.0.4", + "fflate": "^0.8.3", + "flatted": "^3.4.4", + "pathe": "^2.0.3", + "sirv": "^3.0.2", + "tinyrainbow": "^3.2.0" + }, "funding": { "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "5.0.4" } }, "node_modules/@vitest/utils": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz", - "integrity": "sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.0.4.tgz", + "integrity": "sha512-hgpnyMuMqCz2PARmk3v62FxUr8jHIkY13ygvUeh8s+dmQxfnvkB/sgtoZFzG4lMitnEdnrg/lCvDbtVzuAsGWQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.11", + "@vitest/pretty-format": "5.0.4", "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" + "tinyrainbow": "^3.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@voidzero-dev/vite-plus-darwin-arm64": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-arm64/-/vite-plus-darwin-arm64-0.3.3.tgz", - "integrity": "sha512-1hwUfQGqvzlO+qQ7r1i5XQWkKaWq/JcdAAZOPloMQsZq7P8rgiY1pq/0q4stzcNxFF74k4aEFOlDUKi6D149YA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-arm64/-/vite-plus-darwin-arm64-1.2.0.tgz", + "integrity": "sha512-hH6ZQC/Hpa3eCeV7ro7xUCEcFOOhiUjLXpcOnhA6r079wAY6aHkdKvaMNzHSXdT6PG54XHuOE6zxgu3OxS+7jA==", "cpu": [ "arm64" ], @@ -3091,9 +3112,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-darwin-x64": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-x64/-/vite-plus-darwin-x64-0.3.3.tgz", - "integrity": "sha512-nM2+EC1BPochRhtf48FWZX3wPnrsy8aBSI5TPqjxr0OS0bydvPavrhdSUmgUGZG9/hp0NTeXhhqY9A7yuvZLZQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-x64/-/vite-plus-darwin-x64-1.2.0.tgz", + "integrity": "sha512-WCGWyp5NHU1a4WCL7YRkfE2LdPmFlA8jR8xlI1ryMC/K7TWs8XiS+P91H/3MrY41pl8tYm67zjR2h2rdft/gRQ==", "cpu": [ "x64" ], @@ -3108,9 +3129,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-linux-arm64-gnu": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-gnu/-/vite-plus-linux-arm64-gnu-0.3.3.tgz", - "integrity": "sha512-WC8/kT0/btxnwgYR5QvvelbgUaLQ6lbxs8aMQpjc63p1QdMTNZEbp3vnTV2l9KgoUYeyHnALJVBW9l1CJAM+fA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-gnu/-/vite-plus-linux-arm64-gnu-1.2.0.tgz", + "integrity": "sha512-KKs7LPCqKgvwcTg4BNybbZLbgOq75zTst4HxZEGmRZaaLE4uhjTFrQ1ERqNz4Nbpkl6AaEE/Iz3CY6EFk9bqJg==", "cpu": [ "arm64" ], @@ -3128,9 +3149,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-linux-arm64-musl": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-musl/-/vite-plus-linux-arm64-musl-0.3.3.tgz", - "integrity": "sha512-iy3AgJK9wwOGjlEzq0Sm1bqK5pDSWF4nz29Ey5BmK7bGciyfufeKRqRASKJdMhRMEQ7WVUQz5luC5GddLEDwXg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-musl/-/vite-plus-linux-arm64-musl-1.2.0.tgz", + "integrity": "sha512-QHz70GOhlCsf1tf2Qi2CDjJAlxbmitj0AvJqmLl5fgaKvj3P4Thd9z3nsf4MTe5aGP26ehNpU+O9Sm19cxlplQ==", "cpu": [ "arm64" ], @@ -3148,9 +3169,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-linux-x64-gnu": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-gnu/-/vite-plus-linux-x64-gnu-0.3.3.tgz", - "integrity": "sha512-ZHN3RCA422XrGYmSDE9IZqx/eM5PsFCXHn8hUttQEwcSVXsuKBArDyb/uxonn1n0bPNW8c4G4HvNmIS3ckLXzA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-gnu/-/vite-plus-linux-x64-gnu-1.2.0.tgz", + "integrity": "sha512-PVW6srd6GW5ROMDQmxtNIR3vRcu44w3MYXBo2d15VhvHeskFKdTSIBHqXlnYxcE0adMtarT8JOmZXkD58+4zUQ==", "cpu": [ "x64" ], @@ -3168,9 +3189,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-linux-x64-musl": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-musl/-/vite-plus-linux-x64-musl-0.3.3.tgz", - "integrity": "sha512-lDmmjrgh6qNvBlzapzKMjxiqRigkyPjIimkxrk8CSz+/AyQp6I/wuIAyjBmNfeh14SQoDNVgf03CTJzmJycrpg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-musl/-/vite-plus-linux-x64-musl-1.2.0.tgz", + "integrity": "sha512-rbNt1wudy3i+eVbVTSGPDvT3H8e7f2kouzzFAduV5m9boSTOgJjFzSqgUIN0oCtp7PpCUvC3h1Xewbor75uS0g==", "cpu": [ "x64" ], @@ -3188,9 +3209,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-win32-arm64-msvc": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-arm64-msvc/-/vite-plus-win32-arm64-msvc-0.3.3.tgz", - "integrity": "sha512-/5/YdLItQH9KC+jL49uw9CidC7MeO3Q8ojRcuOPcH5ujU5tU4P4lO2qJ9RbM8ckC1lfiZYTtVtJUSkbPn1R/YQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-arm64-msvc/-/vite-plus-win32-arm64-msvc-1.2.0.tgz", + "integrity": "sha512-fb0vSBUAhnHFxZCHqbZz2sOGQwAxt+eZ+DnSBeOndyE1HPja56mobruSgaH2WTw8d41KmGMUirFKIMaHwg0agQ==", "cpu": [ "arm64" ], @@ -3205,9 +3226,9 @@ } }, "node_modules/@voidzero-dev/vite-plus-win32-x64-msvc": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-x64-msvc/-/vite-plus-win32-x64-msvc-0.3.3.tgz", - "integrity": "sha512-npbLQAAKdWHEB0qOFkmF/2OUzdraNBe1w7gY1LjXQFvqORAKZlHyQ2rgF5nBtG5+LKvbKWL6XpvyP+cQEh7MZg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-x64-msvc/-/vite-plus-win32-x64-msvc-1.2.0.tgz", + "integrity": "sha512-0aBgalqUdVV2yqZTImuDgu5kGcTCSDRPk9qkO+EOiWECo31SQRkKruD6nwdtr07hWbQ34v4VC1pG9G0fU1dwmA==", "cpu": [ "x64" ], @@ -3241,14 +3262,13 @@ "node": ">=14.6" } }, - "node_modules/@yuku-codegen/binding-android-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-android-arm64/-/binding-android-arm64-0.9.5.tgz", - "integrity": "sha512-jrOY5WM+AaAqkv51fHP1x28ifto4WgcZVzodLUyMU1jMWn5Sq+VciRdk/n8E0Ey5w4p4cWWE+m5GfXWOYh7Kzw==", + "node_modules/@yuku-core/binding-android-arm64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-android-arm64/-/binding-android-arm64-0.19.0.tgz", + "integrity": "sha512-wdL2XmTiZixAOaHk9Z0JJZ8u9Qm8d333Zjpc6gaxXFX+UR5BlsfxZ7a2+2Rm71pamppsPYGUGFq2oVLbh6DISw==", "cpu": [ "arm64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3256,14 +3276,13 @@ "android" ] }, - "node_modules/@yuku-codegen/binding-darwin-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-arm64/-/binding-darwin-arm64-0.9.5.tgz", - "integrity": "sha512-4O4lkCQIzPZGjiNB1GORSI6hBECbiiSBS/APZXPvNKYH+nhY4uuqv03LNXA+SET3hoBjvr95P5rIhY8KQaQUBA==", + "node_modules/@yuku-core/binding-darwin-arm64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-darwin-arm64/-/binding-darwin-arm64-0.19.0.tgz", + "integrity": "sha512-7sNJa6XJhyetnTy64jw3NEi4YgUcezHk1G5GH9FSvXAuC8wIlbaOwT9lgq5qo5sspjrZJQlBR1TWflP49uRpMw==", "cpu": [ "arm64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3271,14 +3290,13 @@ "darwin" ] }, - "node_modules/@yuku-codegen/binding-darwin-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-x64/-/binding-darwin-x64-0.9.5.tgz", - "integrity": "sha512-9EvoUO0SEhD6/d8VHdWuPerepPMSR1y84+UEgz8Un1Ope14Oe7xMvePpEQLTLovoIFZ8Zg3iZ8z8E11pZMqC3g==", + "node_modules/@yuku-core/binding-darwin-x64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-darwin-x64/-/binding-darwin-x64-0.19.0.tgz", + "integrity": "sha512-pTC7dYEc59isdyizc3nsuyFNBu2LU5wMYZ1be6UMr59PY/AJNtO1aBLWV0MgL/z7C1nv/2sX4TNjGgKLoeevJw==", "cpu": [ "x64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3286,14 +3304,13 @@ "darwin" ] }, - "node_modules/@yuku-codegen/binding-freebsd-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-freebsd-x64/-/binding-freebsd-x64-0.9.5.tgz", - "integrity": "sha512-HqT78WwgHTmp8lwujoUa9CrIortX4DdpuiVC18ZPSGvuuJf4ylpIEI6QrQEM78Zwz3muhAWAOXZ5irdiYY+AyA==", + "node_modules/@yuku-core/binding-freebsd-x64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-freebsd-x64/-/binding-freebsd-x64-0.19.0.tgz", + "integrity": "sha512-xrZjF6XOEwyLOiDIfrwDdRCS6ghxcJeirNC1KivQhVcUwlRonaU79S3/Uiyx3lBylPnT8qKJ3/aMT+H52nGTJQ==", "cpu": [ "x64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3301,14 +3318,13 @@ "freebsd" ] }, - "node_modules/@yuku-codegen/binding-linux-arm-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.9.5.tgz", - "integrity": "sha512-QJXwIW6Ms3QIawbcBIedmrmXnfdpuAOjZJ/eAABq5XTzWvSxZ7lutu9W5yIHahlaTaFnBo7ikrVMD1szLTpPUw==", + "node_modules/@yuku-core/binding-linux-arm-gnu": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.19.0.tgz", + "integrity": "sha512-0OyIH53C0I1CbADHn9FSdCfX5qbpeLwJhmOVhonFJNYheybOnkSJ50qGMfTJIb8y5zrwqvLs7FVBvz6Fk8maZg==", "cpu": [ "arm" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "glibc" @@ -3319,14 +3335,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-linux-arm-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-musl/-/binding-linux-arm-musl-0.9.5.tgz", - "integrity": "sha512-eHbFy3IHGb+IYarrYwAo0yWSEQV3eAmEn6VrsKA6I1Wy1YPJxWqSJlV69JhqsHtJuJlljUIF3ex0y46yaKIu9w==", + "node_modules/@yuku-core/binding-linux-arm-musl": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm-musl/-/binding-linux-arm-musl-0.19.0.tgz", + "integrity": "sha512-z/iPfkCOCSXE34VXNt0uP1ORSW+4mEa9b5CiJcWZeqZH08g49bFU/jRM2T04f+Wpw5mJ6HIzNBiojxeAbrHjeg==", "cpu": [ "arm" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "musl" @@ -3337,14 +3352,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-linux-arm64-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.9.5.tgz", - "integrity": "sha512-ByoJMbySTaDhjAXSu8q6Lh7HKg3YoesXpcT72aYk0Aiw4PCznmY4ybpLTq0RCvp0RIPhFm/6yECFiGBwyCC1nw==", + "node_modules/@yuku-core/binding-linux-arm64-gnu": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.19.0.tgz", + "integrity": "sha512-jLNTi+gzaRwBJ+gwhCJ+rDb5dmx/8hEBx93UWd7hjMSqPTL1D1wvVSvXVAldV5kALvju7b0/m51EHEhs4+I1fA==", "cpu": [ "arm64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "glibc" @@ -3355,14 +3369,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-linux-arm64-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.9.5.tgz", - "integrity": "sha512-gD9vfXIoBw1toSxhO9rgmSu/FEfy3PMznJAxVjIuH8DrWEiDKXmJO0pJKfj1Ltbe/TmtWVZR+TjISqeSIGQzMg==", + "node_modules/@yuku-core/binding-linux-arm64-musl": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.19.0.tgz", + "integrity": "sha512-YwyPIdW/rN2Fmv0MTFWi47FaB3F9g+2b+sJISyAw83Yd60RWH4T3Nx6XkAHHVN+uKJNBAd6So7/BVihSiFYvuQ==", "cpu": [ "arm64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "musl" @@ -3373,14 +3386,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-linux-x64-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.9.5.tgz", - "integrity": "sha512-BARvdnvqMGjOr5Iel2JH+9H5vAIE0R6H0Z2fsT02xrvmI/1ZXNB8lkuX+ZGevPhZb3zJ9WeC/R8JZstrsUOK5g==", + "node_modules/@yuku-core/binding-linux-x64-gnu": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.19.0.tgz", + "integrity": "sha512-/vskaAXVX3ESR43FiTdfiYS7z1b9uoQJwVQ/0RgUHgN2sWoAyCZs+aX4CgU7eKGIHTVfp9VFwv+c+2XchYiEtQ==", "cpu": [ "x64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "glibc" @@ -3391,14 +3403,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-linux-x64-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-musl/-/binding-linux-x64-musl-0.9.5.tgz", - "integrity": "sha512-x8flcevS1fbb7ESrmpOY/pON4eInSaE/7Ktjqx2udOE2W33BNSZmJuwpyUgo54AoHNqrcaM7szqydyJn5fNvew==", + "node_modules/@yuku-core/binding-linux-x64-musl": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-x64-musl/-/binding-linux-x64-musl-0.19.0.tgz", + "integrity": "sha512-FuXL5igeSKib9Rye02TdH+D6SQezTyGxIATMu1Qsn/QywrzwpGl35OLpS2C1x5vpGLeVE2XgiLd5mVPFHmIglQ==", "cpu": [ "x64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "libc": [ "musl" @@ -3409,14 +3420,13 @@ "linux" ] }, - "node_modules/@yuku-codegen/binding-win32-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-arm64/-/binding-win32-arm64-0.9.5.tgz", - "integrity": "sha512-KOL/rBatWqH4ZpCNoF8ZtSNdOJbAxBJLmk/VeRciepGROPTbPum1A9t67GpFgOU7qrkUWlPJdJ+KHKbvbmOt+w==", + "node_modules/@yuku-core/binding-win32-arm64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-win32-arm64/-/binding-win32-arm64-0.19.0.tgz", + "integrity": "sha512-YuJAe7zEKT1Xa7LuHlhGJpPnYQeVtvo0rZvNjJRqkH0hQGOw4C8QeP30Tg5VKGzZfo2x8CjhjEhKt4TmLwfmdg==", "cpu": [ "arm64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3424,212 +3434,13 @@ "win32" ] }, - "node_modules/@yuku-codegen/binding-win32-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-x64/-/binding-win32-x64-0.9.5.tgz", - "integrity": "sha512-FxENahEjWSan59Syh/us/Kf4wNq8qrJLFJ3R2N4Oiwtb6yNdz/rWLNTIoNSssnsp7IoWJdUP6o/Z8ppg7lXMcg==", + "node_modules/@yuku-core/binding-win32-x64": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-core/binding-win32-x64/-/binding-win32-x64-0.19.0.tgz", + "integrity": "sha512-o8iY/mXwlRkedp0LNTr4+TEfXTPQwoNZmv6k+1WIAd1ZXEn8xJJTBCtB0osaVvdZo/x/cNmV16UrWrrGpM5Mvw==", "cpu": [ "x64" ], - "deprecated": "yuku-codegen is pure JavaScript since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@yuku-parser/binding-android-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-android-arm64/-/binding-android-arm64-0.9.5.tgz", - "integrity": "sha512-A2JCFCSHfnficqYEw4Iujpx7XrkMM3UfFcgJFmYpZSo9zM4nyhmdIIE0FogSduuU60lhM0/UcfuUBXIVNBMlGQ==", - "cpu": [ - "arm64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@yuku-parser/binding-darwin-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.9.5.tgz", - "integrity": "sha512-3PiyU+Eare4YuKaQ22N98/yAiROPY5o/NQJHraICzDvk4pgS+m+bgLKOvkGBRn33OnV95Vdv1Mn38b+MQHpULQ==", - "cpu": [ - "arm64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@yuku-parser/binding-darwin-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-x64/-/binding-darwin-x64-0.9.5.tgz", - "integrity": "sha512-blFMAFI7AInI83XaiOF8cIeiRM46Nz9EfpZtZPRLbKxSA9aAr5v8aHYpmfN6NoyXxAv/10pwS4gsAuc1W6fy5Q==", - "cpu": [ - "x64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@yuku-parser/binding-freebsd-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.9.5.tgz", - "integrity": "sha512-TsNuL4qsZdO0tHp5GW43Y5fHeLPpPHA675wdcPNTcdq2ZO5AvsQWFFoiDg8CH4oBktfsQ9tdvKhjLnLYwKvp4g==", - "cpu": [ - "x64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@yuku-parser/binding-linux-arm-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.9.5.tgz", - "integrity": "sha512-b0afYK5gHeV8RdmOcqAlgM8ONsye4cax4DMnIBaoJyPMd1UTGvTbpkqQcPVdhmHlcfcGVGMV1laeVovlr/dscw==", - "cpu": [ - "arm" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-linux-arm-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-musl/-/binding-linux-arm-musl-0.9.5.tgz", - "integrity": "sha512-fD3lKzl+r6j6n8DwiMY53qnh5DLqD8KJjCp+NbVud54Nnh3Q9Wprqss3YzyMHP3NSJk663Wlg1E1X5qOuFVFig==", - "cpu": [ - "arm" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-linux-arm64-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.9.5.tgz", - "integrity": "sha512-aRU/aCphV1MWCl/lvI6NX8LgucHQ68Fx+vz7NBb/5MEr2EuzCxiPOQqeFcMdWh+2AED/p0AvAREch0c+cSnlhA==", - "cpu": [ - "arm64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-linux-arm64-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.9.5.tgz", - "integrity": "sha512-5+Guro0l8H473YXlEjVNBRLN/IbPbJdnQh1zo0OLt49xxnON+XMJRRaEyTOTfkn9QSRg0+BhEKGR4W9Gu2uZJQ==", - "cpu": [ - "arm64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-linux-x64-gnu": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.9.5.tgz", - "integrity": "sha512-pwwSyV9q+GlvzSXlsMZBMlgk22L5bud714/vqZCdeUTivzeUVltQzUaf3IQXOGXdpc59JYTeuMCtbGquaAUoCA==", - "cpu": [ - "x64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-linux-x64-musl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.9.5.tgz", - "integrity": "sha512-z18j6JN3lBHH8vzN7gG1M8fI0nlgItSfnC9PfbmUbt97iHViKfw2iA2G9fGwRMe5LyPRZBrejIlapbygPbpdaw==", - "cpu": [ - "x64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-parser/binding-win32-arm64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-arm64/-/binding-win32-arm64-0.9.5.tgz", - "integrity": "sha512-s6Gwttb1dQvtPX6Bgkw+UPC9IO3UBDXc6Zezog8MMgvu3UfJBBB9TQqKBX/2quu0Eyh+lLSAyNlIyyecaagUPg==", - "cpu": [ - "arm64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@yuku-parser/binding-win32-x64": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-x64/-/binding-win32-x64-0.9.5.tgz", - "integrity": "sha512-FrERt9YWatY3bJfSUdi4YWY+6iQcyo3MzCC821BxlWM5TFZEHijnpz/bknR79VHlXY/9CvXz8ZlaAGPsTtN3nw==", - "cpu": [ - "x64" - ], - "deprecated": "yuku-parser runs on yuku-core since 0.14", "dev": true, "license": "MIT", "optional": true, @@ -3638,9 +3449,9 @@ ] }, "node_modules/@yuku-toolchain/types": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.9.5.tgz", - "integrity": "sha512-KiuLNNgX9uNealaWAR+G3/cMXnRk9x4TY2EkYe/KIag+UPdwiA0RRf1hr1WAxzTP8KGzCTkqUdLPvqh32sEO3w==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.19.0.tgz", + "integrity": "sha512-tFkNbsP4WXX9UMUC5syJGdK9dPMLK0PPaIuXCcCYH75sZ8MrebfBZ2XvCILRTw8AgLivSSCfDa4R67iYBDa4Kg==", "dev": true, "license": "MIT" }, @@ -3967,6 +3778,20 @@ } } }, + "node_modules/fflate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", + "dev": true, + "license": "MIT" + }, + "node_modules/flatted": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", + "dev": true, + "license": "ISC" + }, "node_modules/fs-minipass": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", @@ -4102,9 +3927,9 @@ } }, "node_modules/ip-address": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.3.tgz", - "integrity": "sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==", + "version": "10.7.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.4.tgz", + "integrity": "sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==", "dev": true, "license": "MIT", "engines": { @@ -4129,9 +3954,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.2.tgz", - "integrity": "sha512-m+aqu+LwO1O6sIopafj8HUVl5aawITwZQe/yHpMCKjaWBaA/d07B/QdMb3529REftiU+RMMHL3Vlsw3hON7vWg==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.3.tgz", + "integrity": "sha512-yzzNtgczwgoVHNigCyKTXcQJU4Y8t/ikU4UxXW0BvrLfHTGWZhsNcOT2s/a7vn81/4KqVnNmHjaUEPlvWnNwVw==", "dev": true, "funding": [ { @@ -4465,13 +4290,13 @@ } }, "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", + "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" + "@jridgewell/sourcemap-codec": "^1.6.0" } }, "node_modules/make-fetch-happen": { @@ -4673,9 +4498,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.19", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", - "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", "dev": true, "funding": [ { @@ -4800,9 +4625,9 @@ } }, "node_modules/obug": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.2.1.tgz", - "integrity": "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", + "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", @@ -4851,13 +4676,13 @@ } }, "node_modules/oxfmt": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.68.0.tgz", - "integrity": "sha512-Z0XMofcXCGUXbcpBHnWyUiX93BGiw1B+lcHNbQDWEtOhX06ewoFfu4zXkyiLhRrNnMq0twqXRHUcJetf+GsiQQ==", + "version": "0.73.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.73.0.tgz", + "integrity": "sha512-Ke4xbpuzqIBP4bkd48q815RhqWNJqOBzxVA9199M4qcF0y0LtpUv7UTg1dJ5ea6jw0RBUDZvX3qOUMNmmxfxbw==", "dev": true, "license": "MIT", "dependencies": { - "tinypool": "2.1.2" + "tinypool": "2.2.0" }, "bin": { "oxfmt": "bin/oxfmt" @@ -4869,31 +4694,35 @@ "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxfmt/binding-android-arm-eabi": "0.68.0", - "@oxfmt/binding-android-arm64": "0.68.0", - "@oxfmt/binding-darwin-arm64": "0.68.0", - "@oxfmt/binding-darwin-x64": "0.68.0", - "@oxfmt/binding-freebsd-x64": "0.68.0", - "@oxfmt/binding-linux-arm-gnueabihf": "0.68.0", - "@oxfmt/binding-linux-arm-musleabihf": "0.68.0", - "@oxfmt/binding-linux-arm64-gnu": "0.68.0", - "@oxfmt/binding-linux-arm64-musl": "0.68.0", - "@oxfmt/binding-linux-ppc64-gnu": "0.68.0", - "@oxfmt/binding-linux-riscv64-gnu": "0.68.0", - "@oxfmt/binding-linux-riscv64-musl": "0.68.0", - "@oxfmt/binding-linux-s390x-gnu": "0.68.0", - "@oxfmt/binding-linux-x64-gnu": "0.68.0", - "@oxfmt/binding-linux-x64-musl": "0.68.0", - "@oxfmt/binding-openharmony-arm64": "0.68.0", - "@oxfmt/binding-win32-arm64-msvc": "0.68.0", - "@oxfmt/binding-win32-ia32-msvc": "0.68.0", - "@oxfmt/binding-win32-x64-msvc": "0.68.0" + "@oxfmt/binding-android-arm-eabi": "0.73.0", + "@oxfmt/binding-android-arm64": "0.73.0", + "@oxfmt/binding-darwin-arm64": "0.73.0", + "@oxfmt/binding-darwin-x64": "0.73.0", + "@oxfmt/binding-freebsd-x64": "0.73.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.73.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.73.0", + "@oxfmt/binding-linux-arm64-gnu": "0.73.0", + "@oxfmt/binding-linux-arm64-musl": "0.73.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.73.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.73.0", + "@oxfmt/binding-linux-riscv64-musl": "0.73.0", + "@oxfmt/binding-linux-s390x-gnu": "0.73.0", + "@oxfmt/binding-linux-x64-gnu": "0.73.0", + "@oxfmt/binding-linux-x64-musl": "0.73.0", + "@oxfmt/binding-openharmony-arm64": "0.73.0", + "@oxfmt/binding-win32-arm64-msvc": "0.73.0", + "@oxfmt/binding-win32-ia32-msvc": "0.73.0", + "@oxfmt/binding-win32-x64-msvc": "0.73.0" }, "peerDependencies": { + "@astrojs/compiler-rs": "^0.4.0 || ^0.5.0", "svelte": "^5.0.0", "vite-plus": "*" }, "peerDependenciesMeta": { + "@astrojs/compiler-rs": { + "optional": true + }, "svelte": { "optional": true }, @@ -4903,9 +4732,9 @@ } }, "node_modules/oxlint": { - "version": "1.83.0", - "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.83.0.tgz", - "integrity": "sha512-cyDzSzaw3uzP0TeCeq3lLRPPoaUxkbB4ZOXj+kn+5r+BX9V+4bNVGk9lxer+WrgcpebH4JxLlJ3KQjveVztOLQ==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.88.0.tgz", + "integrity": "sha512-uIcFgw8BmqvFRGzH5+r7d2zJMEexwNSrEmM6WQNnGh3VkO0XYTEFoyxyNE6tjKMUib9Cue4XJA2DoWruO5D6aw==", "dev": true, "license": "MIT", "bin": { @@ -4918,28 +4747,28 @@ "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxlint/binding-android-arm-eabi": "1.83.0", - "@oxlint/binding-android-arm64": "1.83.0", - "@oxlint/binding-darwin-arm64": "1.83.0", - "@oxlint/binding-darwin-x64": "1.83.0", - "@oxlint/binding-freebsd-x64": "1.83.0", - "@oxlint/binding-linux-arm-gnueabihf": "1.83.0", - "@oxlint/binding-linux-arm-musleabihf": "1.83.0", - "@oxlint/binding-linux-arm64-gnu": "1.83.0", - "@oxlint/binding-linux-arm64-musl": "1.83.0", - "@oxlint/binding-linux-ppc64-gnu": "1.83.0", - "@oxlint/binding-linux-riscv64-gnu": "1.83.0", - "@oxlint/binding-linux-riscv64-musl": "1.83.0", - "@oxlint/binding-linux-s390x-gnu": "1.83.0", - "@oxlint/binding-linux-x64-gnu": "1.83.0", - "@oxlint/binding-linux-x64-musl": "1.83.0", - "@oxlint/binding-openharmony-arm64": "1.83.0", - "@oxlint/binding-win32-arm64-msvc": "1.83.0", - "@oxlint/binding-win32-ia32-msvc": "1.83.0", - "@oxlint/binding-win32-x64-msvc": "1.83.0" + "@oxlint/binding-android-arm-eabi": "1.88.0", + "@oxlint/binding-android-arm64": "1.88.0", + "@oxlint/binding-darwin-arm64": "1.88.0", + "@oxlint/binding-darwin-x64": "1.88.0", + "@oxlint/binding-freebsd-x64": "1.88.0", + "@oxlint/binding-linux-arm-gnueabihf": "1.88.0", + "@oxlint/binding-linux-arm-musleabihf": "1.88.0", + "@oxlint/binding-linux-arm64-gnu": "1.88.0", + "@oxlint/binding-linux-arm64-musl": "1.88.0", + "@oxlint/binding-linux-ppc64-gnu": "1.88.0", + "@oxlint/binding-linux-riscv64-gnu": "1.88.0", + "@oxlint/binding-linux-riscv64-musl": "1.88.0", + "@oxlint/binding-linux-s390x-gnu": "1.88.0", + "@oxlint/binding-linux-x64-gnu": "1.88.0", + "@oxlint/binding-linux-x64-musl": "1.88.0", + "@oxlint/binding-openharmony-arm64": "1.88.0", + "@oxlint/binding-win32-arm64-msvc": "1.88.0", + "@oxlint/binding-win32-ia32-msvc": "1.88.0", + "@oxlint/binding-win32-x64-msvc": "1.88.0" }, "peerDependencies": { - "oxlint-tsgolint": ">=7.0.2001", + "oxlint-tsgolint": ">=7.0.2003", "vite-plus": "*" }, "peerDependenciesMeta": { @@ -4952,27 +4781,27 @@ } }, "node_modules/oxlint-tsgolint": { - "version": "7.0.2001", - "resolved": "https://registry.npmjs.org/oxlint-tsgolint/-/oxlint-tsgolint-7.0.2001.tgz", - "integrity": "sha512-KjK/XLcXr1DSyonKhsuFqJRiuKqcyG9j3LJ8nkOsrLzGvodBPqzHOKauy10asLMDI0sUpvb+1sxlzff3udZvfg==", + "version": "7.0.2004", + "resolved": "https://registry.npmjs.org/oxlint-tsgolint/-/oxlint-tsgolint-7.0.2004.tgz", + "integrity": "sha512-vQ9WDF3fiZJvRdSDosNOflerOCOpwol6vWzVDxW76RcU19cjTh7engvkHLvmv+tzedR8fAiJUVUGr6IVZdkzXQ==", "dev": true, "license": "MIT", "bin": { "tsgolint": "bin/tsgolint.js" }, "optionalDependencies": { - "@oxlint-tsgolint/darwin-arm64": "7.0.2001", - "@oxlint-tsgolint/darwin-x64": "7.0.2001", - "@oxlint-tsgolint/linux-arm64": "7.0.2001", - "@oxlint-tsgolint/linux-x64": "7.0.2001", - "@oxlint-tsgolint/win32-arm64": "7.0.2001", - "@oxlint-tsgolint/win32-x64": "7.0.2001" + "@oxlint-tsgolint/darwin-arm64": "7.0.2004", + "@oxlint-tsgolint/darwin-x64": "7.0.2004", + "@oxlint-tsgolint/linux-arm64": "7.0.2004", + "@oxlint-tsgolint/linux-x64": "7.0.2004", + "@oxlint-tsgolint/win32-arm64": "7.0.2004", + "@oxlint-tsgolint/win32-x64": "7.0.2004" } }, "node_modules/p-map": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.8.tgz", - "integrity": "sha512-MitaVsCuCFIvOLLPIU7NnfrZvS9H9h7kwMUkDo+T2pEISaJD48IV9S8iIdXB7PsvvdxyYcsSTTrr90XKsbulNw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.1.1.tgz", + "integrity": "sha512-6Lh3jQPLthYujSrlw6ccWXBGZTkoTCz27Hd92g79LH/kjAbgoEu0t442cCCNbegPSJsA0lwDX8z0bcKtkpA32g==", "dev": true, "license": "MIT", "engines": { @@ -5040,13 +4869,13 @@ } }, "node_modules/playwright": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", - "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.1.tgz", + "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.63.0" + "playwright-core": "1.64.1" }, "bin": { "playwright": "cli.js" @@ -5056,9 +4885,9 @@ } }, "node_modules/playwright-core": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz", - "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.1.tgz", + "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5079,9 +4908,9 @@ } }, "node_modules/postcss": { - "version": "8.5.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", - "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "version": "8.5.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz", + "integrity": "sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==", "dev": true, "funding": [ { @@ -5099,9 +4928,9 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.18", + "nanoid": "^3.3.20", "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "source-map-js": "^1.2.2" }, "engines": { "node": "^10 || ^12 || >=14" @@ -5158,13 +4987,14 @@ "license": "MIT" }, "node_modules/rolldown": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.12.tgz", - "integrity": "sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==", + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.14.tgz", + "integrity": "sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@oxc-project/types": "=0.152.0", + "@oxc-project/types": "=0.154.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -5174,29 +5004,30 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.12", - "@rolldown/binding-android-arm64": "1.2.12", - "@rolldown/binding-darwin-arm64": "1.2.12", - "@rolldown/binding-darwin-x64": "1.2.12", - "@rolldown/binding-freebsd-x64": "1.2.12", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.12", - "@rolldown/binding-linux-arm64-gnu": "1.2.12", - "@rolldown/binding-linux-arm64-musl": "1.2.12", - "@rolldown/binding-linux-ppc64-gnu": "1.2.12", - "@rolldown/binding-linux-s390x-gnu": "1.2.12", - "@rolldown/binding-linux-x64-gnu": "1.2.12", - "@rolldown/binding-linux-x64-musl": "1.2.12", - "@rolldown/binding-openharmony-arm64": "1.2.12", - "@rolldown/binding-win32-arm64-msvc": "1.2.12", - "@rolldown/binding-win32-x64-msvc": "1.2.12" + "@rolldown/binding-android-arm-eabi": "1.2.14", + "@rolldown/binding-android-arm64": "1.2.14", + "@rolldown/binding-darwin-arm64": "1.2.14", + "@rolldown/binding-darwin-x64": "1.2.14", + "@rolldown/binding-freebsd-x64": "1.2.14", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.14", + "@rolldown/binding-linux-arm64-gnu": "1.2.14", + "@rolldown/binding-linux-arm64-musl": "1.2.14", + "@rolldown/binding-linux-ppc64-gnu": "1.2.14", + "@rolldown/binding-linux-s390x-gnu": "1.2.14", + "@rolldown/binding-linux-x64-gnu": "1.2.14", + "@rolldown/binding-linux-x64-musl": "1.2.14", + "@rolldown/binding-openharmony-arm64": "1.2.14", + "@rolldown/binding-win32-arm64-msvc": "1.2.14", + "@rolldown/binding-win32-x64-msvc": "1.2.14" } }, "node_modules/rolldown/node_modules/@oxc-project/types": { - "version": "0.152.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.152.0.tgz", - "integrity": "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==", + "version": "0.154.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.154.0.tgz", + "integrity": "sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/oxc-project" } @@ -5222,13 +5053,6 @@ "node": ">=10" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, "node_modules/sirv": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", @@ -5333,13 +5157,6 @@ "node": "^22.22.2 || ^24.15.0 || >=26.0.0" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, "node_modules/std-env": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", @@ -5348,11 +5165,14 @@ "license": "MIT" }, "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.2.tgz", + "integrity": "sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } }, "node_modules/tinyexec": { "version": "1.3.1", @@ -5382,9 +5202,9 @@ } }, "node_modules/tinypool": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.1.2.tgz", - "integrity": "sha512-9YodfrxS9g9IbFr/KOjE5bAeJ0p61n3bW6mqvy0jtoeKd1kTW1Cxm0oulm6KX2lyM9Gl6WIe8nEbY7LWv5ZJww==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.2.0.tgz", + "integrity": "sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==", "dev": true, "license": "MIT", "engines": { @@ -5402,22 +5222,22 @@ } }, "node_modules/tldts": { - "version": "7.4.16", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.16.tgz", - "integrity": "sha512-QwBER5KMR86IIjpIiO7H/Z3IMJPsZ1A6RKPAqzTTgOyUQUSt9FdnKcqhTaJmkY6HVrgouZHZR0ncK5QxvmnQeg==", + "version": "7.4.18", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.18.tgz", + "integrity": "sha512-somxA8xKAUzlAxl0TX/jMSYIbRNFIVGnI96pVGJPeMc5BsHmfVXn6mOJT6U++ELnl04eGfzpfcEuZe8WiASkXg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^7.4.16" + "tldts-core": "^7.4.18" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.4.16", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.16.tgz", - "integrity": "sha512-MDolfaSJtlSK5Y0A1xl3277ekubZwobpBjugknDizI9O5Rm60a1m8k4ICK+MRsCDzPygT81mp3BBf5RKDlFRfA==", + "version": "7.4.18", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.18.tgz", + "integrity": "sha512-KI2PKvCmvQI/xD6ypPqkU0i7oxNXR/O58RLRaHR4svsgVUQ2JE/XC8BtMbG6PSehD27I8sZJRcC1ASnCy6lp3g==", "dev": true, "license": "MIT" }, @@ -5495,16 +5315,17 @@ } }, "node_modules/vite": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.2.tgz", - "integrity": "sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz", + "integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", - "postcss": "^8.5.28", - "rolldown": "~1.2.11", + "postcss": "^8.5.29", + "rolldown": "~1.2.12", "tinyglobby": "^0.2.17" }, "bin": { @@ -5573,51 +5394,48 @@ } }, "node_modules/vite-plus": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/vite-plus/-/vite-plus-0.3.3.tgz", - "integrity": "sha512-gr3t8ZIsytJnpPE0YPxtkouf+asMsc+TWlKXYzEdY6rRXUdCGYxgaPmzRePx1Gyip2gmARRLogAwoMMW9BvSUA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plus/-/vite-plus-1.2.0.tgz", + "integrity": "sha512-u4INxnrq9LxwyA3nr33Qg6VltJiKz+ILSlZuZnQJecozUvj1/rVctkw6Igh/Xkd0En2rst7m0xE9sG7uzzZS7A==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.150.0", - "@oxlint/plugins": "=1.79.0", - "@vitest/browser": "4.1.11", - "@vitest/browser-preview": "4.1.11", - "@vitest/expect": "4.1.11", - "@vitest/mocker": "4.1.11", - "@vitest/pretty-format": "4.1.11", - "@vitest/runner": "4.1.11", - "@vitest/snapshot": "4.1.11", - "@vitest/spy": "4.1.11", - "@vitest/utils": "4.1.11", - "oxfmt": "=0.68.0", - "oxlint": "=1.83.0", - "oxlint-tsgolint": "=7.0.2001", - "vite": "npm:@voidzero-dev/vite-plus-core@0.3.3", - "vitest": "4.1.11" + "@oxc-project/types": "=0.154.0", + "@oxlint/plugins": "=1.88.0", + "@vitest/browser": "5.0.4", + "@vitest/browser-preview": "5.0.4", + "@vitest/mocker": "5.0.4", + "@vitest/pretty-format": "5.0.4", + "@vitest/snapshot": "5.0.4", + "@vitest/spy": "5.0.4", + "@vitest/utils": "5.0.4", + "oxfmt": "=0.73.0", + "oxlint": "=1.88.0", + "oxlint-tsgolint": "=7.0.2004", + "vite": "npm:@voidzero-dev/vite-plus-core@1.2.0", + "vitest": "5.0.4" }, "bin": { - "oxfmt": "bin/oxfmt", - "oxlint": "bin/oxlint", "vp": "bin/vp", "vpr": "bin/vpr" }, "engines": { - "node": "^20.19.0 || ^22.18.0 || >=24.11.0" + "node": "^22.18.0 || ^24.11.0 || >=26.0.0" }, "optionalDependencies": { - "@voidzero-dev/vite-plus-darwin-arm64": "0.3.3", - "@voidzero-dev/vite-plus-darwin-x64": "0.3.3", - "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.3.3", - "@voidzero-dev/vite-plus-linux-arm64-musl": "0.3.3", - "@voidzero-dev/vite-plus-linux-x64-gnu": "0.3.3", - "@voidzero-dev/vite-plus-linux-x64-musl": "0.3.3", - "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.3.3", - "@voidzero-dev/vite-plus-win32-x64-msvc": "0.3.3" + "@voidzero-dev/vite-plus-darwin-arm64": "1.2.0", + "@voidzero-dev/vite-plus-darwin-x64": "1.2.0", + "@voidzero-dev/vite-plus-linux-arm64-gnu": "1.2.0", + "@voidzero-dev/vite-plus-linux-arm64-musl": "1.2.0", + "@voidzero-dev/vite-plus-linux-x64-gnu": "1.2.0", + "@voidzero-dev/vite-plus-linux-x64-musl": "1.2.0", + "@voidzero-dev/vite-plus-win32-arm64-msvc": "1.2.0", + "@voidzero-dev/vite-plus-win32-x64-msvc": "1.2.0" }, "peerDependencies": { - "@vitest/browser-playwright": "4.1.11", - "@vitest/browser-webdriverio": "4.1.11" + "@vitest/browser-playwright": "5.0.4", + "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", + "playwright": "*" }, "peerDependenciesMeta": { "@vitest/browser-playwright": { @@ -5625,13 +5443,16 @@ }, "@vitest/browser-webdriverio": { "optional": true + }, + "playwright": { + "optional": true } } }, "node_modules/vite-plus/node_modules/@oxc-project/types": { - "version": "0.150.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.150.0.tgz", - "integrity": "sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==", + "version": "0.154.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.154.0.tgz", + "integrity": "sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==", "dev": true, "license": "MIT", "funding": { @@ -5640,37 +5461,39 @@ }, "node_modules/vite-plus/node_modules/vite": { "name": "@voidzero-dev/vite-plus-core", - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-0.3.3.tgz", - "integrity": "sha512-Ui92VENIZG+p0nMJuVGMsHBHrQqgUNxXObdo5PlSDEBOdRmD8AHKr8tOClZTVU1U5blLQKtHKplxtTun0yZEmw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-1.2.0.tgz", + "integrity": "sha512-SWTD9Q73hNpm07LLgYFcTLlPiOoOWtmpWxarclTHNVf6eKfdt0Saz2keDNpHPsJXKOjXREcGXozbdKc4J31sZg==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/runtime": "=0.150.0", - "@oxc-project/types": "=0.150.0", + "@oxc-project/runtime": "=0.154.0", + "@oxc-project/types": "=0.154.0", "lightningcss": "^1.33.0", - "postcss": "^8.5.6", - "yuku-codegen": "^0.9.3", - "yuku-parser": "^0.9.3" + "postcss": "^8.5.29", + "yuku-parser": "0.19.0" }, "engines": { "node": "^20.19.0 || ^22.18.0 || >=24.11.0" }, "optionalDependencies": { - "@voidzero-dev/vite-plus-darwin-arm64": "0.3.3", - "@voidzero-dev/vite-plus-darwin-x64": "0.3.3", - "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.3.3", - "@voidzero-dev/vite-plus-linux-arm64-musl": "0.3.3", - "@voidzero-dev/vite-plus-linux-x64-gnu": "0.3.3", - "@voidzero-dev/vite-plus-linux-x64-musl": "0.3.3", - "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.3.3", - "@voidzero-dev/vite-plus-win32-x64-msvc": "0.3.3", + "@voidzero-dev/vite-plus-darwin-arm64": "1.2.0", + "@voidzero-dev/vite-plus-darwin-x64": "1.2.0", + "@voidzero-dev/vite-plus-linux-arm64-gnu": "1.2.0", + "@voidzero-dev/vite-plus-linux-arm64-musl": "1.2.0", + "@voidzero-dev/vite-plus-linux-x64-gnu": "1.2.0", + "@voidzero-dev/vite-plus-linux-x64-musl": "1.2.0", + "@voidzero-dev/vite-plus-win32-arm64-msvc": "1.2.0", + "@voidzero-dev/vite-plus-win32-x64-msvc": "1.2.0", "fsevents": "~2.3.3" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@types/node": "^20.19.0 || >=22.12.0", + "@typescript/native-preview": "*", "@vitejs/devtools": "^0.7.1", + "@volar/typescript": "~2.4.0", + "@vue/language-core": "~3.2.0 || ~3.3.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", @@ -5684,6 +5507,7 @@ "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0", "unplugin-unused": ">=0.5.0", "unrun": "*", + "vue-tsc": "~3.2.0 || ~3.3.0", "yaml": "^2.4.2" }, "peerDependenciesMeta": { @@ -5693,9 +5517,18 @@ "@types/node": { "optional": true }, + "@typescript/native-preview": { + "optional": true + }, "@vitejs/devtools": { "optional": true }, + "@volar/typescript": { + "optional": true + }, + "@vue/language-core": { + "optional": true + }, "esbuild": { "optional": true }, @@ -5735,44 +5568,40 @@ "unrun": { "optional": true }, + "vue-tsc": { + "optional": true + }, "yaml": { "optional": true } } }, "node_modules/vitest": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz", - "integrity": "sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.4.tgz", + "integrity": "sha512-z0WxZRV2Sg48wF0FSgMq3TFG8JS38/Qr96vZVZdX6+Em9raQTvnXQvdTFJe2m3rfyJnEHeHQ/snceIdi8D1pVg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.11", - "@vitest/mocker": "4.1.11", - "@vitest/pretty-format": "4.1.11", - "@vitest/runner": "4.1.11", - "@vitest/snapshot": "4.1.11", - "@vitest/spy": "4.1.11", - "@vitest/utils": "4.1.11", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.1.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", - "why-is-node-running": "^2.3.0" + "@types/chai": "^5.2.2", + "@vitest/mocker": "5.0.4", + "chai": "^6.3.0", + "es-module-lexer": "^2.3.2", + "expect-type": "^1.4.0", + "magic-string": "^1.4.3", + "obug": "^3.0.0", + "picomatch": "^4.0.7", + "std-env": "^4.3.0", + "tinybench": "^6.2.2", + "tinyexec": "^1.3.1", + "tinyglobby": "^0.2.17", + "why-is-node-running": "3.2.1" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^22.12.0 || ^24.0.0 || >=26.0.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -5780,16 +5609,16 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.11", - "@vitest/browser-preview": "4.1.11", - "@vitest/browser-webdriverio": "4.1.11", - "@vitest/coverage-istanbul": "4.1.11", - "@vitest/coverage-v8": "4.1.11", - "@vitest/ui": "4.1.11", + "@types/node": "^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "5.0.4", + "@vitest/browser-preview": "5.0.4", + "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", + "@vitest/coverage-istanbul": "5.0.4", + "@vitest/coverage-v8": "5.0.4", + "@vitest/ui": "5.0.4", "happy-dom": "*", "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -5857,20 +5686,16 @@ } }, "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz", + "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==", "dev": true, "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, "bin": { "why-is-node-running": "cli.js" }, "engines": { - "node": ">=8" + "node": ">=20.11" } }, "node_modules/ws": { @@ -5958,63 +5783,45 @@ "dev": true, "license": "ISC" }, - "node_modules/yuku-ast": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/yuku-ast/-/yuku-ast-0.9.5.tgz", - "integrity": "sha512-Q8qW8WwQnN5Cm0ZZivdRIfv0sRLTjUq0YumXJkw8CYN1aCdICH9rk4C47/4n6kA5EqDtlj+F608twoTSV2MwdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yuku-toolchain/types": "^0.9.5" - } - }, - "node_modules/yuku-codegen": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/yuku-codegen/-/yuku-codegen-0.9.5.tgz", - "integrity": "sha512-zGUVyDpSK4b6c9B0yyxi2P0wujn1XZTbG9dCb7d6gyAoP63EMgyLzUwPUvwxPG5jgYqhlI7w+S3oCyapqGr4PA==", + "node_modules/yuku-core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/yuku-core/-/yuku-core-0.19.0.tgz", + "integrity": "sha512-kYK9e1XdfirNhkipzW0wmMcSWcVF/CWnuugodfVYRCUwvoBefweL9HzB96OiKEhsx78V5WbUxbJqlizMX869Qg==", "dev": true, "license": "MIT", "dependencies": { - "@yuku-toolchain/types": "^0.9.5" + "@yuku-toolchain/types": "^0.19.0" + }, + "engines": { + "node": ">=14.18.0" }, "optionalDependencies": { - "@yuku-codegen/binding-android-arm64": "0.9.5", - "@yuku-codegen/binding-darwin-arm64": "0.9.5", - "@yuku-codegen/binding-darwin-x64": "0.9.5", - "@yuku-codegen/binding-freebsd-x64": "0.9.5", - "@yuku-codegen/binding-linux-arm-gnu": "0.9.5", - "@yuku-codegen/binding-linux-arm-musl": "0.9.5", - "@yuku-codegen/binding-linux-arm64-gnu": "0.9.5", - "@yuku-codegen/binding-linux-arm64-musl": "0.9.5", - "@yuku-codegen/binding-linux-x64-gnu": "0.9.5", - "@yuku-codegen/binding-linux-x64-musl": "0.9.5", - "@yuku-codegen/binding-win32-arm64": "0.9.5", - "@yuku-codegen/binding-win32-x64": "0.9.5" + "@yuku-core/binding-android-arm64": "0.19.0", + "@yuku-core/binding-darwin-arm64": "0.19.0", + "@yuku-core/binding-darwin-x64": "0.19.0", + "@yuku-core/binding-freebsd-x64": "0.19.0", + "@yuku-core/binding-linux-arm-gnu": "0.19.0", + "@yuku-core/binding-linux-arm-musl": "0.19.0", + "@yuku-core/binding-linux-arm64-gnu": "0.19.0", + "@yuku-core/binding-linux-arm64-musl": "0.19.0", + "@yuku-core/binding-linux-x64-gnu": "0.19.0", + "@yuku-core/binding-linux-x64-musl": "0.19.0", + "@yuku-core/binding-win32-arm64": "0.19.0", + "@yuku-core/binding-win32-x64": "0.19.0" } }, "node_modules/yuku-parser": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/yuku-parser/-/yuku-parser-0.9.5.tgz", - "integrity": "sha512-IBnAdNVMswWbJcM7woPluOudectJzFjJ1N8jVRxP9Uq4CIv5hZdBIcdmtRbFDYF/Ph2j2gVup4YJ4N9mh0jYFA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/yuku-parser/-/yuku-parser-0.19.0.tgz", + "integrity": "sha512-XrBh9ZiQK5mJVRxZBAvD6LwRyAYrK3MFtH3+onyuxFL5hFD44EC3QOmIC1FjTj6H2MMwq46/NAI+NZxLZPZgxg==", "dev": true, "license": "MIT", "dependencies": { - "@yuku-toolchain/types": "^0.9.5", - "yuku-ast": "^0.9.5" + "@yuku-toolchain/types": "^0.19.0", + "yuku-core": "0.19.0" }, - "optionalDependencies": { - "@yuku-parser/binding-android-arm64": "0.9.5", - "@yuku-parser/binding-darwin-arm64": "0.9.5", - "@yuku-parser/binding-darwin-x64": "0.9.5", - "@yuku-parser/binding-freebsd-x64": "0.9.5", - "@yuku-parser/binding-linux-arm-gnu": "0.9.5", - "@yuku-parser/binding-linux-arm-musl": "0.9.5", - "@yuku-parser/binding-linux-arm64-gnu": "0.9.5", - "@yuku-parser/binding-linux-arm64-musl": "0.9.5", - "@yuku-parser/binding-linux-x64-gnu": "0.9.5", - "@yuku-parser/binding-linux-x64-musl": "0.9.5", - "@yuku-parser/binding-win32-arm64": "0.9.5", - "@yuku-parser/binding-win32-x64": "0.9.5" + "engines": { + "node": ">=14.18.0" } } } diff --git a/package.json b/package.json index 09bef28..3294b02 100644 --- a/package.json +++ b/package.json @@ -26,33 +26,34 @@ "preview": "vp preview --outDir dist" }, "dependencies": { - "@askrjs/askr": ">=0.4.3 <0.5.0", - "@askrjs/charts": ">=0.4.0 <0.5.0", - "@askrjs/fetch": ">=0.4.2 <0.5.0", - "@askrjs/i18n": ">=0.4.0 <0.5.0", - "@askrjs/logos": ">=0.4.0 <0.5.0", - "@askrjs/lucide": ">=0.4.0 <0.5.0", - "@askrjs/monaco": ">=0.4.0 <0.5.0", - "@askrjs/otel": ">=0.4.0 <0.5.0", - "@askrjs/themes": ">=0.4.2 <0.5.0", - "@askrjs/ui": ">=0.4.3 <0.5.0", - "@fontsource-variable/domine": "^5.3.0" + "@askrjs/askr": ">=0.5.0 <0.6.0", + "@askrjs/charts": ">=0.5.0 <0.6.0", + "@askrjs/fetch": ">=0.5.0 <0.6.0", + "@askrjs/i18n": ">=0.5.0 <0.6.0", + "@askrjs/logos": ">=0.5.0 <0.6.0", + "@askrjs/lucide": ">=0.5.0 <0.6.0", + "@askrjs/monaco": ">=0.5.0 <0.6.0", + "@askrjs/otel": ">=0.5.0 <0.6.0", + "@askrjs/themes": ">=0.5.0 <0.6.0", + "@askrjs/ui": ">=0.5.0 <0.6.0", + "@fontsource-variable/domine": "^5.3.0", + "@opentelemetry/api": "^1.9.1" }, "devDependencies": { - "@askrjs/auth": ">=0.4.1 <0.5.0", - "@askrjs/cli": ">=0.4.0 <0.5.0", - "@askrjs/node": ">=0.4.0 <0.5.0", - "@askrjs/schema": ">=0.4.1 <0.5.0", - "@askrjs/server": ">=0.4.1 <0.5.0", - "@askrjs/testing": ">=0.4.1 <0.5.0", - "@askrjs/vite": ">=0.4.1 <0.5.0", - "@playwright/test": "^1.63.0", - "@types/node": "^26.6.4", + "@askrjs/auth": ">=0.5.0 <0.6.0", + "@askrjs/cli": ">=0.5.0 <0.6.0", + "@askrjs/node": ">=0.5.0 <0.6.0", + "@askrjs/schema": ">=0.5.0 <0.6.0", + "@askrjs/server": ">=0.5.0 <0.6.0", + "@askrjs/testing": ">=0.5.0 <0.6.0", + "@askrjs/vite": ">=0.5.0 <0.6.0", + "@playwright/test": "^1.64.1", + "@types/node": "^26.6.5", "@typescript/native": "npm:typescript@^7.0.2", "monaco-editor": "^0.56.0", "tsx": "4.23.15", "typescript": "npm:@typescript/typescript6@^6.0.2", - "vite-plus": "^0.3.1" + "vite-plus": "^1.2.0" }, "overrides": { "dompurify": "3.4.16" diff --git a/public/llms.txt b/public/llms.txt index e206dbf..003fdf5 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -32,21 +32,19 @@ Use the documentation links below as the primary source for Askr APIs and usage. - [Tooling](https://askrjs.com/docs/tooling/index.md): CLI workflows for creating, analyzing, generating, checking, and upgrading projects. - [API reference](https://askrjs.com/docs/reference/index.md): Package entry points, exported APIs, CLI reference, and release notes. -## Deliver excellent developer experience +## Shipping an application -The docs treat "it works" and "it's ready to ship" as different bars — these pages are where the second bar is spelled out explicitly, not left implicit in example code. +Use these guides to review failure handling, deployment, accessibility, and runtime constraints before shipping. - [Guides: production finish bar](https://askrjs.com/docs/guides/index.md): The checklist every task-oriented guide ends on — error boundaries around what can fail, mutations invalidating the right query keys, auth-gated routes marked runtime-only, `askr openapi --check` passing in CI. - [Production readiness](https://askrjs.com/docs/guides/production-readiness/index.md): Wiring `onError`, health probes, and OpenTelemetry so a broken deploy fails loudly instead of serving errors quietly. - [Accessibility](https://askrjs.com/docs/guides/accessibility/index.md): Using `@askrjs/ui`'s typed `*_A11Y_CONTRACT` exports to verify keyboard behavior, focus handling, and ARIA roles instead of trusting a component's look. - [Determinism and runtime rules](https://askrjs.com/docs/core-concepts/determinism/index.md): The render-purity, hook-order, and no-mutation-during-render rules the runtime enforces with a specific thrown error, not silent misbehavior. -## Platform overview +## Project -- [Platform](https://askrjs.com/platform): How the runtime, router, UI, server, rendering, and tooling fit together. -- [Application model](https://askrjs.com/application-model): Ownership and cleanup of state, routes, and asynchronous work. -- [Full-stack applications](https://askrjs.com/full-stack): Forms, validated APIs, OpenAPI, and authorization policies in one route tree. -- [Production](https://askrjs.com/production): Static and Node deployment paths, probes, middleware, localization, and telemetry. +- [Askr](https://askrjs.com/): A short introduction and links into the documentation. +- [Contributing](https://askrjs.com/docs/guides/contributing/index.md): Report an issue, improve an example, or contribute a focused fix. ## Optional diff --git a/src/pages/_routes.tsx b/src/pages/_routes.tsx index db35ab1..9e3e7d5 100644 --- a/src/pages/_routes.tsx +++ b/src/pages/_routes.tsx @@ -1,6 +1,7 @@ import { createRouteRegistry, group, lazy, route } from '@askrjs/askr/router'; import { marketingRouteMetadata, + legacyRouteMetadata, registerMarketingRoutes, type RouteMetadata, } from './marketing/_routes'; @@ -12,6 +13,7 @@ export type { RouteMetadata } from './marketing/_routes'; export const routeMetadata: Readonly> = { ...marketingRouteMetadata, + ...legacyRouteMetadata, ...Object.fromEntries( docsCatalog.map((page) => [ page.route, diff --git a/src/pages/docs/_layout.tsx b/src/pages/docs/_layout.tsx index 2a04329..b00eeb7 100644 --- a/src/pages/docs/_layout.tsx +++ b/src/pages/docs/_layout.tsx @@ -24,6 +24,8 @@ import { SidebarTrigger, } from '@askrjs/themes/components'; import { SiteLayout } from '../site-layout'; +import { docsPrimarySections } from './primary-sections'; +import type { DocsPageDefinition } from './types'; import { docsByRoute, docsSections, @@ -31,47 +33,97 @@ import { resolveDocsRoute, } from './catalog'; +function DocsSectionNavigation() { + const page = docsByRoute.get(resolveDocsRoute(currentRoute())); + return ( + + ); +} + +function DocsNavigationLinks({ + pages, + close, +}: { + pages: readonly DocsPageDefinition[]; + close?: () => void; +}) { + const activePath = resolveDocsRoute(currentRoute()); + return ( + + {pages.map((page) => ( + + + + {page.title} + {page.status !== 'stable' && ( + + • + + )} + + + + ))} + + ); +} + function DocsNavigation({ close }: { close?: () => void }) { const activePath = resolveDocsRoute(currentRoute()); + const page = docsByRoute.get(activePath); + const section = + docsSections.find((candidate) => candidate.label === page?.navGroup) ?? + docsSections[0]; + const groups = [ + ...new Set(section.pages.map((item) => item.navSection ?? section.label)), + ]; return ( - {docsSections.map((section) => ( - - {section.label} - - - {section.pages.map((page) => ( - - - - {page.title} - {page.status !== 'stable' && ( - - • - - )} - - - - ))} - - - - ))} + + {section.label} + + {groups.length === 1 ? ( + + ) : ( + groups.map((group) => { + const pages = section.pages.filter( + (item) => (item.navSection ?? section.label) === group + ); + return ( +
item.route === activePath)} + > + {group} + +
+ ); + }) + )} +
+
); } @@ -108,6 +160,7 @@ export function DocsLayout({ children }: Props) { return ( + diff --git a/src/pages/docs/api-manifest.ts b/src/pages/docs/api-manifest.ts index adfdd24..34ac66f 100644 --- a/src/pages/docs/api-manifest.ts +++ b/src/pages/docs/api-manifest.ts @@ -11,7 +11,7 @@ export interface ApiEntrypointDefinition { export const apiManifest: readonly ApiEntrypointDefinition[] = [ { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: '.', importName: '@askrjs/askr', slug: 'root', @@ -19,7 +19,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './boot', importName: '@askrjs/askr/boot', slug: 'boot', @@ -27,7 +27,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './components', importName: '@askrjs/askr/components', slug: 'components', @@ -35,7 +35,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './control', importName: '@askrjs/askr/control', slug: 'control', @@ -43,7 +43,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations', importName: '@askrjs/askr/foundations', slug: 'foundations', @@ -51,7 +51,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations/utilities', importName: '@askrjs/askr/foundations/utilities', slug: 'foundations--utilities', @@ -59,7 +59,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations/interactions', importName: '@askrjs/askr/foundations/interactions', slug: 'foundations--interactions', @@ -67,7 +67,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations/state', importName: '@askrjs/askr/foundations/state', slug: 'foundations--state', @@ -75,7 +75,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations/structures', importName: '@askrjs/askr/foundations/structures', slug: 'foundations--structures', @@ -83,7 +83,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './foundations/icon', importName: '@askrjs/askr/foundations/icon', slug: 'foundations--icon', @@ -91,7 +91,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './resources', importName: '@askrjs/askr/resources', slug: 'resources', @@ -99,7 +99,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './data', importName: '@askrjs/askr/data', slug: 'data', @@ -107,7 +107,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './testing', importName: '@askrjs/askr/testing', slug: 'testing', @@ -115,7 +115,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './fx', importName: '@askrjs/askr/fx', slug: 'fx', @@ -123,7 +123,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './router', importName: '@askrjs/askr/router', slug: 'router', @@ -131,7 +131,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './actions', importName: '@askrjs/askr/actions', slug: 'actions', @@ -139,7 +139,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './ssr', importName: '@askrjs/askr/ssr', slug: 'ssr', @@ -147,7 +147,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './ssg', importName: '@askrjs/askr/ssg', slug: 'ssg', @@ -155,7 +155,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './jsx-runtime', importName: '@askrjs/askr/jsx-runtime', slug: 'jsx-runtime', @@ -163,7 +163,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/askr', - version: '0.4.3', + version: '0.5.0', subpath: './jsx-dev-runtime', importName: '@askrjs/askr/jsx-dev-runtime', slug: 'jsx-dev-runtime', @@ -171,7 +171,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', subpath: '.', importName: '@askrjs/auth', slug: 'root', @@ -179,7 +179,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', subpath: './jwt', importName: '@askrjs/auth/jwt', slug: 'jwt', @@ -187,7 +187,7 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', subpath: './oidc', importName: '@askrjs/auth/oidc', slug: 'oidc', @@ -195,602 +195,2129 @@ export const apiManifest: readonly ApiEntrypointDefinition[] = [ }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', + subpath: './server', + importName: '@askrjs/auth/server', + slug: 'server', + symbolSet: 'symbols23', + }, + { + packageName: '@askrjs/auth', + version: '0.5.0', + subpath: './providers/auth0', + importName: '@askrjs/auth/providers/auth0', + slug: 'providers--auth0', + symbolSet: 'symbols24', + }, + { + packageName: '@askrjs/auth', + version: '0.5.0', subpath: './saml', importName: '@askrjs/auth/saml', slug: 'saml', - symbolSet: 'symbols23', + symbolSet: 'symbols25', }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', subpath: './mfa', importName: '@askrjs/auth/mfa', slug: 'mfa', - symbolSet: 'symbols24', + symbolSet: 'symbols26', }, { packageName: '@askrjs/auth', - version: '0.4.1', + version: '0.5.0', subpath: './webauthn-client', importName: '@askrjs/auth/webauthn-client', slug: 'webauthn-client', - symbolSet: 'symbols25', + symbolSet: 'symbols27', + }, + { + packageName: '@askrjs/auth', + version: '0.5.0', + subpath: './providers/microsoft', + importName: '@askrjs/auth/providers/microsoft', + slug: 'providers--microsoft', + symbolSet: 'symbols28', + }, + { + packageName: '@askrjs/auth', + version: '0.5.0', + subpath: './providers/google', + importName: '@askrjs/auth/providers/google', + slug: 'providers--google', + symbolSet: 'symbols29', + }, + { + packageName: '@askrjs/auth', + version: '0.5.0', + subpath: './providers/apple', + importName: '@askrjs/auth/providers/apple', + slug: 'providers--apple', + symbolSet: 'symbols30', + }, + { + packageName: '@askrjs/charts', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/charts', + slug: 'root', + symbolSet: 'symbols31', + }, + { + packageName: '@askrjs/charts', + version: '0.5.0', + subpath: './styles', + importName: '@askrjs/charts/styles', + slug: 'styles', + symbolSet: 'symbols32', + }, + { + packageName: '@askrjs/fetch', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/fetch', + slug: 'root', + symbolSet: 'symbols33', + }, + { + packageName: '@askrjs/fetch', + version: '0.5.0', + subpath: './middleware', + importName: '@askrjs/fetch/middleware', + slug: 'middleware', + symbolSet: 'symbols34', + }, + { + packageName: '@askrjs/i18n', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/i18n', + slug: 'root', + symbolSet: 'symbols35', + }, + { + packageName: '@askrjs/logos', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/logos', + slug: 'root', + symbolSet: 'symbols36', + }, + { + packageName: '@askrjs/lucide', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/lucide', + slug: 'root', + symbolSet: 'symbols37', + }, + { + packageName: '@askrjs/monaco', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/monaco', + slug: 'root', + symbolSet: 'symbols38', + }, + { + packageName: '@askrjs/node', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/node', + slug: 'root', + symbolSet: 'symbols39', + }, + { + packageName: '@askrjs/node', + version: '0.5.0', + subpath: './mcp', + importName: '@askrjs/node/mcp', + slug: 'mcp', + symbolSet: 'symbols40', + }, + { + packageName: '@askrjs/otel', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/otel', + slug: 'root', + symbolSet: 'symbols41', + }, + { + packageName: '@askrjs/schema', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/schema', + slug: 'root', + symbolSet: 'symbols42', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/server', + slug: 'root', + symbolSet: 'symbols43', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './router', + importName: '@askrjs/server/router', + slug: 'router', + symbolSet: 'symbols44', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './http', + importName: '@askrjs/server/http', + slug: 'http', + symbolSet: 'symbols45', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './middleware', + importName: '@askrjs/server/middleware', + slug: 'middleware', + symbolSet: 'symbols46', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './askr', + importName: '@askrjs/server/askr', + slug: 'askr', + symbolSet: 'symbols47', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './auth', + importName: '@askrjs/server/auth', + slug: 'auth', + symbolSet: 'symbols48', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './openapi', + importName: '@askrjs/server/openapi', + slug: 'openapi', + symbolSet: 'symbols49', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './mcp', + importName: '@askrjs/server/mcp', + slug: 'mcp', + symbolSet: 'symbols50', + }, + { + packageName: '@askrjs/server', + version: '0.5.0', + subpath: './testing', + importName: '@askrjs/server/testing', + slug: 'testing', + symbolSet: 'symbols51', + }, + { + packageName: '@askrjs/testing', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/testing', + slug: 'root', + symbolSet: 'symbols52', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: '.', + importName: '@askrjs/themes', + slug: 'root', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default', + importName: '@askrjs/themes/default', + slug: 'default', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './presets', + importName: '@askrjs/themes/presets', + slug: 'presets', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './components', + importName: '@askrjs/themes/components', + slug: 'components', + symbolSet: 'symbols54', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './theme', + importName: '@askrjs/themes/theme', + slug: 'theme', + symbolSet: 'symbols55', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './ssr', + importName: '@askrjs/themes/ssr', + slug: 'ssr', + symbolSet: 'symbols56', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/tokens.css', + importName: '@askrjs/themes/default/tokens.css', + slug: 'default--tokens.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/foundations.css', + importName: '@askrjs/themes/default/foundations.css', + slug: 'default--foundations.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/input.css', + importName: '@askrjs/themes/default/input.css', + slug: 'default--input.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/label.css', + importName: '@askrjs/themes/default/label.css', + slug: 'default--label.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './accordion', + importName: '@askrjs/themes/accordion', + slug: 'accordion', + symbolSet: 'symbols57', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './alert-dialog', + importName: '@askrjs/themes/alert-dialog', + slug: 'alert-dialog', + symbolSet: 'symbols58', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './alert', + importName: '@askrjs/themes/alert', + slug: 'alert', + symbolSet: 'symbols59', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './aspect-ratio', + importName: '@askrjs/themes/aspect-ratio', + slug: 'aspect-ratio', + symbolSet: 'symbols60', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './avatar', + importName: '@askrjs/themes/avatar', + slug: 'avatar', + symbolSet: 'symbols61', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './badge', + importName: '@askrjs/themes/badge', + slug: 'badge', + symbolSet: 'symbols62', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './block', + importName: '@askrjs/themes/block', + slug: 'block', + symbolSet: 'symbols63', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './breadcrumb', + importName: '@askrjs/themes/breadcrumb', + slug: 'breadcrumb', + symbolSet: 'symbols64', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './button-group', + importName: '@askrjs/themes/button-group', + slug: 'button-group', + symbolSet: 'symbols65', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './button', + importName: '@askrjs/themes/button', + slug: 'button', + symbolSet: 'symbols66', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './calendar', + importName: '@askrjs/themes/calendar', + slug: 'calendar', + symbolSet: 'symbols67', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './card', + importName: '@askrjs/themes/card', + slug: 'card', + symbolSet: 'symbols68', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './carousel', + importName: '@askrjs/themes/carousel', + slug: 'carousel', + symbolSet: 'symbols69', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './center', + importName: '@askrjs/themes/center', + slug: 'center', + symbolSet: 'symbols70', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './checkbox', + importName: '@askrjs/themes/checkbox', + slug: 'checkbox', + symbolSet: 'symbols71', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './cluster', + importName: '@askrjs/themes/cluster', + slug: 'cluster', + symbolSet: 'symbols72', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './collapsible', + importName: '@askrjs/themes/collapsible', + slug: 'collapsible', + symbolSet: 'symbols73', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './combobox', + importName: '@askrjs/themes/combobox', + slug: 'combobox', + symbolSet: 'symbols74', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './command', + importName: '@askrjs/themes/command', + slug: 'command', + symbolSet: 'symbols75', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './container', + importName: '@askrjs/themes/container', + slug: 'container', + symbolSet: 'symbols76', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './context-menu', + importName: '@askrjs/themes/context-menu', + slug: 'context-menu', + symbolSet: 'symbols77', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './data-table', + importName: '@askrjs/themes/data-table', + slug: 'data-table', + symbolSet: 'symbols78', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './date-picker', + importName: '@askrjs/themes/date-picker', + slug: 'date-picker', + symbolSet: 'symbols79', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './dialog', + importName: '@askrjs/themes/dialog', + slug: 'dialog', + symbolSet: 'symbols80', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './direction', + importName: '@askrjs/themes/direction', + slug: 'direction', + symbolSet: 'symbols81', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './dropdown-menu', + importName: '@askrjs/themes/dropdown-menu', + slug: 'dropdown-menu', + symbolSet: 'symbols82', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './empty', + importName: '@askrjs/themes/empty', + slug: 'empty', + symbolSet: 'symbols83', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './field', + importName: '@askrjs/themes/field', + slug: 'field', + symbolSet: 'symbols84', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './form', + importName: '@askrjs/themes/form', + slug: 'form', + symbolSet: 'symbols85', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './grid', + importName: '@askrjs/themes/grid', + slug: 'grid', + symbolSet: 'symbols86', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './heading', + importName: '@askrjs/themes/heading', + slug: 'heading', + symbolSet: 'symbols87', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './hover-card', + importName: '@askrjs/themes/hover-card', + slug: 'hover-card', + symbolSet: 'symbols88', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './input-group', + importName: '@askrjs/themes/input-group', + slug: 'input-group', + symbolSet: 'symbols89', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './input-otp', + importName: '@askrjs/themes/input-otp', + slug: 'input-otp', + symbolSet: 'symbols90', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './input', + importName: '@askrjs/themes/input', + slug: 'input', + symbolSet: 'symbols91', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './item', + importName: '@askrjs/themes/item', + slug: 'item', + symbolSet: 'symbols92', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './kbd', + importName: '@askrjs/themes/kbd', + slug: 'kbd', + symbolSet: 'symbols93', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './label', + importName: '@askrjs/themes/label', + slug: 'label', + symbolSet: 'symbols94', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './menubar', + importName: '@askrjs/themes/menubar', + slug: 'menubar', + symbolSet: 'symbols95', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './native-select', + importName: '@askrjs/themes/native-select', + slug: 'native-select', + symbolSet: 'symbols96', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './navigation-menu', + importName: '@askrjs/themes/navigation-menu', + slug: 'navigation-menu', + symbolSet: 'symbols97', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './page-header', + importName: '@askrjs/themes/page-header', + slug: 'page-header', + symbolSet: 'symbols98', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './page', + importName: '@askrjs/themes/page', + slug: 'page', + symbolSet: 'symbols99', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './pagination', + importName: '@askrjs/themes/pagination', + slug: 'pagination', + symbolSet: 'symbols100', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './popover', + importName: '@askrjs/themes/popover', + slug: 'popover', + symbolSet: 'symbols101', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './progress', + importName: '@askrjs/themes/progress', + slug: 'progress', + symbolSet: 'symbols102', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './radio-group', + importName: '@askrjs/themes/radio-group', + slug: 'radio-group', + symbolSet: 'symbols103', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './resizable', + importName: '@askrjs/themes/resizable', + slug: 'resizable', + symbolSet: 'symbols104', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './scroll-area', + importName: '@askrjs/themes/scroll-area', + slug: 'scroll-area', + symbolSet: 'symbols105', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './section', + importName: '@askrjs/themes/section', + slug: 'section', + symbolSet: 'symbols106', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './select', + importName: '@askrjs/themes/select', + slug: 'select', + symbolSet: 'symbols107', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './separator', + importName: '@askrjs/themes/separator', + slug: 'separator', + symbolSet: 'symbols108', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './sheet', + importName: '@askrjs/themes/sheet', + slug: 'sheet', + symbolSet: 'symbols109', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './sidebar', + importName: '@askrjs/themes/sidebar', + slug: 'sidebar', + symbolSet: 'symbols110', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './skeleton', + importName: '@askrjs/themes/skeleton', + slug: 'skeleton', + symbolSet: 'symbols111', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './slider', + importName: '@askrjs/themes/slider', + slug: 'slider', + symbolSet: 'symbols112', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './spinner', + importName: '@askrjs/themes/spinner', + slug: 'spinner', + symbolSet: 'symbols113', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './stack', + importName: '@askrjs/themes/stack', + slug: 'stack', + symbolSet: 'symbols114', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './switch', + importName: '@askrjs/themes/switch', + slug: 'switch', + symbolSet: 'symbols115', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './table', + importName: '@askrjs/themes/table', + slug: 'table', + symbolSet: 'symbols116', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './tabs', + importName: '@askrjs/themes/tabs', + slug: 'tabs', + symbolSet: 'symbols117', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './text', + importName: '@askrjs/themes/text', + slug: 'text', + symbolSet: 'symbols118', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './textarea', + importName: '@askrjs/themes/textarea', + slug: 'textarea', + symbolSet: 'symbols119', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './toast', + importName: '@askrjs/themes/toast', + slug: 'toast', + symbolSet: 'symbols120', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './toggle-group', + importName: '@askrjs/themes/toggle-group', + slug: 'toggle-group', + symbolSet: 'symbols121', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './toggle', + importName: '@askrjs/themes/toggle', + slug: 'toggle', + symbolSet: 'symbols122', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './tooltip', + importName: '@askrjs/themes/tooltip', + slug: 'tooltip', + symbolSet: 'symbols123', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './typography', + importName: '@askrjs/themes/typography', + slug: 'typography', + symbolSet: 'symbols124', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './toaster', + importName: '@askrjs/themes/toaster', + slug: 'toaster', + symbolSet: 'symbols125', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/actions/button-group.css', + importName: '@askrjs/themes/default/styles/actions/button-group.css', + slug: 'default--styles--actions--button-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/actions/button.css', + importName: '@askrjs/themes/default/styles/actions/button.css', + slug: 'default--styles--actions--button.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/actions/copy-button.css', + importName: '@askrjs/themes/default/styles/actions/copy-button.css', + slug: 'default--styles--actions--copy-button.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/actions/toggle-group.css', + importName: '@askrjs/themes/default/styles/actions/toggle-group.css', + slug: 'default--styles--actions--toggle-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/accessibility.css', + importName: '@askrjs/themes/default/styles/base/accessibility.css', + slug: 'default--styles--base--accessibility.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/icon.css', + importName: '@askrjs/themes/default/styles/base/icon.css', + slug: 'default--styles--base--icon.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/reset.css', + importName: '@askrjs/themes/default/styles/base/reset.css', + slug: 'default--styles--base--reset.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/text.css', + importName: '@askrjs/themes/default/styles/base/text.css', + slug: 'default--styles--base--text.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/typography.css', + importName: '@askrjs/themes/default/styles/base/typography.css', + slug: 'default--styles--base--typography.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/base/utilities.css', + importName: '@askrjs/themes/default/styles/base/utilities.css', + slug: 'default--styles--base--utilities.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/disclosure/accordion.css', + importName: '@askrjs/themes/default/styles/disclosure/accordion.css', + slug: 'default--styles--disclosure--accordion.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/alert.css', + importName: '@askrjs/themes/default/styles/display/alert.css', + slug: 'default--styles--display--alert.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/avatar.css', + importName: '@askrjs/themes/default/styles/display/avatar.css', + slug: 'default--styles--display--avatar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/badge.css', + importName: '@askrjs/themes/default/styles/display/badge.css', + slug: 'default--styles--display--badge.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/card.css', + importName: '@askrjs/themes/default/styles/display/card.css', + slug: 'default--styles--display--card.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/catalog.css', + importName: '@askrjs/themes/default/styles/display/catalog.css', + slug: 'default--styles--display--catalog.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/coverage.css', + importName: '@askrjs/themes/default/styles/display/coverage.css', + slug: 'default--styles--display--coverage.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/meta-strip.css', + importName: '@askrjs/themes/default/styles/display/meta-strip.css', + slug: 'default--styles--display--meta-strip.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/progress-circle.css', + importName: '@askrjs/themes/default/styles/display/progress-circle.css', + slug: 'default--styles--display--progress-circle.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/progress.css', + importName: '@askrjs/themes/default/styles/display/progress.css', + slug: 'default--styles--display--progress.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/scroll-area.css', + importName: '@askrjs/themes/default/styles/display/scroll-area.css', + slug: 'default--styles--display--scroll-area.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/separator.css', + importName: '@askrjs/themes/default/styles/display/separator.css', + slug: 'default--styles--display--separator.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/skeleton.css', + importName: '@askrjs/themes/default/styles/display/skeleton.css', + slug: 'default--styles--display--skeleton.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/spinner.css', + importName: '@askrjs/themes/default/styles/display/spinner.css', + slug: 'default--styles--display--spinner.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/stat.css', + importName: '@askrjs/themes/default/styles/display/stat.css', + slug: 'default--styles--display--stat.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/table.css', + importName: '@askrjs/themes/default/styles/display/table.css', + slug: 'default--styles--display--table.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/virtual-list.css', + importName: '@askrjs/themes/default/styles/display/virtual-list.css', + slug: 'default--styles--display--virtual-list.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/display/virtual-table.css', + importName: '@askrjs/themes/default/styles/display/virtual-table.css', + slug: 'default--styles--display--virtual-table.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/checkbox.css', + importName: '@askrjs/themes/default/styles/forms/checkbox.css', + slug: 'default--styles--forms--checkbox.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/field.css', + importName: '@askrjs/themes/default/styles/forms/field.css', + slug: 'default--styles--forms--field.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/input-group.css', + importName: '@askrjs/themes/default/styles/forms/input-group.css', + slug: 'default--styles--forms--input-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/input.css', + importName: '@askrjs/themes/default/styles/forms/input.css', + slug: 'default--styles--forms--input.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/label.css', + importName: '@askrjs/themes/default/styles/forms/label.css', + slug: 'default--styles--forms--label.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/radio-group.css', + importName: '@askrjs/themes/default/styles/forms/radio-group.css', + slug: 'default--styles--forms--radio-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/select.css', + importName: '@askrjs/themes/default/styles/forms/select.css', + slug: 'default--styles--forms--select.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/slider.css', + importName: '@askrjs/themes/default/styles/forms/slider.css', + slug: 'default--styles--forms--slider.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/switch.css', + importName: '@askrjs/themes/default/styles/forms/switch.css', + slug: 'default--styles--forms--switch.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/forms/textarea.css', + importName: '@askrjs/themes/default/styles/forms/textarea.css', + slug: 'default--styles--forms--textarea.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/layout/aspect-ratio.css', + importName: '@askrjs/themes/default/styles/layout/aspect-ratio.css', + slug: 'default--styles--layout--aspect-ratio.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/layout/block.css', + importName: '@askrjs/themes/default/styles/layout/block.css', + slug: 'default--styles--layout--block.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/layout/grid.css', + importName: '@askrjs/themes/default/styles/layout/grid.css', + slug: 'default--styles--layout--grid.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/layout/layout.css', + importName: '@askrjs/themes/default/styles/layout/layout.css', + slug: 'default--styles--layout--layout.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/layout/patterns.css', + importName: '@askrjs/themes/default/styles/layout/patterns.css', + slug: 'default--styles--layout--patterns.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/navigation/menu.css', + importName: '@askrjs/themes/default/styles/navigation/menu.css', + slug: 'default--styles--navigation--menu.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/navigation/nav.css', + importName: '@askrjs/themes/default/styles/navigation/nav.css', + slug: 'default--styles--navigation--nav.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/alert-dialog.css', + importName: '@askrjs/themes/default/styles/overlays/alert-dialog.css', + slug: 'default--styles--overlays--alert-dialog.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/dialog.css', + importName: '@askrjs/themes/default/styles/overlays/dialog.css', + slug: 'default--styles--overlays--dialog.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/dropdown.css', + importName: '@askrjs/themes/default/styles/overlays/dropdown.css', + slug: 'default--styles--overlays--dropdown.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/hover-card.css', + importName: '@askrjs/themes/default/styles/overlays/hover-card.css', + slug: 'default--styles--overlays--hover-card.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/menubar.css', + importName: '@askrjs/themes/default/styles/overlays/menubar.css', + slug: 'default--styles--overlays--menubar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/popover.css', + importName: '@askrjs/themes/default/styles/overlays/popover.css', + slug: 'default--styles--overlays--popover.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/toast.css', + importName: '@askrjs/themes/default/styles/overlays/toast.css', + slug: 'default--styles--overlays--toast.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/overlays/tooltip.css', + importName: '@askrjs/themes/default/styles/overlays/tooltip.css', + slug: 'default--styles--overlays--tooltip.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/shell/brand.css', + importName: '@askrjs/themes/default/styles/shell/brand.css', + slug: 'default--styles--shell--brand.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/shell/footer.css', + importName: '@askrjs/themes/default/styles/shell/footer.css', + slug: 'default--styles--shell--footer.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/shell/header.css', + importName: '@askrjs/themes/default/styles/shell/header.css', + slug: 'default--styles--shell--header.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/shell/navbar.css', + importName: '@askrjs/themes/default/styles/shell/navbar.css', + slug: 'default--styles--shell--navbar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './default/styles/shell/sidebar.css', + importName: '@askrjs/themes/default/styles/shell/sidebar.css', + slug: 'default--styles--shell--sidebar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/index.css', + importName: '@askrjs/themes/templates/theme/index.css', + slug: 'templates--theme--index.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/actions/button-group.css', + importName: + '@askrjs/themes/templates/theme/styles/actions/button-group.css', + slug: 'templates--theme--styles--actions--button-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/actions/button.css', + importName: '@askrjs/themes/templates/theme/styles/actions/button.css', + slug: 'templates--theme--styles--actions--button.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/actions/copy-button.css', + importName: '@askrjs/themes/templates/theme/styles/actions/copy-button.css', + slug: 'templates--theme--styles--actions--copy-button.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/actions/toggle-group.css', + importName: + '@askrjs/themes/templates/theme/styles/actions/toggle-group.css', + slug: 'templates--theme--styles--actions--toggle-group.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/accessibility.css', + importName: '@askrjs/themes/templates/theme/styles/base/accessibility.css', + slug: 'templates--theme--styles--base--accessibility.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/icon.css', + importName: '@askrjs/themes/templates/theme/styles/base/icon.css', + slug: 'templates--theme--styles--base--icon.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/reset.css', + importName: '@askrjs/themes/templates/theme/styles/base/reset.css', + slug: 'templates--theme--styles--base--reset.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/text.css', + importName: '@askrjs/themes/templates/theme/styles/base/text.css', + slug: 'templates--theme--styles--base--text.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/typography.css', + importName: '@askrjs/themes/templates/theme/styles/base/typography.css', + slug: 'templates--theme--styles--base--typography.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/base/utilities.css', + importName: '@askrjs/themes/templates/theme/styles/base/utilities.css', + slug: 'templates--theme--styles--base--utilities.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/disclosure/accordion.css', + importName: + '@askrjs/themes/templates/theme/styles/disclosure/accordion.css', + slug: 'templates--theme--styles--disclosure--accordion.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/alert.css', + importName: '@askrjs/themes/templates/theme/styles/display/alert.css', + slug: 'templates--theme--styles--display--alert.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/avatar.css', + importName: '@askrjs/themes/templates/theme/styles/display/avatar.css', + slug: 'templates--theme--styles--display--avatar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/badge.css', + importName: '@askrjs/themes/templates/theme/styles/display/badge.css', + slug: 'templates--theme--styles--display--badge.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/card.css', + importName: '@askrjs/themes/templates/theme/styles/display/card.css', + slug: 'templates--theme--styles--display--card.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/catalog.css', + importName: '@askrjs/themes/templates/theme/styles/display/catalog.css', + slug: 'templates--theme--styles--display--catalog.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/coverage.css', + importName: '@askrjs/themes/templates/theme/styles/display/coverage.css', + slug: 'templates--theme--styles--display--coverage.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/meta-strip.css', + importName: '@askrjs/themes/templates/theme/styles/display/meta-strip.css', + slug: 'templates--theme--styles--display--meta-strip.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/progress-circle.css', + importName: + '@askrjs/themes/templates/theme/styles/display/progress-circle.css', + slug: 'templates--theme--styles--display--progress-circle.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/progress.css', + importName: '@askrjs/themes/templates/theme/styles/display/progress.css', + slug: 'templates--theme--styles--display--progress.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/scroll-area.css', + importName: '@askrjs/themes/templates/theme/styles/display/scroll-area.css', + slug: 'templates--theme--styles--display--scroll-area.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/separator.css', + importName: '@askrjs/themes/templates/theme/styles/display/separator.css', + slug: 'templates--theme--styles--display--separator.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/skeleton.css', + importName: '@askrjs/themes/templates/theme/styles/display/skeleton.css', + slug: 'templates--theme--styles--display--skeleton.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/spinner.css', + importName: '@askrjs/themes/templates/theme/styles/display/spinner.css', + slug: 'templates--theme--styles--display--spinner.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/charts', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/charts', - slug: 'root', - symbolSet: 'symbols26', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/stat.css', + importName: '@askrjs/themes/templates/theme/styles/display/stat.css', + slug: 'templates--theme--styles--display--stat.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/charts', - version: '0.4.0', - subpath: './styles', - importName: '@askrjs/charts/styles', - slug: 'styles', - symbolSet: 'symbols27', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/table.css', + importName: '@askrjs/themes/templates/theme/styles/display/table.css', + slug: 'templates--theme--styles--display--table.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/fetch', - version: '0.4.2', - subpath: '.', - importName: '@askrjs/fetch', - slug: 'root', - symbolSet: 'symbols28', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/virtual-list.css', + importName: + '@askrjs/themes/templates/theme/styles/display/virtual-list.css', + slug: 'templates--theme--styles--display--virtual-list.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/fetch', - version: '0.4.2', - subpath: './middleware', - importName: '@askrjs/fetch/middleware', - slug: 'middleware', - symbolSet: 'symbols29', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/display/virtual-table.css', + importName: + '@askrjs/themes/templates/theme/styles/display/virtual-table.css', + slug: 'templates--theme--styles--display--virtual-table.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/i18n', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/i18n', - slug: 'root', - symbolSet: 'symbols30', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/checkbox.css', + importName: '@askrjs/themes/templates/theme/styles/forms/checkbox.css', + slug: 'templates--theme--styles--forms--checkbox.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/logos', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/logos', - slug: 'root', - symbolSet: 'symbols31', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/field.css', + importName: '@askrjs/themes/templates/theme/styles/forms/field.css', + slug: 'templates--theme--styles--forms--field.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/lucide', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/lucide', - slug: 'root', - symbolSet: 'symbols32', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/input-group.css', + importName: '@askrjs/themes/templates/theme/styles/forms/input-group.css', + slug: 'templates--theme--styles--forms--input-group.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/monaco', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/monaco', - slug: 'root', - symbolSet: 'symbols33', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/input.css', + importName: '@askrjs/themes/templates/theme/styles/forms/input.css', + slug: 'templates--theme--styles--forms--input.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/monaco', - version: '0.4.0', - subpath: './monaco-editor', - importName: '@askrjs/monaco/monaco-editor', - slug: 'monaco-editor', - symbolSet: 'symbols34', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/label.css', + importName: '@askrjs/themes/templates/theme/styles/forms/label.css', + slug: 'templates--theme--styles--forms--label.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/monaco', - version: '0.4.0', - subpath: './testing', - importName: '@askrjs/monaco/testing', - slug: 'testing', - symbolSet: 'symbols35', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/radio-group.css', + importName: '@askrjs/themes/templates/theme/styles/forms/radio-group.css', + slug: 'templates--theme--styles--forms--radio-group.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/node', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/node', - slug: 'root', - symbolSet: 'symbols36', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/select.css', + importName: '@askrjs/themes/templates/theme/styles/forms/select.css', + slug: 'templates--theme--styles--forms--select.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/node', - version: '0.4.0', - subpath: './mcp', - importName: '@askrjs/node/mcp', - slug: 'mcp', - symbolSet: 'symbols37', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/slider.css', + importName: '@askrjs/themes/templates/theme/styles/forms/slider.css', + slug: 'templates--theme--styles--forms--slider.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/otel', - version: '0.4.0', - subpath: '.', - importName: '@askrjs/otel', - slug: 'root', - symbolSet: 'symbols38', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/switch.css', + importName: '@askrjs/themes/templates/theme/styles/forms/switch.css', + slug: 'templates--theme--styles--forms--switch.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/schema', - version: '0.4.1', - subpath: '.', - importName: '@askrjs/schema', - slug: 'root', - symbolSet: 'symbols39', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/forms/textarea.css', + importName: '@askrjs/themes/templates/theme/styles/forms/textarea.css', + slug: 'templates--theme--styles--forms--textarea.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: '.', - importName: '@askrjs/server', - slug: 'root', - symbolSet: 'symbols40', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/layout/aspect-ratio.css', + importName: '@askrjs/themes/templates/theme/styles/layout/aspect-ratio.css', + slug: 'templates--theme--styles--layout--aspect-ratio.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './router', - importName: '@askrjs/server/router', - slug: 'router', - symbolSet: 'symbols41', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/layout/block.css', + importName: '@askrjs/themes/templates/theme/styles/layout/block.css', + slug: 'templates--theme--styles--layout--block.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './http', - importName: '@askrjs/server/http', - slug: 'http', - symbolSet: 'symbols42', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/layout/grid.css', + importName: '@askrjs/themes/templates/theme/styles/layout/grid.css', + slug: 'templates--theme--styles--layout--grid.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './middleware', - importName: '@askrjs/server/middleware', - slug: 'middleware', - symbolSet: 'symbols43', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/layout/layout.css', + importName: '@askrjs/themes/templates/theme/styles/layout/layout.css', + slug: 'templates--theme--styles--layout--layout.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './askr', - importName: '@askrjs/server/askr', - slug: 'askr', - symbolSet: 'symbols44', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/layout/patterns.css', + importName: '@askrjs/themes/templates/theme/styles/layout/patterns.css', + slug: 'templates--theme--styles--layout--patterns.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './auth', - importName: '@askrjs/server/auth', - slug: 'auth', - symbolSet: 'symbols45', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/navigation/menu.css', + importName: '@askrjs/themes/templates/theme/styles/navigation/menu.css', + slug: 'templates--theme--styles--navigation--menu.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './openapi', - importName: '@askrjs/server/openapi', - slug: 'openapi', - symbolSet: 'symbols46', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/navigation/nav.css', + importName: '@askrjs/themes/templates/theme/styles/navigation/nav.css', + slug: 'templates--theme--styles--navigation--nav.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './mcp', - importName: '@askrjs/server/mcp', - slug: 'mcp', - symbolSet: 'symbols47', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/alert-dialog.css', + importName: + '@askrjs/themes/templates/theme/styles/overlays/alert-dialog.css', + slug: 'templates--theme--styles--overlays--alert-dialog.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/server', - version: '0.4.1', - subpath: './testing', - importName: '@askrjs/server/testing', - slug: 'testing', - symbolSet: 'symbols48', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/dialog.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/dialog.css', + slug: 'templates--theme--styles--overlays--dialog.css', + symbolSet: 'symbols53', }, { - packageName: '@askrjs/testing', - version: '0.4.1', - subpath: '.', - importName: '@askrjs/testing', - slug: 'root', - symbolSet: 'symbols49', + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/dropdown.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/dropdown.css', + slug: 'templates--theme--styles--overlays--dropdown.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: '.', - importName: '@askrjs/themes', - slug: 'root', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/hover-card.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/hover-card.css', + slug: 'templates--theme--styles--overlays--hover-card.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './default', - importName: '@askrjs/themes/default', - slug: 'default', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/menubar.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/menubar.css', + slug: 'templates--theme--styles--overlays--menubar.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './presets', - importName: '@askrjs/themes/presets', - slug: 'presets', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/popover.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/popover.css', + slug: 'templates--theme--styles--overlays--popover.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './components', - importName: '@askrjs/themes/components', - slug: 'components', - symbolSet: 'symbols51', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/toast.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/toast.css', + slug: 'templates--theme--styles--overlays--toast.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './theme', - importName: '@askrjs/themes/theme', - slug: 'theme', - symbolSet: 'symbols52', + version: '0.5.0', + subpath: './templates/theme/styles/overlays/tooltip.css', + importName: '@askrjs/themes/templates/theme/styles/overlays/tooltip.css', + slug: 'templates--theme--styles--overlays--tooltip.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './ssr', - importName: '@askrjs/themes/ssr', - slug: 'ssr', + version: '0.5.0', + subpath: './templates/theme/styles/shell/brand.css', + importName: '@askrjs/themes/templates/theme/styles/shell/brand.css', + slug: 'templates--theme--styles--shell--brand.css', symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './default/tokens.css', - importName: '@askrjs/themes/default/tokens.css', - slug: 'default--tokens.css', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/shell/footer.css', + importName: '@askrjs/themes/templates/theme/styles/shell/footer.css', + slug: 'templates--theme--styles--shell--footer.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './default/foundations.css', - importName: '@askrjs/themes/default/foundations.css', - slug: 'default--foundations.css', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/shell/header.css', + importName: '@askrjs/themes/templates/theme/styles/shell/header.css', + slug: 'templates--theme--styles--shell--header.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './default/input.css', - importName: '@askrjs/themes/default/input.css', - slug: 'default--input.css', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/shell/navbar.css', + importName: '@askrjs/themes/templates/theme/styles/shell/navbar.css', + slug: 'templates--theme--styles--shell--navbar.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/themes', - version: '0.4.2', - subpath: './default/label.css', - importName: '@askrjs/themes/default/label.css', - slug: 'default--label.css', - symbolSet: 'symbols50', + version: '0.5.0', + subpath: './templates/theme/styles/shell/sidebar.css', + importName: '@askrjs/themes/templates/theme/styles/shell/sidebar.css', + slug: 'templates--theme--styles--shell--sidebar.css', + symbolSet: 'symbols53', + }, + { + packageName: '@askrjs/themes', + version: '0.5.0', + subpath: './templates/theme/tokens.css', + importName: '@askrjs/themes/templates/theme/tokens.css', + slug: 'templates--theme--tokens.css', + symbolSet: 'symbols53', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: '.', importName: '@askrjs/ui', slug: 'root', - symbolSet: 'symbols54', + symbolSet: 'symbols126', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './avatar', importName: '@askrjs/ui/avatar', slug: 'avatar', - symbolSet: 'symbols55', + symbolSet: 'symbols127', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './button', importName: '@askrjs/ui/button', slug: 'button', - symbolSet: 'symbols56', + symbolSet: 'symbols128', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './checkbox', importName: '@askrjs/ui/checkbox', slug: 'checkbox', - symbolSet: 'symbols57', + symbolSet: 'symbols129', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './input', importName: '@askrjs/ui/input', slug: 'input', - symbolSet: 'symbols58', + symbolSet: 'symbols130', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './form', importName: '@askrjs/ui/form', slug: 'form', - symbolSet: 'symbols59', + symbolSet: 'symbols131', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './label', importName: '@askrjs/ui/label', slug: 'label', - symbolSet: 'symbols60', + symbolSet: 'symbols132', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './progress', importName: '@askrjs/ui/progress', slug: 'progress', - symbolSet: 'symbols61', + symbolSet: 'symbols133', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './progress-circle', importName: '@askrjs/ui/progress-circle', slug: 'progress-circle', - symbolSet: 'symbols62', + symbolSet: 'symbols134', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './radio-group', importName: '@askrjs/ui/radio-group', slug: 'radio-group', - symbolSet: 'symbols63', + symbolSet: 'symbols135', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './select', importName: '@askrjs/ui/select', slug: 'select', - symbolSet: 'symbols64', + symbolSet: 'symbols136', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './slider', importName: '@askrjs/ui/slider', slug: 'slider', - symbolSet: 'symbols65', + symbolSet: 'symbols137', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './switch', importName: '@askrjs/ui/switch', slug: 'switch', - symbolSet: 'symbols66', + symbolSet: 'symbols138', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './table', importName: '@askrjs/ui/table', slug: 'table', - symbolSet: 'symbols67', + symbolSet: 'symbols139', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './virtual-list', importName: '@askrjs/ui/virtual-list', slug: 'virtual-list', - symbolSet: 'symbols68', + symbolSet: 'symbols140', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './virtual-table', importName: '@askrjs/ui/virtual-table', slug: 'virtual-table', - symbolSet: 'symbols69', + symbolSet: 'symbols141', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './textarea', importName: '@askrjs/ui/textarea', slug: 'textarea', - symbolSet: 'symbols70', + symbolSet: 'symbols142', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './toggle', importName: '@askrjs/ui/toggle', slug: 'toggle', - symbolSet: 'symbols71', + symbolSet: 'symbols143', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './toggle-group', importName: '@askrjs/ui/toggle-group', slug: 'toggle-group', - symbolSet: 'symbols72', + symbolSet: 'symbols144', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './visually-hidden', importName: '@askrjs/ui/visually-hidden', slug: 'visually-hidden', - symbolSet: 'symbols73', + symbolSet: 'symbols145', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './accordion', importName: '@askrjs/ui/accordion', slug: 'accordion', - symbolSet: 'symbols74', + symbolSet: 'symbols146', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './alert-dialog', importName: '@askrjs/ui/alert-dialog', slug: 'alert-dialog', - symbolSet: 'symbols75', + symbolSet: 'symbols147', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './collapsible', importName: '@askrjs/ui/collapsible', slug: 'collapsible', - symbolSet: 'symbols76', + symbolSet: 'symbols148', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './dialog', importName: '@askrjs/ui/dialog', slug: 'dialog', - symbolSet: 'symbols77', + symbolSet: 'symbols149', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './dismissable-layer', importName: '@askrjs/ui/dismissable-layer', slug: 'dismissable-layer', - symbolSet: 'symbols78', + symbolSet: 'symbols150', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './dropdown', importName: '@askrjs/ui/dropdown', slug: 'dropdown', - symbolSet: 'symbols79', + symbolSet: 'symbols151', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './focus-scope', importName: '@askrjs/ui/focus-scope', slug: 'focus-scope', - symbolSet: 'symbols80', + symbolSet: 'symbols152', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './hover-card', importName: '@askrjs/ui/hover-card', slug: 'hover-card', - symbolSet: 'symbols81', + symbolSet: 'symbols153', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './menu', importName: '@askrjs/ui/menu', slug: 'menu', - symbolSet: 'symbols82', + symbolSet: 'symbols154', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './menubar', importName: '@askrjs/ui/menubar', slug: 'menubar', - symbolSet: 'symbols83', + symbolSet: 'symbols155', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './overlay-host', importName: '@askrjs/ui/overlay-host', slug: 'overlay-host', - symbolSet: 'symbols84', + symbolSet: 'symbols156', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './popover', importName: '@askrjs/ui/popover', slug: 'popover', - symbolSet: 'symbols85', + symbolSet: 'symbols157', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './scroll-area', importName: '@askrjs/ui/scroll-area', slug: 'scroll-area', - symbolSet: 'symbols86', + symbolSet: 'symbols158', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './toast', importName: '@askrjs/ui/toast', slug: 'toast', - symbolSet: 'symbols87', + symbolSet: 'symbols159', }, { packageName: '@askrjs/ui', - version: '0.4.3', + version: '0.5.0', subpath: './tooltip', importName: '@askrjs/ui/tooltip', slug: 'tooltip', - symbolSet: 'symbols88', + symbolSet: 'symbols160', }, { packageName: '@askrjs/vite', - version: '0.4.1', + version: '0.5.0', subpath: '.', importName: '@askrjs/vite', slug: 'root', - symbolSet: 'symbols89', + symbolSet: 'symbols161', }, { packageName: '@askrjs/vite', - version: '0.4.1', + version: '0.5.0', subpath: './server', importName: '@askrjs/vite/server', slug: 'server', - symbolSet: 'symbols90', + symbolSet: 'symbols162', }, { packageName: '@askrjs/vite', - version: '0.4.1', + version: '0.5.0', subpath: './image', importName: '@askrjs/vite/image', slug: 'image', - symbolSet: 'symbols91', + symbolSet: 'symbols163', }, ]; diff --git a/src/pages/docs/api-page.tsx b/src/pages/docs/api-page.tsx index 8882709..c9b802d 100644 --- a/src/pages/docs/api-page.tsx +++ b/src/pages/docs/api-page.tsx @@ -1,3 +1,4 @@ +import { InlineProse } from './prose'; import { Link, currentRoute } from '@askrjs/askr/router'; import { ArrowLeftIcon } from '@askrjs/lucide'; import { apiManifest } from './api-manifest'; @@ -23,10 +24,14 @@ function ApiSymbolList({ {symbol.signature} {symbol.summary && ( -

{symbol.summary}

+

+ +

)} {symbol.remarks && ( -

{symbol.remarks}

+

+ +

)} {symbol.tags?.example?.map((example) => (
diff --git a/src/pages/docs/api-snapshot.ts b/src/pages/docs/api-snapshot.ts
index 48c2a26..c2900c2 100644
--- a/src/pages/docs/api-snapshot.ts
+++ b/src/pages/docs/api-snapshot.ts
@@ -178,6 +178,13 @@ export const apiSymbolSets: Readonly<
       summary:
         'Register request-local CSS produced during SSR without importing the SSR renderer in clients.',
     },
+    {
+      name: 'RenderableChild',
+      anchor: 'renderable-child',
+      signature:
+        'RenderableChild: VNode | JSXElement | readonly RenderableChild[]',
+      typeOnly: true,
+    },
     {
       name: 'RenderDepthError',
       anchor: 'render-depth-error',
@@ -371,6 +378,15 @@ export const apiSymbolSets: Readonly<
       summary:
         'Configuration for {@link createIslands}: mounts several islands at once.',
     },
+    {
+      name: 'replaceDataRuntime',
+      anchor: 'replace-data-runtime',
+      signature:
+        'replaceDataRuntime: (root: Element | string, next: DataRuntime) => void',
+      typeOnly: true,
+      summary:
+        'Replace the data owner of a live app without remounting or disposing the previous runtime.',
+    },
     {
       name: 'SPAConfig',
       anchor: 'spaconfig',
@@ -764,33 +780,6 @@ export const apiSymbolSets: Readonly<
     },
   ],
   symbols5: [
-    {
-      name: 'ariaDisabled',
-      anchor: 'aria-disabled',
-      signature:
-        'ariaDisabled: (disabled?: boolean) => { "aria-disabled"?: "true"; }',
-      typeOnly: true,
-      summary:
-        'Build an `aria-disabled` prop object; omitted entirely when `disabled` is falsy.',
-    },
-    {
-      name: 'ariaExpanded',
-      anchor: 'aria-expanded',
-      signature:
-        'ariaExpanded: (expanded?: boolean) => { "aria-expanded"?: "true" | "false"; }',
-      typeOnly: true,
-      summary:
-        'Build an `aria-expanded` prop object; omitted when `expanded` is `undefined`.',
-    },
-    {
-      name: 'ariaSelected',
-      anchor: 'aria-selected',
-      signature:
-        'ariaSelected: (selected?: boolean) => { "aria-selected"?: "true" | "false"; }',
-      typeOnly: true,
-      summary:
-        'Build an `aria-selected` prop object; omitted when `selected` is `undefined`.',
-    },
     {
       name: 'composeHandlers',
       anchor: 'compose-handlers',
@@ -824,41 +813,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Combine multiple refs into one callback ref that writes to all of them.',
     },
-    {
-      name: 'DefaultPreventable',
-      anchor: 'default-preventable',
-      signature: 'DefaultPreventable: any',
-      typeOnly: true,
-      summary:
-        'Minimal shape of an event that can be prevented from its default action.',
-      members: [
-        {
-          name: 'defaultPrevented',
-          summary: '',
-          signature: 'defaultPrevented?: boolean;',
-        },
-        {
-          name: 'preventDefault',
-          summary: '',
-          signature: 'preventDefault?: () => void;',
-        },
-      ],
-    },
-    {
-      name: 'FocusLikeEvent',
-      anchor: 'focus-like-event',
-      signature: 'FocusLikeEvent: any',
-      typeOnly: true,
-      summary:
-        'Structural subset of a focus event, for handlers that accept native or synthetic events.',
-      members: [
-        {
-          name: 'relatedTarget',
-          summary: '',
-          signature: 'relatedTarget?: unknown;',
-        },
-      ],
-    },
     {
       name: 'formatId',
       anchor: 'format-id',
@@ -886,31 +840,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'KeyboardLikeEvent',
-      anchor: 'keyboard-like-event',
-      signature: 'KeyboardLikeEvent: any',
-      typeOnly: true,
-      summary:
-        'Structural subset of a keyboard event, for handlers that accept native or synthetic events.',
-      members: [
-        {
-          name: 'key',
-          summary: '',
-          signature: 'key: string;',
-        },
-        {
-          name: 'currentTarget',
-          summary: '',
-          signature: 'currentTarget?: unknown;',
-        },
-        {
-          name: 'target',
-          summary: '',
-          signature: 'target?: unknown;',
-        },
-      ],
-    },
     {
       name: 'MergedProps',
       anchor: 'merged-props',
@@ -929,35 +858,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Merge `base` props over `injected` props: non-handler keys in `base` win,\nand matching event handlers are composed (`injected` runs first). `base`\nvalues that are `undefined` are treated as absent and never overwrite an\ninjected value; use `null` to clear one explicitly.',
     },
-    {
-      name: 'PointerLikeEvent',
-      anchor: 'pointer-like-event',
-      signature: 'PointerLikeEvent: any',
-      typeOnly: true,
-      summary:
-        'Structural subset of a pointer event, for handlers that accept native or synthetic events.',
-      members: [
-        {
-          name: 'target',
-          summary: '',
-          signature: 'target?: unknown;',
-        },
-      ],
-    },
-    {
-      name: 'PropagationStoppable',
-      anchor: 'propagation-stoppable',
-      signature: 'PropagationStoppable: any',
-      typeOnly: true,
-      summary: 'Minimal shape of an event whose propagation can be stopped.',
-      members: [
-        {
-          name: 'stopPropagation',
-          summary: '',
-          signature: 'stopPropagation?: () => void;',
-        },
-      ],
-    },
     {
       name: 'Ref',
       anchor: 'ref',
@@ -1330,31 +1230,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'A {@link StateTuple} accessor that also reports whether it is controlled.',
     },
-    {
-      name: 'isControlled',
-      anchor: 'is-controlled',
-      signature: 'isControlled: (value: T | undefined) => value is T',
-      typeOnly: true,
-      summary: 'Whether `value` represents controlled mode (not `undefined`).',
-    },
-    {
-      name: 'makeControllable',
-      anchor: 'make-controllable',
-      signature:
-        'makeControllable: (options: { value: T | undefined; defaultValue: T; onChange?: (next: T) => void; setInternal?: (next: T) => void; }) => { set: (next: T) => void; isControlled: boolean; }',
-      typeOnly: true,
-      summary:
-        'Build a `set` function that calls `onChange` in controlled mode, or\nupdates internal state and then calls `onChange` in uncontrolled mode.',
-    },
-    {
-      name: 'resolveControllable',
-      anchor: 'resolve-controllable',
-      signature:
-        'resolveControllable: (value: T | undefined, defaultValue: T) => { value: T; isControlled: boolean; }',
-      typeOnly: true,
-      summary:
-        'Resolve the effective value and controlled-ness for a controllable prop.',
-    },
   ],
   symbols8: [
     {
@@ -1415,14 +1290,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Create an empty, insertion-ordered {@link Collection} registry.',
     },
-    {
-      name: 'createLayer',
-      anchor: 'create-layer',
-      signature: 'createLayer: () => LayerManager',
-      typeOnly: true,
-      summary:
-        'Create a new, empty {@link LayerManager} for coordinating overlay stacking.',
-    },
     {
       name: 'DefaultPortal',
       anchor: 'default-portal',
@@ -1476,86 +1343,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'Layer',
-      anchor: 'layer',
-      signature: 'Layer: any',
-      typeOnly: true,
-      summary:
-        'A registered layer entry returned by {@link LayerManager.register}.',
-      members: [
-        {
-          name: 'id',
-          summary: 'Unique layer ID',
-          signature: 'id: number;',
-        },
-        {
-          name: 'isTop',
-          summary: 'Check if this layer is the topmost',
-          signature: 'isTop(): boolean;',
-        },
-        {
-          name: 'unregister',
-          summary: 'Remove this layer from the stack',
-          signature: 'unregister(): void;',
-        },
-      ],
-    },
-    {
-      name: 'LayerManager',
-      anchor: 'layer-manager',
-      signature: 'LayerManager: any',
-      typeOnly: true,
-      summary: 'Stacking coordinator returned by {@link createLayer}.',
-      members: [
-        {
-          name: 'register',
-          summary: 'Register a new layer',
-          signature: 'register(options: LayerOptions): Layer;',
-        },
-        {
-          name: 'layers',
-          summary: 'Get all active layers in order',
-          signature: 'layers(): ReadonlyArray;',
-        },
-        {
-          name: 'handleEscape',
-          summary: 'Manually trigger escape handling on the top layer',
-          signature: 'handleEscape(): void;',
-        },
-        {
-          name: 'handleOutsidePointer',
-          summary: 'Manually trigger outside pointer handling on the top layer',
-          signature: 'handleOutsidePointer(e: PointerEvent): void;',
-        },
-      ],
-    },
-    {
-      name: 'LayerOptions',
-      anchor: 'layer-options',
-      signature: 'LayerOptions: any',
-      typeOnly: true,
-      summary:
-        'Options for registering a layer with {@link LayerManager.register}.',
-      members: [
-        {
-          name: 'onEscape',
-          summary: 'Called when Escape is pressed and this is the top layer',
-          signature: 'onEscape?: () => void;',
-        },
-        {
-          name: 'onOutsidePointer',
-          summary:
-            'Called when pointer event occurs outside and this is the top layer',
-          signature: 'onOutsidePointer?: (e: PointerEvent) => void;',
-        },
-        {
-          name: 'node',
-          summary: 'Optional node reference for outside pointer detection',
-          signature: 'node?: Node | null;',
-        },
-      ],
-    },
     {
       name: 'layout',
       anchor: 'layout',
@@ -2164,6 +1951,14 @@ export const apiSymbolSets: Readonly<
       summary:
         "Extract a runtime's cached query data into a JSON-serializable snapshot.\nThrows a `TypeError` naming the key and path of any value that would not\nsurvive JSON transport unchanged (for example a `Date`, `Map`, or bigint).",
     },
+    {
+      name: 'disposeDataRuntime',
+      anchor: 'dispose-data-runtime',
+      signature: 'disposeDataRuntime: (runtime: DataRuntime) => void',
+      typeOnly: true,
+      summary:
+        'Terminally retire an isolated runtime. The shared default cannot be disposed.',
+    },
     {
       name: 'getDefaultDataRuntime',
       anchor: 'get-default-data-runtime',
@@ -2464,7 +2259,8 @@ export const apiSymbolSets: Readonly<
         },
         {
           name: 'signal',
-          summary: '',
+          summary:
+            'Effective fetch signal; native runtimes compose caller cancellation and retirement.',
           signature: 'readonly signal: AbortSignal;',
         },
         {
@@ -2522,6 +2318,53 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Why a {@link Query} is stale.',
     },
+    {
+      name: 'refreshOnActivity',
+      anchor: 'refresh-on-activity',
+      signature:
+        'refreshOnActivity: (prefix: string, options: RefreshOnActivityOptions) => void',
+      typeOnly: true,
+      summary:
+        'Refresh live queries on browser activity, with an explicit freshness age.',
+    },
+    {
+      name: 'RefreshOnActivityOptions',
+      anchor: 'refresh-on-activity-options',
+      signature: 'RefreshOnActivityOptions: any',
+      typeOnly: true,
+      summary:
+        'Component-owned refresh policy for browser focus/visibility and reconnect.',
+      members: [
+        {
+          name: 'staleTimeMs',
+          summary:
+            'Age since successful completion (or initial data). Zero refreshes on every event.',
+          signature: "staleTimeMs: number | 'always';",
+        },
+        {
+          name: 'focus',
+          summary:
+            'Listen to window focus and visible document transitions. Defaults to true.',
+          signature: 'focus?: boolean;',
+        },
+        {
+          name: 'online',
+          summary: 'Listen to the window online hint. Defaults to true.',
+          signature: 'online?: boolean;',
+        },
+        {
+          name: 'enabled',
+          summary:
+            'Disable listeners without changing hook order. Defaults to true.',
+          signature: 'enabled?: boolean;',
+        },
+        {
+          name: 'runtime',
+          summary: '',
+          signature: 'runtime?: DataRuntime;',
+        },
+      ],
+    },
     {
       name: 'serveQuery',
       anchor: 'serve-query',
@@ -2701,15 +2544,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'matchRoute',
-      anchor: 'match-route',
-      signature:
-        'matchRoute: (path: string, options: MatchRouteOptions) => RouteMatch | null',
-      typeOnly: true,
-      summary:
-        'Match `path` against a route registry for tests, without mounting the app.',
-    },
     {
       name: 'mockQuery',
       anchor: 'mock-query',
@@ -2741,14 +2575,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "Refresh callback for a {@link mockQuery} fixture, invoked by the query's `refresh()`.",
     },
-    {
-      name: 'mount',
-      anchor: 'mount',
-      signature:
-        'mount: (component: ComponentFunction, options?: RenderOptions) => RenderResult',
-      typeOnly: true,
-      summary: 'Alias for {@link render}.',
-    },
     {
       name: 'MutationFixture',
       anchor: 'mutation-fixture',
@@ -2807,15 +2633,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'queryState',
-      anchor: 'query-state',
-      signature:
-        'queryState: { fresh: typeof createFreshQuery; loading: (options?: MockQueryOptions) => Query; error: (error: {}, previousData?: T, options?: MockQueryOptions) => Query; refreshing: (data: T, options?: MockQueryOptions) => Query; stale: (data: T, reason?: StaleValueReason, options?: MockQueryOptions) => Query; pendingWrite: (data: T, options?: MockQueryOptions) => Query; }',
-      typeOnly: true,
-      summary:
-        "Alias table mirroring {@link mockQuery}'s state builders (`fresh`, `loading`, `error`, ...).",
-    },
     {
       name: 'QueryTestRegistry',
       anchor: 'query-test-registry',
@@ -3296,48 +3113,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Policy decision: allow the route to render.',
     },
-    {
-      name: 'AuthContext',
-      anchor: 'auth-context',
-      signature: 'AuthContext: any',
-      typeOnly: true,
-      summary: 'Authentication state resolved for one request.',
-      members: [
-        {
-          name: 'authenticated',
-          summary: 'Whether a valid principal was resolved.',
-          signature: 'authenticated: boolean;',
-        },
-        {
-          name: 'principal',
-          summary: 'Resolved principal, or null for anonymous requests.',
-          signature: 'principal: P | null;',
-        },
-        {
-          name: 'session',
-          summary: 'Resolved session, or null when no session is active.',
-          signature: 'session: S | null;',
-        },
-        {
-          name: 'tenant',
-          summary: 'Resolved tenant identifier, or null when unavailable.',
-          signature: 'tenant: string | null;',
-        },
-        {
-          name: 'scopes',
-          summary: 'Optional scopes carried by the credential.',
-          signature: 'scopes?: readonly string[];',
-        },
-      ],
-    },
-    {
-      name: 'AuthRequirement',
-      anchor: 'auth-requirement',
-      signature:
-        'AuthRequirement: (context: AuthContext) => AuthDecision | PromiseLike',
-      typeOnly: true,
-      summary: 'Predicate that allows or rejects an authentication context.',
-    },
     {
       name: 'createRouteRegistry',
       anchor: 'create-route-registry',
@@ -3347,6 +3122,15 @@ export const apiSymbolSets: Readonly<
       summary:
         'Run `definition` to declare routes (via `route`/`page`/`group`/`fallback`)\nand build a {@link RouteRegistry} to pass to `createSPA`/`hydrateSPA`.',
     },
+    {
+      name: 'createSessionAuth',
+      anchor: 'create-session-auth',
+      signature:
+        'createSessionAuth: (options?: SessionAuthOptions) => SessionAuth',
+      typeOnly: true,
+      summary:
+        'Bind server provider sessions to router auth in SSR and the browser.',
+    },
     {
       name: 'currentAuth',
       anchor: 'current-auth',
@@ -3359,7 +3143,7 @@ export const apiSymbolSets: Readonly<
       name: 'currentRoute',
       anchor: 'current-route',
       signature:
-        'currentRoute: () => RouteSnapshot',
+        'currentRoute: () => RouteSnapshot',
       typeOnly: true,
       summary:
         "Read the currently active route's {@link RouteSnapshot}; reactive during component render.",
@@ -3458,6 +3242,11 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'meta?: RouteMetaSource;',
         },
+        {
+          name: 'appMeta',
+          summary: '',
+          signature: 'appMeta?: TAppMeta;',
+        },
       ],
     },
     {
@@ -3485,22 +3274,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Check whether `value` is a {@link Deferred} produced by {@link defer}.',
     },
-    {
-      name: 'LayoutScopeRecord',
-      anchor: 'layout-scope-record',
-      signature: 'LayoutScopeRecord: any',
-      typeOnly: true,
-      summary:
-        "Resolved layout component as stored in a route record's layout chain.",
-      members: [
-        {
-          name: 'component',
-          summary: '',
-          signature:
-            'component: (props: { children?: RenderableChild }) => RenderableChild;',
-        },
-      ],
-    },
     {
       name: 'lazy',
       anchor: 'lazy',
@@ -3616,7 +3389,7 @@ export const apiSymbolSets: Readonly<
       name: 'matchRoute',
       anchor: 'match-route',
       signature:
-        'matchRoute: (pathname: string, options: { registry: RouteRegistry; }) => RouteMatch | null',
+        'matchRoute: (pathname: string, options: { registry: RouteRegistry; }) => RouteMatch | null',
       typeOnly: true,
       summary:
         'Match a path against a route registry without resolving route policies or loading data.',
@@ -3696,42 +3469,10 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'meta?: RouteMetaSource;',
         },
-      ],
-    },
-    {
-      name: 'PageScopeRecord',
-      anchor: 'page-scope-record',
-      signature: 'PageScopeRecord: any',
-      typeOnly: true,
-      summary:
-        "Resolved page host component as stored in a route record's page chain.",
-      members: [
-        {
-          name: 'component',
-          summary: '',
-          signature: 'component: RouteComponent;',
-        },
-      ],
-    },
-    {
-      name: 'ParsedSegment',
-      anchor: 'parsed-segment',
-      signature: 'ParsedSegment: any',
-      typeOnly: true,
-      summary:
-        'A single parsed segment from a route path.\n\n- `static`:   a literal path segment, e.g. `"users"` in `/users/{id}`\n- `param`:    a `{name}` capture group — `value` holds the param name\n- `wildcard`: a bare `*` segment that captures exactly one segment\n- `splat`:    a `{*name}` capture group that captures the remaining path\n- `catchall`: the `/*` catch-all that matches any depth',
-      members: [
         {
-          name: 'kind',
+          name: 'appMeta',
           summary: '',
-          signature:
-            "kind: 'static' | 'param' | 'wildcard' | 'splat' | 'catchall';",
-        },
-        {
-          name: 'value',
-          summary:
-            'For static/wildcard/catchall: the literal text; for param: the param name.',
-          signature: 'value: string;',
+          signature: 'appMeta?: TAppMeta;',
         },
       ],
     },
@@ -4099,6 +3840,11 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'namespace?: string;',
         },
+        {
+          name: 'appMeta',
+          summary: '',
+          signature: 'readonly appMeta?: TAppMeta;',
+        },
       ],
     },
     {
@@ -4226,6 +3972,12 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'meta?: RouteMetaSource;',
         },
+        {
+          name: 'appMeta',
+          summary:
+            'Immutable application declaration data; never automatically serialized for hydration.',
+          signature: 'appMeta?: TAppMeta;',
+        },
         {
           name: 'actions',
           summary: '',
@@ -4636,7 +4388,7 @@ export const apiSymbolSets: Readonly<
         {
           name: 'matches',
           summary: '',
-          signature: 'matches: readonly RouteMatch[];',
+          signature: 'matches: readonly RouteMatch[];',
         },
       ],
     },
@@ -4656,6 +4408,92 @@ export const apiSymbolSets: Readonly<
       summary:
         'Render a {@link RouteMeta} to the ``/`<meta>`/`<link>`/JSON-LD markup for the document `<head>`.',
     },
+    {
+      name: 'SessionAuth',
+      anchor: 'session-auth',
+      signature: 'SessionAuth: any',
+      typeOnly: true,
+      summary:
+        'Pass this exact object as the registry or boot `auth` configuration.',
+      members: [
+        {
+          name: 'resolve',
+          summary:
+            'Resolve the identity for a request. When omitted, requests are anonymous\nunless the caller supplies an identity (for example `authContext` on the\nserver, or an opted-in hydration snapshot for the initial client route).',
+          signature: 'readonly resolve: RouteAuthResolver;',
+        },
+        {
+          name: 'dehydrate',
+          summary:
+            'Opt in to sending a minimal identity snapshot to the browser for\nhydration. Called on the server with the identity that authorized the\npage. `authenticated`, `principal`, `tenant`, and `scopes` of the result\nare serialized verbatim into the page, so return only what the client\nneeds; the session is never sent. The client uses the snapshot to resolve\nthe initial route and, without `resolve`, as its identity for\nnavigations. Nothing crosses without this hook.',
+          signature:
+            "readonly dehydrate: NonNullable<RouteAuthOptions['dehydrate']>;",
+        },
+        {
+          name: 'loginHref',
+          summary: '',
+          signature:
+            'loginHref(provider: string, options: SessionLoginOptions): string;',
+        },
+        {
+          name: 'logout',
+          summary:
+            'Local logout; provider logout/revocation remains an explicit server action.',
+          signature: 'logout(): Promise<void>;',
+        },
+        {
+          name: 'handleAuthFailure',
+          summary: 'Handle a decoded 401 problem or an',
+          signature: 'handleAuthFailure(failure: unknown): boolean;',
+          tags: {
+            askrjs: ['/fetch result/error.'],
+          },
+        },
+      ],
+    },
+    {
+      name: 'SessionAuthOptions',
+      anchor: 'session-auth-options',
+      signature: 'SessionAuthOptions: any',
+      typeOnly: true,
+      summary:
+        'Client binding for the same-origin askr-server provider-session routes.',
+      members: [
+        {
+          name: 'loginPath',
+          summary: 'App-owned login page, default `/login`.',
+          signature: 'readonly loginPath?: string;',
+        },
+        {
+          name: 'fetch',
+          summary: 'Native transport for session resolution and logout.',
+          signature: 'readonly fetch?: typeof globalThis.fetch;',
+        },
+      ],
+    },
+    {
+      name: 'SessionLoginOptions',
+      anchor: 'session-login-options',
+      signature: 'SessionLoginOptions: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'returnTo',
+          summary: '',
+          signature: 'readonly returnTo: string;',
+        },
+        {
+          name: 'resource',
+          summary: '',
+          signature: 'readonly resource?: string;',
+        },
+        {
+          name: 'scopes',
+          summary: '',
+          signature: 'readonly scopes?: readonly string[];',
+        },
+      ],
+    },
     {
       name: 'to',
       anchor: 'to',
@@ -4693,10 +4531,10 @@ export const apiSymbolSets: Readonly<
       name: 'action',
       anchor: 'action',
       signature:
-        'action: <TInput extends Record<string, unknown>, TResult = unknown>(descriptor: ActionDescriptor<TInput>) => { state: StateTuple<ActionStatus<TResult>>; submit(input: TInput): Promise<TResult>; }',
+        'action: <TInput extends Record<string, unknown>, TResult = unknown>(descriptor: ActionDescriptor<TInput>, options?: { readonly csrfToken: (signal: AbortSignal) => Promise<string | undefined>; }) => { state: StateTuple<ActionStatus<TResult>>; submit(input: TInput): Promise<TResult>; }',
       typeOnly: true,
       summary:
-        'Bind an action descriptor to the calling component and return its\n`{ state, submit }` handle. `action()` allocates its status with `state()`,\nso it follows the same rule: call it during component render, at the top\nlevel and in the same order on every render. `submit()` itself may be\ncalled from event handlers or other async work.',
+        'Bind an action descriptor to the calling component and return its\n`{ state, submit }` handle. `action()` allocates its status with `state()`,\nso it follows the same rule: call it during component render, at the top\nlevel and in the same order on every render. `submit()` itself may be\ncalled from event handlers or other async work. An explicit csrfToken\nresolver runs fresh for every submission under the component/data lifetime.\nIts undefined result omits the token instead of falling back to SSR data.',
     },
     {
       name: 'ActionDescriptor',
@@ -5099,15 +4937,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'SSRRoute',
-      anchor: 'ssrroute',
-      signature:
-        'SSRRoute: {\n  path: string;\n  handler: RouteHandler;\n  namespace?: string;\n}',
-      typeOnly: true,
-      summary:
-        'A single path-to-handler route binding accepted by low-level SSR route rendering.',
-    },
     {
       name: 'SSRStyleRegistration',
       anchor: 'ssrstyle-registration',
@@ -5172,13 +5001,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "Create a Static Site Generator\n\nUsage:\n```ts\nconst ssg = createStaticGen({\n  registry,\n  outputDir: './dist',\n  dataOverrides: {\n    '/api/posts': { posts: [...] }\n  }\n});\n\nconst result = await ssg.generate();\nconsole.log(`Generated ${result.successful}/${result.totalRoutes} routes`);\n```",
     },
-    {
-      name: 'DiscoveredResources',
-      anchor: 'discovered-resources',
-      signature: 'DiscoveredResources: any',
-      typeOnly: true,
-      summary: 'Resource discovery result for a single route',
-    },
     {
       name: 'DocumentRenderArgs',
       anchor: 'document-render-args',
@@ -5271,88 +5093,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Wraps rendered app HTML in a full document (`<html>`, `<head>`, etc.) for SSR/SSG output.',
     },
-    {
-      name: 'RouteConfig',
-      anchor: 'route-config',
-      signature: 'RouteConfig: any',
-      typeOnly: true,
-      summary:
-        'Route config accepted by SSG.\n\nThe handler is defined by the route registry and matches router/SSR naming.',
-      members: [
-        {
-          name: 'path',
-          summary: 'URL path to generate (e.g., "/blog/post-1", "/")',
-          signature: 'path: Path;',
-        },
-        {
-          name: 'handler',
-          summary: 'Route handler compatible with router/SSR',
-          signature: 'handler: RouteHandler;',
-        },
-        {
-          name: 'props',
-          summary: 'Optional base props merged with route params during render',
-          signature: 'props?: Record<string, unknown>;',
-        },
-        {
-          name: 'namespace',
-          summary: 'Optional namespace for router compatibility',
-          signature: 'namespace?: string;',
-        },
-        {
-          name: 'auth',
-          summary:
-            'Routes with request-auth requirements are runtime-only by default.',
-          signature: 'auth?: AuthRequirement;',
-        },
-        {
-          name: 'policies',
-          summary:
-            'Advanced runtime access checks disable prerendering by default',
-          signature: 'policies?: readonly RoutePolicy[];',
-        },
-        {
-          name: 'params',
-          summary:
-            'Optional path parameter map for template paths like "/blog/{slug}"',
-          signature: 'params?: RouteConfigParams<Path>;',
-        },
-        {
-          name: 'invalidationKeys',
-          summary:
-            'Optional explicit invalidation keys for incremental generation',
-          signature: 'invalidationKeys?: string[];',
-        },
-        {
-          name: 'loader',
-          summary:
-            'Route loader resolved completely before static HTML is rendered.',
-          signature: "loader?: RouteOptions['loader'];",
-        },
-        {
-          name: 'dehydrate',
-          summary: 'Select the loader data transported for initial hydration.',
-          signature: "dehydrate?: RouteOptions['dehydrate'];",
-        },
-        {
-          name: 'basePath',
-          summary: '',
-          signature: 'basePath?: string;',
-          tags: {
-            internal: [
-              'Public mount point inherited from the owning registry.',
-            ],
-          },
-        },
-        {
-          name: 'entries',
-          summary:
-            "SSG entry generator for parameterized routes.\n\nReturn one param map per page to be generated.  The path template is\nexpanded with each map to produce a concrete URL, e.g.:\n\n```ts\nroute('/posts/{slug}', PostPage, {\n  entries: async () => getPosts().map(p => ({ slug: p.slug })),\n});\n```",
-          signature:
-            'entries?: () =>\n    | Array<RouteConfigParams<Path>>\n    | Promise<Array<RouteConfigParams<Path>>>;',
-        },
-      ],
-    },
     {
       name: 'RouteRenderReason',
       anchor: 'route-render-reason',
@@ -5578,7 +5318,7 @@ export const apiSymbolSets: Readonly<
       name: 'SSGOptions',
       anchor: 'ssgoptions',
       signature:
-        'SSGOptions: SSGBaseOptions & {\n    /** Explicit route registry captured with `createRouteRegistry()`. */\n    registry: RouteRegistry;\n  }',
+        'SSGOptions: SSGBaseOptions & {\n  /** Explicit route registry captured with `createRouteRegistry()`. */\n  registry: RouteRegistry;\n}',
       typeOnly: true,
       summary: 'Options for createStaticGen',
     },
@@ -5656,14 +5396,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'SSRStyleRegistrationValidation',
-      anchor: 'ssrstyle-registration-validation',
-      signature: "SSRStyleRegistrationValidation: 'warn' | 'error' | 'off'",
-      typeOnly: true,
-      summary:
-        'How to react when SSR styles were registered but not included in the rendered document.',
-    },
   ],
   symbols18: [
     {
@@ -5698,13 +5430,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "A component function accepting `TProps`, usable as a JSX element's `type`.",
     },
-    {
-      name: 'jsxDEV',
-      anchor: 'jsx-dev',
-      signature:
-        'jsxDEV: { <TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[NoInfer<TTag>] | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TTag extends OtherIntrinsicTag>(type: TTag, props: OtherIntrinsicProps<TTag> | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement; (type: symbol, props: Props | null, key?: string | number, isStaticChildren?: boolean): JSXElement; }',
-      typeOnly: true,
-    },
     {
       name: 'JSXElement',
       anchor: 'jsxelement',
@@ -5767,15 +5492,6 @@ export const apiSymbolSets: Readonly<
       signature: 'JSX: any',
       typeOnly: true,
     },
-    {
-      name: 'JSXComponent',
-      anchor: 'jsxcomponent',
-      signature:
-        "JSXComponent: {\n  bivarianceHack(props: TProps): unknown;\n}['bivarianceHack']",
-      typeOnly: true,
-      summary:
-        "A component function accepting `TProps`, usable as a JSX element's `type`.",
-    },
     {
       name: 'jsxDEV',
       anchor: 'jsx-dev',
@@ -5783,43 +5499,6 @@ export const apiSymbolSets: Readonly<
         'jsxDEV: { <TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[NoInfer<TTag>] | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TTag extends OtherIntrinsicTag>(type: TTag, props: OtherIntrinsicProps<TTag> | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement; (type: symbol, props: Props | null, key?: string | number, isStaticChildren?: boolean): JSXElement; }',
       typeOnly: true,
     },
-    {
-      name: 'JSXElement',
-      anchor: 'jsxelement',
-      signature: 'JSXElement: any',
-      typeOnly: true,
-      summary: 'The vnode shape produced by JSX/`jsx()` calls.',
-      members: [
-        {
-          name: '$$typeof',
-          summary: 'Internal element marker',
-          signature: '$$typeof: symbol;',
-        },
-        {
-          name: 'type',
-          summary: 'Element type: string, component, Fragment, etc',
-          signature: 'type: JSXElementType;',
-        },
-        {
-          name: 'props',
-          summary: 'Props bag',
-          signature: 'props: Props;',
-        },
-        {
-          name: 'key',
-          summary: 'Optional key (normalized by runtime)',
-          signature: 'key?: string | number | null;',
-        },
-      ],
-    },
-    {
-      name: 'JSXElementType',
-      anchor: 'jsxelement-type',
-      signature: 'JSXElementType: string | JSXComponent | symbol',
-      typeOnly: true,
-      summary:
-        'Valid `type` values for a JSX element: a tag name, a component, or a symbol (e.g. `Fragment`).',
-    },
   ],
   symbols20: [
     {
@@ -6479,20 +6158,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'OidcIdTokenOptions',
-      anchor: 'oidc-id-token-options',
-      signature: 'OidcIdTokenOptions: any',
-      typeOnly: true,
-      summary: 'OIDC-specific JWT validation options.',
-      members: [
-        {
-          name: 'nonce',
-          summary: 'Expected OIDC nonce claim.',
-          signature: 'nonce: string;',
-        },
-      ],
-    },
     {
       name: 'TimedJwtInput',
       anchor: 'timed-jwt-input',
@@ -6537,21 +6202,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'validateOidcIdToken',
-      anchor: 'validate-oidc-id-token',
-      signature:
-        'validateOidcIdToken: (token: string, options: OidcIdTokenOptions) => Promise<Principal>',
-      typeOnly: true,
-      summary: 'Validate an OIDC ID token, including its nonce claim.',
-      tags: {
-        param: [
-          'token Compact serialized ID token.',
-          'options OIDC validation policy.',
-        ],
-        returns: ['Validated principal claims.'],
-      },
-    },
   ],
   symbols22: [
     {
@@ -6686,7 +6336,7 @@ export const apiSymbolSets: Readonly<
       name: 'OidcClientErrorCode',
       anchor: 'oidc-client-error-code',
       signature:
-        'OidcClientErrorCode: "discovery-failed" | "invalid-metadata" | "state-mismatch" | "exchange-failed" | "invalid-token-response" | "invalid-id-token"',
+        'OidcClientErrorCode: "invalid-authorization-params" | "discovery-failed" | "invalid-metadata" | "state-mismatch" | "exchange-failed" | "invalid-token-response" | "invalid-id-token"',
       typeOnly: true,
       summary: 'Stable failure codes for OIDC client operations.',
     },
@@ -6722,6 +6372,12 @@ export const apiSymbolSets: Readonly<
           summary: 'Requested scopes.',
           signature: 'scopes?: readonly string[];',
         },
+        {
+          name: 'authorizationParams',
+          summary:
+            'Bounded provider-specific string parameters; protocol-owned parameters are rejected.',
+          signature: 'authorizationParams?: Readonly<Record<string, string>>;',
+        },
         {
           name: 'fetch',
           summary: 'Fetch implementation for provider requests.',
@@ -6848,6 +6504,355 @@ export const apiSymbolSets: Readonly<
     },
   ],
   symbols23: [
+    {
+      name: 'createOidcProvider',
+      anchor: 'create-oidc-provider',
+      signature:
+        'createOidcProvider: (options: OidcProviderOptions) => ProviderDefinition',
+      typeOnly: false,
+    },
+    {
+      name: 'createProviderSession',
+      anchor: 'create-provider-session',
+      signature:
+        'createProviderSession: (options: ProviderSessionOptions) => ProviderSession',
+      typeOnly: false,
+      summary:
+        'Confidential provider sessions share one atomic authority and one application cookie.',
+    },
+    {
+      name: 'InteractionRequiredError',
+      anchor: 'interaction-required-error',
+      signature: 'InteractionRequiredError: typeof InteractionRequiredError',
+      typeOnly: false,
+      members: [
+        {
+          name: 'code',
+          summary: '',
+          signature: 'readonly code = "interaction-required";',
+        },
+        {
+          name: 'reason',
+          summary: '',
+          signature: 'readonly reason: "login" | "consent";',
+        },
+        {
+          name: 'provider',
+          summary: '',
+          signature: 'readonly provider: string;',
+        },
+        {
+          name: 'resource',
+          summary: '',
+          signature: 'readonly resource?: string;',
+        },
+        {
+          name: 'scopes',
+          summary: '',
+          signature: 'readonly scopes: readonly string[];',
+        },
+      ],
+    },
+    {
+      name: 'OidcProviderOptions',
+      anchor: 'oidc-provider-options',
+      signature: 'OidcProviderOptions: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'id',
+          summary: '',
+          signature: 'readonly id: string;',
+        },
+        {
+          name: 'issuer',
+          summary: '',
+          signature: 'readonly issuer: string;',
+        },
+        {
+          name: 'clientId',
+          summary: '',
+          signature: 'readonly clientId: string;',
+        },
+        {
+          name: 'clientAuthentication',
+          summary: '',
+          signature:
+            'readonly clientAuthentication: ProviderClientAuthentication;',
+        },
+        {
+          name: 'identityScopes',
+          summary: '',
+          signature: 'readonly identityScopes?: readonly string[];',
+        },
+        {
+          name: 'responseMode',
+          summary: '',
+          signature: 'readonly responseMode?: "query" | "form_post";',
+        },
+        {
+          name: 'capabilities',
+          summary: '',
+          signature: 'readonly capabilities?: Partial<ProviderCapabilities>;',
+        },
+        {
+          name: 'authorizationParams',
+          summary: '',
+          signature:
+            'readonly authorizationParams?: Readonly<Record<string, string>>;',
+        },
+        {
+          name: 'endpoints',
+          summary: '',
+          signature:
+            'readonly endpoints?: {\n    readonly authorization?: string;\n    readonly token?: string;\n    readonly jwks?: string;\n    readonly logout?: string;\n    readonly revocation?: string;\n  };',
+        },
+      ],
+    },
+    {
+      name: 'ProviderDefinition',
+      anchor: 'provider-definition',
+      signature: 'ProviderDefinition: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'id',
+          summary: '',
+          signature: 'readonly id: string;',
+        },
+        {
+          name: 'issuer',
+          summary: '',
+          signature: 'readonly issuer: string;',
+        },
+        {
+          name: 'clientId',
+          summary: '',
+          signature: 'readonly clientId: string;',
+        },
+        {
+          name: 'clientAuthentication',
+          summary: '',
+          signature:
+            'readonly clientAuthentication: ProviderClientAuthentication;',
+        },
+        {
+          name: 'responseMode',
+          summary: '',
+          signature: 'readonly responseMode: "query" | "form_post";',
+        },
+        {
+          name: 'identityScopes',
+          summary: '',
+          signature: 'readonly identityScopes: readonly string[];',
+        },
+        {
+          name: 'capabilities',
+          summary: '',
+          signature: 'readonly capabilities: ProviderCapabilities;',
+        },
+        {
+          name: 'authorizationParams',
+          summary: '',
+          signature:
+            'readonly authorizationParams?: Readonly<Record<string, string>>;',
+        },
+      ],
+    },
+    {
+      name: 'ProviderSession',
+      anchor: 'provider-session',
+      signature: 'ProviderSession: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'resolve',
+          summary:
+            'Resolve the principal, session, tenant, and authorization state.\nInvalid bearer and cookie JWTs fall through as unauthenticated; tenant and store failures propagate.',
+          signature:
+            'resolve(request: Request, options?: {\n    signal?: AbortSignal;\n  }): Promise<AuthContext>;',
+          tags: {
+            param: [
+              'request Incoming request.',
+              'options Optional cancellation signal.',
+            ],
+            returns: ['Resolved authentication context.'],
+          },
+        },
+        {
+          name: 'login',
+          summary: '',
+          signature:
+            'login(request: Request, options: ProviderLoginRequest): Promise<Response>;',
+        },
+        {
+          name: 'callback',
+          summary: '',
+          signature:
+            'callback(request: Request, options: {\n    readonly provider: string;\n  }): Promise<Response>;',
+        },
+        {
+          name: 'logout',
+          summary: '',
+          signature:
+            'logout(request: Request, options?: ProviderLogoutRequest): Promise<Response>;',
+        },
+        {
+          name: 'token',
+          summary: '',
+          signature:
+            'token(request: Request, provider: string, options: ProviderTokenRequest): Promise<string>;',
+        },
+        {
+          name: 'finalize',
+          summary: '',
+          signature:
+            'finalize(request: Request, response: Response): Promise<Response>;',
+        },
+        {
+          name: 'close',
+          summary: '',
+          signature: 'close(): Promise<void>;',
+        },
+      ],
+    },
+    {
+      name: 'ProviderSessionError',
+      anchor: 'provider-session-error',
+      signature: 'ProviderSessionError: typeof ProviderSessionError',
+      typeOnly: false,
+      members: [
+        {
+          name: 'code',
+          summary: '',
+          signature: 'readonly code: ProviderSessionErrorCode;',
+        },
+      ],
+    },
+    {
+      name: 'ProviderSessionErrorCode',
+      anchor: 'provider-session-error-code',
+      signature:
+        'ProviderSessionErrorCode: "configuration" | "invalid-callback" | "invalid-transaction" | "session-oversize" | "capacity" | "store-unavailable" | "provider-unavailable" | "closed"',
+      typeOnly: true,
+    },
+    {
+      name: 'ProviderSessionOptions',
+      anchor: 'provider-session-options',
+      signature: 'ProviderSessionOptions: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'origin',
+          summary: '',
+          signature: 'readonly origin: string;',
+        },
+        {
+          name: 'providers',
+          summary: '',
+          signature: 'readonly providers: readonly ProviderDefinition[];',
+        },
+        {
+          name: 'session',
+          summary: '',
+          signature:
+            'readonly session: {\n    readonly secrets: readonly string[];\n    readonly store?: ProviderSessionStore;\n    readonly maxAgeSeconds?: number;\n    readonly leewaySeconds?: number;\n    readonly maxEntries?: number;\n  };',
+        },
+        {
+          name: 'onSignIn',
+          summary: '',
+          signature:
+            'readonly onSignIn?: (context: {\n    readonly provider: string;\n    readonly principal: Readonly<Principal>;\n    readonly profileHint?: {\n      readonly givenName?: string;\n      readonly familyName?: string;\n    };\n    readonly signal: AbortSignal;\n  }) => void | PromiseLike<void>;',
+        },
+        {
+          name: 'postLogoutRedirects',
+          summary: '',
+          signature: 'readonly postLogoutRedirects?: readonly string[];',
+        },
+        {
+          name: 'transactionTtlSeconds',
+          summary: '',
+          signature: 'readonly transactionTtlSeconds?: number;',
+        },
+        {
+          name: 'fetch',
+          summary: '',
+          signature: 'readonly fetch?: typeof fetch;',
+        },
+        {
+          name: 'clock',
+          summary: '',
+          signature: 'readonly clock?: () => number;',
+        },
+      ],
+    },
+    {
+      name: 'ProviderSessionRecord',
+      anchor: 'provider-session-record',
+      signature: 'ProviderSessionRecord: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'revision',
+          summary: '',
+          signature: 'readonly revision: number;',
+        },
+        {
+          name: 'expiresAt',
+          summary: '',
+          signature: 'readonly expiresAt: number;',
+        },
+        {
+          name: 'retired',
+          summary: '',
+          signature: 'readonly retired: boolean;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'readonly value: string | null;',
+        },
+      ],
+    },
+    {
+      name: 'ProviderSessionStore',
+      anchor: 'provider-session-store',
+      signature: 'ProviderSessionStore: any',
+      typeOnly: true,
+      members: [
+        {
+          name: 'read',
+          summary: '',
+          signature:
+            'read(id: string, options: {\n    signal: AbortSignal;\n  }): Promise<ProviderSessionRecord | null>;',
+        },
+        {
+          name: 'compareAndSwap',
+          summary: '',
+          signature:
+            'compareAndSwap(id: string, expectedRevision: number | null, next: ProviderSessionRecord, options: {\n    signal: AbortSignal;\n  }): Promise<boolean>;',
+        },
+        {
+          name: 'withLock',
+          summary: '',
+          signature:
+            'withLock<T>(key: string, operation: () => Promise<T>, options: {\n    signal: AbortSignal;\n  }): Promise<T>;',
+        },
+      ],
+    },
+  ],
+  symbols24: [
+    {
+      name: 'createAuth0Provider',
+      anchor: 'create-auth0-provider',
+      signature:
+        'createAuth0Provider: (options: Auth0ProviderOptions) => ProviderDefinition',
+      typeOnly: true,
+      summary:
+        'Create an Auth0 definition using the shared signed OIDC/session engine.',
+    },
+  ],
+  symbols25: [
     {
       name: 'createSamlServiceProvider',
       anchor: 'create-saml-service-provider',
@@ -7070,56 +7075,14 @@ export const apiSymbolSets: Readonly<
       summary: 'Stable failure codes for SAML validation.',
     },
   ],
-  symbols24: [
-    {
-      name: 'CborDecodeOptions',
-      anchor: 'cbor-decode-options',
-      signature: 'CborDecodeOptions: any',
-      typeOnly: true,
-      summary: 'Resource limits applied while decoding CBOR.',
-      members: [
-        {
-          name: 'maxBytes',
-          summary: 'Maximum encoded input bytes.',
-          signature: 'maxBytes?: number;',
-        },
-        {
-          name: 'maxDepth',
-          summary: 'Maximum nesting depth.',
-          signature: 'maxDepth?: number;',
-        },
-        {
-          name: 'maxCollectionLength',
-          summary: 'Maximum array or map entries.',
-          signature: 'maxCollectionLength?: number;',
-        },
-      ],
-    },
-    {
-      name: 'CborFirstResult',
-      anchor: 'cbor-first-result',
-      signature: 'CborFirstResult: any',
-      typeOnly: true,
-      summary: 'Decoded CBOR value and the number of consumed bytes.',
-      members: [
-        {
-          name: 'value',
-          summary: 'Decoded value.',
-          signature: 'value: unknown;',
-        },
-        {
-          name: 'bytesRead',
-          summary: 'Number of bytes consumed from the input.',
-          signature: 'bytesRead: number;',
-        },
-      ],
-    },
+  symbols26: [
     {
       name: 'CoseAlgorithm',
       anchor: 'cose-algorithm',
       signature: 'CoseAlgorithm: -7 | -257 | -8',
       typeOnly: true,
-      summary: 'COSE algorithm identifiers supported for WebAuthn public keys.',
+      summary:
+        'Algorithm identifier persisted with a supported WebAuthn credential.',
     },
     {
       name: 'createTotpProvisioningUri',
@@ -7133,68 +7096,6 @@ export const apiSymbolSets: Readonly<
         returns: ['Authenticator provisioning URI.'],
       },
     },
-    {
-      name: 'decodeCbor',
-      anchor: 'decode-cbor',
-      signature:
-        'decodeCbor: (input: Uint8Array, options?: CborDecodeOptions) => unknown',
-      typeOnly: false,
-      summary: 'Decode one complete CBOR value.',
-      tags: {
-        param: [
-          'input Encoded CBOR bytes.',
-          'options Decoder resource limits.',
-        ],
-        returns: ['Decoded value.'],
-      },
-    },
-    {
-      name: 'decodeCborFirst',
-      anchor: 'decode-cbor-first',
-      signature:
-        'decodeCborFirst: (input: Uint8Array, options?: CborDecodeOptions) => CborFirstResult',
-      typeOnly: false,
-      summary: 'Decode the first CBOR value, allowing trailing bytes.',
-      tags: {
-        param: [
-          'input Encoded CBOR bytes.',
-          'options Decoder resource limits.',
-        ],
-        returns: ['Decoded value and consumed byte count.'],
-      },
-    },
-    {
-      name: 'decodeCosePublicKey',
-      anchor: 'decode-cose-public-key',
-      signature:
-        'decodeCosePublicKey: (input: Uint8Array) => DecodedCosePublicKey',
-      typeOnly: false,
-      summary: 'Decode a COSE public key into an algorithm and Web Crypto JWK.',
-      tags: {
-        param: ['input Encoded COSE key.'],
-        returns: ['Decoded public-key information.'],
-      },
-    },
-    {
-      name: 'DecodedCosePublicKey',
-      anchor: 'decoded-cose-public-key',
-      signature: 'DecodedCosePublicKey: any',
-      typeOnly: true,
-      summary:
-        'Public-key algorithm and Web Crypto representation decoded from COSE.',
-      members: [
-        {
-          name: 'algorithm',
-          summary: 'COSE algorithm identifier.',
-          signature: 'algorithm: CoseAlgorithm;',
-        },
-        {
-          name: 'publicKeyJwk',
-          summary: 'Equivalent Web Crypto JWK.',
-          signature: 'publicKeyJwk: JsonWebKey;',
-        },
-      ],
-    },
     {
       name: 'generateTotpSecret',
       anchor: 'generate-totp-secret',
@@ -7307,7 +7208,8 @@ export const apiSymbolSets: Readonly<
         },
         {
           name: 'at',
-          summary: 'Verification time; defaults to the current time.',
+          summary:
+            'Non-negative Unix time in milliseconds, or a valid Date. Defaults to the current time.',
           signature: 'at?: number | Date;',
         },
         {
@@ -7495,7 +7397,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols25: [
+  symbols27: [
     {
       name: 'createPasskey',
       anchor: 'create-passkey',
@@ -7552,28 +7454,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'decodeBase64Url',
-      anchor: 'decode-base64-url',
-      signature: 'decodeBase64Url: (value: string) => ArrayBuffer',
-      typeOnly: false,
-      summary: 'Decode canonical unpadded base64url.',
-      tags: {
-        param: ['value Base64url text.'],
-        returns: ['Decoded bytes.'],
-      },
-    },
-    {
-      name: 'encodeBase64Url',
-      anchor: 'encode-base64-url',
-      signature: 'encodeBase64Url: (buffer: ArrayBuffer) => string',
-      typeOnly: false,
-      summary: 'Encode binary data as unpadded base64url.',
-      tags: {
-        param: ['buffer Bytes to encode.'],
-        returns: ['Canonical base64url text.'],
-      },
-    },
     {
       name: 'getPasskeyAssertion',
       anchor: 'get-passkey-assertion',
@@ -7670,23 +7550,40 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols26: [
+  symbols28: [
+    {
+      name: 'createMicrosoftProvider',
+      anchor: 'create-microsoft-provider',
+      signature:
+        'createMicrosoftProvider: (options: MicrosoftProviderOptions) => ProviderDefinition',
+      typeOnly: true,
+      summary:
+        'One explicit Entra tenant, confidential Web credentials, and qualified delegated API scopes.',
+    },
+  ],
+  symbols29: [
     {
-      name: 'AggregatedNumericChannelInput',
-      anchor: 'aggregated-numeric-channel-input',
+      name: 'createGoogleProvider',
+      anchor: 'create-google-provider',
       signature:
-        'AggregatedNumericChannelInput: RowChannelInput<Row, number> | ChannelExpression<number, NumericField<Row>, "count" | "sum" | "mean" | "stack" | "normalize">',
+        'createGoogleProvider: (options: GoogleProviderOptions) => ProviderDefinition',
       typeOnly: true,
       summary:
-        'A numeric channel input that may additionally be an aggregate expression.',
+        'Confidential Google Web OAuth, exact signed hosted-domain policy, and explicit API grants.',
     },
+  ],
+  symbols30: [
     {
-      name: 'AggregateOperation',
-      anchor: 'aggregate-operation',
-      signature: 'AggregateOperation: "count" | "sum" | "mean"',
+      name: 'createAppleProvider',
+      anchor: 'create-apple-provider',
+      signature:
+        'createAppleProvider: (options: AppleProviderOptions) => ProviderDefinition',
       typeOnly: true,
-      summary: 'Aggregate operations supported by grouping expressions.',
+      summary:
+        'Confidential Apple Services ID with server-owned signing and daily account verification.',
     },
+  ],
+  symbols31: [
     {
       name: 'appendPlotRows',
       anchor: 'append-plot-rows',
@@ -8098,15 +7995,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Bins a numeric or temporal channel into discrete intervals.',
     },
-    {
-      name: 'BinnedScaleChannelInput',
-      anchor: 'binned-scale-channel-input',
-      signature:
-        'BinnedScaleChannelInput: RowChannelInput<Row, string | number | Date> | ChannelExpression<number | Date, NumericField<Row> | TemporalField<Row>, "bin">',
-      typeOnly: true,
-      summary:
-        'A channel input for scales that may be binned, e.g. via {@link bin }.',
-    },
     {
       name: 'BinOptions',
       anchor: 'bin-options',
@@ -8157,100 +8045,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'A Cartesian axis identifier.',
     },
-    {
-      name: 'CartesianMarkProps',
-      anchor: 'cartesian-mark-props',
-      signature: 'CartesianMarkProps: any',
-      typeOnly: true,
-      summary: 'Props shared by marks positioned on Cartesian (x/y) axes.',
-      members: [
-        {
-          name: 'colorScale',
-          summary: '',
-          signature: 'colorScale?: string | undefined;',
-        },
-        {
-          name: 'data',
-          summary: '',
-          signature: 'data?: PlotData<Row> | undefined;',
-        },
-        {
-          name: 'fill',
-          summary: '',
-          signature: 'fill?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'hidden',
-          summary: '',
-          signature: 'hidden?: boolean | undefined;',
-        },
-        {
-          name: 'key',
-          summary: '',
-          signature: 'key?: PlotRowKey<Row> | undefined;',
-        },
-        {
-          name: 'opacity',
-          summary: '',
-          signature: 'opacity?: number | undefined;',
-        },
-        {
-          name: 'stroke',
-          summary: '',
-          signature: 'stroke?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'title',
-          summary: '',
-          signature: 'title?: RowTextChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'transform',
-          summary: '',
-          signature:
-            'transform?: RowTransform<Row> | readonly RowTransform<Row>[] | undefined;',
-        },
-        {
-          name: 'x',
-          summary: '',
-          signature: 'x?: unknown;',
-        },
-        {
-          name: 'x2',
-          summary: '',
-          signature: 'x2?: unknown;',
-        },
-        {
-          name: 'xScale',
-          summary: '',
-          signature: 'xScale?: string | undefined;',
-        },
-        {
-          name: 'y',
-          summary: '',
-          signature: 'y?: unknown;',
-        },
-        {
-          name: 'y2',
-          summary: '',
-          signature: 'y2?: unknown;',
-        },
-        {
-          name: 'yScale',
-          summary: '',
-          signature: 'yScale?: string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'CategoricalField',
-      anchor: 'categorical-field',
-      signature:
-        'CategoricalField: FieldOfType<Row, string | number | boolean>',
-      typeOnly: true,
-      summary:
-        'Field names of `Row` holding categorical (string, number, or boolean) values.',
-    },
     {
       name: 'CellProps',
       anchor: 'cell-props',
@@ -8346,72 +8140,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ChannelExpression',
-      anchor: 'channel-expression',
-      signature: 'ChannelExpression: any',
-      typeOnly: true,
-      summary:
-        'A serialized channel transform produced by helpers such as {@link bin }, {@link sum },\nor {@link stack }, and consumed by mark channel props (e.g. `x`, `y`).',
-      members: [
-        {
-          name: '__askrPlotExpression',
-          summary: '',
-          signature: 'readonly __askrPlotExpression: true;',
-        },
-        {
-          name: 'kind',
-          summary: '',
-          signature: 'readonly kind: Kind;',
-        },
-        {
-          name: 'input',
-          summary: '',
-          signature: 'readonly input?: unknown;',
-        },
-        {
-          name: 'options',
-          summary: '',
-          signature: 'readonly options: Readonly<Record<string, unknown>>;',
-        },
-        {
-          name: '__field',
-          summary: '',
-          signature: 'readonly __field?: Field;',
-        },
-        {
-          name: '__value',
-          summary: '',
-          signature: 'readonly __value?: Value;',
-        },
-      ],
-    },
-    {
-      name: 'ChannelExpressionKind',
-      anchor: 'channel-expression-kind',
-      signature:
-        'ChannelExpressionKind: "constant" | "bin" | "count" | "sum" | "mean" | "group" | "stack" | "normalize" | "moving-window" | "moving-average" | "regression"',
-      typeOnly: true,
-      summary:
-        'The discriminant `kind` values a {@link ChannelExpression} may carry.',
-    },
-    {
-      name: 'ChannelInput',
-      anchor: 'channel-input',
-      signature:
-        'ChannelInput: FieldOfType<Row, Value> | RowAccessor<Row, Value> | ChannelExpression<Value, FieldOfType<Row, Value>>',
-      typeOnly: true,
-      summary:
-        'Anything usable as a mark channel input: a field name, an accessor, or a channel expression.',
-    },
-    {
-      name: 'ColorChannelInput',
-      anchor: 'color-channel-input',
-      signature:
-        'ColorChannelInput: ChannelInput<Row, string | number | boolean>',
-      typeOnly: true,
-      summary: 'A channel input resolving to a color-scale-compatible value.',
-    },
     {
       name: 'constant',
       anchor: 'constant',
@@ -8455,15 +8183,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'FieldOfType',
-      anchor: 'field-of-type',
-      signature:
-        'FieldOfType: { [Field in RowField<Row>]-?: Present<Row[Field]> extends Value ? Field : never; }[RowField<Row>]',
-      typeOnly: true,
-      summary:
-        'The field names of `Row` whose (non-nullable) value type is assignable to `Value`.',
-    },
     {
       name: 'filterRows',
       anchor: 'filter-rows',
@@ -8684,71 +8403,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'MarkBaseProps',
-      anchor: 'mark-base-props',
-      signature: 'MarkBaseProps: any',
-      typeOnly: true,
-      summary: 'Props shared by all mark components.',
-      members: [
-        {
-          name: 'colorScale',
-          summary: '',
-          signature: 'colorScale?: string | undefined;',
-        },
-        {
-          name: 'data',
-          summary: '',
-          signature: 'data?: PlotData<Row> | undefined;',
-        },
-        {
-          name: 'fill',
-          summary: '',
-          signature: 'fill?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'hidden',
-          summary: '',
-          signature: 'hidden?: boolean | undefined;',
-        },
-        {
-          name: 'key',
-          summary: '',
-          signature: 'key?: PlotRowKey<Row> | undefined;',
-        },
-        {
-          name: 'opacity',
-          summary: '',
-          signature: 'opacity?: number | undefined;',
-        },
-        {
-          name: 'stroke',
-          summary: '',
-          signature: 'stroke?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'title',
-          summary: '',
-          signature: 'title?: RowTextChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'transform',
-          summary: '',
-          signature:
-            'transform?: RowTransform<Row> | readonly RowTransform<Row>[] | undefined;',
-        },
-        {
-          name: 'xScale',
-          summary: '',
-          signature: 'xScale?: string | undefined;',
-        },
-        {
-          name: 'yScale',
-          summary: '',
-          signature: 'yScale?: string | undefined;',
-        },
-      ],
-    },
     {
       name: 'mean',
       anchor: 'mean',
@@ -8842,20 +8496,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "Normalizes a numeric channel's values within each group to a 0–1 (or proportional) range.",
     },
-    {
-      name: 'NumericChannelInput',
-      anchor: 'numeric-channel-input',
-      signature: 'NumericChannelInput: ChannelInput<Row, number>',
-      typeOnly: true,
-      summary: 'A channel input resolving to a number.',
-    },
-    {
-      name: 'NumericField',
-      anchor: 'numeric-field',
-      signature: 'NumericField: FieldOfType<Row, number>',
-      typeOnly: true,
-      summary: 'Field names of `Row` holding numbers.',
-    },
     {
       name: 'partition',
       anchor: 'partition',
@@ -8942,13 +8582,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'PlotChannelValue',
-      anchor: 'plot-channel-value',
-      signature: 'PlotChannelValue: PlotScalar | null | undefined',
-      typeOnly: true,
-      summary: 'A channel value, allowing for missing data.',
-    },
     {
       name: 'PlotData',
       anchor: 'plot-data',
@@ -9212,13 +8845,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "How to derive a row's stable {@link PlotKey}: a field name or an accessor function.",
     },
-    {
-      name: 'PlotScalar',
-      anchor: 'plot-scalar',
-      signature: 'PlotScalar: string | number | boolean | Date',
-      typeOnly: true,
-      summary: 'A primitive value a plot channel may resolve to.',
-    },
     {
       name: 'PlotSelection',
       anchor: 'plot-selection',
@@ -9405,402 +9031,292 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'PrimitiveComponent',
-      anchor: 'primitive-component',
-      signature: 'PrimitiveComponent: any',
+      name: 'RectProps',
+      anchor: 'rect-props',
+      signature: 'RectProps: any',
       typeOnly: true,
-      summary: 'A plot component that renders `Props` to a `JSXElement`.',
+      summary: 'Props for `Plot.Rect`.',
+      members: [
+        {
+          name: 'colorScale',
+          summary: '',
+          signature: 'colorScale?: string | undefined;',
+        },
+        {
+          name: 'data',
+          summary: '',
+          signature: 'data?: PlotData<Row> | undefined;',
+        },
+        {
+          name: 'fill',
+          summary: '',
+          signature: 'fill?: RowColorChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'hidden',
+          summary: '',
+          signature: 'hidden?: boolean | undefined;',
+        },
+        {
+          name: 'key',
+          summary: '',
+          signature: 'key?: PlotRowKey<Row> | undefined;',
+        },
+        {
+          name: 'opacity',
+          summary: '',
+          signature: 'opacity?: number | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: number | undefined;',
+        },
+        {
+          name: 'stroke',
+          summary: '',
+          signature: 'stroke?: RowColorChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title?: RowTextChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'transform',
+          summary: '',
+          signature:
+            'transform?: RowTransform<Row> | readonly RowTransform<Row>[] | undefined;',
+        },
+        {
+          name: 'x',
+          summary: '',
+          signature: 'x?: RowScaleChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'x2',
+          summary: '',
+          signature: 'x2?: RowScaleChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'xScale',
+          summary: '',
+          signature: 'xScale?: string | undefined;',
+        },
+        {
+          name: 'y',
+          summary: '',
+          signature: 'y?: RowScaleChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'y2',
+          summary: '',
+          signature: 'y2?: RowScaleChannelInput<Row> | undefined;',
+        },
+        {
+          name: 'yScale',
+          summary: '',
+          signature: 'yScale?: string | undefined;',
+        },
+      ],
     },
     {
-      name: 'PrimitiveKind',
-      anchor: 'primitive-kind',
-      signature: 'PrimitiveKind: Exclude<keyof PlotFactory<unknown>, "Root">',
+      name: 'regression',
+      anchor: 'regression',
+      signature:
+        'regression: { <Field extends string>(input: Field, options?: { x?: string; method?: "linear"; }): ChannelExpression<number, Field, "regression">; <Row>(input: NumericChannelInput<Row>, options?: RegressionOptions<Row>): ChannelExpression<number, never, "regression">; }',
       typeOnly: true,
       summary:
-        'The keys of {@link PlotFactory} that identify a mark/annotation primitive (excludes `Root`).',
+        'Fits a regression curve (currently linear) to a numeric channel against an x channel.',
     },
     {
-      name: 'RectProps',
-      anchor: 'rect-props',
-      signature: 'RectProps: any',
+      name: 'RegressionOptions',
+      anchor: 'regression-options',
+      signature: 'RegressionOptions: any',
       typeOnly: true,
-      summary: 'Props for `Plot.Rect`.',
+      summary: 'Options for {@link regression }.',
+      members: [
+        {
+          name: 'x',
+          summary: '',
+          signature: 'x?: RowScaleChannelInput<Row>;',
+        },
+        {
+          name: 'method',
+          summary: '',
+          signature: 'method?: "linear";',
+        },
+      ],
+    },
+    {
+      name: 'removePlotRows',
+      anchor: 'remove-plot-rows',
+      signature:
+        'removePlotRows: <Row>(rows: readonly Row[], keys: readonly PlotKey[] | ReadonlySet<PlotKey> | ((row: Readonly<Row>, index: number) => boolean), rowKey?: PlotRowKey<Row>) => readonly Row[]',
+      typeOnly: true,
+      summary:
+        'Removes rows matching a predicate, or by key (requires `rowKey` when `keys` is an array/set).\nReturns the original `rows` reference unchanged if nothing was removed.',
+    },
+    {
+      name: 'RootProps',
+      anchor: 'root-props',
+      signature: 'RootProps: any',
+      typeOnly: true,
+      summary: "Props accepted by a plot factory's `Root` component.",
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'class',
+          summary: '',
+          signature: 'class?: string | undefined;',
+        },
+        {
+          name: 'data',
+          summary: '',
+          signature: 'data: PlotData<Row>;',
+        },
+        {
+          name: 'defaultSelection',
+          summary: '',
+          signature: 'defaultSelection?: PlotSelection | undefined;',
+        },
+        {
+          name: 'defaultView',
+          summary: '',
+          signature: 'defaultView?: PlotView | undefined;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: string | undefined;',
+        },
+        {
+          name: 'diagnostics',
+          summary: '',
+          signature: 'diagnostics?: boolean | undefined;',
+        },
+        {
+          name: 'empty',
+          summary: '',
+          signature: 'empty?: string | undefined;',
+        },
+        {
+          name: 'followLatest',
+          summary: '',
+          signature: 'followLatest?: FollowLatest<Row> | undefined;',
+        },
+        {
+          name: 'headingLevel',
+          summary: '',
+          signature: 'headingLevel?: PlotHeadingLevel | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: number | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label: string;',
+        },
+        {
+          name: 'locale',
+          summary: '',
+          signature: 'locale?: string | undefined;',
+        },
+        {
+          name: 'meter',
+          summary: '',
+          signature: 'meter?: MeterSemantics | undefined;',
+        },
+        {
+          name: 'onActivate',
+          summary: '',
+          signature:
+            'onActivate?: ((row: Row, key: PlotKey, target: PlotInteractionTarget<Row>) => void) | undefined;',
+        },
+        {
+          name: 'onApiChange',
+          summary: '',
+          signature:
+            'onApiChange?: ((api: PlotApi<Row> | null) => void) | undefined;',
+        },
+        {
+          name: 'onSelectionChange',
+          summary: '',
+          signature:
+            'onSelectionChange?: ((selection: PlotSelection) => void) | undefined;',
+        },
+        {
+          name: 'onViewChange',
+          summary: '',
+          signature: 'onViewChange?: ((view: PlotView) => void) | undefined;',
+        },
+        {
+          name: 'rowKey',
+          summary: '',
+          signature: 'rowKey: PlotRowKey<Row>;',
+        },
+        {
+          name: 'selection',
+          summary: '',
+          signature: 'selection?: PlotSelection | undefined;',
+        },
+        {
+          name: 'style',
+          summary: '',
+          signature:
+            'style?: string | Record<string, string | number | false | null | undefined> | undefined;',
+        },
+        {
+          name: 'summary',
+          summary: '',
+          signature:
+            'summary?: string | ((context: PlotSummaryContext<Row>) => string) | undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title?: string | undefined;',
+        },
+        {
+          name: 'view',
+          summary: '',
+          signature: 'view?: PlotView | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'RuleProps',
+      anchor: 'rule-props',
+      signature: 'RuleProps: any',
+      typeOnly: true,
+      summary: 'Props for `Plot.Rule`.',
       members: [
         {
           name: 'colorScale',
           summary: '',
           signature: 'colorScale?: string | undefined;',
-        },
-        {
-          name: 'data',
-          summary: '',
-          signature: 'data?: PlotData<Row> | undefined;',
-        },
-        {
-          name: 'fill',
-          summary: '',
-          signature: 'fill?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'hidden',
-          summary: '',
-          signature: 'hidden?: boolean | undefined;',
-        },
-        {
-          name: 'key',
-          summary: '',
-          signature: 'key?: PlotRowKey<Row> | undefined;',
-        },
-        {
-          name: 'opacity',
-          summary: '',
-          signature: 'opacity?: number | undefined;',
-        },
-        {
-          name: 'radius',
-          summary: '',
-          signature: 'radius?: number | undefined;',
-        },
-        {
-          name: 'stroke',
-          summary: '',
-          signature: 'stroke?: RowColorChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'title',
-          summary: '',
-          signature: 'title?: RowTextChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'transform',
-          summary: '',
-          signature:
-            'transform?: RowTransform<Row> | readonly RowTransform<Row>[] | undefined;',
-        },
-        {
-          name: 'x',
-          summary: '',
-          signature: 'x?: RowScaleChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'x2',
-          summary: '',
-          signature: 'x2?: RowScaleChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'xScale',
-          summary: '',
-          signature: 'xScale?: string | undefined;',
-        },
-        {
-          name: 'y',
-          summary: '',
-          signature: 'y?: RowScaleChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'y2',
-          summary: '',
-          signature: 'y2?: RowScaleChannelInput<Row> | undefined;',
-        },
-        {
-          name: 'yScale',
-          summary: '',
-          signature: 'yScale?: string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'regression',
-      anchor: 'regression',
-      signature:
-        'regression: { <Field extends string>(input: Field, options?: { x?: string; method?: "linear"; }): ChannelExpression<number, Field, "regression">; <Row>(input: NumericChannelInput<Row>, options?: RegressionOptions<Row>): ChannelExpression<number, never, "regression">; }',
-      typeOnly: true,
-      summary:
-        'Fits a regression curve (currently linear) to a numeric channel against an x channel.',
-    },
-    {
-      name: 'RegressionOptions',
-      anchor: 'regression-options',
-      signature: 'RegressionOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link regression }.',
-      members: [
-        {
-          name: 'x',
-          summary: '',
-          signature: 'x?: RowScaleChannelInput<Row>;',
-        },
-        {
-          name: 'method',
-          summary: '',
-          signature: 'method?: "linear";',
-        },
-      ],
-    },
-    {
-      name: 'removePlotRows',
-      anchor: 'remove-plot-rows',
-      signature:
-        'removePlotRows: <Row>(rows: readonly Row[], keys: readonly PlotKey[] | ReadonlySet<PlotKey> | ((row: Readonly<Row>, index: number) => boolean), rowKey?: PlotRowKey<Row>) => readonly Row[]',
-      typeOnly: true,
-      summary:
-        'Removes rows matching a predicate, or by key (requires `rowKey` when `keys` is an array/set).\nReturns the original `rows` reference unchanged if nothing was removed.',
-    },
-    {
-      name: 'RootProps',
-      anchor: 'root-props',
-      signature: 'RootProps: any',
-      typeOnly: true,
-      summary: "Props accepted by a plot factory's `Root` component.",
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'class',
-          summary: '',
-          signature: 'class?: string | undefined;',
-        },
-        {
-          name: 'data',
-          summary: '',
-          signature: 'data: PlotData<Row>;',
-        },
-        {
-          name: 'defaultSelection',
-          summary: '',
-          signature: 'defaultSelection?: PlotSelection | undefined;',
-        },
-        {
-          name: 'defaultView',
-          summary: '',
-          signature: 'defaultView?: PlotView | undefined;',
-        },
-        {
-          name: 'description',
-          summary: '',
-          signature: 'description?: string | undefined;',
-        },
-        {
-          name: 'diagnostics',
-          summary: '',
-          signature: 'diagnostics?: boolean | undefined;',
-        },
-        {
-          name: 'empty',
-          summary: '',
-          signature: 'empty?: string | undefined;',
-        },
-        {
-          name: 'followLatest',
-          summary: '',
-          signature: 'followLatest?: FollowLatest<Row> | undefined;',
-        },
-        {
-          name: 'headingLevel',
-          summary: '',
-          signature: 'headingLevel?: PlotHeadingLevel | undefined;',
-        },
-        {
-          name: 'height',
-          summary: '',
-          signature: 'height?: number | undefined;',
-        },
-        {
-          name: 'id',
-          summary: '',
-          signature: 'id?: string | undefined;',
-        },
-        {
-          name: 'label',
-          summary: '',
-          signature: 'label: string;',
-        },
-        {
-          name: 'locale',
-          summary: '',
-          signature: 'locale?: string | undefined;',
-        },
-        {
-          name: 'meter',
-          summary: '',
-          signature: 'meter?: MeterSemantics | undefined;',
-        },
-        {
-          name: 'onActivate',
-          summary: '',
-          signature:
-            'onActivate?: ((row: Row, key: PlotKey, target: PlotInteractionTarget<Row>) => void) | undefined;',
-        },
-        {
-          name: 'onApiChange',
-          summary: '',
-          signature:
-            'onApiChange?: ((api: PlotApi<Row> | null) => void) | undefined;',
-        },
-        {
-          name: 'onSelectionChange',
-          summary: '',
-          signature:
-            'onSelectionChange?: ((selection: PlotSelection) => void) | undefined;',
-        },
-        {
-          name: 'onViewChange',
-          summary: '',
-          signature: 'onViewChange?: ((view: PlotView) => void) | undefined;',
-        },
-        {
-          name: 'rowKey',
-          summary: '',
-          signature: 'rowKey: PlotRowKey<Row>;',
-        },
-        {
-          name: 'selection',
-          summary: '',
-          signature: 'selection?: PlotSelection | undefined;',
-        },
-        {
-          name: 'style',
-          summary: '',
-          signature:
-            'style?: string | Record<string, string | number | false | null | undefined> | undefined;',
-        },
-        {
-          name: 'summary',
-          summary: '',
-          signature:
-            'summary?: string | ((context: PlotSummaryContext<Row>) => string) | undefined;',
-        },
-        {
-          name: 'title',
-          summary: '',
-          signature: 'title?: string | undefined;',
-        },
-        {
-          name: 'view',
-          summary: '',
-          signature: 'view?: PlotView | undefined;',
-        },
-        {
-          name: 'width',
-          summary: '',
-          signature: 'width?: number | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'RowAccessor',
-      anchor: 'row-accessor',
-      signature:
-        'RowAccessor: (row: Readonly<Row>, index: number) => Value | null | undefined',
-      typeOnly: true,
-      summary:
-        'A function that reads a channel value from a row and its index.',
-    },
-    {
-      name: 'RowChannelInput',
-      anchor: 'row-channel-input',
-      signature:
-        'RowChannelInput: FieldOfType<Row, Value> | RowAccessor<Row, Value> | ChannelExpression<Value, FieldOfType<Row, Value>, RowExpressionKind>',
-      typeOnly: true,
-      summary:
-        'A channel input restricted to row-level (non-aggregating) expression kinds.',
-    },
-    {
-      name: 'RowColorChannelInput',
-      anchor: 'row-color-channel-input',
-      signature:
-        'RowColorChannelInput: RowChannelInput<Row, string | number | boolean>',
-      typeOnly: true,
-      summary:
-        '{@link RowChannelInput} resolving to a color-scale-compatible value.',
-    },
-    {
-      name: 'RowField',
-      anchor: 'row-field',
-      signature: 'RowField: Extract<keyof Row, string>',
-      typeOnly: true,
-      summary: 'The string-keyed field names of a row type.',
-    },
-    {
-      name: 'RowNumericChannelInput',
-      anchor: 'row-numeric-channel-input',
-      signature: 'RowNumericChannelInput: RowChannelInput<Row, number>',
-      typeOnly: true,
-      summary: '{@link RowChannelInput} resolving to a number.',
-    },
-    {
-      name: 'RowScaleChannelInput',
-      anchor: 'row-scale-channel-input',
-      signature:
-        'RowScaleChannelInput: RowChannelInput<Row, string | number | Date>',
-      typeOnly: true,
-      summary: '{@link RowChannelInput} for a positional/categorical scale.',
-    },
-    {
-      name: 'RowTextChannelInput',
-      anchor: 'row-text-channel-input',
-      signature:
-        'RowTextChannelInput: RowChannelInput<Row, string | number | Date | boolean>',
-      typeOnly: true,
-      summary: '{@link RowChannelInput} resolving to a displayable text value.',
-    },
-    {
-      name: 'RowTransform',
-      anchor: 'row-transform',
-      signature: 'RowTransform: any',
-      typeOnly: true,
-      summary:
-        "A serialized row-level transform produced by helpers such as {@link filterRows },\n{@link sortRows }, or {@link partition }, and applied to a mark's `data` via `transform`.",
-      members: [
-        {
-          name: '__askrPlotTransform',
-          summary: '',
-          signature: 'readonly __askrPlotTransform: true;',
-        },
-        {
-          name: 'kind',
-          summary: '',
-          signature: 'readonly kind: RowTransformKind;',
-        },
-        {
-          name: 'options',
-          summary: '',
-          signature: 'readonly options: Readonly<Record<string, unknown>>;',
-        },
-        {
-          name: '__row',
-          summary: '',
-          signature: 'readonly __row?: (row: Row) => Row;',
-        },
-      ],
-    },
-    {
-      name: 'RowTransformKind',
-      anchor: 'row-transform-kind',
-      signature: 'RowTransformKind: "filter" | "sort" | "partition"',
-      typeOnly: true,
-      summary:
-        'The discriminant `kind` values a {@link RowTransform} may carry.',
-    },
-    {
-      name: 'RuleProps',
-      anchor: 'rule-props',
-      signature: 'RuleProps: any',
-      typeOnly: true,
-      summary: 'Props for `Plot.Rule`.',
-      members: [
-        {
-          name: 'colorScale',
-          summary: '',
-          signature: 'colorScale?: string | undefined;',
-        },
-        {
-          name: 'dash',
-          summary: '',
-          signature: 'dash?: readonly number[] | undefined;',
+        },
+        {
+          name: 'dash',
+          summary: '',
+          signature: 'dash?: readonly number[] | undefined;',
         },
         {
           name: 'data',
@@ -9880,29 +9396,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ScaleChannelInput',
-      anchor: 'scale-channel-input',
-      signature: 'ScaleChannelInput: ChannelInput<Row, string | number | Date>',
-      typeOnly: true,
-      summary: 'A channel input for a positional/categorical scale.',
-    },
-    {
-      name: 'ScaleDomainValue',
-      anchor: 'scale-domain-value',
-      signature: 'ScaleDomainValue: ScaleValue | boolean',
-      typeOnly: true,
-      summary:
-        'A scale domain value, including booleans (for ordinal/color scales).',
-    },
-    {
-      name: 'ScaleField',
-      anchor: 'scale-field',
-      signature: 'ScaleField: FieldOfType<Row, string | number | Date>',
-      typeOnly: true,
-      summary:
-        'Field names of `Row` usable as a scale channel (string, number, or Date).',
-    },
     {
       name: 'ScaleProps',
       anchor: 'scale-props',
@@ -10080,21 +9573,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Sums a numeric channel across each group.',
     },
-    {
-      name: 'TemporalField',
-      anchor: 'temporal-field',
-      signature: 'TemporalField: FieldOfType<Row, Date>',
-      typeOnly: true,
-      summary: 'Field names of `Row` holding `Date` values.',
-    },
-    {
-      name: 'TextChannelInput',
-      anchor: 'text-channel-input',
-      signature:
-        'TextChannelInput: ChannelInput<Row, string | number | Date | boolean>',
-      typeOnly: true,
-      summary: 'A channel input resolving to a displayable text value.',
-    },
     {
       name: 'TextProps',
       anchor: 'text-props',
@@ -10299,159 +9777,8 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols27: [],
-  symbols28: [
-    {
-      name: 'AdHocCall',
-      anchor: 'ad-hoc-call',
-      signature: 'AdHocCall: any',
-      typeOnly: true,
-      summary:
-        "A one-off, untyped request description accepted by {@link createFetch}'s returned function.",
-      members: [
-        {
-          name: 'url',
-          summary: '',
-          signature: 'url: string;',
-        },
-        {
-          name: 'method',
-          summary: '',
-          signature: 'method?: string;',
-        },
-        {
-          name: 'headers',
-          summary: '',
-          signature: 'headers?: HeadersInit;',
-        },
-        {
-          name: 'query',
-          summary: '',
-          signature: 'query?: Record<string, unknown>;',
-        },
-        {
-          name: 'querySpec',
-          summary: '',
-          signature: 'querySpec?: ParameterMap;',
-        },
-        {
-          name: 'body',
-          summary: '',
-          signature: 'body?: unknown;',
-        },
-        {
-          name: 'bodyCodec',
-          summary: '',
-          signature: 'bodyCodec?: Codec;',
-        },
-        {
-          name: 'bodyMediaType',
-          summary:
-            'Explicit media type used to encode a request body with a multi-variant `content()` codec.',
-          signature: 'bodyMediaType?: string;',
-        },
-        {
-          name: 'response',
-          summary: '',
-          signature: 'response?: Codec;',
-        },
-        {
-          name: 'responses',
-          summary: '',
-          signature: 'responses?: Readonly<Record<number, Codec>>;',
-        },
-        {
-          name: 'errors',
-          summary: '',
-          signature: 'errors?: Partial<Record<number | "default", Codec>>;',
-        },
-        {
-          name: 'signal',
-          summary: '',
-          signature: 'signal?: AbortSignal;',
-        },
-        {
-          name: 'timeout',
-          summary: '',
-          signature: 'timeout?: number;',
-        },
-        {
-          name: 'endpoint',
-          summary: '',
-          signature: 'endpoint?: EndpointDescriptor;',
-        },
-        {
-          name: 'operationId',
-          summary: '',
-          signature: 'operationId?: string;',
-        },
-      ],
-    },
-    {
-      name: 'AnyEndpointDescriptor',
-      anchor: 'any-endpoint-descriptor',
-      signature:
-        'AnyEndpointDescriptor: EndpointDescriptor<any, any, any, any, any, any>',
-      typeOnly: true,
-      summary:
-        'An {@link EndpointDescriptor} with its type parameters erased, for use in generic contexts.',
-    },
-    {
-      name: 'ApiClient',
-      anchor: 'api-client',
-      signature:
-        'ApiClient: Readonly<{ [K in keyof A["endpoints"]]: ClientMethod<A["endpoints"][K]>; }>',
-      typeOnly: true,
-      summary:
-        'A fully-typed client for an {@link ApiDefinition}, with one method per endpoint.',
-    },
-    {
-      name: 'ApiDefinition',
-      anchor: 'api-definition',
-      signature: 'ApiDefinition: any',
-      typeOnly: true,
-      summary:
-        'A named collection of endpoints plus optional API metadata, as produced by {@link defineApi }.',
-      members: [
-        {
-          name: 'endpoints',
-          summary: '',
-          signature: 'readonly endpoints: E;',
-        },
-        {
-          name: 'metadata',
-          summary: '',
-          signature: 'readonly metadata?: ApiMetadata;',
-        },
-      ],
-    },
-    {
-      name: 'ApiMetadata',
-      anchor: 'api-metadata',
-      signature: 'ApiMetadata: any',
-      typeOnly: true,
-      summary:
-        'API-level (rather than per-endpoint) metadata, such as servers and security schemes.',
-      members: [
-        {
-          name: 'servers',
-          summary: '',
-          signature:
-            'readonly servers?: readonly (string | {\n    readonly url: string;\n  })[];',
-        },
-        {
-          name: 'tags',
-          summary: '',
-          signature: 'readonly tags?: readonly unknown[];',
-        },
-        {
-          name: 'securitySchemes',
-          summary: '',
-          signature:
-            'readonly securitySchemes?: Readonly<Record<string, unknown>>;',
-        },
-      ],
-    },
+  symbols32: [],
+  symbols33: [
     {
       name: 'arrayBuffer',
       anchor: 'array-buffer',
@@ -10507,14 +9834,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ClientResult',
-      anchor: 'client-result',
-      signature: 'ClientResult: Successes<D> | Errors<D> | FailureResult',
-      typeOnly: true,
-      summary:
-        'The possible results of calling a typed client method for endpoint descriptor `D`.',
-    },
     {
       name: 'Codec',
       anchor: 'codec',
@@ -10605,170 +9924,26 @@ export const apiSymbolSets: Readonly<
         'Creates a codec for bodies expected to be empty (e.g. 204 No Content), decoded as `undefined`.',
     },
     {
-      name: 'EndpointBuilder',
-      anchor: 'endpoint-builder',
-      signature: 'EndpointBuilder: any',
+      name: 'FetchError',
+      anchor: 'fetch-error',
+      signature: 'FetchError: typeof FetchError',
       typeOnly: true,
       summary:
-        "Fluent, immutable builder for describing a single endpoint's params, query,\nheaders, body, responses, errors, and security requirements. Each method\nreturns a new builder reflecting the added configuration; the accumulated\nstate is finalized into an {@link EndpointDescriptor} by {@link defineApi}.",
+        'An `Error` thrown by {@link unwrap} that wraps a failed (non-`ok`) {@link FetchResult}.',
       members: [
         {
-          name: 'params',
-          summary:
-            'Declares path parameter types and optional runtime validators. Generic types are erased;\nruntime validation occurs only for entries whose specification includes a validator.',
-          signature:
-            'params<T extends Record<string, unknown>>(spec?: ParameterMap): EndpointBuilder<T, Q, H, B, R, E>;',
-        },
-        {
-          name: 'query',
-          summary: '',
-          signature:
-            'query<T extends Record<string, unknown>>(spec?: ParameterMap): EndpointBuilder<P, T, H, B, R, E>;',
-        },
-        {
-          name: 'headers',
-          summary: '',
-          signature:
-            'headers<T extends Record<string, unknown>>(spec?: ParameterMap): EndpointBuilder<P, Q, T, B, R, E>;',
-        },
-        {
-          name: 'body',
-          summary: '',
-          signature:
-            'body<C extends Codec>(codec: C): EndpointBuilder<P, Q, H, C extends Codec<infer T> ? T : never, R, E>;',
-        },
-        {
-          name: 'returns',
-          summary: '',
-          signature:
-            'returns<C extends Codec>(codec: C): EndpointBuilder<P, Q, H, B, R & Record<200, C>, E>;',
-        },
-        {
-          name: 'returns',
-          summary: '',
-          signature:
-            'returns<S extends number, C extends Codec>(status: S, codec: C): EndpointBuilder<P, Q, H, B, R & Record<S, C>, E>;',
-        },
-        {
-          name: 'errors',
-          summary: '',
-          signature:
-            'errors<T extends Errors>(spec: T): EndpointBuilder<P, Q, H, B, R, E & T>;',
-        },
-        {
-          name: 'security',
+          name: 'result',
           summary: '',
           signature:
-            'security(requirements: readonly Readonly<Record<string, readonly string[]>>[]): EndpointBuilder<P, Q, H, B, R, E>;',
+            'readonly result: Exclude<FetchResult, {\n    ok: true;\n  }>;',
         },
       ],
     },
     {
-      name: 'EndpointDescriptor',
-      anchor: 'endpoint-descriptor',
-      signature: 'EndpointDescriptor: any',
-      typeOnly: true,
-      summary:
-        'Describes a single API endpoint: its method, path, parameters, body, and possible responses.',
-      members: [
-        {
-          name: 'method',
-          summary: '',
-          signature: 'readonly method: HttpMethod;',
-        },
-        {
-          name: 'path',
-          summary: '',
-          signature: 'readonly path: string;',
-        },
-        {
-          name: 'params',
-          summary: '',
-          signature: 'readonly params?: ParameterMap;',
-        },
-        {
-          name: 'query',
-          summary: '',
-          signature: 'readonly query?: ParameterMap;',
-        },
-        {
-          name: 'headers',
-          summary: '',
-          signature: 'readonly headers?: ParameterMap;',
-        },
-        {
-          name: 'body',
-          summary: '',
-          signature: 'readonly body?: Codec;',
-        },
-        {
-          name: 'responses',
-          summary: '',
-          signature: 'readonly responses: Readonly<R>;',
-        },
-        {
-          name: 'errors',
-          summary: '',
-          signature: 'readonly errors: Readonly<E>;',
-        },
-        {
-          name: 'security',
-          summary: '',
-          signature:
-            'readonly security?: readonly Readonly<Record<string, readonly string[]>>[];',
-        },
-        {
-          name: 'operationId',
-          summary: '',
-          signature: 'readonly operationId?: string;',
-        },
-        {
-          name: '__input',
-          summary: '',
-          signature:
-            'readonly __input?: {\n    params: P;\n    query: Q;\n    headers: H;\n    body: B;\n  };',
-        },
-      ],
-    },
-    {
-      name: 'FailureKind',
-      anchor: 'failure-kind',
-      signature:
-        'FailureKind: "request" | "network" | "timeout" | "abort" | "decode" | "middleware"',
-      typeOnly: true,
-      summary:
-        'Categorizes why a fetch could not produce an {@link HttpResult} or {@link SuccessResult}.',
-    },
-    {
-      name: 'FailureResult',
-      anchor: 'failure-result',
-      signature:
-        'FailureResult: {\n  ok: false;\n  kind: FailureKind;\n  status: number;\n  error: unknown;\n  headers: Headers;\n  url: string;\n  response?: Response;\n}',
-      typeOnly: true,
-      summary:
-        'A fetch outcome that failed before or independently of receiving a decodable HTTP response.',
-    },
-    {
-      name: 'FetchError',
-      anchor: 'fetch-error',
-      signature: 'FetchError: typeof FetchError',
-      typeOnly: true,
-      summary:
-        'An `Error` thrown by {@link unwrap} that wraps a failed (non-`ok`) {@link FetchResult}.',
-      members: [
-        {
-          name: 'result',
-          summary: '',
-          signature:
-            'readonly result: Exclude<FetchResult, {\n    ok: true;\n  }>;',
-        },
-      ],
-    },
-    {
-      name: 'FetchResult',
-      anchor: 'fetch-result',
-      signature:
-        'FetchResult: SuccessResult<T> | HttpResult<T> | FailureResult',
+      name: 'FetchResult',
+      anchor: 'fetch-result',
+      signature:
+        'FetchResult: SuccessResult<T> | HttpResult<T> | FailureResult',
       typeOnly: true,
       summary:
         'The outcome of a fetch call: success, an HTTP-level error, or another kind of failure.',
@@ -10789,38 +9964,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Starts building a HEAD endpoint at the given path.',
     },
-    {
-      name: 'HttpMethod',
-      anchor: 'http-method',
-      signature:
-        'HttpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS"',
-      typeOnly: true,
-      summary: 'The set of HTTP methods supported by endpoint descriptors.',
-    },
-    {
-      name: 'HttpResult',
-      anchor: 'http-result',
-      signature:
-        'HttpResult: {\n  ok: false;\n  kind: "http";\n  status: S;\n  error: T;\n  mediaType: string | null;\n  headers: Headers;\n  url: string;\n  /** For stream codecs, this body is the same one-shot stream exposed by `error`. */\n  response: Response;\n}',
-      typeOnly: true,
-      summary:
-        'A non-2xx fetch outcome where the server responded with a decodable error body.',
-    },
-    {
-      name: 'InferCodec',
-      anchor: 'infer-codec',
-      signature: 'InferCodec: C extends Codec<infer T> ? T : never',
-      typeOnly: true,
-      summary: 'Infers the decoded value type `T` from a {@link Codec}.',
-    },
-    {
-      name: 'InferValidator',
-      anchor: 'infer-validator',
-      signature:
-        'InferValidator: V extends {\n  safeParse(value: unknown): infer Result;\n} ? Extract<Result, {\n  readonly success: true;\n}> extends {\n  readonly data: infer T;\n} ? T : never : never',
-      typeOnly: true,
-      summary: 'Infers the parsed output type `T` from a {@link Validator}.',
-    },
     {
       name: 'json',
       anchor: 'json',
@@ -10847,14 +9990,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Creates a codec for `multipart/form-data` bodies, decoded as `FormData`.',
     },
-    {
-      name: 'Next',
-      anchor: 'next',
-      signature: 'Next: (context?: RequestContext) => Promise<FetchResult>',
-      typeOnly: true,
-      summary:
-        'Invokes the next middleware in the chain, optionally passing a replacement context.',
-    },
     {
       name: 'options',
       anchor: 'options',
@@ -10863,49 +9998,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Starts building an OPTIONS endpoint at the given path.',
     },
-    {
-      name: 'ParameterMap',
-      anchor: 'parameter-map',
-      signature:
-        'ParameterMap: Readonly<Record<string, Validator<unknown> | ParameterSpec | undefined>>',
-      typeOnly: true,
-      summary:
-        'Maps parameter names to either a bare {@link Validator} or a full\n{@link ParameterSpec} describing serialization and validation.',
-    },
-    {
-      name: 'ParameterSpec',
-      anchor: 'parameter-spec',
-      signature: 'ParameterSpec: any',
-      typeOnly: true,
-      summary:
-        'Serialization and validation settings for a single path, query, or header parameter.',
-      members: [
-        {
-          name: 'validator',
-          summary: '',
-          signature: 'readonly validator?: Validator<T>;',
-        },
-        {
-          name: 'style',
-          summary: '',
-          signature: 'readonly style?: ParameterStyle;',
-        },
-        {
-          name: 'explode',
-          summary: '',
-          signature: 'readonly explode?: boolean;',
-        },
-      ],
-    },
-    {
-      name: 'ParameterStyle',
-      anchor: 'parameter-style',
-      signature:
-        'ParameterStyle: "simple" | "label" | "matrix" | "form" | "spaceDelimited" | "pipeDelimited" | "deepObject"',
-      typeOnly: true,
-      summary:
-        'OpenAPI-style serialization styles for path, query, and header parameters.',
-    },
     {
       name: 'patch',
       anchor: 'patch',
@@ -10914,19 +10006,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Starts building a PATCH endpoint at the given path.',
     },
-    {
-      name: 'pathNames',
-      anchor: 'path-names',
-      signature: 'pathNames: (path: string) => string[]',
-      typeOnly: true,
-      summary:
-        'Extracts the ordered list of `{param}` placeholder names from an endpoint path.',
-      tags: {
-        throws: [
-          '{TypeError} If the path uses colon/wildcard syntax, has malformed\n`{...}` placeholders, or contains a duplicate parameter name.',
-        ],
-      },
-    },
     {
       name: 'post',
       anchor: 'post',
@@ -10943,54 +10022,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Starts building a PUT endpoint at the given path.',
     },
-    {
-      name: 'RequestContext',
-      anchor: 'request-context',
-      signature: 'RequestContext: any',
-      typeOnly: true,
-      summary:
-        'The mutable-by-replacement state threaded through the middleware chain for a single request.',
-      members: [
-        {
-          name: 'request',
-          summary: '',
-          signature: 'readonly request: Request;',
-        },
-        {
-          name: 'endpoint',
-          summary: '',
-          signature: 'readonly endpoint?: AnyEndpointDescriptor;',
-        },
-        {
-          name: 'operationId',
-          summary: '',
-          signature: 'readonly operationId?: string;',
-        },
-        {
-          name: 'security',
-          summary: '',
-          signature: 'readonly security?: AnyEndpointDescriptor["security"];',
-        },
-        {
-          name: 'attempt',
-          summary:
-            '1 on the first attempt, incremented by middleware (e.g. {@link retry }) on subsequent attempts.',
-          signature: 'readonly attempt: number;',
-        },
-        {
-          name: 'replayableBody',
-          summary:
-            'Whether a body was encoded from a replayable value; streaming bodies set this to `false`.',
-          signature: 'readonly replayableBody?: boolean;',
-        },
-        {
-          name: 'deadline',
-          summary:
-            'Absolute timestamp (ms since epoch) by which the request must complete, if a timeout is set.',
-          signature: 'readonly deadline?: number;',
-        },
-      ],
-    },
     {
       name: 'stream',
       anchor: 'stream',
@@ -10999,15 +10030,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Creates a codec that exposes the raw response body as a `ReadableStream`, without buffering it.',
     },
-    {
-      name: 'SuccessResult',
-      anchor: 'success-result',
-      signature:
-        'SuccessResult: {\n  ok: true;\n  kind: "success";\n  status: S;\n  data: T;\n  mediaType: string | null;\n  headers: Headers;\n  url: string;\n  /** For stream codecs, this body is the same one-shot stream exposed by `data`. */\n  response: Response;\n}',
-      typeOnly: true,
-      summary:
-        'A successful (2xx) fetch outcome, carrying the decoded response data.',
-    },
     {
       name: 'text',
       anchor: 'text',
@@ -11049,13 +10071,13 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols29: [
+  symbols34: [
     {
       name: 'apiKeyAuth',
       anchor: 'api-key-auth',
       signature:
         'apiKeyAuth: ({ key, value, in: location }: { key: string; value: string | (() => string | Promise<string>); in?: "header" | "query"; }) => Middleware',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'Middleware that attaches an API key to every request, either as a header or a query\nparameter (`in`, default `"header"`). `value` may be a static string or a (possibly\nasync) function resolved on each request. The key is marked sensitive so the\n{@link logging} middleware redacts it.',
     },
@@ -11064,7 +10086,7 @@ export const apiSymbolSets: Readonly<
       anchor: 'bearer-auth',
       signature:
         'bearerAuth: ({ token }: { token: string | (() => string | Promise<string>); }) => Middleware',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'Middleware that attaches an `Authorization: Bearer <token>` header to every request.\n`token` may be a static string or a (possibly async) function resolved on each request.',
     },
@@ -11073,7 +10095,7 @@ export const apiSymbolSets: Readonly<
       anchor: 'logging',
       signature:
         'logging: (logger?: { log(event: Record<string, unknown>): void; }) => Middleware',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'Middleware that logs a `"request"` event before and a `"response"` event after each\nrequest, via the given logger (defaults to `console`). Headers and query parameters\nmarked sensitive (e.g. by {@link apiKeyAuth}) or matching common sensitive-name\npatterns (authorization, cookie, token, secret, password, api key) are redacted.',
     },
@@ -11081,92 +10103,26 @@ export const apiSymbolSets: Readonly<
       name: 'retry',
       anchor: 'retry',
       signature: 'retry: (options?: RetryOptions) => Middleware',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         "Middleware that retries failed requests. Retries eligible methods on network failures\nor eligible response statuses, honoring a `Retry-After` header when present and\nstopping early if the request's deadline would be exceeded. A non-streaming request body\nis replayed only when it can be cloned before the first attempt; streaming, already-consumed,\nor otherwise non-cloneable bodies are sent once without retrying.",
     },
-    {
-      name: 'RetryOptions',
-      anchor: 'retry-options',
-      signature: 'RetryOptions: any',
-      typeOnly: true,
-      summary: "Options controlling the {@link retry} middleware's behavior.",
-      members: [
-        {
-          name: 'attempts',
-          summary:
-            'Maximum number of attempts, including the first. Defaults to 3.',
-          signature: 'attempts?: number;',
-        },
-        {
-          name: 'methods',
-          summary:
-            'HTTP methods eligible for retry. Defaults to idempotent-by-convention methods.',
-          signature: 'methods?: readonly string[];',
-        },
-        {
-          name: 'statuses',
-          summary:
-            'Response statuses that trigger a retry. Defaults to common transient failure codes.',
-          signature: 'statuses?: readonly number[];',
-        },
-        {
-          name: 'delay',
-          summary:
-            'Computes the delay (ms) before the given retry attempt, if no `Retry-After` header is present.',
-          signature: 'delay?: (attempt: number) => number;',
-        },
-        {
-          name: 'maxRetryAfter',
-          summary:
-            'Maximum delay (ms) accepted from `Retry-After`. Defaults to 60 seconds.',
-          signature: 'maxRetryAfter?: number;',
-        },
-      ],
-    },
     {
       name: 'telemetry',
       anchor: 'telemetry',
       signature: 'telemetry: (hooks: TelemetryHooks) => Middleware',
-      typeOnly: false,
-      summary:
-        'Middleware that wraps each request with {@link TelemetryHooks}, calling `start` before\nthe request, `end` after it completes, and `error` (then rethrowing) if it throws.',
-    },
-    {
-      name: 'TelemetryHooks',
-      anchor: 'telemetry-hooks',
-      signature: 'TelemetryHooks: any',
       typeOnly: true,
       summary:
-        'Hooks invoked by the {@link telemetry} middleware around each request.',
-      members: [
-        {
-          name: 'start',
-          summary:
-            'Called before the request proceeds; its return value (a "span") is passed to `end`/`error`.',
-          signature: 'start?(context: RequestContext): unknown;',
-        },
-        {
-          name: 'end',
-          summary:
-            "Called after the request completes successfully (from this middleware's perspective).",
-          signature: 'end?(span: unknown, result: FetchResult): void;',
-        },
-        {
-          name: 'error',
-          summary: 'Called if a downstream middleware or the transport throws.',
-          signature: 'error?(span: unknown, error: unknown): void;',
-        },
-      ],
+        'Middleware that wraps each request with {@link TelemetryHooks}, calling `start` before\nthe request, `end` after it completes, and `error` (then rethrowing) if it throws.',
     },
   ],
-  symbols30: [
+  symbols35: [
     {
       name: 'applyLocaleAttributes',
       anchor: 'apply-locale-attributes',
       signature:
         'applyLocaleAttributes: (target: LocaleAttributeTarget, attributes: LocaleAttributes) => void',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'Apply locale attributes to an explicit DOM target such as `document.documentElement`.',
     },
@@ -11177,13 +10133,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Read-only map of message keys to typed message functions.',
     },
-    {
-      name: 'CatalogKey',
-      anchor: 'catalog-key',
-      signature:
-        'CatalogKey: { [Locale in keyof Catalogs]: keyof Catalogs[Locale]; }[keyof Catalogs] & string',
-      typeOnly: true,
-    },
     {
       name: 'CatalogMessage',
       anchor: 'catalog-message',
@@ -11196,7 +10145,7 @@ export const apiSymbolSets: Readonly<
       anchor: 'create-i18n',
       signature:
         'createI18n: <const SourceLocale extends string, const Catalogs extends Record<SourceLocale, Catalog>>(sourceLocale: SourceLocale, catalogs: Catalogs & ValidCatalogs<Catalogs, SourceLocale>) => I18n<Catalogs>',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'Creates an application-owned internationalization service.\n\nCatalog values are ordinary typed TypeScript functions. Locale selection is\nintentionally left to the application and installed lexically through Scope.',
       tags: {
@@ -11207,65 +10156,6 @@ export const apiSymbolSets: Readonly<
         returns: ['A typed internationalization service.'],
       },
     },
-    {
-      name: 'I18n',
-      anchor: 'i18n',
-      signature: 'I18n: any',
-      typeOnly: true,
-      summary:
-        'Typed internationalization service backed by aligned locale catalogs.',
-      members: [
-        {
-          name: 'catalogs',
-          summary: 'Frozen catalogs supplied at creation time.',
-          signature: 'readonly catalogs: Readonly<Catalogs>;',
-        },
-        {
-          name: 'Scope',
-          summary: 'JSX scope component that installs the active locale.',
-          signature:
-            'readonly Scope: (props: I18nScopeProps<LocaleOf<Catalogs>>) => JSXElement;',
-        },
-        {
-          name: 'text',
-          summary: 'Format a message in the active locale.',
-          signature:
-            'text<Key extends CatalogKey<Catalogs>>(key: Key, ...args: MessageArgs<MessageAt<Catalogs, Key>>): string;',
-        },
-        {
-          name: 'format',
-          summary: 'Format a message in an explicitly selected locale.',
-          signature:
-            'format<Locale extends LocaleOf<Catalogs>, Key extends keyof Catalogs[Locale] & string>(locale: Locale, key: Key, ...args: MessageArgs<Catalogs[Locale][Key]>): string;',
-        },
-        {
-          name: 'locale',
-          summary: 'Read the active locale.',
-          signature: 'locale(): LocaleOf<Catalogs>;',
-        },
-        {
-          name: 'direction',
-          summary: "Read the active locale's text direction.",
-          signature: 'direction(): TextDirection;',
-        },
-        {
-          name: 'catalog',
-          summary: 'Read the active catalog identifier.',
-          signature: 'catalog(): LocaleOf<Catalogs>;',
-        },
-        {
-          name: 'attributes',
-          summary:
-            'Read semantic HTML attributes for the active locale boundary.',
-          signature: 'attributes(): LocaleAttributes<LocaleOf<Catalogs>>;',
-        },
-        {
-          name: 'dehydrate',
-          summary: 'Serialize the active locale state for hydration.',
-          signature: 'dehydrate(): I18nHydration<LocaleOf<Catalogs>>;',
-        },
-      ],
-    },
     {
       name: 'I18nHydration',
       anchor: 'i18n-hydration',
@@ -11274,123 +10164,26 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Serializable locale state for SSR hydration.',
     },
-    {
-      name: 'I18nScopeProps',
-      anchor: 'i18n-scope-props',
-      signature:
-        'I18nScopeProps: {\n  locale: Locale;\n  dir?: TextDirection;\n  hydration?: never;\n  children?: unknown;\n} | {\n  locale?: never;\n  dir?: never;\n  hydration: I18nHydration<Locale>;\n  children?: unknown;\n}',
-      typeOnly: true,
-      summary: 'Props for installing locale state through the Scope component.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'dir',
-          summary: '',
-          signature: 'dir?: TextDirection | undefined;',
-        },
-        {
-          name: 'hydration',
-          summary: '',
-          signature:
-            'hydration?: Readonly<{ version: 1; locale: Locale; dir: TextDirection; catalog: Locale; }> | undefined;',
-        },
-        {
-          name: 'locale',
-          summary: '',
-          signature: 'locale?: Locale | undefined;',
-        },
-      ],
-    },
     {
       name: 'localeAttributes',
       anchor: 'locale-attributes',
       signature:
         'localeAttributes: <const Locale extends string>(locale: Locale, direction?: TextDirection) => LocaleAttributes<Locale>',
-      typeOnly: false,
-      summary:
-        'Build semantic HTML attributes for a document or nested locale boundary.',
-    },
-    {
-      name: 'LocaleAttributes',
-      anchor: 'locale-attributes-2',
-      signature:
-        'LocaleAttributes: Readonly<{\n  lang: Locale;\n  dir: TextDirection;\n}>',
-      typeOnly: true,
-      summary:
-        'Semantic HTML locale attributes for a document or nested language boundary.',
-    },
-    {
-      name: 'LocaleAttributeTarget',
-      anchor: 'locale-attribute-target',
-      signature:
-        'LocaleAttributeTarget: {\n  setAttribute(name: "lang" | "dir", value: string): void;\n}',
       typeOnly: true,
       summary:
-        'Minimal target contract accepted by {@link applyLocaleAttributes}.',
-    },
-    {
-      name: 'LocaleOf',
-      anchor: 'locale-of',
-      signature: 'LocaleOf: keyof Catalogs & string',
-      typeOnly: true,
-    },
-    {
-      name: 'MessageArgs',
-      anchor: 'message-args',
-      signature:
-        'MessageArgs: Message extends ((...args: infer Args) => string) ? Args : never',
-      typeOnly: true,
-    },
-    {
-      name: 'MessageAt',
-      anchor: 'message-at',
-      signature:
-        'MessageAt: { [Locale in keyof Catalogs]: Key extends keyof Catalogs[Locale] ? Catalogs[Locale][Key] : never; }[keyof Catalogs]',
-      typeOnly: true,
+        'Build semantic HTML attributes for a document or nested locale boundary.',
     },
     {
       name: 'resolveTextDirection',
       anchor: 'resolve-text-direction',
       signature:
         'resolveTextDirection: (locale: string, override?: TextDirection) => TextDirection',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         "Resolve a locale's default text direction, allowing an explicit application override.",
     },
-    {
-      name: 'SameTuple',
-      anchor: 'same-tuple',
-      signature:
-        'SameTuple: (<Value>() => Value extends Left ? 1 : 2) extends (<Value>() => (Value extends Right ? 1 : 2)) ? (<Value>() => Value extends Right ? 1 : 2) extends (<Value>() => (Value extends Left ? 1 : 2)) ? true : false : false',
-      typeOnly: true,
-    },
-    {
-      name: 'TextDirection',
-      anchor: 'text-direction',
-      signature: 'TextDirection: "ltr" | "rtl"',
-      typeOnly: true,
-      summary: 'Text direction used by a locale.',
-    },
-    {
-      name: 'ValidCatalog',
-      anchor: 'valid-catalog',
-      signature:
-        'ValidCatalog: Candidate & { [Key in keyof Candidate]: Key extends keyof Source ? SameTuple<MessageArgs<Candidate[Key]>, MessageArgs<Source[Key]>> extends true ? Candidate[Key] : never : never; } & { [Key in Exclude<keyof Source, keyof Candidate>]: never; }',
-      typeOnly: true,
-    },
-    {
-      name: 'ValidCatalogs',
-      anchor: 'valid-catalogs',
-      signature:
-        'ValidCatalogs: { [Locale in keyof Catalogs]: ValidCatalog<Catalogs[SourceLocale], Catalogs[Locale]>; }',
-      typeOnly: true,
-    },
   ],
-  symbols31: [
+  symbols36: [
     {
       name: 'AppleLogo',
       anchor: 'apple-logo',
@@ -11399,27 +10192,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Apple logo icon component.',
     },
-    {
-      name: 'createLogo',
-      anchor: 'create-logo',
-      signature:
-        'createLogo: (displayName: string, logoNode: LogoNode) => { (props: LogoProps): JSXElement; displayName: string; }',
-      typeOnly: true,
-      summary:
-        'Builds a brand logo icon component from a set of SVG shape descriptors.\n\nValidates the given `logoNode` against an allow-list of safe SVG tags and\nattributes (rejecting any `url(...)` references in `fill`/`stroke`), then\nreturns a component that renders those shapes wrapped in `IconBase`,\nmatching the sizing/color conventions of other Askr icons.',
-      tags: {
-        param: [
-          "displayName - Name used for the icon (`iconName`) and set as the\nreturned component's `displayName`.",
-          "logoNode - Read-only list of `[tag, attributes]` pairs describing\nthe logo's SVG shapes.",
-        ],
-        returns: [
-          'A component accepting {@link LogoProps} that renders the logo.',
-        ],
-        throws: [
-          '{TypeError} If `logoNode` contains an unsupported tag/attribute,\na non-string attribute value, or a `url(...)` reference in `fill`/`stroke`.',
-        ],
-      },
-    },
     {
       name: 'FacebookLogo',
       anchor: 'facebook-logo',
@@ -11444,49 +10216,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Google logo icon component.',
     },
-    {
-      name: 'LogoAttribute',
-      anchor: 'logo-attribute',
-      signature:
-        'LogoAttribute: "clipRule" | "cx" | "cy" | "d" | "fill" | "fillRule" | "height" | "opacity" | "points" | "r" | "rx" | "ry" | "stroke" | "strokeWidth" | "transform" | "width" | "x" | "x1" | "x2" | "y" | "y1" | "y2"',
-      typeOnly: true,
-      summary:
-        'SVG attribute names permitted on the elements of a {@link LogoNode}.',
-    },
-    {
-      name: 'LogoAttributes',
-      anchor: 'logo-attributes',
-      signature:
-        'LogoAttributes: Readonly<Partial<Record<LogoAttribute, string>>>',
-      typeOnly: true,
-      summary:
-        'Map of allowed SVG attribute values, keyed by {@link LogoAttribute}.',
-    },
-    {
-      name: 'LogoNode',
-      anchor: 'logo-node',
-      signature:
-        'LogoNode: ReadonlyArray<readonly [tag: LogoTag, attrs: LogoAttributes]>',
-      typeOnly: true,
-      summary:
-        "Ordered list of `[tag, attributes]` pairs describing a logo's SVG shapes.",
-    },
-    {
-      name: 'LogoProps',
-      anchor: 'logo-props',
-      signature: 'LogoProps: IconProps',
-      typeOnly: true,
-      summary:
-        'Props accepted by logo components; identical to {@link IconProps}.',
-    },
-    {
-      name: 'LogoTag',
-      anchor: 'logo-tag',
-      signature:
-        'LogoTag: "circle" | "ellipse" | "line" | "path" | "polygon" | "polyline" | "rect"',
-      typeOnly: true,
-      summary: 'SVG element tags permitted inside a {@link LogoNode}.',
-    },
     {
       name: 'MicrosoftLogo',
       anchor: 'microsoft-logo',
@@ -11496,7 +10225,7 @@ export const apiSymbolSets: Readonly<
       summary: 'Microsoft logo icon component.',
     },
   ],
-  symbols32: [
+  symbols37: [
     {
       name: 'AArrowDownIcon',
       anchor: 'aarrow-down-icon',
@@ -15571,13 +14300,6 @@ export const apiSymbolSets: Readonly<
         'CpuIcon: { ({ ...rest }: import("@askrjs/askr/foundations/icon").IconProps): import("@askrjs/askr/jsx-runtime").JSXElement; displayName: string; }',
       typeOnly: true,
     },
-    {
-      name: 'createIcon',
-      anchor: 'create-icon',
-      signature:
-        'createIcon: (displayName: string, iconNode: IconNode) => { ({ ...rest }: IconProps): import("@askrjs/askr/jsx-runtime").JSXElement; displayName: string; }',
-      typeOnly: true,
-    },
     {
       name: 'CreativeCommonsIcon',
       anchor: 'creative-commons-icon',
@@ -18392,77 +17114,6 @@ export const apiSymbolSets: Readonly<
         'IceCreamIcon: { ({ ...rest }: import("@askrjs/askr/foundations/icon").IconProps): import("@askrjs/askr/jsx-runtime").JSXElement; displayName: string; }',
       typeOnly: true,
     },
-    {
-      name: 'IconNode',
-      anchor: 'icon-node',
-      signature:
-        'IconNode: ReadonlyArray<readonly [tag: string, attrs: Readonly<Record<string, string>>]>',
-      typeOnly: true,
-    },
-    {
-      name: 'IconProps',
-      anchor: 'icon-props',
-      signature:
-        "IconProps: Omit<\n  Props,\n  | 'children'\n  | 'class'\n  | 'color'\n  | 'height'\n  | 'ref'\n  | 'role'\n  | 'stroke'\n  | 'stroke-width'\n  | 'style'\n  | 'title'\n  | 'width'\n> &\n  IconOwnProps & {\n    children?: unknown;\n    ref?: Ref<SVGSVGElement>;\n  }",
-      typeOnly: true,
-      summary:
-        'Full prop set accepted by {@link IconBase} and generated icon components.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'class',
-          summary: '',
-          signature: 'class?: string | undefined;',
-        },
-        {
-          name: 'color',
-          summary: '',
-          signature: 'color?: string | undefined;',
-        },
-        {
-          name: 'iconName',
-          summary: '',
-          signature: 'iconName?: string | undefined;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<SVGSVGElement>;',
-        },
-        {
-          name: 'size',
-          summary: '',
-          signature: 'size?: string | number | undefined;',
-        },
-        {
-          name: 'strokeWidth',
-          summary: '',
-          signature: 'strokeWidth?: number | undefined;',
-        },
-        {
-          name: 'style',
-          summary: '',
-          signature: 'style?: string | IconStyleObject | undefined;',
-        },
-        {
-          name: 'title',
-          summary: '',
-          signature: 'title?: string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'IconSizeToken',
-      anchor: 'icon-size-token',
-      signature: "IconSizeToken: 'sm' | 'md' | 'lg' | 'xl'",
-      typeOnly: true,
-      summary:
-        'Named icon size presets, mapped to CSS variables at render time.',
-    },
     {
       name: 'IdCardIcon',
       anchor: 'id-card-icon',
@@ -25793,209 +24444,7 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
     },
   ],
-  symbols33: [
-    {
-      name: 'MonacoBeforeMount',
-      anchor: 'monaco-before-mount',
-      signature:
-        'MonacoBeforeMount: ((monaco: MonacoNamespace) => void | PromiseLike<void>) | undefined',
-      typeOnly: true,
-      summary:
-        'Hook run after Monaco loads but before the editor instance is created.',
-    },
-    {
-      name: 'MonacoEditor',
-      anchor: 'monaco-editor',
-      signature: 'MonacoEditor: (props: MonacoEditorProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        "Monaco wrapper that keeps the Askr surface thin and forwards real Monaco\nmodels, options, and lifecycle access instead of recreating Monaco's API.",
-    },
-    {
-      name: 'MonacoEditorInstance',
-      anchor: 'monaco-editor-instance',
-      signature: 'MonacoEditorInstance: Monaco.editor.IStandaloneCodeEditor',
-      typeOnly: true,
-      summary: 'A live Monaco standalone code editor instance.',
-    },
-    {
-      name: 'MonacoEditorOptions',
-      anchor: 'monaco-editor-options',
-      signature:
-        "MonacoEditorOptions: Omit<Monaco.editor.IStandaloneEditorConstructionOptions, 'model' | 'value' | 'language' | 'theme'>",
-      typeOnly: true,
-      summary:
-        'Monaco standalone editor construction options, excluding the fields that\n`MonacoEditorProps` manages directly (`model`, `value`, `language`, `theme`).',
-    },
-    {
-      name: 'MonacoEditorProps',
-      anchor: 'monaco-editor-props',
-      signature:
-        "MonacoEditorProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & {\n  ref?: Ref<HTMLDivElement>;\n  children?: never;\n  role?: JSX.IntrinsicElements['div']['role'];\n  options?: MonacoEditorOptions;\n  overrideServices?: Monaco.editor.IEditorOverrideServices;\n  model?: MonacoTextModel | null;\n  value?: string;\n  defaultValue?: string;\n  language?: string;\n  path?: string | MonacoUri;\n  /** Monaco theme name. Monaco applies themes process-wide, so simultaneous editors cannot use different themes. */\n  theme?: string;\n  monaco?: MonacoNamespace;\n  loadMonaco?: MonacoLoader;\n  beforeMount?: MonacoBeforeMount;\n  onMount?: MonacoMountHandler;\n  onUnmount?: MonacoMountHandler;\n  onError?: MonacoErrorHandler;\n  editorRef?: Ref<MonacoEditorInstance>;\n  monacoRef?: Ref<MonacoNamespace>;\n}",
-      typeOnly: true,
-      summary:
-        "Thin Askr host for Monaco's standalone editor.\n\nPass raw Monaco `options` and, when needed, provide an external `model`\nto keep full access to Monaco's language services, providers, and editor APIs.",
-      members: [
-        {
-          name: 'beforeMount',
-          summary: '',
-          signature: 'beforeMount?: MonacoBeforeMount;',
-        },
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: undefined;',
-        },
-        {
-          name: 'defaultValue',
-          summary: '',
-          signature: 'defaultValue?: string | undefined;',
-        },
-        {
-          name: 'editorRef',
-          summary: '',
-          signature: 'editorRef?: Ref<Monaco.editor.IStandaloneCodeEditor>;',
-        },
-        {
-          name: 'language',
-          summary: '',
-          signature: 'language?: string | undefined;',
-        },
-        {
-          name: 'loadMonaco',
-          summary: '',
-          signature: 'loadMonaco?: MonacoLoader;',
-        },
-        {
-          name: 'model',
-          summary: '',
-          signature: 'model?: Monaco.editor.ITextModel | null | undefined;',
-        },
-        {
-          name: 'monaco',
-          summary: '',
-          signature:
-            'monaco?: typeof import("monaco-editor/editor/editor.api") | undefined;',
-        },
-        {
-          name: 'monacoRef',
-          summary: '',
-          signature:
-            'monacoRef?: Ref<typeof import("monaco-editor/editor/editor.api")>;',
-        },
-        {
-          name: 'onError',
-          summary: '',
-          signature: 'onError?: MonacoErrorHandler;',
-        },
-        {
-          name: 'onMount',
-          summary: '',
-          signature: 'onMount?: MonacoMountHandler;',
-        },
-        {
-          name: 'onUnmount',
-          summary: '',
-          signature: 'onUnmount?: MonacoMountHandler;',
-        },
-        {
-          name: 'options',
-          summary: '',
-          signature: 'options?: MonacoEditorOptions | undefined;',
-        },
-        {
-          name: 'overrideServices',
-          summary: '',
-          signature:
-            'overrideServices?: Monaco.editor.IEditorOverrideServices | undefined;',
-        },
-        {
-          name: 'path',
-          summary: '',
-          signature: 'path?: string | Monaco.Uri | undefined;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
-        },
-        {
-          name: 'role',
-          summary: '',
-          signature: 'role?: ReactiveProp<IntrinsicTextValue>;',
-        },
-        {
-          name: 'theme',
-          summary:
-            'Monaco theme name. Monaco applies themes process-wide, so simultaneous editors cannot use different themes.',
-          signature: 'theme?: string | undefined;',
-        },
-        {
-          name: 'value',
-          summary: '',
-          signature: 'value?: string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'MonacoErrorHandler',
-      anchor: 'monaco-error-handler',
-      signature: 'MonacoErrorHandler: ((error: unknown) => void) | undefined',
-      typeOnly: true,
-      summary: 'Handler invoked when loading Monaco or applying an edit fails.',
-    },
-    {
-      name: 'MonacoLoader',
-      anchor: 'monaco-loader',
-      signature:
-        'MonacoLoader: (() => MonacoNamespace | PromiseLike<MonacoNamespace>) | undefined',
-      typeOnly: true,
-      summary:
-        "Loader invoked to resolve the Monaco namespace when `monaco` isn't provided directly.",
-    },
-    {
-      name: 'MonacoMountHandler',
-      anchor: 'monaco-mount-handler',
-      signature:
-        'MonacoMountHandler: ((editor: MonacoEditorInstance, monaco: MonacoNamespace) => void) | undefined',
-      typeOnly: true,
-      summary:
-        'Handler invoked with the editor and Monaco namespace on mount or unmount.',
-    },
-    {
-      name: 'MonacoNamespace',
-      anchor: 'monaco-namespace',
-      signature:
-        "MonacoNamespace: typeof import('monaco-editor/editor/editor.api')",
-      typeOnly: true,
-      summary:
-        'The `monaco-editor` module namespace, either provided directly or resolved by `loadMonaco`.',
-    },
-    {
-      name: 'MonacoTextModel',
-      anchor: 'monaco-text-model',
-      signature: 'MonacoTextModel: Monaco.editor.ITextModel',
-      typeOnly: true,
-      summary: 'A Monaco text model backing an editor instance.',
-    },
-    {
-      name: 'MonacoUri',
-      anchor: 'monaco-uri',
-      signature: 'MonacoUri: Monaco.Uri',
-      typeOnly: true,
-      summary: "A Monaco URI, used to identify a text model's path.",
-    },
-  ],
-  symbols34: [
-    {
-      name: 'MonacoBeforeMount',
-      anchor: 'monaco-before-mount',
-      signature:
-        'MonacoBeforeMount: ((monaco: MonacoNamespace) => void | PromiseLike<void>) | undefined',
-      typeOnly: true,
-      summary:
-        'Hook run after Monaco loads but before the editor instance is created.',
-    },
+  symbols38: [
     {
       name: 'MonacoEditor',
       anchor: 'monaco-editor',
@@ -26004,13 +24453,6 @@ export const apiSymbolSets: Readonly<
       summary:
         "Monaco wrapper that keeps the Askr surface thin and forwards real Monaco\nmodels, options, and lifecycle access instead of recreating Monaco's API.",
     },
-    {
-      name: 'MonacoEditorInstance',
-      anchor: 'monaco-editor-instance',
-      signature: 'MonacoEditorInstance: Monaco.editor.IStandaloneCodeEditor',
-      typeOnly: true,
-      summary: 'A live Monaco standalone code editor instance.',
-    },
     {
       name: 'MonacoEditorOptions',
       anchor: 'monaco-editor-options',
@@ -26130,107 +24572,8 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'MonacoErrorHandler',
-      anchor: 'monaco-error-handler',
-      signature: 'MonacoErrorHandler: ((error: unknown) => void) | undefined',
-      typeOnly: true,
-      summary: 'Handler invoked when loading Monaco or applying an edit fails.',
-    },
-    {
-      name: 'MonacoLoader',
-      anchor: 'monaco-loader',
-      signature:
-        'MonacoLoader: (() => MonacoNamespace | PromiseLike<MonacoNamespace>) | undefined',
-      typeOnly: true,
-      summary:
-        "Loader invoked to resolve the Monaco namespace when `monaco` isn't provided directly.",
-    },
-    {
-      name: 'MonacoMountHandler',
-      anchor: 'monaco-mount-handler',
-      signature:
-        'MonacoMountHandler: ((editor: MonacoEditorInstance, monaco: MonacoNamespace) => void) | undefined',
-      typeOnly: true,
-      summary:
-        'Handler invoked with the editor and Monaco namespace on mount or unmount.',
-    },
-    {
-      name: 'MonacoNamespace',
-      anchor: 'monaco-namespace',
-      signature:
-        "MonacoNamespace: typeof import('monaco-editor/editor/editor.api')",
-      typeOnly: true,
-      summary:
-        'The `monaco-editor` module namespace, either provided directly or resolved by `loadMonaco`.',
-    },
-    {
-      name: 'MonacoTextModel',
-      anchor: 'monaco-text-model',
-      signature: 'MonacoTextModel: Monaco.editor.ITextModel',
-      typeOnly: true,
-      summary: 'A Monaco text model backing an editor instance.',
-    },
-    {
-      name: 'MonacoUri',
-      anchor: 'monaco-uri',
-      signature: 'MonacoUri: Monaco.Uri',
-      typeOnly: true,
-      summary: "A Monaco URI, used to identify a text model's path.",
-    },
-  ],
-  symbols35: [
-    {
-      name: 'createMonacoEditorTestDriver',
-      anchor: 'create-monaco-editor-test-driver',
-      signature:
-        'createMonacoEditorTestDriver: (editor: MonacoEditorInstance) => MonacoEditorTestDriver',
-      typeOnly: false,
-      summary:
-        "Create deterministic test controls for model edits and editor commands.\nThese controls bypass host keyboard mapping but still use Monaco's model and\nundo stack.",
-    },
-    {
-      name: 'MonacoEditorTestDriver',
-      anchor: 'monaco-editor-test-driver',
-      signature: 'MonacoEditorTestDriver: any',
-      typeOnly: true,
-      members: [
-        {
-          name: 'selectAll',
-          summary:
-            'Select the complete model without relying on a platform modifier key.',
-          signature: 'selectAll(): void;',
-        },
-        {
-          name: 'deleteSelection',
-          summary: "Delete the current selection through Monaco's edit stack.",
-          signature: 'deleteSelection(): void;',
-        },
-        {
-          name: 'replaceAll',
-          summary: "Replace the complete model through Monaco's edit stack.",
-          signature: 'replaceAll(value: string): void;',
-        },
-        {
-          name: 'undo',
-          summary: "Invoke Monaco's undo command.",
-          signature: 'undo(): void;',
-        },
-        {
-          name: 'redo',
-          summary: "Invoke Monaco's redo command.",
-          signature: 'redo(): void;',
-        },
-        {
-          name: 'trigger',
-          summary:
-            'Invoke any Monaco editor command, including completion commands.',
-          signature: 'trigger(actionId: string, payload?: unknown): void;',
-        },
-      ],
-    },
   ],
-  symbols36: [
+  symbols39: [
     {
       name: 'CLIENT_ADDRESS_HEADER',
       anchor: 'client-address-header',
@@ -26239,14 +24582,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Reserved request header containing the TCP peer address authenticated by the Node adapter.\nAny value supplied by the HTTP client is overwritten before application dispatch.',
     },
-    {
-      name: 'ConnectNext',
-      anchor: 'connect-next',
-      signature: 'ConnectNext: (error?: unknown) => void',
-      typeOnly: true,
-      summary:
-        'Connect/Express-style `next` callback used to hand off unhandled requests.',
-    },
     {
       name: 'createNodeHandler',
       anchor: 'create-node-handler',
@@ -26383,56 +24718,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'NodeWebSocketOptions',
-      anchor: 'node-web-socket-options',
-      signature: 'NodeWebSocketOptions: any',
-      typeOnly: true,
-      summary:
-        'Options controlling how WebSocket upgrades are handled on a Node server.',
-      members: [
-        {
-          name: 'closeTimeout',
-          summary:
-            'Milliseconds to wait for a peer to acknowledge a close handshake before the socket is force-closed.',
-          signature: 'readonly closeTimeout?: number;',
-        },
-        {
-          name: 'maxPayload',
-          summary:
-            'Maximum allowed size, in bytes, of a single WebSocket message.',
-          signature: 'readonly maxPayload?: number;',
-        },
-        {
-          name: 'maxRejectionBodyBytes',
-          summary:
-            'Maximum number of body bytes read from a rejected upgrade request before the connection is destroyed.',
-          signature: 'readonly maxRejectionBodyBytes?: number;',
-        },
-        {
-          name: 'perMessageDeflate',
-          summary:
-            'Enables or configures the permessage-deflate WebSocket extension.',
-          signature:
-            'readonly perMessageDeflate?: boolean | PerMessageDeflateOptions;',
-        },
-        {
-          name: 'allowedOrigins',
-          summary:
-            'Origins allowed to open a WebSocket connection; when omitted, all origins are allowed.',
-          signature: 'readonly allowedOrigins?: readonly string[];',
-        },
-      ],
-    },
-    {
-      name: 'normalizeClientAddress',
-      anchor: 'normalize-client-address',
-      signature:
-        'normalizeClientAddress: (address: string | undefined) => string',
-      typeOnly: false,
-      summary:
-        'Normalizes the socket peer address used for the adapter-authenticated request header.',
-    },
     {
       name: 'serve',
       anchor: 'serve',
@@ -26503,7 +24788,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols37: [
+  symbols40: [
     {
       name: 'connectMcpStdio',
       anchor: 'connect-mcp-stdio',
@@ -26607,185 +24892,14 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols38: [
+  symbols41: [
     {
       name: 'createTelemetry',
       anchor: 'create-telemetry',
       signature: 'createTelemetry: (options?: TelemetryOptions) => Telemetry',
-      typeOnly: false,
-      summary:
-        "Creates a function-first bridge to the application's installed OpenTelemetry\nprovider. This package never installs an SDK, processor, backend, or exporter.",
-    },
-    {
-      name: 'Telemetry',
-      anchor: 'telemetry',
-      signature: 'Telemetry: any',
-      typeOnly: true,
-      summary:
-        "Function-first bridge to the application's installed OpenTelemetry provider.\nEvery method wraps a unit of work in a span (or emits a log line) and never\nthrows on account of tracing/logging failures — application behavior is\nalways isolated from observability failures.",
-      members: [
-        {
-          name: 'span',
-          summary:
-            'Wraps `work` in a span for the given `operation`, recording `fields` as attributes.',
-          signature:
-            'span<T>(operation: TelemetryOperation, fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'request',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.request"`.',
-          signature: 'request<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'routeMatch',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.route.match"`.',
-          signature:
-            'routeMatch<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'loader',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.loader"`.',
-          signature: 'loader<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'action',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.action"`.',
-          signature: 'action<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'apiOperation',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.api.operation"`.',
-          signature:
-            'apiOperation<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'queryPrefetch',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.query.prefetch"`.',
-          signature:
-            'queryPrefetch<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'ssrRender',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.ssr.render"`.',
-          signature: 'ssrRender<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'viteDocument',
-          summary:
-            'Convenience wrapper for {@link Telemetry.span} with operation `"askr.vite.document"`.',
-          signature:
-            'viteDocument<T>(fields: TelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'log',
-          summary: 'Emits a single sanitized log line without opening a span.',
-          signature:
-            'log(level: TelemetryLevel, event: TelemetryOperation, fields?: TelemetryFields): void;',
-        },
-        {
-          name: 'extract',
-          summary:
-            'Extracts a trace {@link Context} from a carrier (e.g. incoming request headers) using `getter`.',
-          signature:
-            'extract<Carrier>(carrier: Carrier, getter: TextMapGetter<Carrier>): Context;',
-        },
-        {
-          name: 'inject',
-          summary:
-            'Injects the active (or given) {@link Context} into `carrier` using `setter`, returning the carrier.',
-          signature:
-            'inject<Carrier>(carrier: Carrier, setter: TextMapSetter<Carrier>, value?: Context): Carrier;',
-        },
-        {
-          name: 'withContext',
-          summary:
-            'Runs `work` with `value` as the active OpenTelemetry context.',
-          signature: 'withContext<T>(value: Context, work: () => T): T;',
-        },
-        {
-          name: 'traceId',
-          summary:
-            'Returns the trace ID of the currently active span, if any and if valid.',
-          signature: 'traceId(): string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'TelemetryFields',
-      anchor: 'telemetry-fields',
-      signature: 'TelemetryFields: any',
-      typeOnly: true,
-      summary:
-        'Structured fields attached to a span or log line. Only these known keys are\never sanitized and forwarded; unknown keys on a passed-in object are dropped.',
-      members: [
-        {
-          name: 'requestId',
-          summary: '',
-          signature: 'requestId?: string;',
-        },
-        {
-          name: 'traceId',
-          summary: '',
-          signature: 'traceId?: string;',
-        },
-        {
-          name: 'route',
-          summary: '',
-          signature: 'route?: string;',
-        },
-        {
-          name: 'action',
-          summary: '',
-          signature: 'action?: string;',
-        },
-        {
-          name: 'operation',
-          summary: '',
-          signature: 'operation?: string;',
-        },
-        {
-          name: 'status',
-          summary: '',
-          signature: 'status?: number;',
-        },
-        {
-          name: 'durationMs',
-          summary: '',
-          signature: 'durationMs?: number;',
-        },
-      ],
-    },
-    {
-      name: 'TelemetryLevel',
-      anchor: 'telemetry-level',
-      signature: 'TelemetryLevel: "debug" | "info" | "warn" | "error"',
-      typeOnly: true,
-      summary:
-        'Severity of a telemetry log line, mirrored from common structured-logging conventions.',
-    },
-    {
-      name: 'TelemetryLogger',
-      anchor: 'telemetry-logger',
-      signature:
-        'TelemetryLogger: (level: TelemetryLevel, event: TelemetryOperation, fields: Readonly<TelemetryFields>) => void',
-      typeOnly: true,
-      summary: 'Callback invoked with each sanitized telemetry log line.',
-    },
-    {
-      name: 'TelemetryOperation',
-      anchor: 'telemetry-operation',
-      signature:
-        'TelemetryOperation: "askr.request" | "askr.route.match" | "askr.loader" | "askr.action" | "askr.api.operation" | "askr.query.prefetch" | "askr.ssr.render" | "askr.vite.document"',
       typeOnly: true,
       summary:
-        'The set of Askr lifecycle stages that {@link Telemetry} can wrap with a span.',
+        "Creates a function-first bridge to the application's installed OpenTelemetry\nprovider. This package never installs an SDK, processor, backend, or exporter.",
     },
     {
       name: 'TelemetryOptions',
@@ -26839,34 +24953,13 @@ export const apiSymbolSets: Readonly<
         {
           name: 'onDroppedField',
           summary:
-            'Optional diagnostic invoked for each non-allowlisted field; failures are isolated from application work.',
+            'Optional diagnostic invoked for each non-allowlisted field; thrown and asynchronously rejected failures are isolated without awaiting diagnostics.',
           signature: 'onDroppedField?: (name: PropertyKey) => void;',
         },
       ],
     },
   ],
-  symbols39: [
-    {
-      name: 'array',
-      anchor: 'array',
-      signature:
-        'array: <T>(items: Schema<T>, options?: ArrayOptions) => Schema<T[]>',
-      typeOnly: false,
-    },
-    {
-      name: 'ArrayOptions',
-      anchor: 'array-options',
-      signature:
-        'ArrayOptions: CommonOptions & {\n  minItems?: number;\n  maxItems?: number;\n  uniqueItems?: boolean;\n}',
-      typeOnly: true,
-    },
-    {
-      name: 'CommonOptions',
-      anchor: 'common-options',
-      signature:
-        'CommonOptions: {\n  description?: string;\n  title?: string;\n  examples?: readonly unknown[];\n  default?: unknown;\n  deprecated?: boolean;\n  readOnly?: boolean;\n  writeOnly?: boolean;\n}',
-      typeOnly: true,
-    },
+  symbols42: [
     {
       name: 'InferSchema',
       anchor: 'infer-schema',
@@ -26909,34 +25002,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'A frozen, deterministic JSON Schema (draft 2020-12) object produced by a {@link Schema}.',
     },
-    {
-      name: 'NullableSchema',
-      anchor: 'nullable-schema',
-      signature:
-        'NullableSchema: T extends OptionalSchema<infer Value> ? OptionalSchema<Value | null> : Schema<InferSchema<T> | null>',
-      typeOnly: true,
-    },
-    {
-      name: 'NumberOptions',
-      anchor: 'number-options',
-      signature:
-        'NumberOptions: CommonOptions & {\n  minimum?: number;\n  maximum?: number;\n  exclusiveMinimum?: number;\n  exclusiveMaximum?: number;\n  multipleOf?: number;\n}',
-      typeOnly: true,
-    },
-    {
-      name: 'object',
-      anchor: 'object',
-      signature:
-        'object: <T extends Record<string, Schema>>(properties: T, options?: ObjectOptions) => ObjectSchema<ObjectValue<T>>',
-      typeOnly: false,
-    },
-    {
-      name: 'ObjectOptions',
-      anchor: 'object-options',
-      signature:
-        'ObjectOptions: CommonOptions & {\n  additionalProperties?: boolean | Schema;\n  minProperties?: number;\n  maxProperties?: number;\n}',
-      typeOnly: true,
-    },
     {
       name: 'ObjectSchema',
       anchor: 'object-schema',
@@ -26952,20 +25017,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ObjectValue',
-      anchor: 'object-value',
-      signature:
-        'ObjectValue: { [K in Exclude<keyof T, OptionalKeys<T>>]: InferSchema<T[K]>; } & { [K in OptionalKeys<T>]?: Exclude<InferSchema<T[K]>, undefined>; }',
-      typeOnly: true,
-    },
-    {
-      name: 'OptionalKeys',
-      anchor: 'optional-keys',
-      signature:
-        'OptionalKeys: { [K in keyof T]-?: T[K] extends OptionalSchema<unknown> ? K : never; }[keyof T]',
-      typeOnly: true,
-    },
     {
       name: 'OptionalSchema',
       anchor: 'optional-schema',
@@ -26981,21 +25032,12 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'SafeParseResult',
-      anchor: 'safe-parse-result',
-      signature:
-        'SafeParseResult: {\n  readonly success: true;\n  readonly data: T;\n} | {\n  readonly success: false;\n  readonly issues: readonly Issue[];\n}',
-      typeOnly: true,
-      summary:
-        'The outcome of parsing a value: either the validated data, or the list of issues found.',
-    },
     {
       name: 'schema',
       anchor: 'schema-2',
       signature:
         'schema: Readonly<{ string: typeof string; uuid: (options?: StringOptions) => Schema<string>; email: (options?: StringOptions) => Schema<string>; uri: (options?: StringOptions) => Schema<string>; date: (options?: StringOptions) => Schema<string>; dateTime: (options?: StringOptions) => Schema<string>; byte: (options?: StringOptions) => Schema<string>; binary: (options?: StringOptions) => Schema<string>; number: (options?: NumberOptions) => Schema<number>; integer: (options?: NumberOptions) => Schema<number>; boolean: (options?: CommonOptions) => Schema<boolean>; null: (options?: CommonOptions) => Schema<null>; object: typeof object; array: typeof array; record: <T>(values: Schema<T>, options?: CommonOptions) => ObjectSchema<Record<string, T>>; enum: <const T extends readonly (string | number | boolean)[]>(values: T, options?: CommonOptions) => Schema<T[number]>; literal: <const T extends string | number | boolean | null>(value: T, options?: CommonOptions) => Schema<T>; optional: <T>(value: Schema<T>) => OptionalSchema<T>; nullable: <T extends Schema>(value: T) => NullableSchema<T>; oneOf: <const T extends readonly Schema[]>(...values: T) => Schema<InferSchema<T[number]>>; anyOf: <const T extends readonly Schema[]>(...values: T) => Schema<InferSchema<T[number]>>; allOf: <const T extends readonly Schema[]>(...values: T) => Schema<UnionToIntersection<InferSchema<T[number]>>>; raw: <T>(jsonSchema: JsonSchema, safeParse: (value: unknown) => SafeParseResult<T>) => Schema<T>; }>',
-      typeOnly: false,
+      typeOnly: true,
       summary:
         'The public schema builder namespace: create executable schemas whose {@link Schema.safeParse}\nvalidates a value and whose `jsonSchema` field is a deterministic JSON Schema (draft 2020-12)\nprojection suitable for OpenAPI documents.',
       tags: {
@@ -27031,107 +25073,125 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
+  ],
+  symbols43: [
     {
-      name: 'string',
-      anchor: 'string',
-      signature: 'string: (options?: StringOptions) => Schema<string>',
-      typeOnly: false,
-    },
-    {
-      name: 'StringFormat',
-      anchor: 'string-format',
+      name: 'createServerApp',
+      anchor: 'create-server-app',
       signature:
-        'StringFormat: "uuid" | "email" | "uri" | "date" | "date-time" | "byte" | "binary"',
+        'createServerApp: { (router: Router): ServerApp; (options?: ServerAppOptions): ServerApp; }',
       typeOnly: true,
       summary:
-        'Supported `format` values for {@link schema.string} and its format-specific shorthands.',
-    },
-    {
-      name: 'StringOptions',
-      anchor: 'string-options',
-      signature:
-        'StringOptions: CommonOptions & {\n  minLength?: number;\n  maxLength?: number;\n  pattern?: string;\n  format?: StringFormat;\n}',
-      typeOnly: true,
+        "Creates a transport-neutral server application that dispatches Web `Request`s to a\nrouter's routes and middleware, returning Web `Response`s.\n\nAccepts either a bare {@link Router} or a full {@link ServerAppOptions} object (which\nmay itself reference a router). Builds a path matcher from the combined routes, validates\nrequest-size limits, and wraps dispatch with auth resolution, telemetry, and error handling\n(payload-too-large, malformed path parameters, binding errors, and a fallback `onError`).\nCreates a transport-neutral server application. See the {@link Router} overload for details.",
+      tags: {
+        param: [
+          'router - A router whose routes and middleware should back the application.',
+          'options - Configuration including router, middleware, auth, telemetry,\nerror handling, and request-size limits.',
+        ],
+        returns: [
+          'A {@link ServerApp} exposing a `fetch(request, dispatchOptions)` method.',
+          'A {@link ServerApp} exposing a `fetch(request, dispatchOptions)` method.',
+        ],
+        example: [
+          'const app = createServerApp(router);\nexport default { fetch: app.fetch };',
+        ],
+      },
     },
     {
-      name: 'UnionToIntersection',
-      anchor: 'union-to-intersection',
+      name: 'Handler',
+      anchor: 'handler',
       signature:
-        'UnionToIntersection: (T extends unknown ? (value: T) => void : never) extends ((value: infer Value) => void) ? Value : never',
+        'Handler: {\n  bivarianceHack(context: ServerContext<RouteParams>): Response | Promise<Response>;\n}["bivarianceHack"]',
       typeOnly: true,
+      summary:
+        'A route handler function that produces a response for a given {@link ServerContext}.',
     },
-  ],
-  symbols40: [
     {
-      name: 'accepted',
-      anchor: 'accepted',
+      name: 'Middleware',
+      anchor: 'middleware',
       signature:
-        'accepted: (value?: JsonValue, init?: ResponseInit) => Response',
+        'Middleware: {\n  bivarianceHack(context: ServerContext<RouteParams>, next: Next): Response | Promise<Response>;\n}["bivarianceHack"]',
       typeOnly: true,
       summary:
-        'Builds a `202 Accepted` response; JSON-serializes `value` if given, otherwise an empty body.',
+        'A middleware function that may short-circuit or delegate to `next` to produce a response.',
     },
     {
-      name: 'accepts',
-      anchor: 'accepts',
-      signature: 'accepts: (value: string, expected: string) => boolean',
+      name: 'Next',
+      anchor: 'next',
+      signature: 'Next: () => Response | Promise<Response>',
       typeOnly: true,
+      summary:
+        'Continuation function passed to a {@link Middleware}, invoking the next handler in the chain.',
     },
     {
-      name: 'AccessDeniedHandler',
-      anchor: 'access-denied-handler',
-      signature:
-        'AccessDeniedHandler: (decision: Extract<AuthDecision, {\n  allowed: false;\n}>, context: ServerContext) => Response | Promise<Response>',
+      name: 'ServerApp',
+      anchor: 'server-app',
+      signature: 'ServerApp: any',
       typeOnly: true,
       summary:
-        'Handler invoked to produce a response when an auth decision denies access.',
+        'A configured server application, as returned by {@link createServerApp }.',
+      members: [
+        {
+          name: 'fetch',
+          summary: '',
+          signature:
+            'fetch(request: Request, dispatchOptions?: ServerDispatchOptions): Promise<Response>;',
+        },
+      ],
     },
     {
-      name: 'ApiRoute',
-      anchor: 'api-route',
-      signature: 'ApiRoute: any',
+      name: 'ServerAppOptions',
+      anchor: 'server-app-options',
+      signature: 'ServerAppOptions: any',
       typeOnly: true,
       summary:
-        'A single registered route: a path/method pattern paired with a handler (or WebSocket upgrade handler).',
+        'Options accepted by {@link createServerApp } to configure a server application.',
       members: [
         {
-          name: 'path',
+          name: 'router',
           summary: '',
-          signature: 'path: string;',
+          signature: 'router?: Router;',
         },
         {
-          name: 'method',
+          name: 'middleware',
           summary: '',
-          signature: 'method?: string | readonly string[];',
+          signature: 'middleware?: readonly Middleware[];',
         },
         {
-          name: 'handler',
+          name: 'onError',
           summary: '',
-          signature: 'handler: Handler<RouteParams>;',
+          signature:
+            'onError?: (error: unknown, context: ServerContext) => Response | Promise<Response>;',
         },
         {
-          name: 'upgrade',
+          name: 'onAccessDenied',
           summary: '',
-          signature: 'upgrade?: WebSocketHandler<RouteParams>;',
+          signature: 'onAccessDenied?: AccessDeniedHandler;',
         },
-      ],
-    },
-    {
-      name: 'ApiRouteOptions',
-      anchor: 'api-route-options',
-      signature: 'ApiRouteOptions: any',
-      typeOnly: true,
-      summary: 'Per-route configuration shared by {@link ApiRoute}.',
-      members: [
         {
           name: 'auth',
           summary: '',
-          signature: 'auth?: AuthRequirement;',
+          signature: 'auth?: AuthResolver;',
         },
         {
-          name: 'middleware',
+          name: 'fallback',
           summary: '',
-          signature: 'middleware?: readonly Middleware<RouteParams>[];',
+          signature: 'fallback?: Handler;',
+        },
+        {
+          name: 'websocket',
+          summary: '',
+          signature: 'websocket?: WebSocketAdapter;',
+        },
+        {
+          name: 'probes',
+          summary: '',
+          signature: 'probes?: ProbeOptions;',
+        },
+        {
+          name: 'telemetry',
+          summary: '',
+          signature: 'telemetry?: ServerTelemetry;',
         },
         {
           name: 'maxRequestBytes',
@@ -27141,906 +25201,399 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'AuthCredentials',
-      anchor: 'auth-credentials',
-      signature: 'AuthCredentials: any',
+      name: 'ServerContext',
+      anchor: 'server-context',
+      signature: 'ServerContext: any',
       typeOnly: true,
       summary:
-        'Email/password credentials submitted to the register or authenticate endpoints.',
+        'The per-request context passed to handlers and middleware, bundling the incoming request,\nparsed URL/params/query, auth state, and a family of response-building helper methods\n(`json`, `ok`, `notFound`, `problem`, `setCookie`, `upgrade`, etc.).',
       members: [
         {
-          name: 'email',
+          name: 'request',
           summary: '',
-          signature: 'email: string;',
+          signature: 'request: Request;',
         },
         {
-          name: 'password',
+          name: 'url',
           summary: '',
-          signature: 'password: string;',
+          signature: 'url: URL;',
         },
-      ],
-    },
-    {
-      name: 'AuthRouteError',
-      anchor: 'auth-route-error',
-      signature: 'AuthRouteError: typeof AuthRouteError',
-      typeOnly: true,
-      summary:
-        'Error thrown from `register`/`authenticate`/etc. callbacks to short-circuit an auth route with a specific status.',
-      members: [
         {
-          name: 'status',
+          name: 'params',
           summary: '',
-          signature: 'readonly status: 401 | 409 | 429;',
+          signature: 'params: RouteParams;',
         },
-      ],
-    },
-    {
-      name: 'AuthRouteOptions',
-      anchor: 'auth-route-options',
-      signature: 'AuthRouteOptions: any',
-      typeOnly: true,
-      summary: 'Configuration for {@link registerAuthRoutes}.',
-      members: [
         {
-          name: 'issuer',
+          name: 'headers',
           summary: '',
-          signature: 'issuer: TokenIssuer<P>;',
+          signature: 'headers: Headers;',
         },
         {
-          name: 'cookie',
+          name: 'query',
           summary: '',
-          signature: 'cookie: CookieOptions & {\n    name: string;\n  };',
+          signature: 'query: URLSearchParams;',
         },
         {
-          name: 'principalSchema',
+          name: 'state',
           summary: '',
-          signature: 'principalSchema: Schema;',
+          signature: 'state: RequestState;',
         },
         {
-          name: 'register',
+          name: 'auth',
           summary: '',
-          signature:
-            'register(context: ServerContext, credentials: AuthCredentials): P | Promise<P>;',
+          signature: 'auth: ServerAuthContext;',
         },
         {
-          name: 'authenticate',
+          name: 'signal',
           summary: '',
-          signature:
-            'authenticate(context: ServerContext, credentials: AuthCredentials): P | null | Promise<P | null>;',
+          signature: 'signal: AbortSignal;',
         },
         {
-          name: 'allowAttempt',
+          name: 'sse',
           summary: '',
           signature:
-            'allowAttempt(context: ServerContext, operation: "register" | "authenticate", normalizedEmail: string): boolean | Promise<boolean>;',
+            'sse(options?: Omit<EventStreamOptions, "signal">): EventStream;',
         },
         {
-          name: 'revoke',
+          name: 'telemetry',
           summary: '',
-          signature: 'revoke?(context: ServerContext): void | Promise<void>;',
+          signature: 'telemetry?: ServerTelemetry;',
         },
         {
-          name: 'redirect',
+          name: 'bind',
           summary: '',
           signature:
-            'redirect?: (context: ServerContext, operation: "register" | "authenticate", principal: P) => string | undefined;',
+            'bind<T extends object = Record<string, unknown>>(): Promise<T>;',
         },
-      ],
-    },
-    {
-      name: 'bad',
-      anchor: 'bad',
-      signature: 'bad: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Alias for {@link badRequest}.',
-    },
-    {
-      name: 'badRequest',
-      anchor: 'bad-request',
-      signature:
-        'badRequest: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `400 Bad Request` Problem Details response.',
-    },
-    {
-      name: 'bind',
-      anchor: 'bind',
-      signature:
-        'bind: <T extends object = Record<string, unknown>>(context: BindContext) => Promise<T>',
-      typeOnly: true,
-      summary:
-        "Merges a request's body, query string, and path parameters into a single object, in that\nprecedence order (path parameters win, then query string, then body). Supports JSON,\nURL-encoded, and multipart/form-data bodies; unrecognized content types yield an empty body.",
-      tags: {
-        param: [
-          'context - The request, URL, query, and path parameters to bind from.',
-        ],
-        returns: ['The merged values, cast to `T`.'],
-        throws: [
-          '{BindingError} If the body cannot be read or parsed for its declared content type.',
-        ],
-      },
-    },
-    {
-      name: 'BindContext',
-      anchor: 'bind-context',
-      signature: 'BindContext: any',
-      typeOnly: true,
-      summary:
-        'Minimal request context required by {@link bind} to gather body, query, and path values.',
-      members: [
         {
-          name: 'request',
+          name: 'json',
           summary: '',
-          signature: 'request: Request;',
+          signature: 'json(value: JsonValue, init?: ResponseInit): Response;',
         },
         {
-          name: 'params',
+          name: 'text',
           summary: '',
-          signature: 'params: Params;',
+          signature: 'text(value: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'url',
+          name: 'redirect',
           summary: '',
-          signature: 'url: URL;',
+          signature:
+            'redirect(location: string, status?: 301 | 302 | 303 | 307 | 308): Response;',
         },
         {
-          name: 'query',
+          name: 'ok',
           summary: '',
-          signature: 'query: URLSearchParams;',
+          signature: 'ok(value?: JsonValue, init?: ResponseInit): Response;',
         },
-      ],
-    },
-    {
-      name: 'BindingError',
-      anchor: 'binding-error',
-      signature: 'BindingError: typeof BindingError',
-      typeOnly: true,
-      summary:
-        'Error thrown when request data cannot be bound, e.g. an unreadable or malformed body.',
-      members: [
         {
-          name: 'field',
+          name: 'created',
           summary: '',
-          signature: 'readonly field?: string | undefined;',
+          signature:
+            'created(value?: JsonValue, init?: ResponseInit): Response;',
         },
         {
-          name: 'status',
+          name: 'accepted',
           summary: '',
-          signature: 'readonly status = 400;',
+          signature:
+            'accepted(value?: JsonValue, init?: ResponseInit): Response;',
         },
-      ],
-    },
-    {
-      name: 'challenge',
-      anchor: 'challenge',
-      signature: 'challenge: (options?: ChallengeOptions) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `401`/`407` Problem Details response with a `WWW-Authenticate` (or\n`Proxy-Authenticate` for `407`) challenge header.',
-    },
-    {
-      name: 'ChallengeOptions',
-      anchor: 'challenge-options',
-      signature: 'ChallengeOptions: any',
-      typeOnly: true,
-      summary:
-        'Options for building a `WWW-Authenticate` challenge response via {@link ServerContext.challenge}.',
-      members: [
         {
-          name: 'scheme',
+          name: 'noContent',
           summary: '',
-          signature: 'scheme?: string;',
+          signature: 'noContent(init?: ResponseInit): Response;',
         },
         {
-          name: 'realm',
+          name: 'badRequest',
           summary: '',
-          signature: 'realm?: string;',
+          signature:
+            'badRequest(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'status',
+          name: 'unauthorized',
           summary: '',
-          signature: 'status?: 401 | 407;',
+          signature:
+            'unauthorized(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'detail',
+          name: 'forbidden',
           summary: '',
-          signature: 'detail?: string;',
+          signature:
+            'forbidden(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'init',
+          name: 'notFound',
           summary: '',
-          signature: 'init?: ResponseInit;',
+          signature:
+            'notFound(message?: string, init?: ResponseInit): Response;',
         },
-      ],
-    },
-    {
-      name: 'clearCookie',
-      anchor: 'clear-cookie',
-      signature:
-        'clearCookie: (response: Response, name: string, options?: CookieOptions) => Response',
-      typeOnly: true,
-      summary:
-        'Returns a clone of `response` with a `Set-Cookie` header that expires and clears `name`.',
-      tags: {
-        throws: [
-          '{TypeError} If the cookie domain or path contains invalid attribute characters.',
-        ],
-      },
-    },
-    {
-      name: 'conflict',
-      anchor: 'conflict',
-      signature: 'conflict: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `409 Conflict` Problem Details response.',
-    },
-    {
-      name: 'contentType',
-      anchor: 'content-type',
-      signature: 'contentType: (value: string | null) => string | undefined',
-      typeOnly: true,
-    },
-    {
-      name: 'CookieOptions',
-      anchor: 'cookie-options',
-      signature: 'CookieOptions: any',
-      typeOnly: true,
-      summary:
-        'Options controlling how a cookie is set via {@link ServerContext.setCookie}.\nDo not derive `domain` or `path` from untrusted input; invalid attribute characters are rejected.',
-      members: [
         {
-          name: 'domain',
-          summary:
-            'ASCII cookie domain without whitespace or attribute delimiters.',
-          signature: 'domain?: string;',
+          name: 'conflict',
+          summary: '',
+          signature:
+            'conflict(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'expires',
+          name: 'unprocessableEntity',
           summary: '',
-          signature: 'expires?: Date;',
+          signature:
+            'unprocessableEntity(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'httpOnly',
+          name: 'tooManyRequests',
           summary: '',
-          signature: 'httpOnly?: boolean;',
+          signature:
+            'tooManyRequests(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'maxAge',
+          name: 'methodNotAllowed',
           summary: '',
-          signature: 'maxAge?: number;',
+          signature:
+            'methodNotAllowed(allow?: string | readonly string[], init?: ResponseInit): Response;',
         },
         {
-          name: 'path',
-          summary:
-            'Cookie path without control characters or the `;` attribute delimiter.',
-          signature: 'path?: string;',
+          name: 'error',
+          summary: '',
+          signature:
+            'error(status?: number, message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'sameSite',
+          name: 'internalServerError',
           summary: '',
-          signature: 'sameSite?: CookieSameSite;',
+          signature:
+            'internalServerError(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'secure',
+          name: 'notImplemented',
           summary: '',
-          signature: 'secure?: boolean;',
+          signature:
+            'notImplemented(message?: string, init?: ResponseInit): Response;',
         },
-      ],
-    },
-    {
-      name: 'CookieSameSite',
-      anchor: 'cookie-same-site',
-      signature: 'CookieSameSite: "strict" | "lax" | "none"',
-      typeOnly: true,
-      summary: 'Valid values for the `SameSite` cookie attribute.',
-    },
-    {
-      name: 'createCspNonce',
-      anchor: 'create-csp-nonce',
-      signature: 'createCspNonce: () => CspNonceProvider',
-      typeOnly: true,
-      summary:
-        'Creates a {@link CspNonceProvider} that lazily generates a cryptographically random,\nURL-safe base64 nonce per {@link ServerContext} and caches it for the lifetime of that\ncontext, so repeated calls within the same request return the same value.',
-      tags: {
-        returns: ['A provider function `(context) => nonce`.'],
-      },
-    },
-    {
-      name: 'created',
-      anchor: 'created',
-      signature:
-        'created: (value?: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `201 Created` response; JSON-serializes `value` if given, otherwise an empty body.',
-    },
-    {
-      name: 'createEventStream',
-      anchor: 'create-event-stream',
-      signature:
-        'createEventStream: (options?: EventStreamOptions) => EventStream',
-      typeOnly: true,
-      summary:
-        'Creates a Server-Sent Events stream backed by a `text/event-stream` `Response`, with\nbounded backpressure-aware writes, optional heartbeat comments, and automatic closing when\n`options.signal` aborts or `close()` is called.',
-      tags: {
-        param: [
-          'options - Stream configuration (abort signal, heartbeat interval, backpressure, headers).',
-        ],
-        returns: [
-          'An {@link EventStream} exposing the response plus `send`/`comment`/`close` methods.',
-        ],
-        throws: [
-          '{TypeError} If `highWaterMark` or `heartbeatInterval` are not positive safe integers.',
-        ],
-      },
-    },
-    {
-      name: 'createRouter',
-      anchor: 'create-router',
-      signature: 'createRouter: () => Router',
-      typeOnly: true,
-      summary:
-        'Creates an empty, mutable {@link Router} with chainable HTTP-method route builders\n(`get`, `post`, `put`, `patch`, `delete`, `options`, `head`, `trace`, `connect`, `ws`) and a\n`use` method for registering middleware.',
-      tags: {
-        returns: ['A new router instance.'],
-      },
-    },
-    {
-      name: 'createServerApp',
-      anchor: 'create-server-app',
-      signature:
-        'createServerApp: { (router: Router): ServerApp; (options?: ServerAppOptions): ServerApp; }',
-      typeOnly: true,
-      summary:
-        "Creates a transport-neutral server application that dispatches Web `Request`s to a\nrouter's routes and middleware, returning Web `Response`s.\n\nAccepts either a bare {@link Router} or a full {@link ServerAppOptions} object (which\nmay itself reference a router). Builds a path matcher from the combined routes, validates\nrequest-size limits, and wraps dispatch with auth resolution, telemetry, and error handling\n(payload-too-large, malformed path parameters, binding errors, and a fallback `onError`).\nCreates a transport-neutral server application. See the {@link Router} overload for details.",
-      tags: {
-        param: [
-          'router - A router whose routes and middleware should back the application.',
-          'options - Configuration including router, middleware, auth, telemetry,\nerror handling, and request-size limits.',
-        ],
-        returns: [
-          'A {@link ServerApp} exposing a `fetch(request, dispatchOptions)` method.',
-          'A {@link ServerApp} exposing a `fetch(request, dispatchOptions)` method.',
-        ],
-        example: [
-          'const app = createServerApp(router);\nexport default { fetch: app.fetch };',
-        ],
-      },
-    },
-    {
-      name: 'CspNonceProvider',
-      anchor: 'csp-nonce-provider',
-      signature: 'CspNonceProvider: (context: ServerContext) => string',
-      typeOnly: true,
-      summary:
-        'A function that returns a CSP nonce for a given request context, stable across calls for the same context.',
-    },
-    {
-      name: 'DEFAULT_MAX_REQUEST_BYTES',
-      anchor: 'default-max-request-bytes',
-      signature: 'DEFAULT_MAX_REQUEST_BYTES: 1048576',
-      typeOnly: true,
-      summary:
-        'Default maximum request body size, in bytes (1 MiB), used when no limit is configured.',
-    },
-    {
-      name: 'defineRoutes',
-      anchor: 'define-routes',
-      signature:
-        'defineRoutes: (definition: (route: RouteBuilder) => void) => ApiRoute[]',
-      typeOnly: true,
-      summary:
-        'Builds a flat list of {@link ApiRoute}s by invoking `definition` with a {@link RouteBuilder}.\nUseful for defining a set of routes without a full {@link Router} (e.g. to compose into one).',
-      tags: {
-        param: [
-          'definition - Callback that registers routes via the provided builder.',
-        ],
-        returns: ['The collected routes.'],
-      },
-    },
-    {
-      name: 'error',
-      anchor: 'error',
-      signature:
-        'error: (status?: number, detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a Problem Details error response with a configurable status (default `500`).',
-    },
-    {
-      name: 'EventStream',
-      anchor: 'event-stream',
-      signature: 'EventStream: any',
-      typeOnly: true,
-      summary:
-        'A live Server-Sent Events stream, backed by a streaming `Response`.',
-      members: [
         {
-          name: 'response',
+          name: 'serviceUnavailable',
           summary: '',
-          signature: 'readonly response: Response;',
+          signature:
+            'serviceUnavailable(message?: string, init?: ResponseInit): Response;',
         },
         {
-          name: 'closed',
+          name: 'problem',
           summary: '',
-          signature: 'readonly closed: Promise<void>;',
-        },
-        {
-          name: 'send',
-          summary:
-            'Queues an event in order. Await or otherwise handle the returned promise before producing\nwithout bound. Rejects with `QuotaExceededError` when the pending-write limit is full.',
-          signature: 'send(event: ServerSentEvent): Promise<void>;',
-        },
-        {
-          name: 'comment',
-          summary:
-            'Queues an SSE comment in order. Rejects with `QuotaExceededError` when the pending-write\nlimit is full.',
-          signature: 'comment(value: string): Promise<void>;',
+          signature:
+            'problem(status: number, detail?: string, options?: ProblemOptions): Response;',
         },
         {
-          name: 'close',
+          name: 'challenge',
           summary: '',
-          signature: 'close(): Promise<void>;',
-        },
-      ],
-    },
-    {
-      name: 'EventStreamOptions',
-      anchor: 'event-stream-options',
-      signature: 'EventStreamOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createEventStream}.',
-      members: [
-        {
-          name: 'signal',
-          summary: 'Aborting this signal closes the stream.',
-          signature: 'signal?: AbortSignal;',
+          signature: 'challenge(options?: ChallengeOptions): Response;',
         },
         {
-          name: 'heartbeatInterval',
-          summary:
-            'If set, sends a `heartbeat` comment on this interval (in ms) to keep the connection alive.',
-          signature: 'heartbeatInterval?: number;',
+          name: 'setCookie',
+          summary: '',
+          signature:
+            'setCookie(response: Response, name: string, value: string, options?: CookieOptions): Response;',
         },
         {
-          name: 'highWaterMark',
-          summary:
-            'Backpressure threshold for the underlying `ReadableStream` and maximum number of\nunresolved `send()`/`comment()` calls admitted at once. Defaults to 16.',
-          signature: 'highWaterMark?: number;',
+          name: 'clearCookie',
+          summary: '',
+          signature:
+            'clearCookie(response: Response, name: string, options?: CookieOptions): Response;',
         },
         {
-          name: 'headers',
+          name: 'upgrade',
           summary: '',
-          signature: 'headers?: HeadersInit;',
+          signature:
+            'upgrade(handler: WebSocketHandler): Response | Promise<Response>;',
         },
       ],
     },
     {
-      name: 'explicitlyAccepts',
-      anchor: 'explicitly-accepts',
-      signature:
-        'explicitlyAccepts: (value: string, expected: string) => boolean',
-      typeOnly: true,
-    },
-    {
-      name: 'forbidden',
-      anchor: 'forbidden',
-      signature:
-        'forbidden: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `403 Forbidden` Problem Details response.',
-    },
-    {
-      name: 'formatServerSentEvent',
-      anchor: 'format-server-sent-event',
-      signature: 'formatServerSentEvent: (event: ServerSentEvent) => string',
-      typeOnly: true,
-      summary:
-        'Serializes a {@link ServerSentEvent} to the `text/event-stream` wire format, escaping\nmulti-line data/comment fields and validating that `event`/`id` contain no line breaks.',
-      tags: {
-        throws: [
-          '{TypeError} If `event`, `id`, or `retry` contain invalid characters/values.',
-        ],
-      },
-    },
-    {
-      name: 'Handler',
-      anchor: 'handler',
-      signature:
-        'Handler: {\n  bivarianceHack(context: ServerContext<RouteParams>): Response | Promise<Response>;\n}["bivarianceHack"]',
-      typeOnly: true,
-      summary:
-        'A route handler function that produces a response for a given {@link ServerContext}.',
-    },
-    {
-      name: 'internalServerError',
-      anchor: 'internal-server-error',
-      signature:
-        'internalServerError: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `500 Internal Server Error` Problem Details response.',
-    },
-    {
-      name: 'json',
-      anchor: 'json',
-      signature: 'json: (value: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `200 OK`-shaped JSON response, serializing `value` and setting the JSON content type.',
-    },
-    {
-      name: 'JsonValue',
-      anchor: 'json-value',
-      signature: 'JsonValue: unknown',
-      typeOnly: true,
-      summary: 'A value that can be serialized as JSON.',
-    },
-    {
-      name: 'methodNotAllowed',
-      anchor: 'method-not-allowed',
-      signature:
-        'methodNotAllowed: (allow?: string | readonly string[], init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `405 Method Not Allowed` Problem Details response, setting the `Allow` header if given.',
-    },
-    {
-      name: 'Middleware',
-      anchor: 'middleware',
-      signature:
-        'Middleware: {\n  bivarianceHack(context: ServerContext<RouteParams>, next: Next): Response | Promise<Response>;\n}["bivarianceHack"]',
-      typeOnly: true,
-      summary:
-        'A middleware function that may short-circuit or delegate to `next` to produce a response.',
-    },
-    {
-      name: 'Next',
-      anchor: 'next',
-      signature: 'Next: () => Response | Promise<Response>',
-      typeOnly: true,
-      summary:
-        'Continuation function passed to a {@link Middleware}, invoking the next handler in the chain.',
-    },
-    {
-      name: 'noContent',
-      anchor: 'no-content',
-      signature: 'noContent: (init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `204 No Content` response with an empty body.',
-    },
-    {
-      name: 'notFound',
-      anchor: 'not-found',
-      signature: 'notFound: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `404 Not Found` Problem Details response.',
-    },
-    {
-      name: 'notImplemented',
-      anchor: 'not-implemented',
-      signature:
-        'notImplemented: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `501 Not Implemented` Problem Details response.',
-    },
-    {
-      name: 'ok',
-      anchor: 'ok',
-      signature: 'ok: (value?: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `200 OK` response; JSON-serializes `value` if given, otherwise an empty body.',
-    },
-    {
-      name: 'Params',
-      anchor: 'params',
-      signature: 'Params: Record<string, string>',
-      typeOnly: true,
-      summary: 'A map of route path parameter names to their string values.',
-    },
-    {
-      name: 'PathParams',
-      anchor: 'path-params',
-      signature:
-        'PathParams: string extends Path ? Params : { [Name in PathParameterNames<Path>]: string; }',
-      typeOnly: true,
-      summary:
-        'Infers a {@link Params}-shaped object type from a route path pattern, extracting the names\nof `{param}` and `{*param}` segments as required string keys.',
-    },
-    {
-      name: 'PayloadTooLargeError',
-      anchor: 'payload-too-large-error',
-      signature: 'PayloadTooLargeError: typeof PayloadTooLargeError',
+      name: 'ServerDispatchOptions',
+      anchor: 'server-dispatch-options',
+      signature: 'ServerDispatchOptions: any',
       typeOnly: true,
-      summary:
-        'Error thrown when a request body exceeds the configured maximum size.',
+      summary: 'Per-request options passed to {@link ServerApp.fetch}.',
       members: [
         {
-          name: 'status',
+          name: 'websocket',
           summary: '',
-          signature: 'readonly status = 413;',
+          signature: 'websocket?: WebSocketAdapter;',
         },
       ],
     },
     {
-      name: 'ProbeHandler',
-      anchor: 'probe-handler',
-      signature:
-        'ProbeHandler: (context: ServerContext) => ProbeResult | Promise<ProbeResult>',
-      typeOnly: true,
-      summary:
-        'A health-check handler used for liveness/readiness/startup probes.',
-    },
-    {
-      name: 'ProbeOptions',
-      anchor: 'probe-options',
-      signature: 'ProbeOptions: any',
+      name: 'ServerTelemetry',
+      anchor: 'server-telemetry',
+      signature: 'ServerTelemetry: any',
       typeOnly: true,
       summary:
-        'Optional handlers for the built-in `livez`/`readyz`/`startupz`/`targetz` health probe routes.',
+        'Telemetry hooks that a {@link ServerAppOptions.telemetry} implementation provides. Each\n`work`-wrapping method should run `work` inside an appropriately named span, propagating its\nreturn value.',
       members: [
         {
-          name: 'livez',
-          summary: '',
-          signature: 'livez?: ProbeHandler;',
-        },
-        {
-          name: 'readyz',
-          summary: '',
-          signature: 'readyz?: ProbeHandler;',
-        },
-        {
-          name: 'startupz',
+          name: 'request',
           summary: '',
-          signature: 'startupz?: ProbeHandler;',
+          signature:
+            'request<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
         {
-          name: 'targetz',
+          name: 'routeMatch',
           summary: '',
-          signature: 'targetz?: ProbeHandler;',
+          signature:
+            'routeMatch<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
-      ],
-    },
-    {
-      name: 'ProbeResult',
-      anchor: 'probe-result',
-      signature: 'ProbeResult: boolean | Response | void',
-      typeOnly: true,
-      summary:
-        'Result of a health probe: `true`/`false` for pass/fail, a `Response` to return as-is, or `void` for pass.',
-    },
-    {
-      name: 'problem',
-      anchor: 'problem-2',
-      signature:
-        'problem: (status: number, detail?: string, options?: ProblemOptions & { init?: ResponseInit; }) => Response',
-      typeOnly: true,
-      summary:
-        'Builds an RFC 9457 `application/problem+json` response, defaulting `type` to `about:blank`\nand `title` to a standard reason phrase for the given `status` (falling back to "HTTP Error").',
-    },
-    {
-      name: 'Problem',
-      anchor: 'problem',
-      signature: 'Problem: any',
-      typeOnly: true,
-      summary:
-        'An RFC 9457 Problem Details object, as produced by {@link ServerContext.problem}.',
-      members: [
         {
-          name: 'type',
+          name: 'loader',
           summary: '',
-          signature: 'type: string;',
+          signature:
+            'loader?<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
         {
-          name: 'title',
+          name: 'action',
           summary: '',
-          signature: 'title: string;',
+          signature:
+            'action<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
         {
-          name: 'status',
+          name: 'apiOperation',
           summary: '',
-          signature: 'status: number;',
+          signature:
+            'apiOperation<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
         {
-          name: 'detail',
+          name: 'queryPrefetch',
           summary: '',
-          signature: 'detail?: string;',
+          signature:
+            'queryPrefetch?<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
         {
-          name: 'instance',
+          name: 'ssrRender',
           summary: '',
-          signature: 'instance?: string;',
+          signature:
+            'ssrRender?<T>(fields: ServerTelemetryFields, work: () => T): T;',
         },
-      ],
-    },
-    {
-      name: 'ProblemOptions',
-      anchor: 'problem-options',
-      signature: 'ProblemOptions: any',
-      typeOnly: true,
-      summary: 'Optional fields used to customize a {@link Problem} response.',
-      members: [
         {
-          name: 'type',
+          name: 'log',
           summary: '',
-          signature: 'type?: string;',
+          signature:
+            'log(level: "debug" | "info" | "warn" | "error", event: ServerTelemetryOperation, fields?: ServerTelemetryFields): void;',
         },
         {
-          name: 'title',
+          name: 'traceId',
           summary: '',
-          signature: 'title?: string;',
+          signature: 'traceId(): string | undefined;',
         },
         {
-          name: 'instance',
+          name: 'extract',
           summary: '',
-          signature: 'instance?: string;',
+          signature:
+            'extract?<Carrier>(carrier: Carrier, getter: {\n    keys(value: Carrier): string[];\n    get(value: Carrier, key: string): string | string[] | undefined;\n  }): unknown;',
         },
         {
-          name: 'extensions',
+          name: 'withContext',
           summary: '',
-          signature: 'extensions?: Record<string, unknown>;',
+          signature: 'withContext?<T>(context: unknown, work: () => T): T;',
         },
       ],
     },
     {
-      name: 'readRequestBytes',
-      anchor: 'read-request-bytes',
-      signature:
-        'readRequestBytes: (request: Request, maximum?: number) => Promise<Uint8Array>',
-      typeOnly: true,
-      summary:
-        'Reads a request body into memory as raw bytes, enforcing a maximum size. The result is\ncached per-request so subsequent reads (e.g. for JSON, text, or form data) reuse the same\nbuffered bytes instead of re-reading the stream.',
-      tags: {
-        param: [
-          'request - The request whose body to read.',
-          "maximum - Maximum allowed size in bytes; defaults to the request's configured limit.",
-        ],
-        returns: ['The full body as a `Uint8Array`.'],
-        throws: ['{PayloadTooLargeError} If the body exceeds `maximum`.'],
-      },
-    },
-    {
-      name: 'readRequestFormData',
-      anchor: 'read-request-form-data',
-      signature:
-        'readRequestFormData: (request: Request, maximum?: number) => Promise<FormData>',
-      typeOnly: true,
-      summary:
-        'Reads a request body and parses it as `multipart/form-data`, enforcing a maximum size.',
-      tags: {
-        param: [
-          'request - The request whose body to read.',
-          "maximum - Maximum allowed size in bytes; defaults to the request's configured limit.",
-        ],
-        returns: ['The parsed form data.'],
-        throws: ['{PayloadTooLargeError} If the body exceeds `maximum`.'],
-      },
-    },
-    {
-      name: 'readRequestText',
-      anchor: 'read-request-text',
-      signature:
-        'readRequestText: (request: Request, maximum?: number) => Promise<string>',
-      typeOnly: true,
-      summary:
-        'Reads and decodes a request body as UTF-8 text, enforcing a maximum size.',
-      tags: {
-        param: [
-          'request - The request whose body to read.',
-          "maximum - Maximum allowed size in bytes; defaults to the request's configured limit.",
-        ],
-        throws: ['{PayloadTooLargeError} If the body exceeds `maximum`.'],
-      },
-    },
-    {
-      name: 'redirect',
-      anchor: 'redirect',
-      signature:
-        'redirect: (location: string, status?: 301 | 302 | 303 | 307 | 308) => Response',
+      name: 'WebSocketAdapter',
+      anchor: 'web-socket-adapter',
+      signature: 'WebSocketAdapter: any',
       typeOnly: true,
       summary:
-        'Builds a redirect response with an empty body and a `Location` header. Defaults to `302 Found`.',
+        'Adapter that performs the transport-specific work of upgrading a request to a WebSocket.',
+      members: [
+        {
+          name: 'upgrade',
+          summary: '',
+          signature:
+            'upgrade(request: Request, handler: WebSocketHandler, context: ServerContext): Response | Promise<Response>;',
+        },
+      ],
     },
     {
-      name: 'registerAuthRoutes',
-      anchor: 'register-auth-routes',
+      name: 'WebSocketHandler',
+      anchor: 'web-socket-handler',
       signature:
-        'registerAuthRoutes: <Dependencies, P extends Principal>(api: Pick<ApiDefinition<Dependencies>, "group">, options: AuthRouteOptions<P>) => void',
-      typeOnly: true,
-      summary:
-        'Registers a standard set of authentication routes (`POST /auth/v1/accounts`,\n`GET/POST /auth/v1/session`, `DELETE /auth/v1/session`) on an OpenAPI-style API/group,\nhandling registration, login, session lookup, and logout with CSRF protection via a\nsame-origin `Origin` header check, per-attempt rate limiting, and cookie-based token storage.',
-      tags: {
-        param: [
-          'api - The API or group to register routes on (only its `group` method is used).',
-          'options - Issuer, cookie configuration, principal schema, and register/authenticate/\nallowAttempt/revoke/redirect callbacks.',
-        ],
-      },
-    },
-    {
-      name: 'RequestState',
-      anchor: 'request-state',
-      signature: 'RequestState: Record<string, unknown>',
+        'WebSocketHandler: {\n  bivarianceHack(socket: WebSocketLike, context: ServerContext<RouteParams>): void | Promise<void>;\n}["bivarianceHack"]',
       typeOnly: true,
       summary:
-        'Arbitrary per-request state bag attached to a {@link ServerContext}.',
+        'Handler invoked with a live {@link WebSocketLike} once a connection has been upgraded.',
     },
     {
-      name: 'RouteBuilder',
-      anchor: 'route-builder',
-      signature: 'RouteBuilder: any',
+      name: 'WebSocketLike',
+      anchor: 'web-socket-like',
+      signature: 'WebSocketLike: any',
       typeOnly: true,
       summary:
-        'Chainable, per-HTTP-method route registration methods, one per method plus `ws` for WebSockets.',
+        'Transport-neutral interface for an upgraded WebSocket connection.',
       members: [
         {
-          name: 'route',
-          summary: '',
-          signature:
-            'route<const Path extends string>(method: string | readonly string[], path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
-        },
-        {
-          name: 'get',
-          summary: '',
-          signature:
-            'get<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
-        },
-        {
-          name: 'post',
-          summary: '',
-          signature:
-            'post<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
-        },
-        {
-          name: 'put',
+          name: 'send',
           summary: '',
           signature:
-            'put<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'send(data: string | ArrayBufferLike | ArrayBufferView): void;',
         },
         {
-          name: 'patch',
+          name: 'close',
           summary: '',
-          signature:
-            'patch<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'close(code?: number, reason?: string): void;',
         },
         {
-          name: 'delete',
+          name: 'onMessage',
           summary: '',
           signature:
-            'delete<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'onMessage(listener: (data: string | Uint8Array) => void): () => void;',
         },
         {
-          name: 'options',
+          name: 'onClose',
           summary: '',
           signature:
-            'options<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'onClose(listener: (event: WebSocketCloseEvent) => void): () => void;',
         },
         {
-          name: 'head',
+          name: 'onError',
           summary: '',
-          signature:
-            'head<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'onError(listener: (error: unknown) => void): () => void;',
         },
+      ],
+    },
+  ],
+  symbols44: [
+    {
+      name: 'ApiRouteOptions',
+      anchor: 'api-route-options',
+      signature: 'ApiRouteOptions: any',
+      typeOnly: true,
+      summary: 'Per-route configuration shared by {@link ApiRoute}.',
+      members: [
         {
-          name: 'trace',
+          name: 'auth',
           summary: '',
-          signature:
-            'trace<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'auth?: AuthRequirement;',
         },
         {
-          name: 'connect',
+          name: 'middleware',
           summary: '',
-          signature:
-            'connect<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'middleware?: readonly Middleware<RouteParams>[];',
         },
         {
-          name: 'ws',
+          name: 'maxRequestBytes',
           summary: '',
-          signature:
-            'ws<const Path extends string>(path: Path, handler: WebSocketHandler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'maxRequestBytes?: number;',
         },
       ],
     },
+    {
+      name: 'createRouter',
+      anchor: 'create-router',
+      signature: 'createRouter: () => Router',
+      typeOnly: true,
+      summary:
+        'Creates an empty, mutable {@link Router} with chainable HTTP-method route builders\n(`get`, `post`, `put`, `patch`, `delete`, `options`, `head`, `trace`, `connect`, `ws`) and a\n`use` method for registering middleware.',
+      tags: {
+        returns: ['A new router instance.'],
+      },
+    },
     {
       name: 'Router',
       anchor: 'router',
@@ -28132,355 +25685,246 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
+  ],
+  symbols45: [
     {
-      name: 'safeRedirect',
-      anchor: 'safe-redirect',
+      name: 'clearCookie',
+      anchor: 'clear-cookie',
       signature:
-        'safeRedirect: (fallback: string, options?: SafeRedirectOptions) => (value: unknown) => string',
+        'clearCookie: (response: Response, name: string, options?: CookieOptions) => Response',
       typeOnly: true,
       summary:
-        'Creates a validator that resolves an untrusted redirect target to a safe, same-origin,\nrelative path — or to `fallback` if the value is unsafe (absolute, protocol-relative,\ncontains a scheme, control characters, `..` traversal, backslashes, or an unwanted hash).',
+        'Returns a clone of `response` with a `Set-Cookie` header that expires and clears `name`.',
       tags: {
-        param: [
-          'fallback - The safe path to use when the requested value is not itself safe. Must\nitself pass the safety check, or this function throws.',
-          'options - Redirect validation options.',
+        throws: [
+          '{TypeError} If the cookie domain or path contains invalid attribute characters.',
         ],
-        returns: [
-          'A function `(value) => path` that returns `value` if safe, otherwise `fallback`.',
-        ],
-        throws: ['{Error} If `fallback` is not itself a safe path.'],
       },
     },
     {
-      name: 'SafeRedirectOptions',
-      anchor: 'safe-redirect-options',
-      signature: 'SafeRedirectOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link safeRedirect}.',
-      members: [
-        {
-          name: 'allowHash',
-          summary:
-            'Allow redirect targets that include a URL fragment (`#...`). Defaults to disallowed.',
-          signature: 'readonly allowHash?: boolean;',
-        },
-      ],
-    },
-    {
-      name: 'ServerApp',
-      anchor: 'server-app',
-      signature: 'ServerApp: any',
-      typeOnly: true,
-      summary:
-        'A configured server application, as returned by {@link createServerApp }.',
-      members: [
-        {
-          name: 'fetch',
-          summary: '',
-          signature:
-            'fetch(request: Request, dispatchOptions?: ServerDispatchOptions): Promise<Response>;',
-        },
-      ],
-    },
-    {
-      name: 'ServerAppOptions',
-      anchor: 'server-app-options',
-      signature: 'ServerAppOptions: any',
+      name: 'CookieOptions',
+      anchor: 'cookie-options',
+      signature: 'CookieOptions: any',
       typeOnly: true,
       summary:
-        'Options accepted by {@link createServerApp } to configure a server application.',
+        'Options controlling how a cookie is set via {@link ServerContext.setCookie}.\nDo not derive `domain` or `path` from untrusted input; invalid attribute characters are rejected.',
       members: [
         {
-          name: 'router',
-          summary: '',
-          signature: 'router?: Router;',
-        },
-        {
-          name: 'middleware',
-          summary: '',
-          signature: 'middleware?: readonly Middleware[];',
-        },
-        {
-          name: 'onError',
-          summary: '',
-          signature:
-            'onError?: (error: unknown, context: ServerContext) => Response | Promise<Response>;',
-        },
-        {
-          name: 'onAccessDenied',
-          summary: '',
-          signature: 'onAccessDenied?: AccessDeniedHandler;',
+          name: 'domain',
+          summary:
+            'ASCII cookie domain without whitespace or attribute delimiters.',
+          signature: 'domain?: string;',
         },
         {
-          name: 'auth',
+          name: 'expires',
           summary: '',
-          signature: 'auth?: AuthResolver;',
+          signature: 'expires?: Date;',
         },
         {
-          name: 'fallback',
+          name: 'httpOnly',
           summary: '',
-          signature: 'fallback?: Handler;',
+          signature: 'httpOnly?: boolean;',
         },
         {
-          name: 'websocket',
+          name: 'maxAge',
           summary: '',
-          signature: 'websocket?: WebSocketAdapter;',
+          signature: 'maxAge?: number;',
         },
         {
-          name: 'probes',
-          summary: '',
-          signature: 'probes?: ProbeOptions;',
+          name: 'path',
+          summary:
+            'Cookie path without control characters or the `;` attribute delimiter.',
+          signature: 'path?: string;',
         },
         {
-          name: 'telemetry',
+          name: 'sameSite',
           summary: '',
-          signature: 'telemetry?: ServerTelemetry;',
+          signature: 'sameSite?: CookieSameSite;',
         },
         {
-          name: 'maxRequestBytes',
+          name: 'secure',
           summary: '',
-          signature: 'maxRequestBytes?: number;',
+          signature: 'secure?: boolean;',
         },
       ],
     },
     {
-      name: 'ServerContext',
-      anchor: 'server-context',
-      signature: 'ServerContext: any',
+      name: 'createEventStream',
+      anchor: 'create-event-stream',
+      signature:
+        'createEventStream: (options?: EventStreamOptions) => EventStream',
       typeOnly: true,
       summary:
-        'The per-request context passed to handlers and middleware, bundling the incoming request,\nparsed URL/params/query, auth state, and a family of response-building helper methods\n(`json`, `ok`, `notFound`, `problem`, `setCookie`, `upgrade`, etc.).',
+        'Creates a Server-Sent Events stream backed by a `text/event-stream` `Response`, with\nbounded backpressure-aware writes, optional heartbeat comments, and automatic closing when\n`options.signal` aborts or `close()` is called.',
+      tags: {
+        param: [
+          'options - Stream configuration (abort signal, heartbeat interval, backpressure, headers).',
+        ],
+        returns: [
+          'An {@link EventStream} exposing the response plus `send`/`comment`/`close` methods.',
+        ],
+        throws: [
+          '{TypeError} If `highWaterMark` or `heartbeatInterval` are not positive safe integers.',
+        ],
+      },
+    },
+    {
+      name: 'EventStream',
+      anchor: 'event-stream',
+      signature: 'EventStream: any',
+      typeOnly: true,
+      summary:
+        'A live Server-Sent Events stream, backed by a streaming `Response`.',
       members: [
         {
-          name: 'request',
-          summary: '',
-          signature: 'request: Request;',
-        },
-        {
-          name: 'url',
-          summary: '',
-          signature: 'url: URL;',
-        },
-        {
-          name: 'params',
+          name: 'response',
           summary: '',
-          signature: 'params: RouteParams;',
+          signature: 'readonly response: Response;',
         },
         {
-          name: 'headers',
+          name: 'closed',
           summary: '',
-          signature: 'headers: Headers;',
+          signature: 'readonly closed: Promise<void>;',
         },
         {
-          name: 'query',
-          summary: '',
-          signature: 'query: URLSearchParams;',
+          name: 'send',
+          summary:
+            'Queues an event in order. Await or otherwise handle the returned promise before producing\nwithout bound. Rejects with `QuotaExceededError` when the pending-write limit is full.',
+          signature: 'send(event: ServerSentEvent): Promise<void>;',
         },
         {
-          name: 'state',
-          summary: '',
-          signature: 'state: RequestState;',
+          name: 'comment',
+          summary:
+            'Queues an SSE comment in order. Rejects with `QuotaExceededError` when the pending-write\nlimit is full.',
+          signature: 'comment(value: string): Promise<void>;',
         },
         {
-          name: 'auth',
+          name: 'close',
           summary: '',
-          signature: 'auth: AuthContext;',
+          signature: 'close(): Promise<void>;',
         },
+      ],
+    },
+    {
+      name: 'EventStreamOptions',
+      anchor: 'event-stream-options',
+      signature: 'EventStreamOptions: any',
+      typeOnly: true,
+      summary: 'Options for {@link createEventStream}.',
+      members: [
         {
           name: 'signal',
-          summary: '',
-          signature: 'signal: AbortSignal;',
-        },
-        {
-          name: 'sse',
-          summary: '',
-          signature:
-            'sse(options?: Omit<EventStreamOptions, "signal">): EventStream;',
-        },
-        {
-          name: 'telemetry',
-          summary: '',
-          signature: 'telemetry?: ServerTelemetry;',
-        },
-        {
-          name: 'bind',
-          summary: '',
-          signature:
-            'bind<T extends object = Record<string, unknown>>(): Promise<T>;',
-        },
-        {
-          name: 'json',
-          summary: '',
-          signature: 'json(value: JsonValue, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'text',
-          summary: '',
-          signature: 'text(value: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'redirect',
-          summary: '',
-          signature:
-            'redirect(location: string, status?: 301 | 302 | 303 | 307 | 308): Response;',
-        },
-        {
-          name: 'ok',
-          summary: '',
-          signature: 'ok(value?: JsonValue, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'created',
-          summary: '',
-          signature:
-            'created(value?: JsonValue, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'accepted',
-          summary: '',
-          signature:
-            'accepted(value?: JsonValue, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'noContent',
-          summary: '',
-          signature: 'noContent(init?: ResponseInit): Response;',
-        },
-        {
-          name: 'badRequest',
-          summary: '',
-          signature:
-            'badRequest(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'bad',
-          summary: '',
-          signature: 'bad(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'unauthorized',
-          summary: '',
-          signature:
-            'unauthorized(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'forbidden',
-          summary: '',
-          signature:
-            'forbidden(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'notFound',
-          summary: '',
-          signature:
-            'notFound(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'conflict',
-          summary: '',
-          signature:
-            'conflict(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'unprocessableEntity',
-          summary: '',
-          signature:
-            'unprocessableEntity(message?: string, init?: ResponseInit): Response;',
-        },
-        {
-          name: 'tooManyRequests',
-          summary: '',
-          signature:
-            'tooManyRequests(message?: string, init?: ResponseInit): Response;',
+          summary: 'Aborting this signal closes the stream.',
+          signature: 'signal?: AbortSignal;',
         },
         {
-          name: 'methodNotAllowed',
-          summary: '',
-          signature:
-            'methodNotAllowed(allow?: string | readonly string[], init?: ResponseInit): Response;',
+          name: 'heartbeatInterval',
+          summary:
+            'If set, sends a `heartbeat` comment on this interval (in ms) to keep the connection alive.',
+          signature: 'heartbeatInterval?: number;',
         },
         {
-          name: 'error',
-          summary: '',
-          signature:
-            'error(status?: number, message?: string, init?: ResponseInit): Response;',
+          name: 'highWaterMark',
+          summary:
+            'Backpressure threshold for the underlying `ReadableStream` and maximum number of\nunresolved `send()`/`comment()` calls admitted at once. Defaults to 16.',
+          signature: 'highWaterMark?: number;',
         },
         {
-          name: 'internalServerError',
+          name: 'headers',
           summary: '',
-          signature:
-            'internalServerError(message?: string, init?: ResponseInit): Response;',
+          signature: 'headers?: HeadersInit;',
         },
+      ],
+    },
+    {
+      name: 'json',
+      anchor: 'json',
+      signature: 'json: (value: JsonValue, init?: ResponseInit) => Response',
+      typeOnly: true,
+      summary:
+        'Builds a `200 OK`-shaped JSON response, serializing `value` and setting the JSON content type.',
+    },
+    {
+      name: 'problem',
+      anchor: 'problem-2',
+      signature:
+        'problem: (status: number, detail?: string, options?: ProblemOptions & { init?: ResponseInit; }) => Response',
+      typeOnly: true,
+      summary:
+        'Builds an RFC 9457 `application/problem+json` response, defaulting `type` to `about:blank`\nand `title` to a standard reason phrase for the given `status` (falling back to "HTTP Error").',
+    },
+    {
+      name: 'Problem',
+      anchor: 'problem',
+      signature: 'Problem: any',
+      typeOnly: true,
+      summary:
+        'An RFC 9457 Problem Details object, as produced by {@link ServerContext.problem}.',
+      members: [
         {
-          name: 'serverError',
+          name: 'type',
           summary: '',
-          signature:
-            'serverError(message?: string, init?: ResponseInit): Response;',
+          signature: 'type: string;',
         },
         {
-          name: 'notImplemented',
+          name: 'title',
           summary: '',
-          signature:
-            'notImplemented(message?: string, init?: ResponseInit): Response;',
+          signature: 'title: string;',
         },
         {
-          name: 'serviceUnavailable',
+          name: 'status',
           summary: '',
-          signature:
-            'serviceUnavailable(message?: string, init?: ResponseInit): Response;',
+          signature: 'status: number;',
         },
         {
-          name: 'problem',
+          name: 'detail',
           summary: '',
-          signature:
-            'problem(status: number, detail?: string, options?: ProblemOptions): Response;',
+          signature: 'detail?: string;',
         },
         {
-          name: 'challenge',
+          name: 'instance',
           summary: '',
-          signature: 'challenge(options?: ChallengeOptions): Response;',
+          signature: 'instance?: string;',
         },
+      ],
+    },
+    {
+      name: 'ProblemOptions',
+      anchor: 'problem-options',
+      signature: 'ProblemOptions: any',
+      typeOnly: true,
+      summary: 'Optional fields used to customize a {@link Problem} response.',
+      members: [
         {
-          name: 'setCookie',
+          name: 'type',
           summary: '',
-          signature:
-            'setCookie(response: Response, name: string, value: string, options?: CookieOptions): Response;',
+          signature: 'type?: string;',
         },
         {
-          name: 'clearCookie',
+          name: 'title',
           summary: '',
-          signature:
-            'clearCookie(response: Response, name: string, options?: CookieOptions): Response;',
+          signature: 'title?: string;',
         },
         {
-          name: 'upgrade',
+          name: 'instance',
           summary: '',
-          signature:
-            'upgrade(handler: WebSocketHandler): Response | Promise<Response>;',
+          signature: 'instance?: string;',
         },
-      ],
-    },
-    {
-      name: 'ServerDispatchOptions',
-      anchor: 'server-dispatch-options',
-      signature: 'ServerDispatchOptions: any',
-      typeOnly: true,
-      summary: 'Per-request options passed to {@link ServerApp.fetch}.',
-      members: [
         {
-          name: 'websocket',
+          name: 'extensions',
           summary: '',
-          signature: 'websocket?: WebSocketAdapter;',
+          signature: 'extensions?: Record<string, unknown>;',
         },
       ],
     },
     {
-      name: 'serverError',
-      anchor: 'server-error',
+      name: 'redirect',
+      anchor: 'redirect',
       signature:
-        'serverError: (detail?: string, init?: ResponseInit) => Response',
+        'redirect: (location: string, status?: 301 | 302 | 303 | 307 | 308) => Response',
       typeOnly: true,
-      summary: 'Alias for {@link internalServerError}.',
+      summary:
+        'Builds a redirect response with an empty body and a `Location` header. Defaults to `302 Found`.',
     },
     {
       name: 'ServerSentEvent',
@@ -28512,141 +25956,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ServerTelemetry',
-      anchor: 'server-telemetry',
-      signature: 'ServerTelemetry: any',
-      typeOnly: true,
-      summary:
-        'Telemetry hooks that a {@link ServerAppOptions.telemetry} implementation provides. Each\n`work`-wrapping method should run `work` inside an appropriately named span, propagating its\nreturn value.',
-      members: [
-        {
-          name: 'request',
-          summary: '',
-          signature:
-            'request<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'routeMatch',
-          summary: '',
-          signature:
-            'routeMatch<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'loader',
-          summary: '',
-          signature:
-            'loader?<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'action',
-          summary: '',
-          signature:
-            'action<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'apiOperation',
-          summary: '',
-          signature:
-            'apiOperation<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'queryPrefetch',
-          summary: '',
-          signature:
-            'queryPrefetch?<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'ssrRender',
-          summary: '',
-          signature:
-            'ssrRender?<T>(fields: ServerTelemetryFields, work: () => T): T;',
-        },
-        {
-          name: 'log',
-          summary: '',
-          signature:
-            'log(level: "debug" | "info" | "warn" | "error", event: ServerTelemetryOperation, fields?: ServerTelemetryFields): void;',
-        },
-        {
-          name: 'traceId',
-          summary: '',
-          signature: 'traceId(): string | undefined;',
-        },
-        {
-          name: 'extract',
-          summary: '',
-          signature:
-            'extract?<Carrier>(carrier: Carrier, getter: {\n    keys(value: Carrier): string[];\n    get(value: Carrier, key: string): string | string[] | undefined;\n  }): unknown;',
-        },
-        {
-          name: 'withContext',
-          summary: '',
-          signature: 'withContext?<T>(context: unknown, work: () => T): T;',
-        },
-      ],
-    },
-    {
-      name: 'ServerTelemetryFields',
-      anchor: 'server-telemetry-fields',
-      signature: 'ServerTelemetryFields: any',
-      typeOnly: true,
-      summary: 'Contextual fields attached to a telemetry span or log entry.',
-      members: [
-        {
-          name: 'requestId',
-          summary: '',
-          signature: 'requestId?: string;',
-        },
-        {
-          name: 'traceId',
-          summary: '',
-          signature: 'traceId?: string;',
-        },
-        {
-          name: 'route',
-          summary: '',
-          signature: 'route?: string;',
-        },
-        {
-          name: 'action',
-          summary: '',
-          signature: 'action?: string;',
-        },
-        {
-          name: 'operation',
-          summary: '',
-          signature: 'operation?: string;',
-        },
-        {
-          name: 'status',
-          summary: '',
-          signature: 'status?: number;',
-        },
-        {
-          name: 'durationMs',
-          summary: '',
-          signature: 'durationMs?: number;',
-        },
-      ],
-    },
-    {
-      name: 'ServerTelemetryOperation',
-      anchor: 'server-telemetry-operation',
-      signature:
-        'ServerTelemetryOperation: "askr.request" | "askr.route.match" | "askr.loader" | "askr.action" | "askr.api.operation" | "askr.query.prefetch" | "askr.ssr.render" | "askr.vite.document"',
-      typeOnly: true,
-      summary:
-        'Identifies the kind of operation a {@link ServerTelemetry} call is instrumenting.',
-    },
-    {
-      name: 'serviceUnavailable',
-      anchor: 'service-unavailable',
-      signature:
-        'serviceUnavailable: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `503 Service Unavailable` Problem Details response.',
-    },
     {
       name: 'setCookie',
       anchor: 'set-cookie',
@@ -28669,3638 +25978,2834 @@ export const apiSymbolSets: Readonly<
       summary:
         'Builds a plain-text response, setting the `text/plain; charset=utf-8` content type.',
     },
+  ],
+  symbols46: [
     {
-      name: 'TokenIssuer',
-      anchor: 'token-issuer',
-      signature: 'TokenIssuer: any',
+      name: 'accessLog',
+      anchor: 'access-log',
+      signature: 'accessLog: (logger: ResponseLogger) => Middleware',
       typeOnly: true,
       summary:
-        'Issues auth tokens for a principal, used by {@link registerAuthRoutes} to mint session tokens.',
-      members: [
-        {
-          name: 'issue',
-          summary: '',
-          signature:
-            'issue(principal: Omit<P, "id"> & {\n    subject: string;\n  }): Promise<string>;',
-        },
-      ],
+        'Creates middleware that times each request and invokes `logger` with the request, response,\nduration, and (if present) request ID after the downstream chain resolves.',
+      tags: {
+        param: ['logger - Called once per request with the completed entry.'],
+      },
     },
     {
-      name: 'tooManyRequests',
-      anchor: 'too-many-requests',
-      signature:
-        'tooManyRequests: (detail?: string, init?: ResponseInit) => Response',
+      name: 'cors',
+      anchor: 'cors',
+      signature: 'cors: (options?: CorsOptions) => Middleware',
       typeOnly: true,
-      summary: 'Builds a `429 Too Many Requests` Problem Details response.',
-    },
-    {
-      name: 'unauthorized',
-      anchor: 'unauthorized',
-      signature:
-        'unauthorized: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `401 Unauthorized` Problem Details response.',
-    },
-    {
-      name: 'unprocessableEntity',
-      anchor: 'unprocessable-entity',
-      signature:
-        'unprocessableEntity: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `422 Unprocessable Entity` Problem Details response.',
+      summary:
+        'Creates CORS middleware that validates the request origin, answers preflight `OPTIONS`\nrequests with `204` and the appropriate `Access-Control-*` headers, and adds\n`Access-Control-Allow-Origin`/`Vary: Origin` (plus exposed headers) to actual responses.\nGenuine preflight is quota-neutral in {@link rateLimit } regardless of middleware order.',
+      tags: {
+        param: [
+          'options - Allowed origin(s)/methods/headers, credential support, and preflight max-age.',
+        ],
+        throws: [
+          '{TypeError} If `credentials` is combined with a wildcard origin, or `maxAgeSeconds`\nis not a non-negative safe integer.',
+        ],
+      },
     },
     {
-      name: 'WebSocketAdapter',
-      anchor: 'web-socket-adapter',
-      signature: 'WebSocketAdapter: any',
+      name: 'CorsOptions',
+      anchor: 'cors-options',
+      signature: 'CorsOptions: any',
       typeOnly: true,
-      summary:
-        'Adapter that performs the transport-specific work of upgrading a request to a WebSocket.',
+      summary: 'Options for {@link cors}.',
       members: [
         {
-          name: 'upgrade',
+          name: 'origin',
           summary: '',
           signature:
-            'upgrade(request: Request, handler: WebSocketHandler, context: ServerContext): Response | Promise<Response>;',
+            'origin?: string | ((origin: string, context: ServerContext) => string | null);',
         },
-      ],
-    },
-    {
-      name: 'WebSocketCloseEvent',
-      anchor: 'web-socket-close-event',
-      signature: 'WebSocketCloseEvent: any',
-      typeOnly: true,
-      summary:
-        'Details of a WebSocket close event, mirroring the DOM `CloseEvent` fields used here.',
-      members: [
         {
-          name: 'code',
+          name: 'methods',
           summary: '',
-          signature: 'readonly code: number;',
+          signature: 'methods?: readonly string[];',
         },
         {
-          name: 'reason',
+          name: 'allowedHeaders',
+          summary: '',
+          signature: 'allowedHeaders?: readonly string[];',
+        },
+        {
+          name: 'exposedHeaders',
+          summary: '',
+          signature: 'exposedHeaders?: readonly string[];',
+        },
+        {
+          name: 'credentials',
           summary: '',
-          signature: 'readonly reason: string;',
+          signature: 'credentials?: boolean;',
         },
         {
-          name: 'wasClean',
+          name: 'maxAgeSeconds',
           summary: '',
-          signature: 'readonly wasClean: boolean;',
+          signature: 'maxAgeSeconds?: number;',
         },
       ],
     },
     {
-      name: 'WebSocketHandler',
-      anchor: 'web-socket-handler',
+      name: 'createCspNonce',
+      anchor: 'create-csp-nonce',
+      signature: 'createCspNonce: () => CspNonceProvider',
+      typeOnly: true,
+      summary:
+        'Creates a {@link CspNonceProvider} that lazily generates a cryptographically random,\nURL-safe base64 nonce per {@link ServerContext} and caches it for the lifetime of that\ncontext, so repeated calls within the same request return the same value.',
+      tags: {
+        returns: ['A provider function `(context) => nonce`.'],
+      },
+    },
+    {
+      name: 'createCsrfToken',
+      anchor: 'create-csrf-token',
       signature:
-        'WebSocketHandler: {\n  bivarianceHack(socket: WebSocketLike, context: ServerContext<RouteParams>): void | Promise<void>;\n}["bivarianceHack"]',
+        'createCsrfToken: (secret: string, sessionId: string) => Promise<string>',
       typeOnly: true,
       summary:
-        'Handler invoked with a live {@link WebSocketLike} once a connection has been upgraded.',
+        'Creates a CSRF token bound to a session ID, as an HMAC-SHA256 signature encoded base64url.',
+      tags: {
+        param: [
+          'secret - The HMAC secret; must match what {@link verifyCsrfToken } uses.',
+          'sessionId - The session ID to bind the token to.',
+        ],
+      },
     },
     {
-      name: 'WebSocketLike',
-      anchor: 'web-socket-like',
-      signature: 'WebSocketLike: any',
+      name: 'createMemoryRateLimitStore',
+      anchor: 'create-memory-rate-limit-store',
+      signature:
+        'createMemoryRateLimitStore: (options?: MemoryRateLimitStoreOptions) => RateLimitStore',
       typeOnly: true,
       summary:
-        'Transport-neutral interface for an upgraded WebSocket connection.',
+        "Creates an in-memory {@link RateLimitStore} backed by a `Map`, suitable for single-process\ndeployments. Expired keys are pruned before capacity eviction, then the least recently used key\nis evicted when `maxEntries` is reached. Eviction forgets that key's current quota; use a custom\nstore when the key space is adversarial or cannot be safely bounded for one process.",
+      tags: {
+        param: [
+          'options.now - Clock function used to determine window boundaries. Defaults to `Date.now`.',
+          'options.maxEntries - Maximum retained key count. Defaults to 10,000.',
+        ],
+      },
+    },
+    {
+      name: 'CspNonceProvider',
+      anchor: 'csp-nonce-provider',
+      signature: 'CspNonceProvider: (context: ServerContext) => string',
+      typeOnly: true,
+      summary:
+        'A function that returns a CSP nonce for a given request context, stable across calls for the same context.',
+    },
+    {
+      name: 'csrf',
+      anchor: 'csrf',
+      signature: 'csrf: (options: CsrfOptions) => Middleware',
+      typeOnly: true,
+      summary:
+        'Creates middleware that enforces CSRF protection on state-changing requests (all methods\nexcept `GET`/`HEAD`/`OPTIONS`/`TRACE`) by requiring a valid token bound to the current\nsession, supplied via a request header or (for form-encoded bodies) a form field.',
+      tags: {
+        param: [
+          'options - HMAC secret, session ID resolver, and header/form field names.',
+        ],
+        throws: ['{Error} If `options.secret` is empty.'],
+      },
+    },
+    {
+      name: 'CsrfOptions',
+      anchor: 'csrf-options',
+      signature: 'CsrfOptions: any',
+      typeOnly: true,
+      summary: 'Options for {@link csrf}.',
       members: [
         {
-          name: 'send',
+          name: 'secret',
           summary: '',
-          signature:
-            'send(data: string | ArrayBufferLike | ArrayBufferView): void;',
+          signature: 'readonly secret: string;',
         },
         {
-          name: 'close',
+          name: 'sessionId',
           summary: '',
-          signature: 'close(code?: number, reason?: string): void;',
+          signature:
+            'readonly sessionId?: (context: Parameters<Middleware>[0]) => string | undefined;',
         },
         {
-          name: 'onMessage',
+          name: 'header',
           summary: '',
-          signature:
-            'onMessage(listener: (data: string | Uint8Array) => void): () => void;',
+          signature: 'readonly header?: string;',
         },
         {
-          name: 'onClose',
+          name: 'formField',
           summary: '',
-          signature:
-            'onClose(listener: (event: WebSocketCloseEvent) => void): () => void;',
+          signature: 'readonly formField?: string;',
         },
+      ],
+    },
+    {
+      name: 'enforceHttps',
+      anchor: 'enforce-https',
+      signature:
+        'enforceHttps: (options?: { trustProxy?: boolean; status?: 301 | 302 | 307 | 308; }) => Middleware',
+      typeOnly: true,
+      summary:
+        'Creates middleware that redirects non-HTTPS requests to their HTTPS equivalent.',
+      tags: {
+        param: [
+          "options.trustProxy - When true, honors the `X-Forwarded-Proto` header (first value)\ninstead of the request's own scheme, for use behind a TLS-terminating proxy.",
+          'options.status - Redirect status code to use. Defaults to `308` (permanent, method-preserving).',
+        ],
+      },
+    },
+    {
+      name: 'MemoryRateLimitStoreOptions',
+      anchor: 'memory-rate-limit-store-options',
+      signature: 'MemoryRateLimitStoreOptions: any',
+      typeOnly: true,
+      summary: 'Options for {@link createMemoryRateLimitStore}.',
+      members: [
         {
-          name: 'onError',
+          name: 'now',
           summary: '',
-          signature: 'onError(listener: (error: unknown) => void): () => void;',
+          signature: 'readonly now?: () => number;',
+        },
+        {
+          name: 'maxEntries',
+          summary:
+            'Maximum active keys retained in memory. Defaults to 10,000.',
+          signature: 'readonly maxEntries?: number;',
         },
       ],
     },
-  ],
-  symbols41: [
     {
-      name: 'ApiRoute',
-      anchor: 'api-route',
-      signature: 'ApiRoute: any',
+      name: 'rateLimit',
+      anchor: 'rate-limit',
+      signature: 'rateLimit: (options: RateLimitOptions) => Middleware',
       typeOnly: true,
       summary:
-        'A single registered route: a path/method pattern paired with a handler (or WebSocket upgrade handler).',
+        'Creates middleware that enforces a request-rate limit per key (e.g. per client), adding\n`RateLimit-*` response headers and returning `429 Too Many Requests` with `Retry-After`\nwhen the limit is exceeded. Genuine CORS preflight requests (`OPTIONS` with both `Origin`\nand `Access-Control-Request-Method`) are quota-neutral regardless of middleware order.',
+      tags: {
+        param: [
+          'options - Limit, window, key resolver, and optional store/clock.',
+        ],
+        throws: [
+          '{Error} If `limit` is not a positive integer or `windowMs` is not positive.',
+        ],
+      },
+    },
+    {
+      name: 'RateLimitOptions',
+      anchor: 'rate-limit-options',
+      signature: 'RateLimitOptions: any',
+      typeOnly: true,
+      summary: 'Options for {@link rateLimit}.',
       members: [
         {
-          name: 'path',
+          name: 'store',
           summary: '',
-          signature: 'path: string;',
+          signature: 'readonly store?: RateLimitStore;',
         },
         {
-          name: 'method',
+          name: 'limit',
           summary: '',
-          signature: 'method?: string | readonly string[];',
+          signature: 'readonly limit: number;',
         },
         {
-          name: 'handler',
+          name: 'windowMs',
           summary: '',
-          signature: 'handler: Handler<RouteParams>;',
+          signature: 'readonly windowMs: number;',
         },
         {
-          name: 'upgrade',
+          name: 'key',
+          summary:
+            'Returns an application-trusted bucket identity. Proxy headers are\nintentionally never interpreted by this middleware.',
+          signature:
+            'readonly key: (context: Parameters<Middleware>[0]) => string;',
+        },
+        {
+          name: 'now',
           summary: '',
-          signature: 'upgrade?: WebSocketHandler<RouteParams>;',
+          signature: 'readonly now?: () => number;',
         },
       ],
     },
     {
-      name: 'ApiRouteOptions',
-      anchor: 'api-route-options',
-      signature: 'ApiRouteOptions: any',
+      name: 'RateLimitStore',
+      anchor: 'rate-limit-store',
+      signature: 'RateLimitStore: any',
       typeOnly: true,
-      summary: 'Per-route configuration shared by {@link ApiRoute}.',
+      summary:
+        'Pluggable backing store for {@link rateLimit}, tracking request counts per key/window.',
       members: [
         {
-          name: 'auth',
-          summary: '',
-          signature: 'auth?: AuthRequirement;',
-        },
-        {
-          name: 'middleware',
-          summary: '',
-          signature: 'middleware?: readonly Middleware<RouteParams>[];',
-        },
-        {
-          name: 'maxRequestBytes',
+          name: 'consume',
           summary: '',
-          signature: 'maxRequestBytes?: number;',
+          signature:
+            'consume(key: string, limit: number, windowMs: number): Promise<{\n    readonly remaining: number;\n    /** Epoch milliseconds at which the current window resets. */\n    readonly reset: number;\n    readonly allowed: boolean;\n  }>;',
         },
       ],
     },
     {
-      name: 'createRouter',
-      anchor: 'create-router',
-      signature: 'createRouter: () => Router',
+      name: 'requestId',
+      anchor: 'request-id',
+      signature:
+        'requestId: (options?: { header?: string; generate?: () => string; }) => Middleware',
       typeOnly: true,
       summary:
-        'Creates an empty, mutable {@link Router} with chainable HTTP-method route builders\n(`get`, `post`, `put`, `patch`, `delete`, `options`, `head`, `trace`, `connect`, `ws`) and a\n`use` method for registering middleware.',
+        'Creates middleware that reads a request ID from an incoming header (generating one if\nabsent), stores it on `ctx.state.requestId`, and echoes it back on the response header.',
       tags: {
-        returns: ['A new router instance.'],
+        param: [
+          'options.header - Header name to read/write. Defaults to `x-request-id`.',
+          'options.generate - ID generator used when the header is absent. Defaults to `crypto.randomUUID()`.',
+        ],
       },
     },
     {
-      name: 'defineRoutes',
-      anchor: 'define-routes',
+      name: 'securityHeaders',
+      anchor: 'security-headers',
       signature:
-        'defineRoutes: (definition: (route: RouteBuilder) => void) => ApiRoute[]',
+        'securityHeaders: (options?: { contentSecurityPolicy?: string | ((context: ServerContext) => string); referrerPolicy?: string; frameOptions?: string; }) => Middleware',
       typeOnly: true,
       summary:
-        'Builds a flat list of {@link ApiRoute}s by invoking `definition` with a {@link RouteBuilder}.\nUseful for defining a set of routes without a full {@link Router} (e.g. to compose into one).',
+        'Creates middleware that adds standard security headers to every response:\n`X-Content-Type-Options: nosniff`, `Referrer-Policy`, `X-Frame-Options`, and (if configured)\n`Content-Security-Policy`.',
       tags: {
         param: [
-          'definition - Callback that registers routes via the provided builder.',
+          'options.contentSecurityPolicy - A static CSP string, or a function of the request\ncontext (e.g. to embed a per-request nonce). Omitted if not set.',
+          'options.referrerPolicy - Defaults to `strict-origin-when-cross-origin`.',
+          'options.frameOptions - Defaults to `DENY`.',
         ],
-        returns: ['The collected routes.'],
       },
     },
     {
-      name: 'Handler',
-      anchor: 'handler',
+      name: 'trace',
+      anchor: 'trace',
       signature:
-        'Handler: {\n  bivarianceHack(context: ServerContext<RouteParams>): Response | Promise<Response>;\n}["bivarianceHack"]',
+        'trace: (start: (context: ServerContext) => void | (() => void | Promise<void>)) => Middleware',
       typeOnly: true,
       summary:
-        'A route handler function that produces a response for a given {@link ServerContext}.',
+        'Creates middleware that invokes `start` at the beginning of each request and, if it returns\na function, invokes that function after the downstream chain settles (success or throw) —\ne.g. to open and close a tracing span around the request.',
+      tags: {
+        param: [
+          'start - Called with the request context; may return a cleanup/finish callback.',
+        ],
+      },
     },
+  ],
+  symbols47: [
     {
-      name: 'Middleware',
-      anchor: 'middleware',
+      name: 'ActionHandler',
+      anchor: 'action-handler',
       signature:
-        'Middleware: {\n  bivarianceHack(context: ServerContext<RouteParams>, next: Next): Response | Promise<Response>;\n}["bivarianceHack"]',
+        'ActionHandler: (context: ActionHandlerContext, input: Input, dependencies: Dependencies) => ActionOutcome<Result> | Promise<ActionOutcome<Result>>',
       typeOnly: true,
       summary:
-        'A middleware function that may short-circuit or delegate to `next` to produce a response.',
+        "A server action's business logic: validated `input` in, an {@link ActionOutcome} out.",
     },
     {
-      name: 'RouteBuilder',
-      anchor: 'route-builder',
-      signature: 'RouteBuilder: any',
+      name: 'ActionOutcome',
+      anchor: 'action-outcome',
+      signature: 'ActionOutcome: any',
       typeOnly: true,
       summary:
-        'Chainable, per-HTTP-method route registration methods, one per method plus `ws` for WebSockets.',
+        'The result of a successful {@link ActionHandler} invocation: an optional redirect, result payload, and cookies.',
       members: [
         {
-          name: 'route',
-          summary: '',
-          signature:
-            'route<const Path extends string>(method: string | readonly string[], path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
-        },
-        {
-          name: 'get',
+          name: 'redirect',
           summary: '',
-          signature:
-            'get<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'readonly redirect?: string;',
         },
         {
-          name: 'post',
+          name: 'result',
           summary: '',
-          signature:
-            'post<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'readonly result?: Result;',
         },
         {
-          name: 'put',
+          name: 'cookies',
           summary: '',
-          signature:
-            'put<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'readonly cookies?: readonly ActionCookieInstruction[];',
         },
+      ],
+    },
+    {
+      name: 'ActionRegistry',
+      anchor: 'action-registry',
+      signature: 'ActionRegistry: any',
+      typeOnly: true,
+      summary:
+        'A registry of server actions, as created by {@link defineServerActions }, used by {@link createAskrPageHandler }.',
+      members: [
         {
-          name: 'patch',
+          name: 'entries',
           summary: '',
           signature:
-            'patch<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'readonly entries: readonly Readonly<{\n    descriptor: ActionDescriptor;\n  }>[];',
         },
         {
-          name: 'delete',
+          name: 'csrfToken',
           summary: '',
           signature:
-            'delete<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'csrfToken(context: ServerContext): Promise<string | undefined>;',
         },
         {
-          name: 'options',
+          name: 'execute',
           summary: '',
           signature:
-            'options<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+            'execute(context: ServerContext, options: ActionExecutionOptions): Promise<ActionExecution | undefined>;',
         },
+      ],
+    },
+    {
+      name: 'AskrApp',
+      anchor: 'askr-app',
+      signature: 'AskrApp: any',
+      typeOnly: true,
+      summary:
+        'A configured Askr application, as returned by {@link createAskrApp}.',
+      members: [
         {
-          name: 'head',
+          name: 'fetch',
           summary: '',
-          signature:
-            'head<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'fetch(request: Request): Promise<Response>;',
         },
         {
-          name: 'trace',
+          name: 'toOpenApiDocument',
           summary: '',
-          signature:
-            'trace<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'toOpenApiDocument(): OpenApiDocument;',
         },
         {
-          name: 'connect',
+          name: 'close',
           summary: '',
-          signature:
-            'connect<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'close(): Promise<void>;',
         },
+      ],
+    },
+    {
+      name: 'AskrAppApi',
+      anchor: 'askr-app-api',
+      signature: 'AskrAppApi: any',
+      typeOnly: true,
+      summary:
+        'The API group passed to {@link AskrAppApiOptions.define}, extended with a `schema` helper.',
+      members: [
         {
-          name: 'ws',
+          name: 'schema',
           summary: '',
-          signature:
-            'ws<const Path extends string>(path: Path, handler: WebSocketHandler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): ApiRoute<PathParams<Path>>;',
+          signature: 'schema: ApiDefinition<Dependencies>["schema"];',
         },
       ],
     },
     {
-      name: 'Router',
-      anchor: 'router',
-      signature: 'Router: any',
+      name: 'AskrAppOptions',
+      anchor: 'askr-app-options',
+      signature: 'AskrAppOptions: any',
       typeOnly: true,
-      summary:
-        'A mutable collection of routes and middleware, built with chainable per-method registration\nmethods (each returning the router itself for chaining) and a `use` method for middleware.',
+      summary: 'Options for {@link createAskrApp}.',
       members: [
         {
-          name: 'routes',
+          name: 'name',
           summary: '',
-          signature: 'readonly routes: readonly ApiRoute[];',
+          signature: 'readonly name: string;',
         },
         {
-          name: 'middleware',
+          name: 'version',
           summary: '',
-          signature: 'readonly middleware: readonly Middleware[];',
+          signature: 'readonly version: string;',
         },
         {
-          name: 'use',
+          name: 'dependencies',
           summary: '',
-          signature: 'use(...middleware: Middleware[]): Router;',
+          signature: 'readonly dependencies: Dependencies;',
         },
         {
-          name: 'route',
+          name: 'pages',
           summary: '',
-          signature:
-            'route<const Path extends string>(method: string | readonly string[], path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly pages: RouteRegistry;',
         },
         {
-          name: 'get',
+          name: 'queryRegistry',
           summary: '',
-          signature:
-            'get<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly queryRegistry?: ServerQueryRegistry;',
         },
         {
-          name: 'post',
+          name: 'api',
           summary: '',
-          signature:
-            'post<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly api?: AskrAppApiOptions<Dependencies>;',
         },
         {
-          name: 'put',
+          name: 'actions',
           summary: '',
           signature:
-            'put<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+            'readonly actions?: ActionRegistryOptions & {\n    readonly handlers: readonly ActionRegistration<Dependencies>[];\n  };',
         },
         {
-          name: 'patch',
+          name: 'auth',
           summary: '',
-          signature:
-            'patch<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly auth?: AskrAppAuthOptions<P>;',
         },
         {
-          name: 'delete',
+          name: 'middleware',
           summary: '',
-          signature:
-            'delete<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly middleware?: readonly Middleware[];',
         },
         {
-          name: 'options',
+          name: 'probes',
           summary: '',
-          signature:
-            'options<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly probes?: ProbeOptions;',
         },
         {
-          name: 'head',
+          name: 'telemetry',
           summary: '',
-          signature:
-            'head<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly telemetry?: ServerTelemetry;',
         },
         {
-          name: 'trace',
+          name: 'onError',
           summary: '',
-          signature:
-            'trace<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+          signature: 'readonly onError?: ServerAppOptions["onError"];',
         },
         {
-          name: 'connect',
+          name: 'onAccessDenied',
           summary: '',
           signature:
-            'connect<const Path extends string>(path: Path, handler: Handler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+            'readonly onAccessDenied?: ServerAppOptions["onAccessDenied"];',
         },
         {
-          name: 'ws',
+          name: 'close',
           summary: '',
           signature:
-            'ws<const Path extends string>(path: Path, handler: WebSocketHandler<PathParams<Path>>, options?: ApiRouteOptions<PathParams<Path>>): Router;',
+            'readonly close?: (dependencies: Dependencies) => void | Promise<void>;',
+        },
+        {
+          name: 'cspNonce',
+          summary: '',
+          signature: 'readonly cspNonce?: CspNonceProvider;',
         },
       ],
     },
     {
-      name: 'WebSocketHandler',
-      anchor: 'web-socket-handler',
-      signature:
-        'WebSocketHandler: {\n  bivarianceHack(socket: WebSocketLike, context: ServerContext<RouteParams>): void | Promise<void>;\n}["bivarianceHack"]',
+      name: 'AskrPageHandlerOptions',
+      anchor: 'askr-page-handler-options',
+      signature: 'AskrPageHandlerOptions: any',
       typeOnly: true,
-      summary:
-        'Handler invoked with a live {@link WebSocketLike} once a connection has been upgraded.',
+      summary: 'Options for {@link createAskrPageHandler}.',
+      members: [
+        {
+          name: 'registry',
+          summary: '',
+          signature: 'registry: RouteRegistry;',
+        },
+        {
+          name: 'auth',
+          summary: '',
+          signature: 'auth?: RouteAuthOptions;',
+        },
+        {
+          name: 'queryRegistry',
+          summary: '',
+          signature: 'queryRegistry?: ServerQueryRegistry;',
+        },
+        {
+          name: 'seed',
+          summary: '',
+          signature: 'seed?: number;',
+        },
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: ActionRegistry;',
+        },
+        {
+          name: 'cspNonce',
+          summary: '',
+          signature: 'cspNonce?: CspNonceProvider;',
+        },
+      ],
     },
-  ],
-  symbols42: [
     {
-      name: 'accepted',
-      anchor: 'accepted',
+      name: 'createAskrApp',
+      anchor: 'create-askr-app',
       signature:
-        'accepted: (value?: JsonValue, init?: ResponseInit) => Response',
+        'createAskrApp: <Dependencies, P extends Principal = Principal>(options: AskrAppOptions<Dependencies, P>) => AskrApp',
       typeOnly: true,
       summary:
-        'Builds a `202 Accepted` response; JSON-serializes `value` if given, otherwise an empty body.',
-    },
-    {
-      name: 'accepts',
-      anchor: 'accepts',
-      signature: 'accepts: (value: string, expected: string) => boolean',
-      typeOnly: true,
-    },
-    {
-      name: 'bad',
-      anchor: 'bad',
-      signature: 'bad: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Alias for {@link badRequest}.',
+        'Assembles a complete Askr application from page routes, an optional OpenAPI-described API,\noptional server actions, and optional authentication — wiring an API router (mounted at\n`options.api?.prefix`, default `/api`), auth routes, and a page-rendering fallback handler\ninto a single {@link ServerApp }-like object.',
+      tags: {
+        param: [
+          'options - Pages registry, dependencies, API/auth/action configuration, and lifecycle hooks.',
+        ],
+        returns: [
+          'An {@link AskrApp} exposing `fetch`, `toOpenApiDocument`, and `close`.',
+        ],
+        throws: [
+          '{Error} If `options.api.prefix` is invalid, or collides with the reserved `/auth` prefix.',
+        ],
+      },
     },
     {
-      name: 'badRequest',
-      anchor: 'bad-request',
+      name: 'createAskrPageHandler',
+      anchor: 'create-askr-page-handler',
       signature:
-        'badRequest: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `400 Bad Request` Problem Details response.',
-    },
-    {
-      name: 'challenge',
-      anchor: 'challenge',
-      signature: 'challenge: (options?: ChallengeOptions) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `401`/`407` Problem Details response with a `WWW-Authenticate` (or\n`Proxy-Authenticate` for `407`) challenge header.',
-    },
-    {
-      name: 'clearCookie',
-      anchor: 'clear-cookie',
-      signature:
-        'clearCookie: (response: Response, name: string, options?: CookieOptions) => Response',
+        'createAskrPageHandler: (options: AskrPageHandlerOptions) => Handler',
       typeOnly: true,
       summary:
-        'Returns a clone of `response` with a `Set-Cookie` header that expires and clears `name`.',
+        "Creates a catch-all route {@link Handler} that server-renders Askr framework pages: routes\n`GET`/`HEAD` requests through Askr's SSR pipeline, and (if `options.actions` is provided)\ndispatches `POST` requests as form actions, re-rendering the page with validation errors on\nfailure or following a redirect/response on success.",
       tags: {
-        throws: [
-          '{TypeError} If the cookie domain or path contains invalid attribute characters.',
+        param: [
+          'options - Route registry, auth policy, query registry, action registry, and CSP nonce provider.',
         ],
+        throws: ['{Error} If `options.registry` is not provided.'],
       },
     },
     {
-      name: 'conflict',
-      anchor: 'conflict',
-      signature: 'conflict: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `409 Conflict` Problem Details response.',
-    },
-    {
-      name: 'contentType',
-      anchor: 'content-type',
-      signature: 'contentType: (value: string | null) => string | undefined',
-      typeOnly: true,
-    },
-    {
-      name: 'created',
-      anchor: 'created',
-      signature:
-        'created: (value?: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `201 Created` response; JSON-serializes `value` if given, otherwise an empty body.',
-    },
-    {
-      name: 'createEventStream',
-      anchor: 'create-event-stream',
+      name: 'defineServerActions',
+      anchor: 'define-server-actions',
       signature:
-        'createEventStream: (options?: EventStreamOptions) => EventStream',
+        'defineServerActions: <Dependencies>(options: ServerActionsOptions<Dependencies>, ...entries: readonly ActionRegistration<Dependencies>[]) => ActionRegistry',
       typeOnly: true,
       summary:
-        'Creates a Server-Sent Events stream backed by a `text/event-stream` `Response`, with\nbounded backpressure-aware writes, optional heartbeat comments, and automatic closing when\n`options.signal` aborts or `close()` is called.',
+        'Builds an {@link ActionRegistry} from a set of {@link ActionEntry}s (via {@link handleAction}),\nwiring up CSRF token issuance/verification (unless `options.csrf` is `false`), submission\nparsing (JSON or form-encoded), input validation, telemetry, and response negotiation\n(redirect vs. JSON envelope) for each action invocation.',
       tags: {
         param: [
-          'options - Stream configuration (abort signal, heartbeat interval, backpressure, headers).',
-        ],
-        returns: [
-          'An {@link EventStream} exposing the response plus `send`/`comment`/`close` methods.',
-        ],
-        throws: [
-          '{TypeError} If `highWaterMark` or `heartbeatInterval` are not positive safe integers.',
+          'options - Dependencies to inject into handlers, plus CSRF configuration.',
+          'entries - The registered actions.',
         ],
+        throws: ['{Error} If two entries share the same action ID.'],
       },
     },
     {
-      name: 'error',
-      anchor: 'error',
+      name: 'handleAction',
+      anchor: 'handle-action',
       signature:
-        'error: (status?: number, detail?: string, init?: ResponseInit) => Response',
+        'handleAction: <Dependencies, Input extends Record<string, unknown>, Result = unknown>(descriptor: ActionDescriptor<Input>, handler: ActionHandler<Dependencies, Input, Result>) => ActionEntry<Dependencies, Input, Result>',
       typeOnly: true,
       summary:
-        'Builds a Problem Details error response with a configurable status (default `500`).',
+        'Pairs an action descriptor (its ID and input schema) with a typed handler, ready to pass to\n{@link defineServerActions}.',
     },
     {
-      name: 'EventStream',
-      anchor: 'event-stream',
-      signature: 'EventStream: any',
+      name: 'ServerActionsOptions',
+      anchor: 'server-actions-options',
+      signature: 'ServerActionsOptions: any',
+      typeOnly: true,
+      summary: 'Options for {@link defineServerActions }.',
+      members: [
+        {
+          name: 'dependencies',
+          summary: '',
+          signature: 'readonly dependencies: Dependencies;',
+        },
+      ],
+    },
+  ],
+  symbols48: [
+    {
+      name: 'AuthRouteError',
+      anchor: 'auth-route-error',
+      signature: 'AuthRouteError: typeof AuthRouteError',
       typeOnly: true,
       summary:
-        'A live Server-Sent Events stream, backed by a streaming `Response`.',
+        'Error thrown from `register`/`authenticate`/etc. callbacks to short-circuit an auth route with a specific status.',
       members: [
         {
-          name: 'response',
+          name: 'status',
           summary: '',
-          signature: 'readonly response: Response;',
+          signature: 'readonly status: 401 | 409 | 429;',
         },
+      ],
+    },
+    {
+      name: 'AuthRouteOptions',
+      anchor: 'auth-route-options',
+      signature: 'AuthRouteOptions: any',
+      typeOnly: true,
+      summary: 'Configuration for {@link registerAuthRoutes}.',
+      members: [
         {
-          name: 'closed',
+          name: 'issuer',
           summary: '',
-          signature: 'readonly closed: Promise<void>;',
+          signature: 'issuer: TokenIssuer<P>;',
         },
         {
-          name: 'send',
-          summary:
-            'Queues an event in order. Await or otherwise handle the returned promise before producing\nwithout bound. Rejects with `QuotaExceededError` when the pending-write limit is full.',
-          signature: 'send(event: ServerSentEvent): Promise<void>;',
+          name: 'cookie',
+          summary: '',
+          signature: 'cookie: CookieOptions & {\n    name: string;\n  };',
         },
         {
-          name: 'comment',
-          summary:
-            'Queues an SSE comment in order. Rejects with `QuotaExceededError` when the pending-write\nlimit is full.',
-          signature: 'comment(value: string): Promise<void>;',
+          name: 'principalSchema',
+          summary: '',
+          signature: 'principalSchema: Schema;',
         },
         {
-          name: 'close',
+          name: 'register',
           summary: '',
-          signature: 'close(): Promise<void>;',
+          signature:
+            'register(context: ServerContext, credentials: AuthCredentials): P | Promise<P>;',
         },
-      ],
-    },
-    {
-      name: 'EventStreamOptions',
-      anchor: 'event-stream-options',
-      signature: 'EventStreamOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createEventStream}.',
-      members: [
         {
-          name: 'signal',
-          summary: 'Aborting this signal closes the stream.',
-          signature: 'signal?: AbortSignal;',
+          name: 'authenticate',
+          summary: '',
+          signature:
+            'authenticate(context: ServerContext, credentials: AuthCredentials): P | null | Promise<P | null>;',
         },
         {
-          name: 'heartbeatInterval',
-          summary:
-            'If set, sends a `heartbeat` comment on this interval (in ms) to keep the connection alive.',
-          signature: 'heartbeatInterval?: number;',
+          name: 'allowAttempt',
+          summary: '',
+          signature:
+            'allowAttempt(context: ServerContext, operation: "register" | "authenticate", normalizedEmail: string): boolean | Promise<boolean>;',
         },
         {
-          name: 'highWaterMark',
-          summary:
-            'Backpressure threshold for the underlying `ReadableStream` and maximum number of\nunresolved `send()`/`comment()` calls admitted at once. Defaults to 16.',
-          signature: 'highWaterMark?: number;',
+          name: 'revoke',
+          summary: '',
+          signature: 'revoke?(context: ServerContext): void | Promise<void>;',
         },
         {
-          name: 'headers',
+          name: 'redirect',
           summary: '',
-          signature: 'headers?: HeadersInit;',
+          signature:
+            'redirect?: (context: ServerContext, operation: "register" | "authenticate", principal: P) => string | undefined;',
         },
       ],
     },
     {
-      name: 'explicitlyAccepts',
-      anchor: 'explicitly-accepts',
-      signature:
-        'explicitlyAccepts: (value: string, expected: string) => boolean',
-      typeOnly: true,
-    },
-    {
-      name: 'forbidden',
-      anchor: 'forbidden',
+      name: 'registerAuthRoutes',
+      anchor: 'register-auth-routes',
       signature:
-        'forbidden: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `403 Forbidden` Problem Details response.',
-    },
-    {
-      name: 'formatServerSentEvent',
-      anchor: 'format-server-sent-event',
-      signature: 'formatServerSentEvent: (event: ServerSentEvent) => string',
+        'registerAuthRoutes: <Dependencies, P extends Principal>(api: Pick<ApiDefinition<Dependencies>, "group">, options: AuthRouteOptions<P>) => void',
       typeOnly: true,
       summary:
-        'Serializes a {@link ServerSentEvent} to the `text/event-stream` wire format, escaping\nmulti-line data/comment fields and validating that `event`/`id` contain no line breaks.',
+        'Registers a standard set of authentication routes (`POST /auth/v1/accounts`,\n`GET/POST /auth/v1/session`, `DELETE /auth/v1/session`) on an OpenAPI-style API/group,\nhandling registration, login, session lookup, and logout with CSRF protection via a\nsame-origin `Origin` header check, per-attempt rate limiting, and cookie-based token storage.',
       tags: {
-        throws: [
-          '{TypeError} If `event`, `id`, or `retry` contain invalid characters/values.',
+        param: [
+          'api - The API or group to register routes on (only its `group` method is used).',
+          'options - Issuer, cookie configuration, principal schema, and register/authenticate/\nallowAttempt/revoke/redirect callbacks.',
         ],
       },
     },
     {
-      name: 'internalServerError',
-      anchor: 'internal-server-error',
-      signature:
-        'internalServerError: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `500 Internal Server Error` Problem Details response.',
-    },
-    {
-      name: 'json',
-      anchor: 'json',
-      signature: 'json: (value: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `200 OK`-shaped JSON response, serializing `value` and setting the JSON content type.',
-    },
-    {
-      name: 'methodNotAllowed',
-      anchor: 'method-not-allowed',
-      signature:
-        'methodNotAllowed: (allow?: string | readonly string[], init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `405 Method Not Allowed` Problem Details response, setting the `Allow` header if given.',
-    },
-    {
-      name: 'noContent',
-      anchor: 'no-content',
-      signature: 'noContent: (init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `204 No Content` response with an empty body.',
-    },
-    {
-      name: 'notFound',
-      anchor: 'not-found',
-      signature: 'notFound: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `404 Not Found` Problem Details response.',
-    },
-    {
-      name: 'notImplemented',
-      anchor: 'not-implemented',
-      signature:
-        'notImplemented: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `501 Not Implemented` Problem Details response.',
-    },
-    {
-      name: 'ok',
-      anchor: 'ok',
-      signature: 'ok: (value?: JsonValue, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a `200 OK` response; JSON-serializes `value` if given, otherwise an empty body.',
-    },
-    {
-      name: 'problem',
-      anchor: 'problem',
+      name: 'safeRedirect',
+      anchor: 'safe-redirect',
       signature:
-        'problem: (status: number, detail?: string, options?: ProblemOptions & { init?: ResponseInit; }) => Response',
+        'safeRedirect: (fallback: string, options?: SafeRedirectOptions) => (value: unknown) => string',
       typeOnly: true,
       summary:
-        'Builds an RFC 9457 `application/problem+json` response, defaulting `type` to `about:blank`\nand `title` to a standard reason phrase for the given `status` (falling back to "HTTP Error").',
+        'Creates a validator that resolves an untrusted redirect target to a safe, same-origin,\nrelative path — or to `fallback` if the value is unsafe (absolute, protocol-relative,\ncontains a scheme, control characters, `..` traversal, backslashes, or an unwanted hash).',
+      tags: {
+        param: [
+          'fallback - The safe path to use when the requested value is not itself safe. Must\nitself pass the safety check, or this function throws.',
+          'options - Redirect validation options.',
+        ],
+        returns: [
+          'A function `(value) => path` that returns `value` if safe, otherwise `fallback`.',
+        ],
+        throws: ['{Error} If `fallback` is not itself a safe path.'],
+      },
     },
+  ],
+  symbols49: [
     {
-      name: 'redirect',
-      anchor: 'redirect',
-      signature:
-        'redirect: (location: string, status?: 301 | 302 | 303 | 307 | 308) => Response',
+      name: 'ApiDefinition',
+      anchor: 'api-definition',
+      signature: 'ApiDefinition: any',
       typeOnly: true,
       summary:
-        'Builds a redirect response with an empty body and a `Location` header. Defaults to `302 Found`.',
-    },
-    {
-      name: 'serverError',
-      anchor: 'server-error',
-      signature:
-        'serverError: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Alias for {@link internalServerError}.',
+        'The root API definition returned by {@link createApi }: a top-level {@link ApiGroup} that can\nalso register reusable named schemas, build a concrete {@link Router} from its routes, and\nrender an {@link OpenApiDocument}.',
+      members: [
+        {
+          name: 'schema',
+          summary: '',
+          signature:
+            'schema<const Value extends Schema>(name: string, value: Value): Value;',
+        },
+        {
+          name: 'createRouter',
+          summary: '',
+          signature:
+            'createRouter: [Dependencies] extends [undefined] ? (dependencies?: undefined) => Router : (dependencies: Dependencies) => Router;',
+        },
+        {
+          name: 'toOpenApiDocument',
+          summary: '',
+          signature: 'toOpenApiDocument(): OpenApiDocument;',
+        },
+      ],
     },
     {
-      name: 'ServerSentEvent',
-      anchor: 'server-sent-event',
-      signature: 'ServerSentEvent: any',
+      name: 'ApiGroup',
+      anchor: 'api-group',
+      signature: 'ApiGroup: any',
       typeOnly: true,
       summary:
-        'A single Server-Sent Event; `data` is JSON-serialized unless already a string.',
+        'A prefixed group of routes within an {@link ApiDefinition}, supporting nested sub-groups,\nshared tags/middleware/auth/params, and per-HTTP-method route registration.',
       members: [
         {
-          name: 'data',
+          name: 'tags',
           summary: '',
-          signature: 'data?: unknown;',
+          signature: 'tags(...values: string[]): ApiGroup<Dependencies>;',
         },
         {
-          name: 'event',
+          name: 'use',
           summary: '',
-          signature: 'event?: string;',
+          signature:
+            'use(...middleware: Middleware[]): ApiGroup<Dependencies>;',
         },
         {
-          name: 'id',
+          name: 'access',
           summary: '',
-          signature: 'id?: string;',
+          signature:
+            'access(requirement: AuthRequirement, security: SecurityRequirement): ApiGroup<Dependencies>;',
         },
         {
-          name: 'retry',
+          name: 'pathParam',
           summary: '',
-          signature: 'retry?: number;',
+          signature:
+            'pathParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'serviceUnavailable',
-      anchor: 'service-unavailable',
-      signature:
-        'serviceUnavailable: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `503 Service Unavailable` Problem Details response.',
-    },
-    {
-      name: 'setCookie',
-      anchor: 'set-cookie',
-      signature:
-        'setCookie: (response: Response, name: string, value: string, options?: CookieOptions) => Response',
-      typeOnly: true,
-      summary:
-        'Returns a clone of `response` with an additional `Set-Cookie` header appended, serialized\nfrom `name`, `value`, and `options`.',
-      tags: {
-        throws: [
-          '{TypeError} If the cookie domain or path contains invalid attribute characters.',
-        ],
-      },
-    },
-    {
-      name: 'text',
-      anchor: 'text',
-      signature: 'text: (value: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary:
-        'Builds a plain-text response, setting the `text/plain; charset=utf-8` content type.',
-    },
-    {
-      name: 'tooManyRequests',
-      anchor: 'too-many-requests',
-      signature:
-        'tooManyRequests: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `429 Too Many Requests` Problem Details response.',
-    },
-    {
-      name: 'unauthorized',
-      anchor: 'unauthorized',
-      signature:
-        'unauthorized: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `401 Unauthorized` Problem Details response.',
-    },
-    {
-      name: 'unprocessableEntity',
-      anchor: 'unprocessable-entity',
-      signature:
-        'unprocessableEntity: (detail?: string, init?: ResponseInit) => Response',
-      typeOnly: true,
-      summary: 'Builds a `422 Unprocessable Entity` Problem Details response.',
-    },
-  ],
-  symbols43: [
-    {
-      name: 'accessLog',
-      anchor: 'access-log',
-      signature: 'accessLog: (logger: ResponseLogger) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates middleware that times each request and invokes `logger` with the request, response,\nduration, and (if present) request ID after the downstream chain resolves.',
-      tags: {
-        param: ['logger - Called once per request with the completed entry.'],
-      },
-    },
-    {
-      name: 'cors',
-      anchor: 'cors',
-      signature: 'cors: (options?: CorsOptions) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates CORS middleware that validates the request origin, answers preflight `OPTIONS`\nrequests with `204` and the appropriate `Access-Control-*` headers, and adds\n`Access-Control-Allow-Origin`/`Vary: Origin` (plus exposed headers) to actual responses.\nGenuine preflight is quota-neutral in {@link rateLimit } regardless of middleware order.',
-      tags: {
-        param: [
-          'options - Allowed origin(s)/methods/headers, credential support, and preflight max-age.',
-        ],
-        throws: [
-          '{TypeError} If `credentials` is combined with a wildcard origin, or `maxAgeSeconds`\nis not a non-negative safe integer.',
-        ],
-      },
-    },
-    {
-      name: 'CorsOptions',
-      anchor: 'cors-options',
-      signature: 'CorsOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link cors}.',
-      members: [
         {
-          name: 'origin',
+          name: 'queryParam',
           summary: '',
           signature:
-            'origin?: string | ((origin: string, context: ServerContext) => string | null);',
+            'queryParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
         },
         {
-          name: 'methods',
+          name: 'headerParam',
           summary: '',
-          signature: 'methods?: readonly string[];',
+          signature:
+            'headerParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
         },
         {
-          name: 'allowedHeaders',
+          name: 'cookieParam',
           summary: '',
-          signature: 'allowedHeaders?: readonly string[];',
+          signature:
+            'cookieParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
         },
         {
-          name: 'exposedHeaders',
+          name: 'group',
           summary: '',
-          signature: 'exposedHeaders?: readonly string[];',
+          signature:
+            'group<const Child extends string>(prefix: Child): ApiGroup<Dependencies, JoinPath<Prefix, Child>>;',
         },
         {
-          name: 'credentials',
+          name: 'get',
           summary: '',
-          signature: 'credentials?: boolean;',
+          signature: 'get: ApiMethod<Dependencies, Prefix>;',
         },
         {
-          name: 'maxAgeSeconds',
+          name: 'post',
           summary: '',
-          signature: 'maxAgeSeconds?: number;',
+          signature: 'post: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'put',
+          summary: '',
+          signature: 'put: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'patch',
+          summary: '',
+          signature: 'patch: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'delete',
+          summary: '',
+          signature: 'delete: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'options',
+          summary: '',
+          signature: 'options: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'head',
+          summary: '',
+          signature: 'head: ApiMethod<Dependencies, Prefix>;',
+        },
+        {
+          name: 'trace',
+          summary: '',
+          signature: 'trace: ApiMethod<Dependencies, Prefix>;',
         },
       ],
     },
     {
-      name: 'createCsrfToken',
-      anchor: 'create-csrf-token',
-      signature:
-        'createCsrfToken: (secret: string, sessionId: string) => Promise<string>',
-      typeOnly: true,
-      summary:
-        'Creates a CSRF token bound to a session ID, as an HMAC-SHA256 signature encoded base64url.',
-      tags: {
-        param: [
-          'secret - The HMAC secret; must match what {@link verifyCsrfToken} uses.',
-          'sessionId - The session ID to bind the token to.',
-        ],
-      },
-    },
-    {
-      name: 'createMemoryRateLimitStore',
-      anchor: 'create-memory-rate-limit-store',
+      name: 'ApiHandler',
+      anchor: 'api-handler',
       signature:
-        'createMemoryRateLimitStore: (options?: MemoryRateLimitStoreOptions) => RateLimitStore',
+        'ApiHandler: {\n  bivarianceHack(context: ServerContext<RouteParams>, dependencies: Dependencies): Response | Promise<Response>;\n}["bivarianceHack"]',
       typeOnly: true,
       summary:
-        "Creates an in-memory {@link RateLimitStore} backed by a `Map`, suitable for single-process\ndeployments. Expired keys are pruned before capacity eviction, then the least recently used key\nis evicted when `maxEntries` is reached. Eviction forgets that key's current quota; use a custom\nstore when the key space is adversarial or cannot be safely bounded for one process.",
-      tags: {
-        param: [
-          'options.now - Clock function used to determine window boundaries. Defaults to `Date.now`.',
-          'options.maxEntries - Maximum retained key count. Defaults to 10,000.',
-        ],
-      },
+        'A plain route handler registered via an {@link ApiGroup } method, receiving the resolved `dependencies`.',
     },
     {
-      name: 'csrf',
-      anchor: 'csrf',
-      signature: 'csrf: (options: CsrfOptions) => Middleware',
+      name: 'ApiInput',
+      anchor: 'api-input',
+      signature: 'ApiInput: any',
       typeOnly: true,
       summary:
-        'Creates middleware that enforces CSRF protection on state-changing requests (all methods\nexcept `GET`/`HEAD`/`OPTIONS`/`TRACE`) by requiring a valid token bound to the current\nsession, supplied via a request header or (for form-encoded bodies) a form field.',
-      tags: {
-        param: [
-          'options - HMAC secret, session ID resolver, and header/form field names.',
-        ],
-        throws: ['{Error} If `options.secret` is empty.'],
-      },
-    },
-    {
-      name: 'CsrfOptions',
-      anchor: 'csrf-options',
-      signature: 'CsrfOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link csrf}.',
+        "Declares the schemas for a route's inputs (path params, query, headers, body).",
       members: [
         {
-          name: 'secret',
+          name: 'params',
           summary: '',
-          signature: 'readonly secret: string;',
+          signature: 'readonly params?: ObjectSchema;',
         },
         {
-          name: 'sessionId',
+          name: 'query',
           summary: '',
-          signature:
-            'readonly sessionId?: (context: Parameters<Middleware>[0]) => string | undefined;',
+          signature: 'readonly query?: ObjectSchema;',
         },
         {
-          name: 'header',
+          name: 'headers',
           summary: '',
-          signature: 'readonly header?: string;',
+          signature: 'readonly headers?: ObjectSchema;',
         },
         {
-          name: 'formField',
+          name: 'body',
           summary: '',
-          signature: 'readonly formField?: string;',
+          signature: 'readonly body?: ApiBodyInput;',
         },
       ],
     },
     {
-      name: 'enforceHttps',
-      anchor: 'enforce-https',
-      signature:
-        'enforceHttps: (options?: { trustProxy?: boolean; status?: 301 | 302 | 307 | 308; }) => Middleware',
+      name: 'ApiOperation',
+      anchor: 'api-operation',
+      signature: 'ApiOperation: any',
       typeOnly: true,
       summary:
-        'Creates middleware that redirects non-HTTPS requests to their HTTPS equivalent.',
-      tags: {
-        param: [
-          "options.trustProxy - When true, honors the `X-Forwarded-Proto` header (first value)\ninstead of the request's own scheme, for use behind a TLS-terminating proxy.",
-          'options.status - Redirect status code to use. Defaults to `308` (permanent, method-preserving).',
-        ],
-      },
-    },
-    {
-      name: 'MemoryRateLimitStoreOptions',
-      anchor: 'memory-rate-limit-store-options',
-      signature: 'MemoryRateLimitStoreOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createMemoryRateLimitStore}.',
+        'A schema-typed route registered via an {@link ApiGroup } method: declares its `input` schemas\n(validated and bound before `handler` runs, with results typed via {@link InferApiInput}) and\noptional extra `documentation` for parameters/body not otherwise inferable.',
       members: [
         {
-          name: 'now',
+          name: 'input',
           summary: '',
-          signature: 'readonly now?: () => number;',
+          signature: 'readonly input?: Input;',
         },
         {
-          name: 'maxEntries',
-          summary:
-            'Maximum active keys retained in memory. Defaults to 10,000.',
-          signature: 'readonly maxEntries?: number;',
+          name: 'documentation',
+          summary: '',
+          signature: 'readonly documentation?: InputDocumentation;',
         },
-      ],
-    },
-    {
-      name: 'rateLimit',
-      anchor: 'rate-limit',
-      signature: 'rateLimit: (options: RateLimitOptions) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates middleware that enforces a request-rate limit per key (e.g. per client), adding\n`RateLimit-*` response headers and returning `429 Too Many Requests` with `Retry-After`\nwhen the limit is exceeded. Genuine CORS preflight requests (`OPTIONS` with both `Origin`\nand `Access-Control-Request-Method`) are quota-neutral regardless of middleware order.',
-      tags: {
-        param: [
-          'options - Limit, window, key resolver, and optional store/clock.',
-        ],
-        throws: [
-          '{Error} If `limit` is not a positive integer or `windowMs` is not positive.',
-        ],
-      },
+        {
+          name: 'handler',
+          summary: '',
+          signature:
+            'readonly handler: (context: ServerContext<RouteParams>, input: InferApiInput<Input>, dependencies: Dependencies) => Response | Promise<Response>;',
+        },
+      ],
     },
     {
-      name: 'RateLimitOptions',
-      anchor: 'rate-limit-options',
-      signature: 'RateLimitOptions: any',
+      name: 'ApiOptions',
+      anchor: 'api-options',
+      signature: 'ApiOptions: any',
       typeOnly: true,
-      summary: 'Options for {@link rateLimit}.',
+      summary: 'Options for {@link createApi }.',
       members: [
         {
-          name: 'store',
+          name: 'info',
           summary: '',
-          signature: 'readonly store?: RateLimitStore;',
+          signature: 'readonly info: ApiInfo;',
         },
         {
-          name: 'limit',
-          summary: '',
-          signature: 'readonly limit: number;',
+          name: 'metadata',
+          summary:
+            'Infer registration-safe metadata, or require fully authored public contracts.',
+          signature: 'readonly metadata?: "inferred" | "authored";',
         },
         {
-          name: 'windowMs',
+          name: 'servers',
           summary: '',
-          signature: 'readonly windowMs: number;',
-        },
-        {
-          name: 'key',
-          summary:
-            'Returns an application-trusted bucket identity. Proxy headers are\nintentionally never interpreted by this middleware.',
-          signature:
-            'readonly key: (context: Parameters<Middleware>[0]) => string;',
+          signature: 'readonly servers?: readonly ServerObject[];',
         },
         {
-          name: 'now',
+          name: 'externalDocs',
           summary: '',
-          signature: 'readonly now?: () => number;',
+          signature: 'readonly externalDocs?: ExternalDocumentationObject;',
         },
-      ],
-    },
-    {
-      name: 'RateLimitStore',
-      anchor: 'rate-limit-store',
-      signature: 'RateLimitStore: any',
-      typeOnly: true,
-      summary:
-        'Pluggable backing store for {@link rateLimit}, tracking request counts per key/window.',
-      members: [
         {
-          name: 'consume',
+          name: 'securitySchemes',
           summary: '',
           signature:
-            'consume(key: string, limit: number, windowMs: number): Promise<{\n    readonly remaining: number;\n    /** Epoch milliseconds at which the current window resets. */\n    readonly reset: number;\n    readonly allowed: boolean;\n  }>;',
+            'readonly securitySchemes?: Readonly<Record<string, SecurityScheme>>;',
+        },
+        {
+          name: 'validateResponses',
+          summary:
+            'Validate documented response bodies only when explicitly enabled outside production.',
+          signature: 'readonly validateResponses?: boolean;',
         },
       ],
     },
     {
-      name: 'requestId',
-      anchor: 'request-id',
-      signature:
-        'requestId: (options?: { header?: string; generate?: () => string; }) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates middleware that reads a request ID from an incoming header (generating one if\nabsent), stores it on `ctx.state.requestId`, and echoes it back on the response header.',
-      tags: {
-        param: [
-          'options.header - Header name to read/write. Defaults to `x-request-id`.',
-          'options.generate - ID generator used when the header is absent. Defaults to `crypto.randomUUID()`.',
-        ],
-      },
-    },
-    {
-      name: 'ResponseLogger',
-      anchor: 'response-logger',
-      signature:
-        'ResponseLogger: (entry: {\n  request: Request;\n  response: Response;\n  durationMs: number;\n  requestId?: string;\n}) => void',
-      typeOnly: true,
-      summary:
-        'Callback invoked by {@link accessLog} with details of a completed request.',
-    },
-    {
-      name: 'securityHeaders',
-      anchor: 'security-headers',
-      signature:
-        'securityHeaders: (options?: { contentSecurityPolicy?: string | ((context: ServerContext) => string); referrerPolicy?: string; frameOptions?: string; }) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates middleware that adds standard security headers to every response:\n`X-Content-Type-Options: nosniff`, `Referrer-Policy`, `X-Frame-Options`, and (if configured)\n`Content-Security-Policy`.',
-      tags: {
-        param: [
-          'options.contentSecurityPolicy - A static CSP string, or a function of the request\ncontext (e.g. to embed a per-request nonce). Omitted if not set.',
-          'options.referrerPolicy - Defaults to `strict-origin-when-cross-origin`.',
-          'options.frameOptions - Defaults to `DENY`.',
-        ],
-      },
-    },
-    {
-      name: 'trace',
-      anchor: 'trace',
-      signature:
-        'trace: (start: (context: ServerContext) => void | (() => void | Promise<void>)) => Middleware',
-      typeOnly: true,
-      summary:
-        'Creates middleware that invokes `start` at the beginning of each request and, if it returns\na function, invokes that function after the downstream chain settles (success or throw) —\ne.g. to open and close a tracing span around the request.',
-      tags: {
-        param: [
-          'start - Called with the request context; may return a cleanup/finish callback.',
-        ],
-      },
-    },
-    {
-      name: 'verifyCsrfToken',
-      anchor: 'verify-csrf-token',
+      name: 'createApi',
+      anchor: 'create-api',
       signature:
-        'verifyCsrfToken: (secret: string, sessionId: string, token: string) => Promise<boolean>',
+        'createApi: <Dependencies = undefined>(options: ApiOptions) => ApiDefinition<Dependencies>',
       typeOnly: true,
       summary:
-        'Verifies a CSRF token against a session ID using an HMAC-SHA256 signature.',
+        'Creates an OpenAPI-aware {@link ApiDefinition}: a schema-typed route builder that records\noperation metadata and input/response schemas as routes are registered, then can render the\nroutes as a concrete {@link Router } (`createRouter`) or as an OpenAPI document\n(`toOpenApiDocument`).',
       tags: {
         param: [
-          'secret - The HMAC secret used to sign tokens.',
-          'sessionId - The session ID the token should be bound to.',
-          'token - The base64url-encoded token to verify.',
-        ],
-        returns: [
-          '`true` if the token is a valid signature of `sessionId` under `secret`.',
+          'options - API-level metadata (title, version, servers, etc.) and validation settings.',
         ],
+        returns: ['The root {@link ApiDefinition}.'],
       },
     },
-  ],
-  symbols44: [
-    {
-      name: 'ActionCookieInstruction',
-      anchor: 'action-cookie-instruction',
-      signature:
-        'ActionCookieInstruction: {\n  readonly name: string;\n  readonly value: string;\n  readonly clear?: false;\n  readonly options?: CookieOptions;\n} | {\n  readonly name: string;\n  readonly clear: true;\n  readonly value?: never;\n  readonly options?: CookieOptions;\n}',
-      typeOnly: true,
-      summary: 'A cookie to set or clear as part of an {@link ActionOutcome}.',
-    },
     {
-      name: 'ActionEntry',
-      anchor: 'action-entry',
-      signature: 'ActionEntry: any',
+      name: 'OpenApiDocument',
+      anchor: 'open-api-document',
+      signature: 'OpenApiDocument: any',
       typeOnly: true,
       summary:
-        'A registered action: its descriptor (schema/id) paired with its handler, as produced by {@link handleAction }.',
+        'A complete OpenAPI 3.1 document, as produced by {@link ApiDefinition.toOpenApiDocument }.',
       members: [
         {
-          name: 'descriptor',
+          name: 'openapi',
           summary: '',
-          signature: 'readonly descriptor: ActionDescriptor<Input>;',
+          signature: 'readonly openapi: "3.1.2";',
         },
         {
-          name: 'handler',
+          name: 'info',
           summary: '',
-          signature:
-            'readonly handler: ActionHandler<Dependencies, Input, Result>;',
+          signature: 'readonly info: ApiInfo;',
         },
-      ],
-    },
-    {
-      name: 'ActionExecution',
-      anchor: 'action-execution',
-      signature:
-        'ActionExecution: {\n  readonly kind: "response";\n  readonly response: Response;\n} | {\n  readonly kind: "invalid";\n  readonly action: string;\n  readonly values: Readonly<Record<string, unknown>>;\n  readonly issues: readonly Issue[];\n  readonly fieldErrors: Readonly<Record<string, readonly string[]>>;\n}',
-      typeOnly: true,
-      summary:
-        'Result of {@link ActionRegistry.execute}: either a final response, or invalid-input details to re-render the page with.',
-    },
-    {
-      name: 'ActionExecutionOptions',
-      anchor: 'action-execution-options',
-      signature: 'ActionExecutionOptions: any',
-      typeOnly: true,
-      summary:
-        "Options passed to {@link ActionRegistry.execute} describing the current page's allowed actions.",
-      members: [
         {
-          name: 'authorized',
+          name: 'servers',
           summary: '',
-          signature: 'readonly authorized: readonly ActionDescriptor[];',
+          signature: 'readonly servers?: readonly ServerObject[];',
         },
         {
-          name: 'params',
+          name: 'paths',
           summary: '',
-          signature: 'readonly params: Params;',
+          signature:
+            'readonly paths: Readonly<Record<string, PathItemObject>>;',
         },
         {
-          name: 'policies',
+          name: 'components',
           summary: '',
-          signature: 'readonly policies: readonly RoutePolicy[];',
+          signature: 'readonly components: ComponentsObject;',
         },
         {
-          name: 'allowsRedirect',
+          name: 'externalDocs',
           summary: '',
-          signature: 'readonly allowsRedirect: (location: URL) => boolean;',
+          signature: 'readonly externalDocs?: ExternalDocumentationObject;',
         },
       ],
     },
     {
-      name: 'ActionHandler',
-      anchor: 'action-handler',
-      signature:
-        'ActionHandler: (context: ActionHandlerContext, input: Input, dependencies: Dependencies) => ActionOutcome<Result> | Promise<ActionOutcome<Result>>',
+      name: 'RouteBuilder',
+      anchor: 'route-builder',
+      signature: 'RouteBuilder: any',
       typeOnly: true,
       summary:
-        "A server action's business logic: validated `input` in, an {@link ActionOutcome} out.",
-    },
-    {
-      name: 'ActionHandlerContext',
-      anchor: 'action-handler-context',
-      signature: 'ActionHandlerContext: any',
-      typeOnly: true,
-      summary: 'Request-derived context passed to an {@link ActionHandler}.',
+        "Fluent builder for describing a single route's OpenAPI operation: metadata (operation ID,\nsummary, tags), request inputs (path/query/header/cookie params and body), and possible\nresponses (both status-coded shorthand methods like `ok`/`notFound` and the generic `response`).",
       members: [
         {
-          name: 'request',
-          summary: '',
-          signature: 'readonly request: Request;',
-        },
-        {
-          name: 'url',
-          summary: '',
-          signature: 'readonly url: URL;',
-        },
-        {
-          name: 'params',
-          summary: '',
-          signature: 'readonly params: Params;',
-        },
-        {
-          name: 'auth',
+          name: 'operationId',
           summary: '',
-          signature: 'readonly auth: AuthContext;',
+          signature: 'operationId(value: string): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'policies',
+          name: 'summary',
           summary: '',
-          signature: 'readonly policies: readonly RoutePolicy[];',
+          signature: 'summary(value: string): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'signal',
+          name: 'description',
           summary: '',
-          signature: 'readonly signal: AbortSignal;',
+          signature: 'description(value: string): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'ActionOutcome',
-      anchor: 'action-outcome',
-      signature: 'ActionOutcome: any',
-      typeOnly: true,
-      summary:
-        'The result of a successful {@link ActionHandler} invocation: an optional redirect, result payload, and cookies.',
-      members: [
         {
-          name: 'redirect',
+          name: 'tags',
           summary: '',
-          signature: 'readonly redirect?: string;',
+          signature: 'tags(...values: string[]): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'result',
+          name: 'deprecated',
           summary: '',
-          signature: 'readonly result?: Result;',
+          signature: 'deprecated(value?: boolean): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'cookies',
+          name: 'externalDocs',
           summary: '',
-          signature: 'readonly cookies?: readonly ActionCookieInstruction[];',
+          signature:
+            'externalDocs(url: string, description?: string): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'ActionRegistration',
-      anchor: 'action-registration',
-      signature: 'ActionRegistration: any',
-      typeOnly: true,
-      summary:
-        'A type-erased {@link ActionEntry}, as accepted by {@link defineServerActions }.',
-      members: [
         {
-          name: 'descriptor',
+          name: 'use',
           summary: '',
-          signature: 'readonly descriptor: ActionDescriptor;',
+          signature:
+            'use(...middleware: Middleware[]): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'handler',
+          name: 'maxRequestBytes',
           summary: '',
           signature:
-            'readonly handler: (context: ActionHandlerContext, input: never, dependencies: Dependencies) => ActionOutcome<unknown> | Promise<ActionOutcome<unknown>>;',
+            'maxRequestBytes(bytes: number): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'ActionRegistry',
-      anchor: 'action-registry',
-      signature: 'ActionRegistry: any',
-      typeOnly: true,
-      summary:
-        'A registry of server actions, as created by {@link defineServerActions }, used by {@link createAskrPageHandler }.',
-      members: [
         {
-          name: 'entries',
+          name: 'access',
           summary: '',
           signature:
-            'readonly entries: readonly Readonly<{\n    descriptor: ActionDescriptor;\n  }>[];',
+            'access(requirement: AuthRequirement, security: SecurityRequirement): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'csrfToken',
+          name: 'pathParam',
           summary: '',
           signature:
-            'csrfToken(context: ServerContext): Promise<string | undefined>;',
+            'pathParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'execute',
+          name: 'queryParam',
           summary: '',
           signature:
-            'execute(context: ServerContext, options: ActionExecutionOptions): Promise<ActionExecution | undefined>;',
+            'queryParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'ActionRegistryOptions',
-      anchor: 'action-registry-options',
-      signature: 'ActionRegistryOptions: any',
-      typeOnly: true,
-      summary: 'CSRF configuration shared by {@link ServerActionsOptions }.',
-      members: [
         {
-          name: 'csrf',
-          summary:
-            'Page actions are protected by session-bound CSRF by default.\n\nThe default identity is `context.auth.session?.id`, so anonymous pages do\nnot receive a token and their submissions are rejected. Pre-authentication\nforms such as login, signup, and password reset must establish an opaque\nguest session before rendering and return its stable identity from\n`sessionId`. The resolver identifies an existing session; it does not\ncreate or persist one.\n\nSet this to `false` only when the complete flow intentionally uses another\nCSRF defense.',
+          name: 'headerParam',
+          summary: '',
           signature:
-            'readonly csrf?: false | {\n    /** HMAC secret. A process-local random secret is generated when omitted. */\n    readonly secret?: string;\n    /**\n     * Resolves the authenticated or pre-authentication session identity\n     * used to issue and verify tokens. Returning `undefined` means no token\n     * is rendered and action submissions fail with `403`.\n     */\n    readonly sessionId?: (context: ServerContext) => string | undefined;\n    /** Enhanced-submission token header. Defaults to `x-askr-csrf-token`. */\n    readonly header?: string;\n    /** Native-form token field. Defaults to `_csrf`. */\n    readonly formField?: string;\n  };',
+            'headerParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'randomSecret',
+          name: 'cookieParam',
           summary: '',
-          signature: 'readonly randomSecret?: () => string;',
+          signature:
+            'cookieParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'AskrApp',
-      anchor: 'askr-app',
-      signature: 'AskrApp: any',
-      typeOnly: true,
-      summary:
-        'A configured Askr application, as returned by {@link createAskrApp}.',
-      members: [
         {
-          name: 'fetch',
+          name: 'jsonBody',
           summary: '',
-          signature: 'fetch(request: Request): Promise<Response>;',
+          signature:
+            'jsonBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'toOpenApiDocument',
+          name: 'formBody',
           summary: '',
-          signature: 'toOpenApiDocument(): OpenApiDocument;',
+          signature:
+            'formBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'close',
+          name: 'multipartBody',
           summary: '',
-          signature: 'close(): Promise<void>;',
+          signature:
+            'multipartBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'AskrAppApi',
-      anchor: 'askr-app-api',
-      signature: 'AskrAppApi: any',
-      typeOnly: true,
-      summary:
-        'The API group passed to {@link AskrAppApiOptions.define}, extended with a `schema` helper.',
-      members: [
         {
-          name: 'schema',
+          name: 'body',
           summary: '',
-          signature: 'schema: ApiDefinition<Dependencies>["schema"];',
+          signature:
+            'body(mediaType: string, value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'AskrAppApiOptions',
-      anchor: 'askr-app-api-options',
-      signature: 'AskrAppApiOptions: any',
-      typeOnly: true,
-      summary:
-        'Options for the OpenAPI-backed API portion of an {@link AskrApp}.',
-      members: [
         {
-          name: 'prefix',
+          name: 'response',
           summary: '',
-          signature: 'readonly prefix?: string;',
+          signature:
+            'response(status: number | string, value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'securitySchemes',
+          name: 'ok',
           summary: '',
           signature:
-            'readonly securitySchemes?: Readonly<Record<string, SecurityScheme>>;',
+            'ok(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'define',
+          name: 'created',
           summary: '',
           signature:
-            'readonly define?: (api: AskrAppApi<Dependencies>) => void;',
+            'created(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'validateResponses',
+          name: 'accepted',
           summary: '',
-          signature: 'readonly validateResponses?: boolean;',
+          signature:
+            'accepted(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'AskrAppAuthOptions',
-      anchor: 'askr-app-auth-options',
-      signature: 'AskrAppAuthOptions: any',
-      typeOnly: true,
-      summary:
-        'Authentication configuration for an {@link AskrApp}: request resolver, optional auth routes, and page auth policy.',
-      members: [
         {
-          name: 'resolver',
+          name: 'noContent',
           summary: '',
-          signature: 'readonly resolver: AuthResolver;',
+          signature:
+            'noContent(options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'routes',
+          name: 'movedPermanently',
           summary: '',
-          signature: 'readonly routes?: AuthRouteOptions<P>;',
+          signature:
+            'movedPermanently(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'pages',
+          name: 'found',
           summary: '',
-          signature: 'readonly pages?: RouteAuthOptions;',
+          signature:
+            'found(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
-      ],
-    },
-    {
-      name: 'AskrAppOptions',
-      anchor: 'askr-app-options',
-      signature: 'AskrAppOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createAskrApp}.',
-      members: [
         {
-          name: 'name',
+          name: 'seeOther',
           summary: '',
-          signature: 'readonly name: string;',
+          signature:
+            'seeOther(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'version',
+          name: 'temporaryRedirect',
           summary: '',
-          signature: 'readonly version: string;',
+          signature:
+            'temporaryRedirect(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'dependencies',
+          name: 'permanentRedirect',
           summary: '',
-          signature: 'readonly dependencies: Dependencies;',
+          signature:
+            'permanentRedirect(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'pages',
+          name: 'badRequest',
           summary: '',
-          signature: 'readonly pages: RouteRegistry;',
+          signature:
+            'badRequest(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'queryRegistry',
+          name: 'unauthorized',
           summary: '',
-          signature: 'readonly queryRegistry?: ServerQueryRegistry;',
+          signature:
+            'unauthorized(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'api',
+          name: 'forbidden',
           summary: '',
-          signature: 'readonly api?: AskrAppApiOptions<Dependencies>;',
+          signature:
+            'forbidden(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'actions',
+          name: 'notFound',
           summary: '',
           signature:
-            'readonly actions?: ActionRegistryOptions & {\n    readonly handlers: readonly ActionRegistration<Dependencies>[];\n  };',
+            'notFound(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'auth',
+          name: 'conflict',
           summary: '',
-          signature: 'readonly auth?: AskrAppAuthOptions<P>;',
+          signature:
+            'conflict(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'middleware',
+          name: 'unprocessableEntity',
           summary: '',
-          signature: 'readonly middleware?: readonly Middleware[];',
+          signature:
+            'unprocessableEntity(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'probes',
+          name: 'tooManyRequests',
           summary: '',
-          signature: 'readonly probes?: ProbeOptions;',
+          signature:
+            'tooManyRequests(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'telemetry',
+          name: 'methodNotAllowed',
           summary: '',
-          signature: 'readonly telemetry?: ServerTelemetry;',
+          signature:
+            'methodNotAllowed(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'onError',
+          name: 'internalServerError',
           summary: '',
-          signature: 'readonly onError?: ServerAppOptions["onError"];',
+          signature:
+            'internalServerError(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'onAccessDenied',
+          name: 'notImplemented',
           summary: '',
           signature:
-            'readonly onAccessDenied?: ServerAppOptions["onAccessDenied"];',
+            'notImplemented(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
         {
-          name: 'close',
+          name: 'serviceUnavailable',
           summary: '',
           signature:
-            'readonly close?: (dependencies: Dependencies) => void | Promise<void>;',
+            'serviceUnavailable(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
         },
+      ],
+    },
+    {
+      name: 'security',
+      anchor: 'security',
+      signature:
+        'security: Readonly<{ httpBearer(options?: { bearerFormat?: string; description?: string; }): SecurityScheme; httpBasic(options?: { description?: string; }): SecurityScheme; apiKey(name: string, location?: "header" | "query" | "cookie", options?: { description?: string; }): SecurityScheme; oauth2(flows: Record<string, unknown>, description?: string): SecurityScheme; openIdConnect(openIdConnectUrl: string, description?: string): SecurityScheme; require(name: string, scopes?: readonly string[]): SecurityRequirement; any(...requirements: readonly SecurityRequirement[]): SecurityRequirement; none(): SecurityRequirement; }>',
+      typeOnly: true,
+      summary:
+        "Helpers for building OpenAPI security schemes and requirements, used with\n`ApiGroup.access`/`RouteBuilder.access` to describe an operation's authentication needs.",
+    },
+    {
+      name: 'SecurityRequirement',
+      anchor: 'security-requirement',
+      signature: 'SecurityRequirement: readonly SecurityRequirementObject[]',
+      typeOnly: true,
+      summary:
+        'An OpenAPI security requirement (a list of alternative scheme+scopes requirements), as built by the {@link security } helpers.',
+    },
+    {
+      name: 'SecurityScheme',
+      anchor: 'security-scheme',
+      signature: 'SecurityScheme: Readonly<Record<string, unknown>>',
+      typeOnly: true,
+      summary:
+        'An OpenAPI security scheme definition, as built by the {@link security } helpers.',
+    },
+  ],
+  symbols50: [
+    {
+      name: 'createMcpServer',
+      anchor: 'create-mcp-server',
+      signature:
+        'createMcpServer: <Dependencies = undefined>(options: McpServerOptions) => McpServer<Dependencies>',
+      typeOnly: true,
+      summary:
+        'Creates a transport-neutral Model Context Protocol server: register tools, resources,\nresource templates, and prompts, then feed it JSON-RPC messages via `handle` (e.g. from\n{@link registerMcpRoutes }). Manages session negotiation, protocol version selection, and\nlist-changed notifications to subscribed clients.',
+      tags: {
+        param: [
+          'options - Server name/version/instructions and pagination settings.',
+        ],
+        returns: [
+          'An {@link McpServer} exposing registration methods, notification methods, and `handle`.',
+        ],
+        throws: [
+          '{TypeError} If `name`/`version` are blank, `pageSize` is invalid, or a duplicate\ntool/resource/template/prompt is registered.',
+        ],
+      },
+    },
+    {
+      name: 'McpContent',
+      anchor: 'mcp-content',
+      signature: 'McpContent: any',
+      typeOnly: true,
+      summary:
+        'A single piece of MCP content (text, image, resource link, etc.), keyed by `type`.',
+      members: [
         {
-          name: 'cspNonce',
+          name: 'type',
           summary: '',
-          signature: 'readonly cspNonce?: CspNonceProvider;',
+          signature: 'type: string;',
         },
       ],
     },
     {
-      name: 'AskrPageHandlerOptions',
-      anchor: 'askr-page-handler-options',
-      signature: 'AskrPageHandlerOptions: any',
+      name: 'McpContext',
+      anchor: 'mcp-context',
+      signature: 'McpContext: any',
       typeOnly: true,
-      summary: 'Options for {@link createAskrPageHandler}.',
+      summary:
+        'The per-request context passed to tool/resource/prompt handlers, exposing client info,\nnegotiated protocol/transport details, and `progress`/`log` callbacks for sending\nnotifications back to the client.',
       members: [
         {
-          name: 'registry',
+          name: 'dependencies',
           summary: '',
-          signature: 'registry: RouteRegistry;',
+          signature: 'readonly dependencies: Dependencies;',
         },
         {
           name: 'auth',
           summary: '',
-          signature: 'auth?: RouteAuthOptions;',
+          signature: 'readonly auth: AuthContext;',
         },
         {
-          name: 'queryRegistry',
+          name: 'client',
           summary: '',
-          signature: 'queryRegistry?: ServerQueryRegistry;',
+          signature:
+            'readonly client: {\n    name: string;\n    version: string;\n    title?: string;\n  } | null;',
         },
         {
-          name: 'seed',
+          name: 'clientCapabilities',
           summary: '',
-          signature: 'seed?: number;',
+          signature:
+            'readonly clientCapabilities: Readonly<Record<string, unknown>>;',
         },
         {
-          name: 'actions',
+          name: 'protocolRevision',
           summary: '',
-          signature: 'actions?: ActionRegistry;',
+          signature: 'readonly protocolRevision: McpProtocolRevision;',
         },
         {
-          name: 'cspNonce',
+          name: 'transport',
           summary: '',
-          signature: 'cspNonce?: CspNonceProvider;',
+          signature: 'readonly transport: McpTransportKind;',
         },
-      ],
-    },
-    {
-      name: 'createAskrApp',
-      anchor: 'create-askr-app',
-      signature:
-        'createAskrApp: <Dependencies, P extends Principal = Principal>(options: AskrAppOptions<Dependencies, P>) => AskrApp',
-      typeOnly: true,
-      summary:
-        'Assembles a complete Askr application from page routes, an optional OpenAPI-described API,\noptional server actions, and optional authentication — wiring an API router (mounted at\n`options.api?.prefix`, default `/api`), auth routes, and a page-rendering fallback handler\ninto a single {@link ServerApp }-like object.',
-      tags: {
-        param: [
-          'options - Pages registry, dependencies, API/auth/action configuration, and lifecycle hooks.',
-        ],
-        returns: [
-          'An {@link AskrApp} exposing `fetch`, `toOpenApiDocument`, and `close`.',
-        ],
-        throws: [
-          '{Error} If `options.api.prefix` is invalid, or collides with the reserved `/auth` prefix.',
-        ],
-      },
-    },
-    {
-      name: 'createAskrPageHandler',
-      anchor: 'create-askr-page-handler',
-      signature:
-        'createAskrPageHandler: (options: AskrPageHandlerOptions) => Handler',
-      typeOnly: true,
-      summary:
-        "Creates a catch-all route {@link Handler} that server-renders Askr framework pages: routes\n`GET`/`HEAD` requests through Askr's SSR pipeline, and (if `options.actions` is provided)\ndispatches `POST` requests as form actions, re-rendering the page with validation errors on\nfailure or following a redirect/response on success.",
-      tags: {
-        param: [
-          'options - Route registry, auth policy, query registry, action registry, and CSP nonce provider.',
-        ],
-        throws: ['{Error} If `options.registry` is not provided.'],
-      },
-    },
-    {
-      name: 'defineServerActions',
-      anchor: 'define-server-actions',
-      signature:
-        'defineServerActions: <Dependencies>(options: ServerActionsOptions<Dependencies>, ...entries: readonly ActionRegistration<Dependencies>[]) => ActionRegistry',
-      typeOnly: true,
-      summary:
-        'Builds an {@link ActionRegistry} from a set of {@link ActionEntry}s (via {@link handleAction}),\nwiring up CSRF token issuance/verification (unless `options.csrf` is `false`), submission\nparsing (JSON or form-encoded), input validation, telemetry, and response negotiation\n(redirect vs. JSON envelope) for each action invocation.',
-      tags: {
-        param: [
-          'options - Dependencies to inject into handlers, plus CSRF configuration.',
-          'entries - The registered actions.',
-        ],
-        throws: ['{Error} If two entries share the same action ID.'],
-      },
-    },
-    {
-      name: 'handleAction',
-      anchor: 'handle-action',
-      signature:
-        'handleAction: <Dependencies, Input extends Record<string, unknown>, Result = unknown>(descriptor: ActionDescriptor<Input>, handler: ActionHandler<Dependencies, Input, Result>) => ActionEntry<Dependencies, Input, Result>',
-      typeOnly: true,
-      summary:
-        'Pairs an action descriptor (its ID and input schema) with a typed handler, ready to pass to\n{@link defineServerActions}.',
-    },
-    {
-      name: 'ServerActionsOptions',
-      anchor: 'server-actions-options',
-      signature: 'ServerActionsOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link defineServerActions }.',
-      members: [
         {
-          name: 'dependencies',
+          name: 'sessionId',
           summary: '',
-          signature: 'readonly dependencies: Dependencies;',
+          signature: 'readonly sessionId?: string;',
+        },
+        {
+          name: 'signal',
+          summary: '',
+          signature: 'readonly signal: AbortSignal;',
         },
-      ],
-    },
-    {
-      name: 'translateAskrPageResult',
-      anchor: 'translate-askr-page-result',
-      signature:
-        'translateAskrPageResult: (result: RenderRouteRequestResult, context: ServerContext, status?: number, cspNonce?: string) => Promise<Response>',
-      typeOnly: true,
-    },
-  ],
-  symbols45: [
-    {
-      name: 'AuthCredentials',
-      anchor: 'auth-credentials',
-      signature: 'AuthCredentials: any',
-      typeOnly: true,
-      summary:
-        'Email/password credentials submitted to the register or authenticate endpoints.',
-      members: [
         {
-          name: 'email',
+          name: 'progress',
           summary: '',
-          signature: 'email: string;',
+          signature:
+            'progress(progress: number, total?: number, message?: string): void | Promise<void>;',
         },
         {
-          name: 'password',
+          name: 'log',
           summary: '',
-          signature: 'password: string;',
+          signature:
+            'log(level: McpLogLevel, data: unknown, logger?: string): void | Promise<void>;',
         },
       ],
     },
     {
-      name: 'AuthRouteError',
-      anchor: 'auth-route-error',
-      signature: 'AuthRouteError: typeof AuthRouteError',
-      typeOnly: false,
-      summary:
-        'Error thrown from `register`/`authenticate`/etc. callbacks to short-circuit an auth route with a specific status.',
+      name: 'McpPromptOptions',
+      anchor: 'mcp-prompt-options',
+      signature: 'McpPromptOptions: any',
+      typeOnly: true,
+      summary: 'Options for registering a prompt via {@link McpServer.prompt}.',
       members: [
         {
-          name: 'status',
+          name: 'arguments',
           summary: '',
-          signature: 'readonly status: 401 | 409 | 429;',
+          signature: 'arguments?: Arguments;',
         },
       ],
     },
     {
-      name: 'AuthRouteOptions',
-      anchor: 'auth-route-options',
-      signature: 'AuthRouteOptions: any',
+      name: 'McpRequestEnvironment',
+      anchor: 'mcp-request-environment',
+      signature: 'McpRequestEnvironment: any',
       typeOnly: true,
-      summary: 'Configuration for {@link registerAuthRoutes}.',
+      summary:
+        'Transport-provided context for a single inbound MCP message, passed to\n{@link McpServer.handle}. `send` (if provided) delivers server-to-client notifications for\npush-capable transports.',
       members: [
         {
-          name: 'issuer',
-          summary: '',
-          signature: 'issuer: TokenIssuer<P>;',
-        },
-        {
-          name: 'cookie',
-          summary: '',
-          signature: 'cookie: CookieOptions & {\n    name: string;\n  };',
-        },
-        {
-          name: 'principalSchema',
+          name: 'dependencies',
           summary: '',
-          signature: 'principalSchema: Schema;',
+          signature: 'dependencies: Dependencies;',
         },
         {
-          name: 'register',
+          name: 'auth',
           summary: '',
-          signature:
-            'register(context: ServerContext, credentials: AuthCredentials): P | Promise<P>;',
+          signature: 'auth: AuthContext;',
         },
         {
-          name: 'authenticate',
+          name: 'transport',
           summary: '',
-          signature:
-            'authenticate(context: ServerContext, credentials: AuthCredentials): P | null | Promise<P | null>;',
+          signature: 'transport: McpTransportKind;',
         },
         {
-          name: 'allowAttempt',
+          name: 'sessionId',
           summary: '',
-          signature:
-            'allowAttempt(context: ServerContext, operation: "register" | "authenticate", normalizedEmail: string): boolean | Promise<boolean>;',
+          signature: 'sessionId?: string;',
         },
         {
-          name: 'revoke',
+          name: 'signal',
           summary: '',
-          signature: 'revoke?(context: ServerContext): void | Promise<void>;',
+          signature: 'signal?: AbortSignal;',
         },
         {
-          name: 'redirect',
+          name: 'send',
           summary: '',
-          signature:
-            'redirect?: (context: ServerContext, operation: "register" | "authenticate", principal: P) => string | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'registerAuthRoutes',
-      anchor: 'register-auth-routes',
-      signature:
-        'registerAuthRoutes: <Dependencies, P extends Principal>(api: Pick<ApiDefinition<Dependencies>, "group">, options: AuthRouteOptions<P>) => void',
-      typeOnly: false,
-      summary:
-        'Registers a standard set of authentication routes (`POST /auth/v1/accounts`,\n`GET/POST /auth/v1/session`, `DELETE /auth/v1/session`) on an OpenAPI-style API/group,\nhandling registration, login, session lookup, and logout with CSRF protection via a\nsame-origin `Origin` header check, per-attempt rate limiting, and cookie-based token storage.',
-      tags: {
-        param: [
-          'api - The API or group to register routes on (only its `group` method is used).',
-          'options - Issuer, cookie configuration, principal schema, and register/authenticate/\nallowAttempt/revoke/redirect callbacks.',
-        ],
-      },
-    },
-    {
-      name: 'safeRedirect',
-      anchor: 'safe-redirect',
-      signature:
-        'safeRedirect: (fallback: string, options?: SafeRedirectOptions) => (value: unknown) => string',
-      typeOnly: false,
-      summary:
-        'Creates a validator that resolves an untrusted redirect target to a safe, same-origin,\nrelative path — or to `fallback` if the value is unsafe (absolute, protocol-relative,\ncontains a scheme, control characters, `..` traversal, backslashes, or an unwanted hash).',
-      tags: {
-        param: [
-          'fallback - The safe path to use when the requested value is not itself safe. Must\nitself pass the safety check, or this function throws.',
-          'options - Redirect validation options.',
-        ],
-        returns: [
-          'A function `(value) => path` that returns `value` if safe, otherwise `fallback`.',
-        ],
-        throws: ['{Error} If `fallback` is not itself a safe path.'],
-      },
-    },
-    {
-      name: 'SafeRedirectOptions',
-      anchor: 'safe-redirect-options',
-      signature: 'SafeRedirectOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link safeRedirect}.',
-      members: [
-        {
-          name: 'allowHash',
-          summary:
-            'Allow redirect targets that include a URL fragment (`#...`). Defaults to disallowed.',
-          signature: 'readonly allowHash?: boolean;',
+          signature: 'send?(message: unknown): void | Promise<void>;',
         },
-      ],
-    },
-    {
-      name: 'TokenIssuer',
-      anchor: 'token-issuer',
-      signature: 'TokenIssuer: any',
-      typeOnly: true,
-      summary:
-        'Issues auth tokens for a principal, used by {@link registerAuthRoutes} to mint session tokens.',
-      members: [
         {
-          name: 'issue',
+          name: 'supportsPush',
           summary: '',
-          signature:
-            'issue(principal: Omit<P, "id"> & {\n    subject: string;\n  }): Promise<string>;',
+          signature: 'supportsPush?: boolean;',
         },
       ],
     },
-  ],
-  symbols46: [
     {
-      name: 'ApiDefinition',
-      anchor: 'api-definition',
-      signature: 'ApiDefinition: any',
+      name: 'McpResourceOptions',
+      anchor: 'mcp-resource-options',
+      signature: 'McpResourceOptions: any',
       typeOnly: true,
       summary:
-        'The root API definition returned by {@link createApi }: a top-level {@link ApiGroup} that can\nalso register reusable named schemas, build a concrete {@link Router} from its routes, and\nrender an {@link OpenApiDocument}.',
+        'Options for registering a resource via {@link McpServer.resource}.',
       members: [
         {
-          name: 'schema',
-          summary: '',
-          signature:
-            'schema<const Value extends Schema>(name: string, value: Value): Value;',
-        },
-        {
-          name: 'createRouter',
+          name: 'name',
           summary: '',
-          signature:
-            'createRouter: [Dependencies] extends [undefined] ? (dependencies?: undefined) => Router : (dependencies: Dependencies) => Router;',
+          signature: 'name?: string;',
         },
         {
-          name: 'toOpenApiDocument',
+          name: 'mimeType',
           summary: '',
-          signature: 'toOpenApiDocument(): OpenApiDocument;',
+          signature: 'mimeType?: string;',
         },
       ],
     },
     {
-      name: 'ApiGroup',
-      anchor: 'api-group',
-      signature: 'ApiGroup: any',
+      name: 'McpServer',
+      anchor: 'mcp-server',
+      signature: 'McpServer: any',
       typeOnly: true,
       summary:
-        'A prefixed group of routes within an {@link ApiDefinition}, supporting nested sub-groups,\nshared tags/middleware/auth/params, and per-HTTP-method route registration.',
+        'A Model Context Protocol server, as created by {@link createMcpServer }: register tools,\nresources, resource templates, and prompts; push list-changed notifications; and dispatch\ninbound JSON-RPC messages via `handle`.',
       members: [
         {
-          name: 'tags',
-          summary: '',
-          signature: 'tags(...values: string[]): ApiGroup<Dependencies>;',
-        },
-        {
-          name: 'use',
-          summary: '',
-          signature:
-            'use(...middleware: Middleware[]): ApiGroup<Dependencies>;',
-        },
-        {
-          name: 'access',
-          summary: '',
-          signature:
-            'access(requirement: AuthRequirement, security: SecurityRequirement): ApiGroup<Dependencies>;',
-        },
-        {
-          name: 'pathParam',
-          summary: '',
-          signature:
-            'pathParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
-        },
-        {
-          name: 'queryParam',
+          name: 'tool',
           summary: '',
           signature:
-            'queryParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
+            'tool<const Name extends string, Input extends ObjectSchema, Output extends Schema | undefined = undefined>(name: Name, options: McpToolOptions<Input, Output>, handler: (context: McpContext<Dependencies>, input: InferSchema<Input>) => McpToolResult<Output> | Promise<McpToolResult<Output>>): McpServer<Dependencies>;',
         },
         {
-          name: 'headerParam',
+          name: 'resource',
           summary: '',
           signature:
-            'headerParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
+            'resource(uri: string, options: McpResourceOptions, handler: (context: McpContext<Dependencies>, uri: URL) => McpContent | readonly McpContent[] | Promise<McpContent | readonly McpContent[]>): McpServer<Dependencies>;',
         },
         {
-          name: 'cookieParam',
+          name: 'resourceTemplate',
           summary: '',
           signature:
-            'cookieParam(name: string, value: Schema, options?: ParameterOptions): ApiGroup<Dependencies>;',
+            'resourceTemplate(template: string, options: McpResourceOptions & {\n    complete?: (argument: string, value: string) => readonly string[] | Promise<readonly string[]>;\n  }, handler: (context: McpContext<Dependencies>, uri: URL, variables: Readonly<Record<string, string>>) => McpContent | readonly McpContent[] | Promise<McpContent | readonly McpContent[]>): McpServer<Dependencies>;',
         },
         {
-          name: 'group',
+          name: 'prompt',
           summary: '',
           signature:
-            'group<const Child extends string>(prefix: Child): ApiGroup<Dependencies, JoinPath<Prefix, Child>>;',
-        },
-        {
-          name: 'get',
-          summary: '',
-          signature: 'get: ApiMethod<Dependencies, Prefix>;',
-        },
-        {
-          name: 'post',
-          summary: '',
-          signature: 'post: ApiMethod<Dependencies, Prefix>;',
-        },
-        {
-          name: 'put',
-          summary: '',
-          signature: 'put: ApiMethod<Dependencies, Prefix>;',
+            'prompt<const Name extends string, Arguments extends ObjectSchema>(name: Name, options: McpPromptOptions<Arguments>, handler: (context: McpContext<Dependencies>, args: InferSchema<Arguments>) => {\n    description?: string;\n    messages: readonly unknown[];\n  } | Promise<{\n    description?: string;\n    messages: readonly unknown[];\n  }>): McpServer<Dependencies>;',
         },
         {
-          name: 'patch',
+          name: 'notifyToolsChanged',
           summary: '',
-          signature: 'patch: ApiMethod<Dependencies, Prefix>;',
+          signature: 'notifyToolsChanged(): Promise<void>;',
         },
         {
-          name: 'delete',
+          name: 'notifyResourcesChanged',
           summary: '',
-          signature: 'delete: ApiMethod<Dependencies, Prefix>;',
+          signature: 'notifyResourcesChanged(): Promise<void>;',
         },
         {
-          name: 'options',
+          name: 'notifyPromptsChanged',
           summary: '',
-          signature: 'options: ApiMethod<Dependencies, Prefix>;',
+          signature: 'notifyPromptsChanged(): Promise<void>;',
         },
         {
-          name: 'head',
+          name: 'handle',
           summary: '',
-          signature: 'head: ApiMethod<Dependencies, Prefix>;',
+          signature:
+            'handle(message: unknown, environment: McpRequestEnvironment<Dependencies>): Promise<unknown | undefined>;',
         },
         {
-          name: 'trace',
+          name: 'terminateSession',
           summary: '',
-          signature: 'trace: ApiMethod<Dependencies, Prefix>;',
+          signature: 'terminateSession(sessionId: string): void;',
         },
       ],
     },
     {
-      name: 'ApiHandler',
-      anchor: 'api-handler',
-      signature:
-        'ApiHandler: {\n  bivarianceHack(context: ServerContext<RouteParams>, dependencies: Dependencies): Response | Promise<Response>;\n}["bivarianceHack"]',
-      typeOnly: true,
-      summary:
-        'A plain route handler registered via an {@link ApiGroup } method, receiving the resolved `dependencies`.',
-    },
-    {
-      name: 'ApiInfo',
-      anchor: 'api-info',
-      signature: 'ApiInfo: any',
+      name: 'McpServerOptions',
+      anchor: 'mcp-server-options',
+      signature: 'McpServerOptions: any',
       typeOnly: true,
-      summary:
-        'The OpenAPI `info` object: title, version, and descriptive metadata for the API.',
+      summary: 'Options for {@link createMcpServer }.',
       members: [
         {
-          name: 'title',
+          name: 'name',
           summary: '',
-          signature: 'readonly title: string;',
+          signature: 'name: string;',
         },
         {
           name: 'version',
           summary: '',
-          signature: 'readonly version: string;',
-        },
-        {
-          name: 'summary',
-          summary: '',
-          signature: 'readonly summary?: string;',
-        },
-        {
-          name: 'description',
-          summary: '',
-          signature: 'readonly description?: string;',
+          signature: 'version: string;',
         },
         {
-          name: 'termsOfService',
+          name: 'title',
           summary: '',
-          signature: 'readonly termsOfService?: string;',
+          signature: 'title?: string;',
         },
         {
-          name: 'contact',
+          name: 'instructions',
           summary: '',
-          signature: 'readonly contact?: ContactObject;',
+          signature: 'instructions?: string;',
         },
         {
-          name: 'license',
+          name: 'pageSize',
           summary: '',
-          signature: 'readonly license?: LicenseObject;',
+          signature: 'pageSize?: number;',
         },
       ],
     },
     {
-      name: 'ApiInput',
-      anchor: 'api-input',
-      signature: 'ApiInput: any',
+      name: 'McpSessionStore',
+      anchor: 'mcp-session-store',
+      signature: 'McpSessionStore: any',
       typeOnly: true,
       summary:
-        "Declares the schemas for a route's inputs (path params, query, headers, body).",
+        'Pluggable backing store for stateful MCP session IDs, used by the HTTP transport.',
       members: [
         {
-          name: 'params',
-          summary: '',
-          signature: 'readonly params?: ObjectSchema;',
-        },
-        {
-          name: 'query',
+          name: 'create',
           summary: '',
-          signature: 'readonly query?: ObjectSchema;',
+          signature: 'create(id: string): void | Promise<void>;',
         },
         {
-          name: 'headers',
+          name: 'has',
           summary: '',
-          signature: 'readonly headers?: ObjectSchema;',
+          signature: 'has(id: string): boolean | Promise<boolean>;',
         },
         {
-          name: 'body',
+          name: 'delete',
           summary: '',
-          signature: 'readonly body?: ApiBodyInput;',
+          signature: 'delete(id: string): boolean | Promise<boolean>;',
         },
       ],
     },
     {
-      name: 'ApiOperation',
-      anchor: 'api-operation',
-      signature: 'ApiOperation: any',
+      name: 'McpToolOptions',
+      anchor: 'mcp-tool-options',
+      signature: 'McpToolOptions: any',
       typeOnly: true,
-      summary:
-        'A schema-typed route registered via an {@link ApiGroup } method: declares its `input` schemas\n(validated and bound before `handler` runs, with results typed via {@link InferApiInput}) and\noptional extra `documentation` for parameters/body not otherwise inferable.',
+      summary: 'Options for registering a tool via {@link McpServer.tool}.',
       members: [
         {
           name: 'input',
           summary: '',
-          signature: 'readonly input?: Input;',
-        },
-        {
-          name: 'documentation',
-          summary: '',
-          signature: 'readonly documentation?: InputDocumentation;',
-        },
-        {
-          name: 'handler',
-          summary: '',
-          signature:
-            'readonly handler: (context: ServerContext<RouteParams>, input: InferApiInput<Input>, dependencies: Dependencies) => Response | Promise<Response>;',
-        },
-      ],
-    },
-    {
-      name: 'ApiOptions',
-      anchor: 'api-options',
-      signature: 'ApiOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createApi }.',
-      members: [
-        {
-          name: 'info',
-          summary: '',
-          signature: 'readonly info: ApiInfo;',
-        },
-        {
-          name: 'metadata',
-          summary:
-            'Infer registration-safe metadata, or require fully authored public contracts.',
-          signature: 'readonly metadata?: "inferred" | "authored";',
-        },
-        {
-          name: 'servers',
-          summary: '',
-          signature: 'readonly servers?: readonly ServerObject[];',
-        },
-        {
-          name: 'externalDocs',
-          summary: '',
-          signature: 'readonly externalDocs?: ExternalDocumentationObject;',
+          signature: 'input?: Input;',
         },
         {
-          name: 'securitySchemes',
+          name: 'output',
           summary: '',
-          signature:
-            'readonly securitySchemes?: Readonly<Record<string, SecurityScheme>>;',
-        },
-        {
-          name: 'validateResponses',
-          summary:
-            'Validate documented response bodies only when explicitly enabled outside production.',
-          signature: 'readonly validateResponses?: boolean;',
+          signature: 'output?: Output;',
         },
       ],
     },
     {
-      name: 'BodyOptions',
-      anchor: 'body-options',
-      signature: 'BodyOptions: any',
+      name: 'McpToolResult',
+      anchor: 'mcp-tool-result',
+      signature:
+        'McpToolResult: {\n  content?: readonly McpContent[];\n  structuredContent?: Output extends Schema ? InferSchema<Output> : unknown;\n  isError?: boolean;\n}',
       typeOnly: true,
       summary:
-        'Metadata for a request body, used to enrich the generated OpenAPI document.',
-      members: [
-        {
-          name: 'required',
-          summary: '',
-          signature: 'required?: boolean;',
-        },
-        {
-          name: 'description',
-          summary: '',
-          signature: 'description?: string;',
-        },
-        {
-          name: 'examples',
-          summary: '',
-          signature: 'examples?: Record<string, unknown>;',
-        },
-      ],
+        'The result returned by a tool handler: content blocks and/or a typed structured result.',
     },
     {
-      name: 'createApi',
-      anchor: 'create-api',
+      name: 'registerMcpRoutes',
+      anchor: 'register-mcp-routes',
       signature:
-        'createApi: <Dependencies = undefined>(options: ApiOptions) => ApiDefinition<Dependencies>',
+        'registerMcpRoutes: <Dependencies>(router: Router, path: string, mcp: McpServer<Dependencies>, options: McpHttpOptions<Dependencies>) => Router',
       typeOnly: true,
       summary:
-        'Creates an OpenAPI-aware {@link ApiDefinition}: a schema-typed route builder that records\noperation metadata and input/response schemas as routes are registered, then can render the\nroutes as a concrete {@link Router } (`createRouter`) or as an OpenAPI document\n(`toOpenApiDocument`).',
+        'Registers the streamable-HTTP transport for an {@link McpServer} on a router: `POST` for\nJSON-RPC requests (with optional stateful session creation), `GET` for the Server-Sent\nEvents notification stream, and `DELETE` for session termination. Validates the `Origin` and\n`Host` headers against allowlists, enforces a max request size, and optionally serves\nOAuth protected-resource metadata.',
       tags: {
         param: [
-          'options - API-level metadata (title, version, servers, etc.) and validation settings.',
+          'router - The router to register routes on.',
+          'path - The MCP endpoint path.',
+          'mcp - The MCP server instance to dispatch messages to.',
+          'options - Origin/host allowlists, statefulness, session store, and size/timing limits.',
+        ],
+        returns: ['The same `router`, for chaining.'],
+        throws: [
+          '{TypeError} If `heartbeatInterval`, `sessionTtlMs`, or `maxSessions` are invalid.',
         ],
-        returns: ['The root {@link ApiDefinition}.'],
       },
     },
+  ],
+  symbols51: [
     {
-      name: 'InferSchema',
-      anchor: 'infer-schema',
-      signature: 'InferSchema: T extends Schema<infer Value> ? Value : never',
-      typeOnly: true,
-      summary: 'Infers the parsed value type of a {@link Schema}.',
-    },
-    {
-      name: 'OpenApiDocument',
-      anchor: 'open-api-document',
-      signature: 'OpenApiDocument: any',
+      name: 'AdapterConformanceError',
+      anchor: 'adapter-conformance-error',
+      signature: 'AdapterConformanceError: typeof AdapterConformanceError',
       typeOnly: true,
       summary:
-        'A complete OpenAPI 3.1 document, as produced by {@link ApiDefinition.toOpenApiDocument }.',
+        'A failed adapter-conformance guarantee with a stable machine-readable {@link code}.',
       members: [
         {
-          name: 'openapi',
+          name: 'code',
           summary: '',
-          signature: 'readonly openapi: "3.1.2";',
+          signature: 'readonly code: AdapterConformanceErrorCode;',
         },
         {
-          name: 'info',
+          name: 'name',
           summary: '',
-          signature: 'readonly info: ApiInfo;',
-        },
-        {
-          name: 'servers',
-          summary: '',
-          signature: 'readonly servers?: readonly ServerObject[];',
-        },
-        {
-          name: 'paths',
-          summary: '',
-          signature:
-            'readonly paths: Readonly<Record<string, PathItemObject>>;',
-        },
-        {
-          name: 'components',
-          summary: '',
-          signature: 'readonly components: ComponentsObject;',
-        },
-        {
-          name: 'externalDocs',
-          summary: '',
-          signature: 'readonly externalDocs?: ExternalDocumentationObject;',
+          signature: 'readonly name = "AdapterConformanceError";',
         },
       ],
     },
     {
-      name: 'ParameterOptions',
-      anchor: 'parameter-options',
-      signature: 'ParameterOptions: any',
+      name: 'runAdapterConformance',
+      anchor: 'run-adapter-conformance',
+      signature:
+        'runAdapterConformance: (exercises: AdapterConformanceExercises, options?: AdapterConformanceOptions) => Promise<Readonly<AdapterConformanceReport>>',
       typeOnly: true,
       summary:
-        'Metadata for a path/query/header/cookie parameter, used to enrich the generated OpenAPI document.',
-      members: [
-        {
-          name: 'description',
-          summary: '',
-          signature: 'description?: string;',
-        },
-        {
-          name: 'required',
-          summary: '',
-          signature: 'required?: boolean;',
-        },
-        {
-          name: 'deprecated',
-          summary: '',
-          signature: 'deprecated?: boolean;',
-        },
-        {
-          name: 'example',
-          summary: '',
-          signature: 'example?: unknown;',
-        },
-      ],
+        'Runs reusable adapter guardrails against real-transport exercises supplied by the adapter.\nValidation errors throw synchronously; runtime failures reject with {@link AdapterConformanceError}.\nExercise callbacks must honor the cleanup signal and close any sockets/servers they own.',
+    },
+  ],
+  symbols52: [
+    {
+      name: 'createTestClient',
+      anchor: 'create-test-client',
+      signature:
+        'createTestClient: (target: Injectable, options?: TestClientOptions) => TestClient',
+      typeOnly: false,
+      summary:
+        'Create a {@link TestClient} bound to a target for repeated request injection.\n\nThe returned client applies shared defaults (base URL, headers, cookie jar,\nredirect behavior) to every request made through it. Redirects are manual\nunless `redirect: "follow"` is supplied.',
+      tags: {
+        param: [
+          'target - The {@link Injectable} handler or fetch-compatible object.',
+          'options - Default options applied to every request made by this client.',
+        ],
+        returns: [
+          'A {@link TestClient} with `request`, `get`, `post`, and other HTTP-method helpers.',
+        ],
+        example: [
+          'const client = createTestClient(app, { baseUrl: "https://example.com", cookies: true });\nconst response = await client.get("/users");',
+        ],
+      },
+    },
+    {
+      name: 'createTestCookieJar',
+      anchor: 'create-test-cookie-jar',
+      signature: 'createTestCookieJar: () => TestCookieJar',
+      typeOnly: false,
+      summary:
+        'Create an in-memory {@link TestCookieJar} backed by `tough-cookie`, suitable\nfor use as the `cookies` option of a {@link TestClient}.',
+      tags: {
+        returns: [
+          'A cookie jar that persists cookies across injected requests and\nenforces standard cookie-prefix security.',
+        ],
+      },
     },
     {
-      name: 'ResponseOptions',
-      anchor: 'response-options',
-      signature: 'ResponseOptions: any',
+      name: 'Form',
+      anchor: 'form',
+      signature:
+        'Form: URLSearchParams | Iterable<readonly [string, FormValue]> | Record<string, FormValue | readonly FormValue[] | undefined>',
       typeOnly: true,
       summary:
-        'Metadata for a response, used to enrich the generated OpenAPI document.',
-      members: [
-        {
-          name: 'description',
-          summary: '',
-          signature: 'description?: string;',
-        },
-        {
-          name: 'mediaType',
-          summary: '',
-          signature: 'mediaType?: string;',
-        },
-        {
-          name: 'headers',
-          summary: '',
-          signature: 'headers?: Record<string, unknown>;',
-        },
-        {
-          name: 'examples',
-          summary: '',
-          signature: 'examples?: Record<string, unknown>;',
-        },
-      ],
+        'URL-encoded form body data, accepted as `URLSearchParams`, an iterable of entries, or a plain record.',
     },
     {
-      name: 'RouteBuilder',
-      anchor: 'route-builder',
-      signature: 'RouteBuilder: any',
+      name: 'inject',
+      anchor: 'inject',
+      signature:
+        'inject: { (target: Injectable, request: Request, options?: Pick<InjectOptions, "maxRedirects">): Promise<Response>; (target: Injectable, input: string | URL, options?: InjectOptions): Promise<Response>; }',
+      typeOnly: false,
+      summary:
+        'Inject a single request into a target and return the resulting response,\nfollowing redirects up to `maxRedirects` hops.\nInject a request built from a path/URL and options into a target and return\nthe resulting response, following redirects up to `maxRedirects` hops.',
+      tags: {
+        param: [
+          'target - The {@link Injectable} handler or fetch-compatible object.',
+          'request - An unconsumed `Request`; each dispatch receives a clone.',
+          'options - Only `maxRedirects` is honored when a `Request` is passed directly.',
+          'target - The {@link Injectable} handler or fetch-compatible object.',
+          'input - The request path or URL, resolved against `options.baseUrl`.',
+          'options - Request options such as method, headers, query, and body.',
+        ],
+        returns: [
+          'The final `Response` after any redirects have been followed.',
+          'The final `Response` after any redirects have been followed.',
+        ],
+        example: [
+          'const response = await inject(app, "/users", { method: "GET" });',
+        ],
+      },
+    },
+    {
+      name: 'Injectable',
+      anchor: 'injectable',
+      signature: 'Injectable: RequestTarget | RequestHandler',
       typeOnly: true,
       summary:
-        "Fluent builder for describing a single route's OpenAPI operation: metadata (operation ID,\nsummary, tags), request inputs (path/query/header/cookie params and body), and possible\nresponses (both status-coded shorthand methods like `ok`/`notFound` and the generic `response`).",
+        'Anything that can receive an injected test request: a {@link RequestTarget} or a {@link RequestHandler}.',
+    },
+    {
+      name: 'InjectOptions',
+      anchor: 'inject-options',
+      signature: 'InjectOptions: GetHeadOptions | BodyRequestOptions',
+      typeOnly: true,
+      summary:
+        'Options accepted when injecting a request, covering both body-less and body-carrying methods.',
+    },
+    {
+      name: 'Query',
+      anchor: 'query',
+      signature:
+        'Query: URLSearchParams | Iterable<readonly [string, QueryValue]> | Record<string, QueryValue | readonly QueryValue[] | undefined>',
+      typeOnly: true,
+      summary:
+        'Query string parameters, accepted as `URLSearchParams`, an iterable of entries, or a plain record.',
+    },
+    {
+      name: 'TestClient',
+      anchor: 'test-client',
+      signature: 'TestClient: any',
+      typeOnly: true,
+      summary:
+        'A reusable HTTP client that injects requests into a target and follows redirects.',
       members: [
         {
-          name: 'operationId',
-          summary: '',
-          signature: 'operationId(value: string): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'summary',
-          summary: '',
-          signature: 'summary(value: string): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'description',
-          summary: '',
-          signature: 'description(value: string): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'tags',
-          summary: '',
-          signature: 'tags(...values: string[]): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'deprecated',
-          summary: '',
-          signature: 'deprecated(value?: boolean): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'externalDocs',
-          summary: '',
-          signature:
-            'externalDocs(url: string, description?: string): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'use',
-          summary: '',
-          signature:
-            'use(...middleware: Middleware[]): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'maxRequestBytes',
-          summary: '',
-          signature:
-            'maxRequestBytes(bytes: number): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'access',
-          summary: '',
-          signature:
-            'access(requirement: AuthRequirement, security: SecurityRequirement): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'pathParam',
-          summary: '',
-          signature:
-            'pathParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'queryParam',
-          summary: '',
-          signature:
-            'queryParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'headerParam',
-          summary: '',
-          signature:
-            'headerParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'cookieParam',
-          summary: '',
-          signature:
-            'cookieParam(name: string, value: Schema, options?: ParameterOptions): RouteBuilder<Dependencies>;',
-        },
-        {
-          name: 'jsonBody',
+          name: 'cookies',
           summary: '',
-          signature:
-            'jsonBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
+          signature: 'readonly cookies?: TestCookieJar;',
         },
         {
-          name: 'formBody',
+          name: 'request',
           summary: '',
           signature:
-            'formBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
+            'request(path: string | URL, options?: InjectOptions): Promise<Response>;',
         },
         {
-          name: 'multipartBody',
+          name: 'get',
           summary: '',
           signature:
-            'multipartBody(value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
+            'get(path: string | URL, options?: Omit<GetHeadOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'body',
+          name: 'head',
           summary: '',
           signature:
-            'body(mediaType: string, value: Schema, options?: BodyOptions): RouteBuilder<Dependencies>;',
+            'head(path: string | URL, options?: Omit<GetHeadOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'response',
+          name: 'post',
           summary: '',
           signature:
-            'response(status: number | string, value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'post(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'ok',
+          name: 'put',
           summary: '',
           signature:
-            'ok(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'put(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'created',
+          name: 'patch',
           summary: '',
           signature:
-            'created(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'patch(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'accepted',
+          name: 'delete',
           summary: '',
           signature:
-            'accepted(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'delete(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
         },
         {
-          name: 'noContent',
+          name: 'options',
           summary: '',
           signature:
-            'noContent(options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'options(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
         },
+      ],
+    },
+    {
+      name: 'TestClientOptions',
+      anchor: 'test-client-options',
+      signature: 'TestClientOptions: any',
+      typeOnly: true,
+      summary: 'Options for constructing a {@link TestClient}.',
+      members: [
         {
-          name: 'movedPermanently',
+          name: 'baseUrl',
           summary: '',
-          signature:
-            'movedPermanently(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'baseUrl?: string | URL;',
         },
         {
-          name: 'found',
+          name: 'headers',
           summary: '',
-          signature:
-            'found(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'headers?: HeadersInit;',
         },
         {
-          name: 'seeOther',
-          summary: '',
-          signature:
-            'seeOther(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          name: 'cookies',
+          summary:
+            'Enable an automatically managed cookie jar (`true`), or supply an existing {@link TestCookieJar}.',
+          signature: 'cookies?: true | TestCookieJar;',
         },
         {
-          name: 'temporaryRedirect',
+          name: 'redirect',
           summary: '',
-          signature:
-            'temporaryRedirect(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'redirect?: RequestRedirect;',
         },
         {
-          name: 'permanentRedirect',
-          summary: '',
-          signature:
-            'permanentRedirect(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          name: 'maxRedirects',
+          summary: 'Non-negative safe integer; defaults to 10.',
+          signature: 'maxRedirects?: number;',
         },
+      ],
+    },
+    {
+      name: 'TestCookie',
+      anchor: 'test-cookie',
+      signature: 'TestCookie: any',
+      typeOnly: true,
+      summary: 'A cookie as read back from a {@link TestCookieJar}.',
+      members: [
         {
-          name: 'badRequest',
+          name: 'name',
           summary: '',
-          signature:
-            'badRequest(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'name: string;',
         },
         {
-          name: 'unauthorized',
+          name: 'value',
           summary: '',
-          signature:
-            'unauthorized(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'value: string;',
         },
         {
-          name: 'forbidden',
+          name: 'domain',
           summary: '',
-          signature:
-            'forbidden(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'domain?: string;',
         },
         {
-          name: 'notFound',
+          name: 'path',
           summary: '',
-          signature:
-            'notFound(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'path?: string;',
         },
         {
-          name: 'conflict',
+          name: 'expires',
           summary: '',
-          signature:
-            'conflict(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'expires?: Date | "Infinity";',
         },
         {
-          name: 'unprocessableEntity',
+          name: 'httpOnly',
           summary: '',
-          signature:
-            'unprocessableEntity(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'httpOnly: boolean;',
         },
         {
-          name: 'tooManyRequests',
+          name: 'secure',
           summary: '',
-          signature:
-            'tooManyRequests(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'secure: boolean;',
         },
         {
-          name: 'methodNotAllowed',
+          name: 'sameSite',
           summary: '',
-          signature:
-            'methodNotAllowed(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'sameSite?: "strict" | "lax" | "none";',
         },
+      ],
+    },
+    {
+      name: 'TestCookieJar',
+      anchor: 'test-cookie-jar',
+      signature: 'TestCookieJar: any',
+      typeOnly: true,
+      summary:
+        'A cookie jar used to persist and replay cookies across injected requests.',
+      members: [
         {
-          name: 'internalServerError',
+          name: 'setCookie',
           summary: '',
           signature:
-            'internalServerError(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+            'setCookie(cookie: string, url: string | URL): Promise<void>;',
         },
         {
-          name: 'notImplemented',
+          name: 'getCookies',
           summary: '',
-          signature:
-            'notImplemented(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'getCookies(url: string | URL): Promise<TestCookie[]>;',
         },
         {
-          name: 'serviceUnavailable',
+          name: 'clear',
           summary: '',
-          signature:
-            'serviceUnavailable(value?: Schema, options?: ResponseOptions): RouteBuilder<Dependencies>;',
+          signature: 'clear(): Promise<void>;',
         },
       ],
     },
+  ],
+  symbols53: [],
+  symbols54: [
     {
-      name: 'schema',
-      anchor: 'schema-2',
+      name: 'Accordion',
+      anchor: 'accordion',
+      signature: 'Accordion: (props: AccordionProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `accordion`.',
+    },
+    {
+      name: 'AccordionContent',
+      anchor: 'accordion-content',
       signature:
-        'schema: Readonly<{ string: typeof string; uuid: (options?: StringOptions) => Schema<string>; email: (options?: StringOptions) => Schema<string>; uri: (options?: StringOptions) => Schema<string>; date: (options?: StringOptions) => Schema<string>; dateTime: (options?: StringOptions) => Schema<string>; byte: (options?: StringOptions) => Schema<string>; binary: (options?: StringOptions) => Schema<string>; number: (options?: NumberOptions) => Schema<number>; integer: (options?: NumberOptions) => Schema<number>; boolean: (options?: CommonOptions) => Schema<boolean>; null: (options?: CommonOptions) => Schema<null>; object: typeof object; array: typeof array; record: <T>(values: Schema<T>, options?: CommonOptions) => ObjectSchema<Record<string, T>>; enum: <const T extends readonly (string | number | boolean)[]>(values: T, options?: CommonOptions) => Schema<T[number]>; literal: <const T extends string | number | boolean | null>(value: T, options?: CommonOptions) => Schema<T>; optional: <T>(value: Schema<T>) => OptionalSchema<T>; nullable: <T extends Schema>(value: T) => NullableSchema<T>; oneOf: <const T extends readonly Schema[]>(...values: T) => Schema<InferSchema<T[number]>>; anyOf: <const T extends readonly Schema[]>(...values: T) => Schema<InferSchema<T[number]>>; allOf: <const T extends readonly Schema[]>(...values: T) => Schema<UnionToIntersection<InferSchema<T[number]>>>; raw: <T>(jsonSchema: JsonSchema, safeParse: (value: unknown) => SafeParseResult<T>) => Schema<T>; }>',
+        'AccordionContent: { (props: AccordionContentProps): JSX.Element | null; (props: AccordionContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'The public schema builder namespace: create executable schemas whose {@link Schema.safeParse}\nvalidates a value and whose `jsonSchema` field is a deterministic JSON Schema (draft 2020-12)\nprojection suitable for OpenAPI documents.',
-      tags: {
-        example: [
-          'const user = schema.object({ id: schema.uuid(), name: schema.string({ minLength: 1 }) });\nconst result = user.safeParse({ id: "...", name: "Ada" });',
-        ],
-      },
+        'Renders the `accordion-content` part of `accordion` with `role="region"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'Schema',
-      anchor: 'schema',
-      signature: 'Schema: any',
+      name: 'AccordionHeader',
+      anchor: 'accordion-header',
+      signature:
+        'AccordionHeader: { (props: AccordionHeaderProps): JSX.Element; (props: AccordionHeaderAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'An executable schema: carries its JSON Schema projection and a runtime parser.',
-      members: [
-        {
-          name: 'jsonSchema',
-          summary:
-            'The deterministic JSON Schema (draft 2020-12) projection of this schema.',
-          signature: 'readonly jsonSchema: JsonSchema;',
-        },
-        {
-          name: '__type',
-          summary: 'Phantom type marker only; never set at runtime.',
-          signature: 'readonly __type?: T;',
-        },
-        {
-          name: 'safeParse',
-          summary:
-            'Validates `value`, returning either the parsed data or a list of issues.',
-          signature: 'safeParse(value: unknown): SafeParseResult<T>;',
-        },
-      ],
+        'Renders the `accordion-header` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'security',
-      anchor: 'security',
+      name: 'AccordionItem',
+      anchor: 'accordion-item',
+      signature: 'AccordionItem: (props: AccordionItemProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `accordion-item` part of `accordion`.',
+    },
+    {
+      name: 'AccordionTrigger',
+      anchor: 'accordion-trigger',
       signature:
-        'security: Readonly<{ httpBearer(options?: { bearerFormat?: string; description?: string; }): SecurityScheme; httpBasic(options?: { description?: string; }): SecurityScheme; apiKey(name: string, location?: "header" | "query" | "cookie", options?: { description?: string; }): SecurityScheme; oauth2(flows: Record<string, unknown>, description?: string): SecurityScheme; openIdConnect(openIdConnectUrl: string, description?: string): SecurityScheme; require(name: string, scopes?: readonly string[]): SecurityRequirement; any(...requirements: readonly SecurityRequirement[]): SecurityRequirement; none(): SecurityRequirement; }>',
+        'AccordionTrigger: { (props: AccordionTriggerProps): JSX.Element; (props: AccordionTriggerAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        "Helpers for building OpenAPI security schemes and requirements, used with\n`ApiGroup.access`/`RouteBuilder.access` to describe an operation's authentication needs.",
+        'Renders the `accordion-trigger` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'SecurityRequirement',
-      anchor: 'security-requirement',
-      signature: 'SecurityRequirement: readonly SecurityRequirementObject[]',
+      name: 'Alert',
+      anchor: 'alert',
+      signature: 'Alert: (props: AlertProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'An OpenAPI security requirement (a list of alternative scheme+scopes requirements), as built by the {@link security } helpers.',
+        'Renders an alert/status banner with an optional icon, title, description,\nactions, and a dismiss button. Automatically picks an "alert" or "status"\nARIA role from `variant` unless `role` is set explicitly.',
     },
     {
-      name: 'SecurityScheme',
-      anchor: 'security-scheme',
-      signature: 'SecurityScheme: Readonly<Record<string, unknown>>',
+      name: 'AlertDescription',
+      anchor: 'alert-description',
+      signature:
+        'AlertDescription: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'An OpenAPI security scheme definition, as built by the {@link security } helpers.',
+        'Renders the `alert-description` part of the shadcn-compatible catalog primitives.',
     },
-  ],
-  symbols47: [
     {
-      name: 'createMcpServer',
-      anchor: 'create-mcp-server',
+      name: 'AlertDialog',
+      anchor: 'alert-dialog',
       signature:
-        'createMcpServer: <Dependencies = undefined>(options: McpServerOptions) => McpServer<Dependencies>',
+        'AlertDialog: (props: AlertDialogProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `alert-dialog`.',
+    },
+    {
+      name: 'AlertDialogAction',
+      anchor: 'alert-dialog-action',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Creates a transport-neutral Model Context Protocol server: register tools, resources,\nresource templates, and prompts, then feed it JSON-RPC messages via `handle` (e.g. from\n{@link registerMcpRoutes }). Manages session negotiation, protocol version selection, and\nlist-changed notifications to subscribed clients.',
-      tags: {
-        param: [
-          'options - Server name/version/instructions and pagination settings.',
-        ],
-        returns: [
-          'An {@link McpServer} exposing registration methods, notification methods, and `handle`.',
-        ],
-        throws: [
-          '{TypeError} If `name`/`version` are blank, `pageSize` is invalid, or a duplicate\ntool/resource/template/prompt is registered.',
-        ],
-      },
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'McpContent',
-      anchor: 'mcp-content',
-      signature: 'McpContent: any',
+      name: 'AlertDialogCancel',
+      anchor: 'alert-dialog-cancel',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'A single piece of MCP content (text, image, resource link, etc.), keyed by `type`.',
-      members: [
-        {
-          name: 'type',
-          summary: '',
-          signature: 'type: string;',
-        },
-      ],
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'McpContext',
-      anchor: 'mcp-context',
-      signature: 'McpContext: any',
+      name: 'AlertDialogContent',
+      anchor: 'alert-dialog-content',
+      signature:
+        'AlertDialogContent: (props: AlertDialogContentProps | AlertDialogContentAsChildProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'The per-request context passed to tool/resource/prompt handlers, exposing client info,\nnegotiated protocol/transport details, and `progress`/`log` callbacks for sending\nnotifications back to the client.',
-      members: [
-        {
-          name: 'dependencies',
-          summary: '',
-          signature: 'readonly dependencies: Dependencies;',
+        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogDescription',
+      anchor: 'alert-dialog-description',
+      signature:
+        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogOverlay',
+      anchor: 'alert-dialog-overlay',
+      signature:
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogPortal',
+      anchor: 'alert-dialog-portal',
+      signature:
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dialog`.',
+    },
+    {
+      name: 'AlertDialogTitle',
+      anchor: 'alert-dialog-title',
+      signature:
+        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogTrigger',
+      anchor: 'alert-dialog-trigger',
+      signature:
+        'AlertDialogTrigger: (props: AlertDialogTriggerProps | AlertDialogTriggerAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertHeadingTag',
+      anchor: 'alert-heading-tag',
+      signature: 'AlertHeadingTag: "h2" | "h3" | "h4" | "h5" | "h6"',
+      typeOnly: true,
+      summary: "Heading tag allowed for an alert's title via `titleAs`.",
+    },
+    {
+      name: 'AlertProps',
+      anchor: 'alert-props',
+      signature:
+        'AlertProps: DivProps & {\n  actions?: unknown;\n  children?: unknown;\n  description?: unknown;\n  dismissLabel?: string;\n  icon?: unknown;\n  onDismiss?: () => void;\n  title?: unknown;\n  titleAs?: AlertHeadingTag;\n  variant?: AlertVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Alert } component.',
+      members: [
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: unknown;',
         },
         {
-          name: 'auth',
+          name: 'children',
           summary: '',
-          signature: 'readonly auth: AuthContext;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'client',
+          name: 'description',
           summary: '',
-          signature:
-            'readonly client: {\n    name: string;\n    version: string;\n    title?: string;\n  } | null;',
+          signature: 'description?: unknown;',
         },
         {
-          name: 'clientCapabilities',
+          name: 'dismissLabel',
           summary: '',
-          signature:
-            'readonly clientCapabilities: Readonly<Record<string, unknown>>;',
+          signature: 'dismissLabel?: string | undefined;',
         },
         {
-          name: 'protocolRevision',
+          name: 'icon',
           summary: '',
-          signature: 'readonly protocolRevision: McpProtocolRevision;',
+          signature: 'icon?: unknown;',
         },
         {
-          name: 'transport',
+          name: 'onDismiss',
           summary: '',
-          signature: 'readonly transport: McpTransportKind;',
+          signature: 'onDismiss?: (() => void) | undefined;',
         },
         {
-          name: 'sessionId',
+          name: 'ref',
           summary: '',
-          signature: 'readonly sessionId?: string;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'signal',
+          name: 'title',
           summary: '',
-          signature: 'readonly signal: AbortSignal;',
+          signature: 'title?: unknown;',
         },
         {
-          name: 'progress',
+          name: 'titleAs',
           summary: '',
-          signature:
-            'progress(progress: number, total?: number, message?: string): void | Promise<void>;',
+          signature: 'titleAs?: AlertHeadingTag | undefined;',
         },
         {
-          name: 'log',
+          name: 'variant',
           summary: '',
-          signature:
-            'log(level: McpLogLevel, data: unknown, logger?: string): void | Promise<void>;',
+          signature: 'variant?: AlertVariant | undefined;',
         },
       ],
     },
     {
-      name: 'McpLogLevel',
-      anchor: 'mcp-log-level',
+      name: 'AlertTitle',
+      anchor: 'alert-title',
+      signature: 'AlertTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `alert-title` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'AlertVariant',
+      anchor: 'alert-variant',
+      signature:
+        'AlertVariant: "default" | "info" | "success" | "warning" | "danger"',
+      typeOnly: true,
+      summary:
+        'Visual tone of an {@link AlertProps} alert; `"danger"`/`"warning"` render with `role="alert"`.',
+    },
+    {
+      name: 'Aside',
+      anchor: 'aside',
+      signature: 'Aside: (props: AsideProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a `<aside>`-element {@link Block } tagged with `data-slot="aside"`.',
+    },
+    {
+      name: 'AsideProps',
+      anchor: 'aside-props',
+      signature: 'AsideProps: Omit<BlockElementProps<"aside">, "as">',
+      typeOnly: true,
+      summary: 'Props for the {@link Aside } component.',
+    },
+    {
+      name: 'AspectRatio',
+      anchor: 'aspect-ratio',
       signature:
-        'McpLogLevel: "debug" | "info" | "notice" | "warning" | "error" | "critical" | "alert" | "emergency"',
+        'AspectRatio: { (props: AspectRatioProps): JSX.Element; (props: AspectRatioAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Severity level for {@link McpContext.log}, following syslog conventions.',
+        'Constrains its content to a fixed width/height ratio (defaults to `1`)\nusing a computed `aspect-ratio` style, rendering as a `<div>` or, with\n`asChild`, merging its layout into the single child element.',
     },
     {
-      name: 'McpPrimitiveOptions',
-      anchor: 'mcp-primitive-options',
-      signature: 'McpPrimitiveOptions: any',
+      name: 'AspectRatioAsChildProps',
+      anchor: 'aspect-ratio-as-child-props',
+      signature:
+        'AspectRatioAsChildProps: AspectRatioOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
       typeOnly: true,
-      summary: 'Metadata shared by tools, resources, and prompts.',
+      summary:
+        'Props for {@link AspectRatio } rendered with `asChild`, merging layout onto a single child element.',
       members: [
         {
-          name: 'title',
+          name: 'asChild',
           summary: '',
-          signature: 'title?: string;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'description',
+          name: 'children',
           summary: '',
-          signature: 'description?: string;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'auth',
+          name: 'ratio',
           summary: '',
-          signature: 'auth?: AuthRequirement;',
+          signature: 'ratio?: string | number | undefined;',
         },
         {
-          name: 'annotations',
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'style',
           summary: '',
-          signature: 'annotations?: Readonly<Record<string, unknown>>;',
+          signature: 'style?: unknown;',
         },
       ],
     },
     {
-      name: 'McpPromptOptions',
-      anchor: 'mcp-prompt-options',
-      signature: 'McpPromptOptions: any',
+      name: 'AspectRatioProps',
+      anchor: 'aspect-ratio-props',
+      signature:
+        'AspectRatioProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & AspectRatioOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
       typeOnly: true,
-      summary: 'Options for registering a prompt via {@link McpServer.prompt}.',
+      summary:
+        'Props for {@link AspectRatio } rendered as its default `<div>` element.',
       members: [
         {
-          name: 'arguments',
+          name: 'asChild',
           summary: '',
-          signature: 'arguments?: Arguments;',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ratio',
+          summary: '',
+          signature: 'ratio?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'style',
+          summary: '',
+          signature: 'style?: unknown;',
         },
       ],
     },
     {
-      name: 'McpProtocolRevision',
-      anchor: 'mcp-protocol-revision',
-      signature: 'McpProtocolRevision: "2025-11-25" | "2025-06-18"',
+      name: 'Avatar',
+      anchor: 'avatar',
+      signature:
+        'Avatar: { (props: AvatarProps): JSX.Element; (props: AvatarAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'MCP protocol version negotiated between client and server.',
+      summary:
+        'Renders the `avatar` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'McpRequestEnvironment',
-      anchor: 'mcp-request-environment',
-      signature: 'McpRequestEnvironment: any',
+      name: 'AvatarFallback',
+      anchor: 'avatar-fallback',
+      signature:
+        'AvatarFallback: { (props: AvatarFallbackProps): JSX.Element | null; (props: AvatarFallbackAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Transport-provided context for a single inbound MCP message, passed to\n{@link McpServer.handle}. `send` (if provided) delivers server-to-client notifications for\npush-capable transports.',
+        'Renders the `avatar-fallback` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AvatarImage',
+      anchor: 'avatar-image',
+      signature: 'AvatarImage: (props: AvatarImageProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `avatar-image` part of `avatar`.',
+    },
+    {
+      name: 'Badge',
+      anchor: 'badge',
+      signature:
+        'Badge: { (props: BadgeProps): JSX.Element; (props: BadgeAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a small status/label badge, defaulting to a `<span>` (or merging onto a child via `asChild`), with a `variant` color modifier.',
+    },
+    {
+      name: 'BadgeAsChildProps',
+      anchor: 'badge-as-child-props',
+      signature:
+        'BadgeAsChildProps: BadgeOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Badge } rendered with `asChild`, merging its attributes onto a single child element.',
       members: [
         {
-          name: 'dependencies',
-          summary: '',
-          signature: 'dependencies: Dependencies;',
-        },
-        {
-          name: 'auth',
+          name: 'asChild',
           summary: '',
-          signature: 'auth: AuthContext;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'transport',
+          name: 'children',
           summary: '',
-          signature: 'transport: McpTransportKind;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'sessionId',
+          name: 'ref',
           summary: '',
-          signature: 'sessionId?: string;',
+          signature: 'ref?: Ref<unknown>;',
         },
         {
-          name: 'signal',
+          name: 'variant',
           summary: '',
-          signature: 'signal?: AbortSignal;',
+          signature: 'variant?: BadgeVariant | undefined;',
         },
+      ],
+    },
+    {
+      name: 'BadgeOwnProps',
+      anchor: 'badge-own-props',
+      signature:
+        'BadgeOwnProps: {\n  children?: unknown;\n  variant?: BadgeVariant;\n}',
+      typeOnly: true,
+      summary: 'Props shared by both {@link Badge } call signatures.',
+      members: [
         {
-          name: 'send',
+          name: 'children',
           summary: '',
-          signature: 'send?(message: unknown): void | Promise<void>;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'supportsPush',
+          name: 'variant',
           summary: '',
-          signature: 'supportsPush?: boolean;',
+          signature: 'variant?: BadgeVariant | undefined;',
         },
       ],
     },
     {
-      name: 'McpResourceOptions',
-      anchor: 'mcp-resource-options',
-      signature: 'McpResourceOptions: any',
+      name: 'BadgeProps',
+      anchor: 'badge-props',
+      signature:
+        'BadgeProps: Omit<JSX.IntrinsicElements["span"], "children" | "ref"> & BadgeOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLSpanElement>;\n}',
       typeOnly: true,
       summary:
-        'Options for registering a resource via {@link McpServer.resource}.',
+        'Props for {@link Badge } rendered as its default `<span>` element.',
       members: [
         {
-          name: 'name',
+          name: 'asChild',
           summary: '',
-          signature: 'name?: string;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'mimeType',
+          name: 'children',
           summary: '',
-          signature: 'mimeType?: string;',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: BadgeVariant | undefined;',
         },
       ],
     },
     {
-      name: 'McpServer',
-      anchor: 'mcp-server',
-      signature: 'McpServer: any',
+      name: 'Block',
+      anchor: 'block',
+      signature:
+        'Block: { (props: BlockNativeProps): JSX.Element; (props: BlockAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'A Model Context Protocol server, as created by {@link createMcpServer }: register tools,\nresources, resource templates, and prompts; push list-changed notifications; and dispatch\ninbound JSON-RPC messages via `handle`.',
+        'Low-level layout primitive: renders any element in {@link BlockElement }\n(default `<div>`) and turns layout-only props (spacing, alignment,\ndirection, sizing, etc.) into a generated utility class. With `asChild`,\nthe layout is merged onto a single child element instead of a wrapper.',
+    },
+    {
+      name: 'BlockAlign',
+      anchor: 'block-align',
+      signature:
+        'BlockAlign: "start" | "end" | "center" | "stretch" | "baseline"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockAsChildProps',
+      anchor: 'block-as-child-props',
+      signature:
+        'BlockAsChildProps: Omit<BlockOwnProps, "as"> & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Block } rendered with `asChild`, merging layout onto a single child element.',
       members: [
         {
-          name: 'tool',
+          name: 'align',
           summary: '',
-          signature:
-            'tool<const Name extends string, Input extends ObjectSchema, Output extends Schema | undefined = undefined>(name: Name, options: McpToolOptions<Input, Output>, handler: (context: McpContext<Dependencies>, input: InferSchema<Input>) => McpToolResult<Output> | Promise<McpToolResult<Output>>): McpServer<Dependencies>;',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
         },
         {
-          name: 'resource',
+          name: 'asChild',
           summary: '',
-          signature:
-            'resource(uri: string, options: McpResourceOptions, handler: (context: McpContext<Dependencies>, uri: URL) => McpContent | readonly McpContent[] | Promise<McpContent | readonly McpContent[]>): McpServer<Dependencies>;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'resourceTemplate',
+          name: 'background',
           summary: '',
           signature:
-            'resourceTemplate(template: string, options: McpResourceOptions & {\n    complete?: (argument: string, value: string) => readonly string[] | Promise<readonly string[]>;\n  }, handler: (context: McpContext<Dependencies>, uri: URL, variables: Readonly<Record<string, string>>) => McpContent | readonly McpContent[] | Promise<McpContent | readonly McpContent[]>): McpServer<Dependencies>;',
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
         },
         {
-          name: 'prompt',
+          name: 'border',
           summary: '',
-          signature:
-            'prompt<const Name extends string, Arguments extends ObjectSchema>(name: Name, options: McpPromptOptions<Arguments>, handler: (context: McpContext<Dependencies>, args: InferSchema<Arguments>) => {\n    description?: string;\n    messages: readonly unknown[];\n  } | Promise<{\n    description?: string;\n    messages: readonly unknown[];\n  }>): McpServer<Dependencies>;',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'notifyToolsChanged',
+          name: 'borderBottom',
           summary: '',
-          signature: 'notifyToolsChanged(): Promise<void>;',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'notifyResourcesChanged',
+          name: 'borderRight',
           summary: '',
-          signature: 'notifyResourcesChanged(): Promise<void>;',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'notifyPromptsChanged',
+          name: 'borderTop',
           summary: '',
-          signature: 'notifyPromptsChanged(): Promise<void>;',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'handle',
+          name: 'center',
           summary: '',
-          signature:
-            'handle(message: unknown, environment: McpRequestEnvironment<Dependencies>): Promise<unknown | undefined>;',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'terminateSession',
+          name: 'children',
           summary: '',
-          signature: 'terminateSession(sessionId: string): void;',
+          signature: 'children: JSXElement;',
         },
-      ],
-    },
-    {
-      name: 'McpServerOptions',
-      anchor: 'mcp-server-options',
-      signature: 'McpServerOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link createMcpServer }.',
-      members: [
         {
-          name: 'name',
+          name: 'className',
           summary: '',
-          signature: 'name: string;',
+          signature: 'className?: string | undefined;',
         },
         {
-          name: 'version',
+          name: 'direction',
           summary: '',
-          signature: 'version: string;',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
         },
         {
-          name: 'title',
+          name: 'gap',
           summary: '',
-          signature: 'title?: string;',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'instructions',
+          name: 'grow',
           summary: '',
-          signature: 'instructions?: string;',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
         },
         {
-          name: 'pageSize',
+          name: 'height',
           summary: '',
-          signature: 'pageSize?: number;',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'McpSessionStore',
-      anchor: 'mcp-session-store',
-      signature: 'McpSessionStore: any',
-      typeOnly: true,
-      summary:
-        'Pluggable backing store for stateful MCP session IDs, used by the HTTP transport.',
-      members: [
         {
-          name: 'create',
+          name: 'hide',
           summary: '',
-          signature: 'create(id: string): void | Promise<void>;',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'has',
+          name: 'justify',
           summary: '',
-          signature: 'has(id: string): boolean | Promise<boolean>;',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
         },
         {
-          name: 'delete',
+          name: 'margin',
           summary: '',
-          signature: 'delete(id: string): boolean | Promise<boolean>;',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'McpToolOptions',
-      anchor: 'mcp-tool-options',
-      signature: 'McpToolOptions: any',
-      typeOnly: true,
-      summary: 'Options for registering a tool via {@link McpServer.tool}.',
-      members: [
         {
-          name: 'input',
+          name: 'marginX',
           summary: '',
-          signature: 'input?: Input;',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
         },
         {
-          name: 'output',
+          name: 'marginY',
           summary: '',
-          signature: 'output?: Output;',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'McpToolResult',
-      anchor: 'mcp-tool-result',
-      signature:
-        'McpToolResult: {\n  content?: readonly McpContent[];\n  structuredContent?: Output extends Schema ? InferSchema<Output> : unknown;\n  isError?: boolean;\n}',
-      typeOnly: true,
-      summary:
-        'The result returned by a tool handler: content blocks and/or a typed structured result.',
-    },
-    {
-      name: 'McpTransportKind',
-      anchor: 'mcp-transport-kind',
-      signature: 'McpTransportKind: "http" | "stdio"',
-      typeOnly: true,
-      summary: 'The transport an MCP session is communicating over.',
-    },
-    {
-      name: 'protectedResourceMetadata',
-      anchor: 'protected-resource-metadata',
-      signature:
-        'protectedResourceMetadata: (resource: string, authorizationServers?: readonly string[]) => Readonly<Record<string, unknown>>',
-      typeOnly: true,
-      summary:
-        'Builds an OAuth 2.0 Protected Resource Metadata document (RFC 9728) advertising `resource`\nand its authorization servers, as served at `/.well-known/oauth-protected-resource` by\n{@link registerMcpRoutes} when `options.resource` is configured.',
-    },
-    {
-      name: 'registerMcpRoutes',
-      anchor: 'register-mcp-routes',
-      signature:
-        'registerMcpRoutes: <Dependencies>(router: Router, path: string, mcp: McpServer<Dependencies>, options: McpHttpOptions<Dependencies>) => Router',
-      typeOnly: true,
-      summary:
-        'Registers the streamable-HTTP transport for an {@link McpServer} on a router: `POST` for\nJSON-RPC requests (with optional stateful session creation), `GET` for the Server-Sent\nEvents notification stream, and `DELETE` for session termination. Validates the `Origin` and\n`Host` headers against allowlists, enforces a max request size, and optionally serves\nOAuth protected-resource metadata.',
-      tags: {
-        param: [
-          'router - The router to register routes on.',
-          'path - The MCP endpoint path.',
-          'mcp - The MCP server instance to dispatch messages to.',
-          'options - Origin/host allowlists, statefulness, session store, and size/timing limits.',
-        ],
-        returns: ['The same `router`, for chaining.'],
-        throws: [
-          '{TypeError} If `heartbeatInterval`, `sessionTtlMs`, or `maxSessions` are invalid.',
-        ],
-      },
-    },
-  ],
-  symbols48: [
-    {
-      name: 'AdapterConformanceError',
-      anchor: 'adapter-conformance-error',
-      signature: 'AdapterConformanceError: typeof AdapterConformanceError',
-      typeOnly: false,
-      summary:
-        'A failed adapter-conformance guarantee with a stable machine-readable {@link code}.',
-      members: [
         {
-          name: 'code',
+          name: 'maxHeight',
           summary: '',
-          signature: 'readonly code: AdapterConformanceErrorCode;',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'name',
+          name: 'maxWidth',
           summary: '',
-          signature: 'readonly name = "AdapterConformanceError";',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'AdapterConformanceErrorCode',
-      anchor: 'adapter-conformance-error-code',
-      signature:
-        'AdapterConformanceErrorCode: "STREAM_EXERCISE_FAILED" | "STREAM_EXERCISE_TIMEOUT" | "STREAM_CANCELLATION_TIMEOUT" | "REQUEST_TIMEOUT_EXERCISE_FAILED" | "REQUEST_TIMEOUT_ENFORCEMENT_TIMEOUT"',
-      typeOnly: true,
-      summary:
-        'Stable diagnostic codes produced by {@link runAdapterConformance}.',
-    },
-    {
-      name: 'AdapterConformanceExercises',
-      anchor: 'adapter-conformance-exercises',
-      signature: 'AdapterConformanceExercises: any',
-      typeOnly: true,
-      summary:
-        "Real-transport exercises supplied by an adapter's integration test.",
-      members: [
         {
-          name: 'abortStreamingResponse',
-          summary:
-            'Write the supplied infinite response through the real adapter, observe a client chunk,\nthen close/reset the client. Resolve after the transport disconnect is observed.',
-          signature:
-            'abortStreamingResponse(response: Response, cleanup: AbortSignal): Promise<void>;',
-        },
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
         {
-          name: 'enforceRequestTimeout',
-          summary:
-            'Run the supplied body-reading app through the real adapter with finite request/header\ntimeouts, send an incomplete request, and resolve after the transport terminates it.',
-          signature:
-            'enforceRequestTimeout(app: ServerApp, cleanup: AbortSignal): Promise<void>;',
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'AdapterConformanceOptions',
-      anchor: 'adapter-conformance-options',
-      signature: 'AdapterConformanceOptions: any',
-      typeOnly: true,
-      summary: 'Options for {@link runAdapterConformance}.',
-      members: [
         {
-          name: 'deadlineMs',
-          summary: 'Per-exercise deadline in milliseconds. Defaults to 1,000.',
-          signature: 'deadlineMs?: number;',
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'AdapterConformanceReport',
-      anchor: 'adapter-conformance-report',
-      signature: 'AdapterConformanceReport: any',
-      typeOnly: true,
-      summary:
-        'Frozen success result returned by {@link runAdapterConformance}.',
-      members: [
         {
-          name: 'streamingResponseCancellation',
+          name: 'paddingX',
           summary: '',
-          signature: 'readonly streamingResponseCancellation: "passed";',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'incompleteRequestTimeout',
+          name: 'paddingY',
           summary: '',
-          signature: 'readonly incompleteRequestTimeout: "passed";',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'runAdapterConformance',
-      anchor: 'run-adapter-conformance',
-      signature:
-        'runAdapterConformance: (exercises: AdapterConformanceExercises, options?: AdapterConformanceOptions) => Promise<Readonly<AdapterConformanceReport>>',
-      typeOnly: false,
-      summary:
-        'Runs reusable adapter guardrails against real-transport exercises supplied by the adapter.\nValidation errors throw synchronously; runtime failures reject with {@link AdapterConformanceError}.\nExercise callbacks must honor the cleanup signal and close any sockets/servers they own.',
-    },
-  ],
-  symbols49: [
-    {
-      name: 'BodyRequestOptions',
-      anchor: 'body-request-options',
-      signature:
-        'BodyRequestOptions: RequestOptionsBase & {\n  method: "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "post" | "put" | "patch" | "delete" | "options";\n} & BodyMode',
-      typeOnly: true,
-      summary:
-        'Options for a request that may carry a body, restricted to methods that support one.',
-    },
-    {
-      name: 'createTestClient',
-      anchor: 'create-test-client',
-      signature:
-        'createTestClient: (target: Injectable, options?: TestClientOptions) => TestClient',
-      typeOnly: false,
-      summary:
-        'Create a {@link TestClient} bound to a target for repeated request injection.\n\nThe returned client applies shared defaults (base URL, headers, cookie jar,\nredirect behavior) to every request made through it, and follows redirects\nautomatically unless `redirect` is overridden.',
-      tags: {
-        param: [
-          'target - The handler or {@link RequestTarget} to inject requests into.',
-          'options - Default options applied to every request made by this client.',
-        ],
-        returns: [
-          'A {@link TestClient} with `request`, `get`, `post`, and other HTTP-method helpers.',
-        ],
-        example: [
-          'const client = createTestClient(app, { baseUrl: "https://example.com", cookies: true });\nconst response = await client.get("/users");',
-        ],
-      },
-    },
-    {
-      name: 'createTestCookieJar',
-      anchor: 'create-test-cookie-jar',
-      signature: 'createTestCookieJar: () => TestCookieJar',
-      typeOnly: false,
-      summary:
-        'Create an in-memory {@link TestCookieJar} backed by `tough-cookie`, suitable\nfor use as the `cookies` option of a {@link TestClient}.',
-      tags: {
-        returns: [
-          'A cookie jar that persists cookies across injected requests and\nenforces standard cookie-prefix security.',
-        ],
-      },
-    },
-    {
-      name: 'createTestRequest',
-      anchor: 'create-test-request',
-      signature:
-        'createTestRequest: (input: string | URL, options?: InjectOptions) => Request',
-      typeOnly: false,
-      summary:
-        "Build a `Request` for testing from a path or URL and a set of options.\n\nResolves `input` against `options.baseUrl` (defaulting to `https://askr.test/`),\nappends any `query` parameters, and serializes at most one of `body`, `json`,\nor `form` into the request body, setting an appropriate `content-type` header\nwhen one isn't already present. Throws a `TypeError` if more than one body\nmode is supplied, if `json` is `undefined`, or if a `GET`/`HEAD` request is\ngiven a body.",
-      tags: {
-        param: [
-          'input - The request path or URL.',
-          'options - Request options such as method, headers, query, and body.',
-        ],
-        returns: ['A `Request` ready to be dispatched to a test target.'],
-      },
-    },
-    {
-      name: 'Form',
-      anchor: 'form',
-      signature:
-        'Form: URLSearchParams | Iterable<readonly [string, FormValue]> | Record<string, FormValue | readonly FormValue[] | undefined>',
-      typeOnly: true,
-      summary:
-        'URL-encoded form body data, accepted as `URLSearchParams`, an iterable of entries, or a plain record.',
-    },
-    {
-      name: 'FormValue',
-      anchor: 'form-value',
-      signature: 'FormValue: string | number | boolean',
-      typeOnly: true,
-      summary:
-        'A single form field value, coerced to `string` when serialized.',
-    },
-    {
-      name: 'GetHeadOptions',
-      anchor: 'get-head-options',
-      signature:
-        'GetHeadOptions: RequestOptionsBase & {\n  method?: "GET" | "HEAD" | "get" | "head";\n} & NoBody',
-      typeOnly: true,
-      summary: 'Options for a body-less `GET` or `HEAD` request.',
-    },
-    {
-      name: 'inject',
-      anchor: 'inject',
-      signature:
-        'inject: { (target: Injectable, request: Request, options?: Pick<InjectOptions, "maxRedirects">): Promise<Response>; (target: Injectable, input: string | URL, options?: InjectOptions): Promise<Response>; }',
-      typeOnly: false,
-      summary:
-        'Inject a single request into a target and return the resulting response,\nfollowing redirects up to `maxRedirects` hops.\nInject a request built from a path/URL and options into a target and return\nthe resulting response, following redirects up to `maxRedirects` hops.',
-      tags: {
-        param: [
-          'target - The handler or {@link RequestTarget} to inject the request into.',
-          'request - An existing `Request` to dispatch as-is.',
-          'options - Only `maxRedirects` is honored when a `Request` is passed directly.',
-          'target - The handler or {@link RequestTarget} to inject the request into.',
-          'input - The request path or URL, resolved against `options.baseUrl`.',
-          'options - Request options such as method, headers, query, and body.',
-        ],
-        returns: [
-          'The final `Response` after any redirects have been followed.',
-          'The final `Response` after any redirects have been followed.',
-        ],
-        example: [
-          'const response = await inject(app, "/users", { method: "GET" });',
-        ],
-      },
-    },
-    {
-      name: 'Injectable',
-      anchor: 'injectable',
-      signature: 'Injectable: RequestTarget | RequestHandler',
-      typeOnly: true,
-      summary:
-        'Anything that can receive an injected test request: a {@link RequestTarget} or a {@link RequestHandler}.',
-    },
-    {
-      name: 'InjectOptions',
-      anchor: 'inject-options',
-      signature: 'InjectOptions: GetHeadOptions | BodyRequestOptions',
-      typeOnly: true,
-      summary:
-        'Options accepted when injecting a request, covering both body-less and body-carrying methods.',
-    },
-    {
-      name: 'Query',
-      anchor: 'query',
-      signature:
-        'Query: URLSearchParams | Iterable<readonly [string, QueryValue]> | Record<string, QueryValue | readonly QueryValue[] | undefined>',
-      typeOnly: true,
-      summary:
-        'Query string parameters, accepted as `URLSearchParams`, an iterable of entries, or a plain record.',
-    },
-    {
-      name: 'QueryValue',
-      anchor: 'query-value',
-      signature: 'QueryValue: string | number | boolean',
-      typeOnly: true,
-      summary:
-        'A single query string value, coerced to `string` when serialized.',
-    },
-    {
-      name: 'RequestHandler',
-      anchor: 'request-handler',
-      signature:
-        'RequestHandler: (request: Request) => Response | Promise<Response>',
-      typeOnly: true,
-      summary:
-        'A function that handles a `Request` and produces a `Response`, synchronously or asynchronously.',
-    },
-    {
-      name: 'RequestTarget',
-      anchor: 'request-target',
-      signature: 'RequestTarget: any',
-      typeOnly: true,
-      summary:
-        'A target that can receive an injected request directly via a `fetch`-style method.',
-      members: [
         {
-          name: 'fetch',
+          name: 'radius',
           summary: '',
-          signature: 'fetch(request: Request): Response | Promise<Response>;',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'TestClient',
-      anchor: 'test-client',
-      signature: 'TestClient: any',
-      typeOnly: true,
-      summary:
-        'A reusable HTTP client that injects requests into a target and follows redirects.',
-      members: [
         {
-          name: 'cookies',
+          name: 'ref',
           summary: '',
-          signature: 'readonly cookies?: TestCookieJar;',
+          signature: 'ref?: Ref<unknown>;',
         },
         {
-          name: 'request',
+          name: 'rowFrom',
           summary: '',
-          signature:
-            'request(path: string | URL, options?: InjectOptions): Promise<Response>;',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
         },
         {
-          name: 'get',
+          name: 'shadow',
           summary: '',
-          signature:
-            'get(path: string | URL, options?: Omit<GetHeadOptions, "method">): Promise<Response>;',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
         },
         {
-          name: 'head',
+          name: 'shrink',
           summary: '',
-          signature:
-            'head(path: string | URL, options?: Omit<GetHeadOptions, "method">): Promise<Response>;',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
         },
         {
-          name: 'post',
+          name: 'sticky',
           summary: '',
-          signature:
-            'post(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
+          signature: 'sticky?: boolean | undefined;',
         },
         {
-          name: 'put',
+          name: 'top',
           summary: '',
-          signature:
-            'put(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'patch',
+          name: 'width',
           summary: '',
-          signature:
-            'patch(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'delete',
+          name: 'wrap',
           summary: '',
-          signature:
-            'delete(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'options',
+          name: 'zIndex',
           summary: '',
-          signature:
-            'options(path: string | URL, options?: Omit<BodyRequestOptions, "method">): Promise<Response>;',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
         },
       ],
     },
     {
-      name: 'TestClientOptions',
-      anchor: 'test-client-options',
-      signature: 'TestClientOptions: any',
+      name: 'BlockBackground',
+      anchor: 'block-background',
+      signature:
+        'BlockBackground: "surface" | "muted" | "selected" | "canvas" | "raised" | "overlay" | "transparent"',
       typeOnly: true,
-      summary: 'Options for constructing a {@link TestClient}.',
+    },
+    {
+      name: 'BlockDirection',
+      anchor: 'block-direction',
+      signature:
+        'BlockDirection: "row" | "column" | "row-reverse" | "column-reverse"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockDivProps',
+      anchor: 'block-div-props',
+      signature: 'BlockDivProps: BlockElementProps<"div">',
+      typeOnly: true,
+      summary: '{@link Block } props specialized for a `<div>` element.',
       members: [
         {
-          name: 'baseUrl',
+          name: 'align',
           summary: '',
-          signature: 'baseUrl?: string | URL;',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
         },
         {
-          name: 'headers',
+          name: 'as',
           summary: '',
-          signature: 'headers?: HeadersInit;',
+          signature: 'as?: "div" | undefined;',
         },
         {
-          name: 'cookies',
-          summary:
-            'Enable an automatically managed cookie jar (`true`), or supply an existing {@link TestCookieJar}.',
-          signature: 'cookies?: true | TestCookieJar;',
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'redirect',
+          name: 'background',
           summary: '',
-          signature: 'redirect?: RequestRedirect;',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
         },
         {
-          name: 'maxRedirects',
+          name: 'border',
           summary: '',
-          signature: 'maxRedirects?: number;',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'TestCookie',
-      anchor: 'test-cookie',
-      signature: 'TestCookie: any',
-      typeOnly: true,
-      summary: 'A cookie as read back from a {@link TestCookieJar}.',
-      members: [
         {
-          name: 'name',
+          name: 'borderBottom',
           summary: '',
-          signature: 'name: string;',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'value',
+          name: 'borderRight',
           summary: '',
-          signature: 'value: string;',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'domain',
+          name: 'borderTop',
           summary: '',
-          signature: 'domain?: string;',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'path',
+          name: 'center',
           summary: '',
-          signature: 'path?: string;',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'expires',
+          name: 'children',
           summary: '',
-          signature: 'expires?: Date | "Infinity";',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'httpOnly',
+          name: 'className',
           summary: '',
-          signature: 'httpOnly: boolean;',
+          signature: 'className?: string | undefined;',
         },
         {
-          name: 'secure',
+          name: 'direction',
           summary: '',
-          signature: 'secure: boolean;',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
         },
         {
-          name: 'sameSite',
+          name: 'gap',
           summary: '',
-          signature: 'sameSite?: "strict" | "lax" | "none";',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'TestCookieJar',
-      anchor: 'test-cookie-jar',
-      signature: 'TestCookieJar: any',
-      typeOnly: true,
-      summary:
-        'A cookie jar used to persist and replay cookies across injected requests.',
-      members: [
         {
-          name: 'setCookie',
+          name: 'grow',
           summary: '',
-          signature:
-            'setCookie(cookie: string, url: string | URL): Promise<void>;',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
         },
         {
-          name: 'getCookies',
+          name: 'height',
           summary: '',
-          signature: 'getCookies(url: string | URL): Promise<TestCookie[]>;',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'clear',
+          name: 'hide',
           summary: '',
-          signature: 'clear(): Promise<void>;',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
         },
-      ],
-    },
-  ],
-  symbols50: [],
-  symbols51: [
-    {
-      name: 'Accordion',
-      anchor: 'accordion',
-      signature: 'Accordion: (props: AccordionProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `accordion`.',
-    },
-    {
-      name: 'AccordionContent',
-      anchor: 'accordion-content',
-      signature:
-        'AccordionContent: { (props: AccordionContentProps): JSX.Element | null; (props: AccordionContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `accordion-content` part of `accordion` with `role="region"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AccordionHeader',
-      anchor: 'accordion-header',
-      signature:
-        'AccordionHeader: { (props: AccordionHeaderProps): JSX.Element; (props: AccordionHeaderAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `accordion-header` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AccordionItem',
-      anchor: 'accordion-item',
-      signature: 'AccordionItem: (props: AccordionItemProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the `accordion-item` part of `accordion`.',
-    },
-    {
-      name: 'AccordionTrigger',
-      anchor: 'accordion-trigger',
-      signature:
-        'AccordionTrigger: { (props: AccordionTriggerProps): JSX.Element; (props: AccordionTriggerAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `accordion-trigger` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Alert',
-      anchor: 'alert',
-      signature: 'Alert: (props: AlertProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders an alert/status banner with an optional icon, title, description,\nactions, and a dismiss button. Automatically picks an "alert" or "status"\nARIA role from `variant` unless `role` is set explicitly.',
-    },
-    {
-      name: 'AlertDescription',
-      anchor: 'alert-description',
-      signature:
-        'AlertDescription: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `alert-description` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'AlertDialog',
-      anchor: 'alert-dialog',
-      signature:
-        'AlertDialog: (props: AlertDialogProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `alert-dialog`.',
-    },
-    {
-      name: 'AlertDialogAction',
-      anchor: 'alert-dialog-action',
-      signature:
-        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogCancel',
-      anchor: 'alert-dialog-cancel',
-      signature:
-        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogContent',
-      anchor: 'alert-dialog-content',
-      signature:
-        'AlertDialogContent: (props: AlertDialogContentProps | AlertDialogContentAsChildProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogDescription',
-      anchor: 'alert-dialog-description',
-      signature:
-        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogOverlay',
-      anchor: 'alert-dialog-overlay',
-      signature:
-        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogPortal',
-      anchor: 'alert-dialog-portal',
-      signature:
-        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `dialog`.',
-    },
-    {
-      name: 'AlertDialogTitle',
-      anchor: 'alert-dialog-title',
-      signature:
-        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertDialogTrigger',
-      anchor: 'alert-dialog-trigger',
-      signature:
-        'AlertDialogTrigger: (props: AlertDialogTriggerProps | AlertDialogTriggerAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AlertHeadingTag',
-      anchor: 'alert-heading-tag',
-      signature: 'AlertHeadingTag: "h2" | "h3" | "h4" | "h5" | "h6"',
-      typeOnly: true,
-      summary: "Heading tag allowed for an alert's title via `titleAs`.",
-    },
-    {
-      name: 'AlertProps',
-      anchor: 'alert-props',
-      signature:
-        'AlertProps: DivProps & {\n  actions?: unknown;\n  children?: unknown;\n  description?: unknown;\n  dismissLabel?: string;\n  icon?: unknown;\n  onDismiss?: () => void;\n  title?: unknown;\n  titleAs?: AlertHeadingTag;\n  variant?: AlertVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link Alert } component.',
-      members: [
         {
-          name: 'actions',
+          name: 'justify',
           summary: '',
-          signature: 'actions?: unknown;',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
         },
         {
-          name: 'children',
+          name: 'margin',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
         },
         {
-          name: 'description',
+          name: 'marginX',
           summary: '',
-          signature: 'description?: unknown;',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
         },
         {
-          name: 'dismissLabel',
+          name: 'marginY',
           summary: '',
-          signature: 'dismissLabel?: string | undefined;',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
         },
         {
-          name: 'icon',
+          name: 'maxHeight',
           summary: '',
-          signature: 'icon?: unknown;',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'onDismiss',
+          name: 'maxWidth',
           summary: '',
-          signature: 'onDismiss?: (() => void) | undefined;',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<unknown>;',
         },
         {
-          name: 'title',
+          name: 'rowFrom',
           summary: '',
-          signature: 'title?: unknown;',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
         },
         {
-          name: 'titleAs',
+          name: 'shadow',
           summary: '',
-          signature: 'titleAs?: AlertHeadingTag | undefined;',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
         },
         {
-          name: 'variant',
+          name: 'shrink',
           summary: '',
-          signature: 'variant?: AlertVariant | undefined;',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
         },
       ],
     },
     {
-      name: 'AlertTitle',
-      anchor: 'alert-title',
-      signature: 'AlertTitle: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `alert-title` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'AlertVariant',
-      anchor: 'alert-variant',
-      signature:
-        'AlertVariant: "default" | "info" | "success" | "warning" | "danger"',
-      typeOnly: true,
-      summary:
-        'Visual tone of an {@link AlertProps} alert; `"danger"`/`"warning"` render with `role="alert"`.',
-    },
-    {
-      name: 'Aside',
-      anchor: 'aside',
-      signature: 'Aside: (props: AsideProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a `<aside>`-element {@link Block } tagged with `data-slot="aside"`.',
-    },
-    {
-      name: 'AsideProps',
-      anchor: 'aside-props',
-      signature: 'AsideProps: Omit<BlockElementProps<"aside">, "as">',
-      typeOnly: true,
-      summary: 'Props for the {@link Aside } component.',
-    },
-    {
-      name: 'AspectRatio',
-      anchor: 'aspect-ratio',
+      name: 'BlockElement',
+      anchor: 'block-element',
       signature:
-        'AspectRatio: { (props: AspectRatioProps): JSX.Element; (props: AspectRatioAsChildProps): JSX.Element; }',
+        'BlockElement: "div" | "span" | "main" | "header" | "footer" | "section" | "aside" | "nav" | "a" | "ul" | "ol" | "li" | "form" | "article"',
       typeOnly: true,
-      summary:
-        'Constrains its content to a fixed width/height ratio (defaults to `1`)\nusing a computed `aspect-ratio` style, rendering as a `<div>` or, with\n`asChild`, merging its layout into the single child element.',
+      summary: 'Element tags {@link Block } can render as via its `as` prop.',
     },
     {
-      name: 'AspectRatioAsChildProps',
-      anchor: 'aspect-ratio-as-child-props',
+      name: 'BlockElementProps',
+      anchor: 'block-element-props',
       signature:
-        'AspectRatioAsChildProps: AspectRatioOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        'BlockElementProps: Omit<JSX.IntrinsicElements[TElement], "children" | "ref"> & BlockOwnProps & {\n  as?: TElement;\n  asChild?: false;\n  ref?: Ref<unknown>;\n}',
       typeOnly: true,
       summary:
-        'Props for {@link AspectRatio } rendered with `asChild`, merging layout onto a single child element.',
+        '{@link Block } props specialized for a given {@link BlockElement} tag `TElement`.',
       members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: TElement | undefined;',
+        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'children',
+          name: 'background',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
         },
         {
-          name: 'ratio',
+          name: 'border',
           summary: '',
-          signature: 'ratio?: string | number | undefined;',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'ref',
+          name: 'borderBottom',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
         },
         {
-          name: 'style',
+          name: 'borderRight',
           summary: '',
-          signature: 'style?: unknown;',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'AspectRatioProps',
-      anchor: 'aspect-ratio-props',
-      signature:
-        'AspectRatioProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & AspectRatioOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
-      typeOnly: true,
-      summary:
-        'Props for {@link AspectRatio } rendered as its default `<div>` element.',
-      members: [
         {
-          name: 'asChild',
+          name: 'borderTop',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
         },
         {
           name: 'children',
@@ -32308,74 +28813,89 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'ratio',
+          name: 'direction',
           summary: '',
-          signature: 'ratio?: string | number | undefined;',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
         },
         {
-          name: 'ref',
+          name: 'gap',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'style',
+          name: 'grow',
           summary: '',
-          signature: 'style?: unknown;',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'Avatar',
-      anchor: 'avatar',
-      signature:
-        'Avatar: { (props: AvatarProps): JSX.Element; (props: AvatarAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `avatar` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AvatarFallback',
-      anchor: 'avatar-fallback',
-      signature:
-        'AvatarFallback: { (props: AvatarFallbackProps): JSX.Element | null; (props: AvatarFallbackAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `avatar-fallback` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'AvatarImage',
-      anchor: 'avatar-image',
-      signature: 'AvatarImage: (props: AvatarImageProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the `avatar-image` part of `avatar`.',
-    },
-    {
-      name: 'Badge',
-      anchor: 'badge',
-      signature:
-        'Badge: { (props: BadgeProps): JSX.Element; (props: BadgeAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a small status/label badge, defaulting to a `<span>` (or merging onto a child via `asChild`), with a `variant` color modifier.',
-    },
-    {
-      name: 'BadgeAsChildProps',
-      anchor: 'badge-as-child-props',
-      signature:
-        'BadgeAsChildProps: BadgeOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
-      typeOnly: true,
-      summary:
-        'Props for {@link Badge } rendered with `asChild`, merging its attributes onto a single child element.',
-      members: [
         {
-          name: 'asChild',
+          name: 'height',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'children',
+          name: 'hide',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
         },
         {
           name: 'ref',
@@ -32383,97 +28903,83 @@ export const apiSymbolSets: Readonly<
           signature: 'ref?: Ref<unknown>;',
         },
         {
-          name: 'variant',
+          name: 'rowFrom',
           summary: '',
-          signature: 'variant?: BadgeVariant | undefined;',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
         },
-      ],
-    },
-    {
-      name: 'BadgeOwnProps',
-      anchor: 'badge-own-props',
-      signature:
-        'BadgeOwnProps: {\n  children?: unknown;\n  variant?: BadgeVariant;\n}',
-      typeOnly: true,
-      summary: 'Props shared by both {@link Badge } call signatures.',
-      members: [
         {
-          name: 'children',
+          name: 'shadow',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
         },
         {
-          name: 'variant',
+          name: 'shrink',
           summary: '',
-          signature: 'variant?: BadgeVariant | undefined;',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
         },
-      ],
-    },
-    {
-      name: 'BadgeProps',
-      anchor: 'badge-props',
-      signature:
-        'BadgeProps: Omit<JSX.IntrinsicElements["span"], "children" | "ref"> & BadgeOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLSpanElement>;\n}',
-      typeOnly: true,
-      summary:
-        'Props for {@link Badge } rendered as its default `<span>` element.',
-      members: [
         {
-          name: 'asChild',
+          name: 'sticky',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'sticky?: boolean | undefined;',
         },
         {
-          name: 'children',
+          name: 'top',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'ref',
+          name: 'width',
           summary: '',
-          signature: 'ref?: Ref<HTMLSpanElement>;',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
         },
         {
-          name: 'variant',
+          name: 'wrap',
           summary: '',
-          signature: 'variant?: BadgeVariant | undefined;',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
         },
       ],
     },
     {
-      name: 'Block',
-      anchor: 'block',
-      signature:
-        'Block: { (props: BlockNativeProps): JSX.Element; (props: BlockAsChildProps): JSX.Element; }',
+      name: 'BlockJustify',
+      anchor: 'block-justify',
+      signature: 'BlockJustify: "start" | "end" | "center" | "between"',
       typeOnly: true,
-      summary:
-        'Low-level layout primitive: renders any element in {@link BlockElement }\n(default `<div>`) and turns layout-only props (spacing, alignment,\ndirection, sizing, etc.) into a generated utility class. With `asChild`,\nthe layout is merged onto a single child element instead of a wrapper.',
     },
     {
-      name: 'BlockAlign',
-      anchor: 'block-align',
-      signature:
-        'BlockAlign: "start" | "end" | "center" | "stretch" | "baseline"',
+      name: 'BlockMargin',
+      anchor: 'block-margin',
+      signature: 'BlockMargin: BlockSpace | "auto"',
       typeOnly: true,
     },
     {
-      name: 'BlockAsChildProps',
-      anchor: 'block-as-child-props',
+      name: 'BlockNativeProps',
+      anchor: 'block-native-props',
       signature:
-        'BlockAsChildProps: Omit<BlockOwnProps, "as"> & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        'BlockNativeProps: { [TElement in BlockElement]: BlockElementProps<TElement>; }[BlockElement]',
       typeOnly: true,
       summary:
-        'Props for {@link Block } rendered with `asChild`, merging layout onto a single child element.',
+        "Union of {@link BlockElementProps} across every {@link BlockElement}, used for {@link Block }'s native (non-`asChild`) overload.",
       members: [
         {
           name: 'align',
           summary: '',
           signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
         },
+        {
+          name: 'as',
+          summary: '',
+          signature:
+            'as?: "a" | "article" | "aside" | "div" | "form" | "footer" | "header" | "li" | "main" | "nav" | "ol" | "section" | "span" | "ul" | undefined;',
+        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'background',
@@ -32509,12 +29015,13 @@ export const apiSymbolSets: Readonly<
         {
           name: 'children',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'children?: unknown;',
         },
         {
           name: 'className',
           summary: '',
-          signature: 'className?: string | undefined;',
+          signature:
+            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
         },
         {
           name: 'direction',
@@ -32649,25 +29156,13 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'BlockBackground',
-      anchor: 'block-background',
-      signature:
-        'BlockBackground: "surface" | "muted" | "selected" | "canvas" | "raised" | "overlay" | "transparent"',
-      typeOnly: true,
-    },
-    {
-      name: 'BlockDirection',
-      anchor: 'block-direction',
+      name: 'BlockOwnProps',
+      anchor: 'block-own-props',
       signature:
-        'BlockDirection: "row" | "column" | "row-reverse" | "column-reverse"',
-      typeOnly: true,
-    },
-    {
-      name: 'BlockDivProps',
-      anchor: 'block-div-props',
-      signature: 'BlockDivProps: BlockElementProps<"div">',
+        'BlockOwnProps: BlockLayoutProps & {\n  as?: BlockElement;\n  children?: unknown;\n  className?: string;\n}',
       typeOnly: true,
-      summary: '{@link Block } props specialized for a `<div>` element.',
+      summary:
+        'Layout and structural props accepted by {@link Block }, independent of the rendered element.',
       members: [
         {
           name: 'align',
@@ -32677,12 +29172,7 @@ export const apiSymbolSets: Readonly<
         {
           name: 'as',
           summary: '',
-          signature: 'as?: "div" | undefined;',
-        },
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'as?: BlockElement | undefined;',
         },
         {
           name: 'background',
@@ -32810,11 +29300,6 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
         },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<unknown>;',
-        },
         {
           name: 'rowFrom',
           summary: '',
@@ -32858,67 +29343,12325 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'BlockElement',
-      anchor: 'block-element',
+      name: 'BlockProps',
+      anchor: 'block-props',
+      signature: 'BlockProps: BlockNativeProps | BlockAsChildProps',
+      typeOnly: true,
+      summary: 'Union of all prop shapes accepted by {@link Block }.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature:
+            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockRadius',
+      anchor: 'block-radius',
+      signature: 'BlockRadius: true | "sm" | "md" | "lg" | "xl" | "round"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockResponsiveValue',
+      anchor: 'block-responsive-value',
+      signature: 'ResponsiveValue: T | Partial<Record<LayoutBreakpoint, T>>',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockRowFrom',
+      anchor: 'block-row-from',
+      signature: 'BlockRowFrom: Exclude<LayoutBreakpoint, "base">',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockShadow',
+      anchor: 'block-shadow',
+      signature: 'BlockShadow: true | "sm" | "md" | "lg"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSize',
+      anchor: 'block-size',
+      signature:
+        'BlockSize: "auto" | "full" | "screen" | "content" | "sidebar" | "page" | "sm" | "md" | "lg" | "xl"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSpace',
+      anchor: 'block-space',
+      signature:
+        'BlockSpace: "0" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "page"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSpanProps',
+      anchor: 'block-span-props',
+      signature: 'BlockSpanProps: BlockElementProps<"span">',
+      typeOnly: true,
+      summary: '{@link Block } props specialized for a `<span>` element.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: "span" | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockZIndex',
+      anchor: 'block-zindex',
+      signature:
+        'BlockZIndex: "header" | "sticky" | "fixed" | "dropdown" | "modal" | "popover" | "toast" | "tooltip"',
+      typeOnly: true,
+    },
+    {
+      name: 'Brand',
+      anchor: 'brand',
+      signature:
+        'Brand: <TElement extends "div" | "a" | "span" = "div">(props: BrandProps<TElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a brand/logo wrapper, defaulting to a `<div>` (or `<a>`/`<span>` via `as`), or merges onto a single child via `asChild`.',
+    },
+    {
+      name: 'BrandLabel',
+      anchor: 'brand-label',
+      signature: 'BrandLabel: (props: BrandLabelProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the text label portion of a {@link Brand}.',
+    },
+    {
+      name: 'BrandMark',
+      anchor: 'brand-mark',
+      signature: 'BrandMark: (props: BrandMarkProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the icon/mark portion of a {@link Brand}.',
+    },
+    {
+      name: 'Breadcrumb',
+      anchor: 'breadcrumb',
+      signature: 'Breadcrumb: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbEllipsis',
+      anchor: 'breadcrumb-ellipsis',
+      signature:
+        'BreadcrumbEllipsis: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a non-interactive ellipsis marker in a breadcrumb trail.',
+    },
+    {
+      name: 'BreadcrumbItem',
+      anchor: 'breadcrumb-item',
+      signature:
+        'BreadcrumbItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbLink',
+      anchor: 'breadcrumb-link',
+      signature:
+        'BreadcrumbLink: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbList',
+      anchor: 'breadcrumb-list',
+      signature:
+        'BreadcrumbList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbPage',
+      anchor: 'breadcrumb-page',
+      signature:
+        'BreadcrumbPage: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the current (non-link) breadcrumb page, marked `aria-current="page"`.',
+    },
+    {
+      name: 'BreadcrumbSeparator',
+      anchor: 'breadcrumb-separator',
+      signature:
+        'BreadcrumbSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the separator between breadcrumb items (defaults to `"/"`).',
+    },
+    {
+      name: 'Button',
+      anchor: 'button',
+      signature:
+        'Button: { (props: ButtonNativeProps): JSX.Element; (props: ButtonAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Headless Button component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- ARIA attribute application\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled prop directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\nRenders the `button` part of `button`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native button (prevents accidental submit)\n```tsx\n<Button onPress={handleSave}>Save</Button>\n```',
+          'Explicit form submission\n```tsx\n<Button type="submit" onPress={handleSubmit}>Submit</Button>\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Button asChild onPress={handleNav}>\n<a href="/home">Home</a>\n</Button>\n```',
+        ],
+      },
+    },
+    {
+      name: 'ButtonAsChildElement',
+      anchor: 'button-as-child-element',
+      signature: 'ButtonAsChildElement: JSXElement | JSX.Element',
+      typeOnly: true,
+      summary: 'Button As Child Element.',
+    },
+    {
+      name: 'ButtonAsChildProps',
+      anchor: 'button-as-child-props',
+      signature:
+        'ButtonAsChildProps: ButtonOwnProps & {\n  asChild: true;\n  children: ButtonAsChildElement;\n  ref?: Ref<Element>;\n  type?: never;\n}',
+      typeOnly: true,
+      summary: 'Props when rendering with asChild (polymorphic)',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: ButtonAsChildElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonGroup',
+      anchor: 'button-group',
+      signature: 'ButtonGroup: (props: ButtonGroupProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Groups related buttons together, optionally visually attached, with a horizontal or vertical\norientation and `role="group"` by default. Attached groups without an explicit `orientation`\nstack at phone width unless they contain icon buttons; pass `orientation="horizontal"` to\nkeep the row.',
+    },
+    {
+      name: 'ButtonGroupOrientation',
+      anchor: 'button-group-orientation',
+      signature: 'ButtonGroupOrientation: "horizontal" | "vertical"',
+      typeOnly: true,
+      summary:
+        'Layout direction of a {@link ButtonGroup }. When omitted, an attached group is a row that\nstacks at phone width unless it contains icon buttons. An explicit value keeps that direction\nunless the caller also passes `data-responsive="true"`, which opts back into phone stacking.',
+    },
+    {
+      name: 'ButtonGroupProps',
+      anchor: 'button-group-props',
+      signature:
+        'ButtonGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: ButtonGroupOrientation;\n  /** Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`. */\n  "data-responsive"?: "true" | "false";\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ButtonGroup } component.',
+      members: [
+        {
+          name: 'attached',
+          summary: '',
+          signature: 'attached?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'data-responsive',
+          summary:
+            'Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`.',
+          signature: 'data-responsive?: "true" | "false" | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: ButtonGroupOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonNativeProps',
+      anchor: 'button-native-props',
+      signature:
+        "ButtonNativeProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref'> & ButtonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n  type?: 'button' | 'submit' | 'reset';\n}",
+      typeOnly: true,
+      summary: 'Props when rendering as native <button>',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonProps',
+      anchor: 'button-props',
+      signature: 'ButtonProps: ButtonNativeProps | ButtonAsChildProps',
+      typeOnly: true,
+      summary: 'Union of all Button prop variants',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonSize',
+      anchor: 'button-size',
+      signature:
+        "ButtonSize: 'xs' | 'sm' | 'md' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg'",
+      typeOnly: true,
+      summary: 'Button Size.',
+    },
+    {
+      name: 'ButtonVariant',
+      anchor: 'button-variant',
+      signature:
+        "ButtonVariant: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link'",
+      typeOnly: true,
+      summary: 'Button Variant.',
+    },
+    {
+      name: 'ButtonWidth',
+      anchor: 'button-width',
+      signature: "ButtonWidth: 'auto' | 'full'",
+      typeOnly: true,
+      summary: 'Button Width.',
+    },
+    {
+      name: 'Calendar',
+      anchor: 'calendar',
+      signature: 'Calendar: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only calendar anatomy; it does not own dates, grid focus, selection, or month navigation.',
+    },
+    {
+      name: 'CalendarBody',
+      anchor: 'calendar-body',
+      signature: 'CalendarBody: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-body` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarCaption',
+      anchor: 'calendar-caption',
+      signature:
+        'CalendarCaption: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-caption` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarCell',
+      anchor: 'calendar-cell',
+      signature: 'CalendarCell: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-cell` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarDay',
+      anchor: 'calendar-day',
+      signature:
+        'CalendarDay: (props: CatalogComponentProps<HTMLButtonElement> & { disabled?: boolean; outside?: boolean; rangeEnd?: boolean; rangeMiddle?: boolean; rangeStart?: boolean; selected?: boolean; today?: boolean; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes.',
+    },
+    {
+      name: 'CalendarGrid',
+      anchor: 'calendar-grid',
+      signature: 'CalendarGrid: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-grid` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarHead',
+      anchor: 'calendar-head',
+      signature: 'CalendarHead: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-head` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarHeader',
+      anchor: 'calendar-header',
+      signature:
+        'CalendarHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarNav',
+      anchor: 'calendar-nav',
+      signature: 'CalendarNav: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-nav` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarNextButton',
+      anchor: 'calendar-next-button',
+      signature:
+        'CalendarNextButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the calendar to the next month.',
+    },
+    {
+      name: 'CalendarPreviousButton',
+      anchor: 'calendar-previous-button',
+      signature:
+        'CalendarPreviousButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the calendar to the previous month.',
+    },
+    {
+      name: 'CalendarRow',
+      anchor: 'calendar-row',
+      signature: 'CalendarRow: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-row` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Card',
+      anchor: 'card',
+      signature: 'Card: (props: CardProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Root card container; applies the `card` class and an optional `variant` modifier.',
+    },
+    {
+      name: 'CardAction',
+      anchor: 'card-action',
+      signature: 'CardAction: (props: CardActionProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders an action/control region of a {@link Card}, typically positioned alongside the header.',
+    },
+    {
+      name: 'CardActionProps',
+      anchor: 'card-action-props',
+      signature:
+        'CardActionProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardAction } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardContent',
+      anchor: 'card-content',
+      signature: 'CardContent: (props: CardContentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the main content region of a {@link Card}.',
+    },
+    {
+      name: 'CardContentProps',
+      anchor: 'card-content-props',
+      signature:
+        'CardContentProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardContent } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardDescription',
+      anchor: 'card-description',
+      signature:
+        'CardDescription: (props: CardDescriptionProps) => JSX.Element',
+      typeOnly: true,
+      summary: "Renders a {@link Card}'s supporting description text.",
+    },
+    {
+      name: 'CardDescriptionProps',
+      anchor: 'card-description-props',
+      signature:
+        'CardDescriptionProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardDescription } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardFooter',
+      anchor: 'card-footer',
+      signature: 'CardFooter: (props: CardFooterProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the footer region of a {@link Card}.',
+    },
+    {
+      name: 'CardFooterProps',
+      anchor: 'card-footer-props',
+      signature:
+        'CardFooterProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardFooter } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardHeader',
+      anchor: 'card-header',
+      signature: 'CardHeader: (props: CardHeaderProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the header region of a {@link Card}.',
+    },
+    {
+      name: 'CardHeaderProps',
+      anchor: 'card-header-props',
+      signature:
+        'CardHeaderProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardHeader } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardProps',
+      anchor: 'card-props',
+      signature:
+        'CardProps: DivProps & {\n  children?: unknown;\n  variant?: CardVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Card } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: CardVariant | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CardTitle',
+      anchor: 'card-title',
+      signature: 'CardTitle: (props: CardTitleProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "Renders a {@link Card}'s title, defaulting to an `<h3>` (override with `titleAs`).",
+    },
+    {
+      name: 'CardTitleHeadingTag',
+      anchor: 'card-title-heading-tag',
+      signature: 'CardTitleHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
+      typeOnly: true,
+      summary: "Heading tag allowed for a card's title via `titleAs`.",
+    },
+    {
+      name: 'CardTitleProps',
+      anchor: 'card-title-props',
+      signature:
+        'CardTitleProps: HeadingProps & {\n  children?: unknown;\n  /** Choose the level that follows the surrounding document hierarchy. */\n  titleAs?: CardTitleHeadingTag;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardTitle } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+        {
+          name: 'titleAs',
+          summary:
+            'Choose the level that follows the surrounding document hierarchy.',
+          signature: 'titleAs?: CardTitleHeadingTag | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CardVariant',
+      anchor: 'card-variant',
+      signature: 'CardVariant: "default" | "raised"',
+      typeOnly: true,
+      summary: 'Visual style of a {@link CardProps} card.',
+    },
+    {
+      name: 'Carousel',
+      anchor: 'carousel',
+      signature: 'Carousel: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only carousel anatomy; it does not own an active slide, scrolling, or keyboard navigation.',
+    },
+    {
+      name: 'CarouselContent',
+      anchor: 'carousel-content',
+      signature:
+        'CarouselContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `carousel-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CarouselItem',
+      anchor: 'carousel-item',
+      signature: 'CarouselItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `carousel-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CarouselNext',
+      anchor: 'carousel-next',
+      signature:
+        'CarouselNext: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the carousel to the next item.',
+    },
+    {
+      name: 'CarouselPrevious',
+      anchor: 'carousel-previous',
+      signature:
+        'CarouselPrevious: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the carousel to the previous item.',
+    },
+    {
+      name: 'CAT_THEME_NAMES',
+      anchor: 'cat-theme-names',
+      signature:
+        'CAT_THEME_NAMES: readonly ["tabby", "ginger", "tuxedo", "calico", "torty"]',
+      typeOnly: true,
+      summary: 'Names of the built-in "cat" theme presets.',
+    },
+    {
+      name: 'CAT_THEME_OPTIONS',
+      anchor: 'cat-theme-options',
+      signature: 'CAT_THEME_OPTIONS: readonly ThemeOption[]',
+      typeOnly: true,
+      summary:
+        'Theme options for the built-in "cat" theme presets, keyed to {@link CAT_THEME_NAMES}.',
+    },
+    {
+      name: 'CatalogComponentProps',
+      anchor: 'catalog-component-props',
+      signature:
+        'CatalogComponentProps: Record<string, unknown> & {\n  as?: CatalogElement;\n  asChild?: boolean;\n  children?: unknown;\n  class?: string;\n  ref?: Ref<TElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Shared prop shape for the shadcn-compatible catalog primitives below: a\npolymorphic `as`/`asChild` element plus passthrough attributes.',
+      members: [
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: keyof JSX.IntrinsicElements | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'class',
+          summary: '',
+          signature: 'class?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<TElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CatThemeName',
+      anchor: 'cat-theme-name',
+      signature: 'CatThemeName: (typeof CAT_THEME_NAMES)[number]',
+      typeOnly: true,
+      summary: 'A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.',
+    },
+    {
+      name: 'Center',
+      anchor: 'center',
+      signature: 'Center: (props: CenterProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Centers content on both axes within the supplied Block dimensions.',
+    },
+    {
+      name: 'CenterProps',
+      anchor: 'center-props',
+      signature:
+        'CenterProps: WithoutOwnedLayout<BlockProps, "align" | "justify"> & {\n  align?: never;\n  justify?: never;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: unknown;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: unknown;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: unknown;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: unknown;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: unknown;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: unknown;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: unknown;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: unknown;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: unknown;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: unknown;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: unknown;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: unknown;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: unknown;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'Checkbox',
+      anchor: 'checkbox',
+      signature:
+        'Checkbox: { (props: CheckboxInputProps): JSX.Element; (props: CheckboxAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Headless Checkbox component\n\n## Responsibilities\n- Apply aria-checked for checkbox state signaling\n- Handle indeterminate state for native and asChild hosts\n- Support controlled and uncontrolled checked state\n- Forward props and refs to native input or child element\n- Preserve native checkbox semantics and apply checkbox behavior to asChild hosts\n\n## Non-Responsibilities\n- Form submission orchestration beyond native input props\n\n## Invariants\n- MUST NOT add role="button" (native inputs are role="checkbox")\n- checked state may be controlled or uncontrolled\n- indeterminate overrides checked for state signaling\n- For asChild, consumer MUST provide role="checkbox"\nRenders the `checkbox` part of `checkbox` with `role="checkbox"`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native checkbox input\n```tsx\nconst checked = state(false);\n<Checkbox checked={checked()} onPress={() => checked.set(!checked())} />\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Checkbox asChild checked={agreed} onPress={toggleAgree}>\n<div role="checkbox">I agree to terms</div>\n</Checkbox>\n```',
+          'Indeterminate state (partial selection)\n```tsx\n<Checkbox checked={someChecked} indeterminate={!allChecked && someChecked} onPress={toggleAll}>\nSelect All\n</Checkbox>\n```',
+        ],
+      },
+    },
+    {
+      name: 'Close',
+      anchor: 'close',
+      signature: 'Close: (props: CloseNativeProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a dismiss ("×") icon button, built on top of `Button`, defaulting to an icon-sized ghost variant with an accessible `label`.',
+    },
+    {
+      name: 'CloseNativeProps',
+      anchor: 'close-native-props',
+      signature: 'CloseNativeProps: ButtonNativeProps & CloseOwnProps',
+      typeOnly: true,
+      summary: 'Props for the {@link Close } component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CloseOwnProps',
+      anchor: 'close-own-props',
+      signature: 'CloseOwnProps: {\n  label?: string;\n}',
+      typeOnly: true,
+      summary:
+        'Props specific to {@link Close }, layered on top of {@link ButtonNativeProps}.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Cluster',
+      anchor: 'cluster',
+      signature: 'Cluster: (props: ClusterProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Wrapping horizontal content flow for actions, tags, and compact controls.',
+    },
+    {
+      name: 'ClusterProps',
+      anchor: 'cluster-props',
+      signature:
+        'ClusterProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "wrap"> & {\n  direction?: never;\n  rowFrom?: never;\n  wrap?: never;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: unknown;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: unknown;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: unknown;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: unknown;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: unknown;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: unknown;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: unknown;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: unknown;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: unknown;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: unknown;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: unknown;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: unknown;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'Collapsible',
+      anchor: 'collapsible',
+      signature: 'Collapsible: (props: CollapsibleProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `collapsible`.',
+    },
+    {
+      name: 'CollapsibleContent',
+      anchor: 'collapsible-content',
+      signature:
+        'CollapsibleContent: { (props: CollapsibleContentProps): JSX.Element | null; (props: CollapsibleContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `collapsible-content` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'CollapsibleTrigger',
+      anchor: 'collapsible-trigger',
+      signature:
+        'CollapsibleTrigger: { (props: CollapsibleTriggerProps): JSX.Element; (props: CollapsibleTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `collapsible-trigger` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Combobox',
+      anchor: 'combobox',
+      signature: 'Combobox: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only combobox anatomy; it does not own value, popup, filtering, focus, or ARIA state.',
+    },
+    {
+      name: 'ComboboxInput',
+      anchor: 'combobox-input',
+      signature:
+        'ComboboxInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract.',
+    },
+    {
+      name: 'ComboboxList',
+      anchor: 'combobox-list',
+      signature: 'ComboboxList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `combobox-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ComboboxOption',
+      anchor: 'combobox-option',
+      signature:
+        'ComboboxOption: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `combobox-option` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Command',
+      anchor: 'command',
+      signature: 'Command: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only command anatomy; it does not own filtering, selection, focus, or keyboard commands.',
+    },
+    {
+      name: 'CommandDialog',
+      anchor: 'command-dialog',
+      signature: 'CommandDialog: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-dialog` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandEmpty',
+      anchor: 'command-empty',
+      signature: 'CommandEmpty: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-empty` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandGroup',
+      anchor: 'command-group',
+      signature: 'CommandGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-group` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandGroupHeading',
+      anchor: 'command-group-heading',
+      signature:
+        'CommandGroupHeading: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-group-heading` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandHeader',
+      anchor: 'command-header',
+      signature: 'CommandHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandInput',
+      anchor: 'command-input',
+      signature:
+        'CommandInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+      typeOnly: true,
+      summary: "Renders the command palette's search `<input>`.",
+    },
+    {
+      name: 'CommandItem',
+      anchor: 'command-item',
+      signature:
+        'CommandItem: (props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes.',
+    },
+    {
+      name: 'CommandList',
+      anchor: 'command-list',
+      signature: 'CommandList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandPalette',
+      anchor: 'command-palette',
+      signature: 'CommandPalette: (props: CommandPaletteProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Root dialog wrapper for a searchable command palette. Manages open state\n(controlled or uncontrolled), tracks the triggering element, and restores\nfocus to it after the palette closes.',
+    },
+    {
+      name: 'CommandPaletteContent',
+      anchor: 'command-palette-content',
+      signature:
+        'CommandPaletteContent: (props: CommandPaletteContentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Dialog content for a {@link CommandPalette}: renders the overlay, an\naccessible (visually hidden) title/description, and a `Command` list,\nmoving initial focus to `initialFocus` (defaults to the search input) once\nmounted, and optionally suppressing dismiss-on-escape/backdrop.',
+    },
+    {
+      name: 'CommandPaletteContentProps',
+      anchor: 'command-palette-content-props',
+      signature:
+        'CommandPaletteContentProps: Omit<DialogContentProps, "children" | "title" | "onEscapeKeyDown" | "onInteractOutside" | "onPointerDownOutside"> & {\n  children?: unknown;\n  title: string;\n  description?: string;\n  initialFocus?: string | (() => HTMLElement | null) | false;\n  closeOnBackdrop?: boolean;\n  closeOnEscape?: boolean;\n  overlayProps?: DialogOverlayProps;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteContent } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'closeOnBackdrop',
+          summary: '',
+          signature: 'closeOnBackdrop?: boolean | undefined;',
+        },
+        {
+          name: 'closeOnEscape',
+          summary: '',
+          signature: 'closeOnEscape?: boolean | undefined;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: string | undefined;',
+        },
+        {
+          name: 'initialFocus',
+          summary: '',
+          signature:
+            'initialFocus?: string | false | (() => HTMLElement | null) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'overlayProps',
+          summary: '',
+          signature: 'overlayProps?: DialogOverlayProps | undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title: string;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteLink',
+      anchor: 'command-palette-link',
+      signature:
+        'CommandPaletteLink: (props: CommandPaletteLinkProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A navigable result row that closes the palette on selection (unless `closeOnSelect` is `false`) and supports cancelling navigation via `onBeforeNavigate`.',
+    },
+    {
+      name: 'CommandPaletteLinkProps',
+      anchor: 'command-palette-link-props',
+      signature:
+        'CommandPaletteLinkProps: LinkProps & {\n  closeOnSelect?: boolean;\n  onBeforeNavigate?: (event: Event) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteLink } component.',
+      members: [
+        {
+          name: 'closeOnSelect',
+          summary: '',
+          signature: 'closeOnSelect?: boolean | undefined;',
+        },
+        {
+          name: 'onBeforeNavigate',
+          summary: '',
+          signature: 'onBeforeNavigate?: ((event: Event) => void) | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteList',
+      anchor: 'command-palette-list',
+      signature:
+        'CommandPaletteList: (props: CommandPaletteListProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `<ul>` list wrapper for {@link CommandPalette} results.',
+    },
+    {
+      name: 'CommandPaletteListProps',
+      anchor: 'command-palette-list-props',
+      signature:
+        'CommandPaletteListProps: Omit<JSX.IntrinsicElements["ul"], "children" | "ref"> & {\n  children?: unknown;\n  ref?: Ref<HTMLUListElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteList } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLUListElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteProps',
+      anchor: 'command-palette-props',
+      signature: 'CommandPaletteProps: DialogProps',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPalette } component.',
+    },
+    {
+      name: 'CommandPaletteTrigger',
+      anchor: 'command-palette-trigger',
+      signature:
+        'CommandPaletteTrigger: { (props: CommandPaletteTriggerProps): JSX.Element; (props: CommandPaletteTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Trigger that opens the {@link CommandPalette}, registering itself so focus returns here on close.',
+    },
+    {
+      name: 'CommandPaletteTriggerAsChildProps',
+      anchor: 'command-palette-trigger-as-child-props',
+      signature: 'CommandPaletteTriggerAsChildProps: DialogTriggerAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for {@link CommandPaletteTrigger } rendered with `asChild`.',
+    },
+    {
+      name: 'CommandPaletteTriggerProps',
+      anchor: 'command-palette-trigger-props',
+      signature: 'CommandPaletteTriggerProps: DialogTriggerProps',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteTrigger } component.',
+    },
+    {
+      name: 'CommandSeparator',
+      anchor: 'command-separator',
+      signature:
+        'CommandSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-separator` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandShortcut',
+      anchor: 'command-shortcut',
+      signature:
+        'CommandShortcut: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-shortcut` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Container',
+      anchor: 'container',
+      signature: 'Container: (props: ContainerProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Centers content in a max-width column with page gutters (defaults to the `"page"` {@link BlockSize }).',
+    },
+    {
+      name: 'ContainerProps',
+      anchor: 'container-props',
+      signature:
+        'ContainerProps: Omit<BlockDivProps, "maxWidth"> & {\n  size?: BlockSize;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Container } component.',
+      members: [
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: BlockSize | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ContextMenu',
+      anchor: 'context-menu',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'ContextMenuContent',
+      anchor: 'context-menu-content',
+      signature:
+        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+    },
+    {
+      name: 'ContextMenuGroup',
+      anchor: 'context-menu-group',
+      signature:
+        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuItem',
+      anchor: 'context-menu-item',
+      signature:
+        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuLabel',
+      anchor: 'context-menu-label',
+      signature:
+        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuPortal',
+      anchor: 'context-menu-portal',
+      signature:
+        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'ContextMenuSeparator',
+      anchor: 'context-menu-separator',
+      signature:
+        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuTrigger',
+      anchor: 'context-menu-trigger',
+      signature:
+        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'CopyButton',
+      anchor: 'copy-button',
+      signature: 'CopyButton: (props: CopyButtonProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Copies text with visual and assistive success/failure feedback.',
+    },
+    {
+      name: 'CopyButtonProps',
+      anchor: 'copy-button-props',
+      signature:
+        'CopyButtonProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  text: string;\n  label: string;\n  successMessage?: string;\n  failureMessage?: string;\n  resetAfter?: number;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'failureMessage',
+          summary: '',
+          signature: 'failureMessage?: string | undefined;',
+        },
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label: string;',
+        },
+        {
+          name: 'resetAfter',
+          summary: '',
+          signature: 'resetAfter?: number | undefined;',
+        },
+        {
+          name: 'successMessage',
+          summary: '',
+          signature: 'successMessage?: string | undefined;',
+        },
+        {
+          name: 'text',
+          summary: '',
+          signature: 'text: string;',
+        },
+      ],
+    },
+    {
+      name: 'DataTable',
+      anchor: 'data-table',
+      signature: 'DataTable: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only container for the `data-table` catalog slot. It does not sort, filter, select, or paginate data.\nCompose semantic `Table`/`VirtualTable` primitives with application-owned data state for those behaviors.',
+    },
+    {
+      name: 'DatePicker',
+      anchor: 'date-picker',
+      signature: 'DatePicker: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only `date-picker` container. It does not implement a popup calendar, formatting, or\ncalendar-grid keyboard behavior; pair it with {@link DatePickerInput} for a native date input.',
+    },
+    {
+      name: 'DatePickerInput',
+      anchor: 'date-picker-input',
+      signature:
+        'DatePickerInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Native `<input type="date">` styling slot; browser behavior and localization remain native.',
+    },
+    {
+      name: 'DebouncedInput',
+      anchor: 'debounced-input',
+      signature: 'DebouncedInput: (props: DebouncedInputProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nOne component-owned timer is re-timed when `debounceMs` changes (or emits\nat once when the delay drops to zero). A pending value is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
+    },
+    {
+      name: 'DEFAULT_THEME_OPTIONS',
+      anchor: 'default-theme-options',
+      signature: 'DEFAULT_THEME_OPTIONS: readonly ThemeOption[]',
+      typeOnly: true,
+      summary:
+        'Default light/dark/system theme options used by {@link ThemeScope} and {@link ThemePicker}.',
+    },
+    {
+      name: 'Dialog',
+      anchor: 'dialog',
+      signature: 'Dialog: (props: DialogProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
+      tags: {
+        example: [
+          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
+        ],
+      },
+    },
+    {
+      name: 'DialogClose',
+      anchor: 'dialog-close',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogContent',
+      anchor: 'dialog-content',
+      signature:
+        'DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-content` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogDescription',
+      anchor: 'dialog-description',
+      signature:
+        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogOverlay',
+      anchor: 'dialog-overlay',
+      signature:
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogPortal',
+      anchor: 'dialog-portal',
+      signature:
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dialog`.',
+    },
+    {
+      name: 'DialogProps',
+      anchor: 'dialog-props',
+      signature: 'DialogProps: DialogOwnProps',
+      typeOnly: true,
+      summary: 'Props for Dialog.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'modal',
+          summary: '',
+          signature: 'modal?: boolean | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'DialogTitle',
+      anchor: 'dialog-title',
+      signature:
+        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogTrigger',
+      anchor: 'dialog-trigger',
+      signature:
+        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Direction',
+      anchor: 'direction',
+      signature:
+        'Direction: (props: CatalogComponentProps & { dir?: "ltr" | "rtl"; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Sets the `dir` attribute (defaulting to `"ltr"`) on its wrapping element for RTL/LTR scoping.',
+    },
+    {
+      name: 'Dropdown',
+      anchor: 'dropdown',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownContent',
+      anchor: 'dropdown-content',
+      signature:
+        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+    },
+    {
+      name: 'DropdownGroup',
+      anchor: 'dropdown-group',
+      signature:
+        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownItem',
+      anchor: 'dropdown-item',
+      signature:
+        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownItemVariant',
+      anchor: 'dropdown-item-variant',
+      signature: "DropdownItemVariant: 'default' | 'destructive'",
+      typeOnly: true,
+      summary: 'Dropdown Item Variant.',
+    },
+    {
+      name: 'DropdownLabel',
+      anchor: 'dropdown-label',
+      signature:
+        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenu',
+      anchor: 'dropdown-menu',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownMenuContent',
+      anchor: 'dropdown-menu-content',
+      signature:
+        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+    },
+    {
+      name: 'DropdownMenuGroup',
+      anchor: 'dropdown-menu-group',
+      signature:
+        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuItem',
+      anchor: 'dropdown-menu-item',
+      signature:
+        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuLabel',
+      anchor: 'dropdown-menu-label',
+      signature:
+        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuPortal',
+      anchor: 'dropdown-menu-portal',
+      signature:
+        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownMenuSeparator',
+      anchor: 'dropdown-menu-separator',
+      signature:
+        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuTrigger',
+      anchor: 'dropdown-menu-trigger',
+      signature:
+        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownPortal',
+      anchor: 'dropdown-portal',
+      signature:
+        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownSeparator',
+      anchor: 'dropdown-separator',
+      signature:
+        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownTrigger',
+      anchor: 'dropdown-trigger',
+      signature:
+        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownTriggerSize',
+      anchor: 'dropdown-trigger-size',
+      signature: "DropdownTriggerSize: 'md' | 'icon'",
+      typeOnly: true,
+      summary: 'Dropdown Trigger Size.',
+    },
+    {
+      name: 'DropdownTriggerVariant',
+      anchor: 'dropdown-trigger-variant',
+      signature: "DropdownTriggerVariant: 'default' | 'ghost'",
+      typeOnly: true,
+      summary: 'Dropdown Trigger Variant.',
+    },
+    {
+      name: 'Empty',
+      anchor: 'empty',
+      signature: 'Empty: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyContent',
+      anchor: 'empty-content',
+      signature: 'EmptyContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyDescription',
+      anchor: 'empty-description',
+      signature:
+        'EmptyDescription: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-description` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyHeader',
+      anchor: 'empty-header',
+      signature: 'EmptyHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyMedia',
+      anchor: 'empty-media',
+      signature: 'EmptyMedia: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-media` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyState',
+      anchor: 'empty-state',
+      signature: 'EmptyState: (props: EmptyStateProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Centered placeholder for empty lists/views: an icon, title (default `<h2>`), description, extra content, and an action row.',
+    },
+    {
+      name: 'EmptyStateHeadingTag',
+      anchor: 'empty-state-heading-tag',
+      signature:
+        'EmptyStateHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
+      typeOnly: true,
+      summary: "Heading tag allowed for an empty state's title via `titleAs`.",
+    },
+    {
+      name: 'EmptyStateProps',
+      anchor: 'empty-state-props',
+      signature:
+        'EmptyStateProps: BlockDivProps & {\n  icon?: unknown;\n  title?: unknown;\n  titleAs?: EmptyStateHeadingTag;\n  description?: unknown;\n  action?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link EmptyState } component.',
+      members: [
+        {
+          name: 'action',
+          summary: '',
+          signature: 'action?: unknown;',
+        },
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: "div" | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'icon',
+          summary: '',
+          signature: 'icon?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title?: unknown;',
+        },
+        {
+          name: 'titleAs',
+          summary: '',
+          signature: 'titleAs?: EmptyStateHeadingTag | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'EmptyTitle',
+      anchor: 'empty-title',
+      signature: 'EmptyTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-title` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Field',
+      anchor: 'field',
+      signature: 'Field: (props: FieldProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Groups a form control with its hint/error text, marking `data-invalid` when `invalid` is set.',
+    },
+    {
+      name: 'FieldContent',
+      anchor: 'field-content',
+      signature: 'FieldContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldDescription',
+      anchor: 'field-description',
+      signature:
+        'FieldDescription: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-description` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldError',
+      anchor: 'field-error',
+      signature: 'FieldError: (props: FieldErrorProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders validation error text for a {@link Field}, exposed with `role="alert"`.',
+    },
+    {
+      name: 'FieldErrorProps',
+      anchor: 'field-error-props',
+      signature:
+        'FieldErrorProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FieldError } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FieldGroup',
+      anchor: 'field-group',
+      signature: 'FieldGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-group` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldHint',
+      anchor: 'field-hint',
+      signature: 'FieldHint: (props: FieldHintProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders supporting hint text for a {@link Field}.',
+    },
+    {
+      name: 'FieldHintProps',
+      anchor: 'field-hint-props',
+      signature:
+        'FieldHintProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FieldHint } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FieldLabel',
+      anchor: 'field-label',
+      signature: 'FieldLabel: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-label` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldLegend',
+      anchor: 'field-legend',
+      signature: 'FieldLegend: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-legend` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldProps',
+      anchor: 'field-props',
+      signature:
+        'FieldProps: DivProps & {\n  children?: unknown;\n  invalid?: boolean;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Field } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'invalid',
+          summary: '',
+          signature: 'invalid?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FieldSeparator',
+      anchor: 'field-separator',
+      signature:
+        'FieldSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-separator` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldSet',
+      anchor: 'field-set',
+      signature: 'FieldSet: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-set` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'FieldTitle',
+      anchor: 'field-title',
+      signature: 'FieldTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `field-title` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Footer',
+      anchor: 'footer',
+      signature: 'Footer: (props: FooterProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a `<footer>`-element {@link Block } with a muted background and top border.',
+    },
+    {
+      name: 'FooterContent',
+      anchor: 'footer-content',
+      signature: 'FooterContent: (props: FooterContentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the main content wrapper of a {@link Footer}.',
+    },
+    {
+      name: 'FooterContentProps',
+      anchor: 'footer-content-props',
+      signature:
+        'FooterContentProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterContent } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FooterDescription',
+      anchor: 'footer-description',
+      signature:
+        'FooterDescription: (props: FooterDescriptionProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders supporting description text within a {@link Footer}.',
+    },
+    {
+      name: 'FooterDescriptionProps',
+      anchor: 'footer-description-props',
+      signature:
+        'FooterDescriptionProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterDescription } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FooterLink',
+      anchor: 'footer-link',
+      signature: 'FooterLink: (props: FooterLinkProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a single link within a {@link Footer}.',
+    },
+    {
+      name: 'FooterLinkProps',
+      anchor: 'footer-link-props',
+      signature:
+        'FooterLinkProps: AnchorProps & {\n  children?: unknown;\n  ref?: Ref<HTMLAnchorElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterLink } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLAnchorElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FooterLinks',
+      anchor: 'footer-links',
+      signature: 'FooterLinks: (props: FooterLinksProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a `<nav>` wrapper for a group of {@link FooterLink}s.',
+    },
+    {
+      name: 'FooterLinksProps',
+      anchor: 'footer-links-props',
+      signature:
+        'FooterLinksProps: NavProps & {\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterLinks } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FooterProps',
+      anchor: 'footer-props',
+      signature: 'FooterProps: Omit<BlockElementProps<"footer">, "as">',
+      typeOnly: true,
+      summary: 'Props for the {@link Footer } component.',
+    },
+    {
+      name: 'FooterSection',
+      anchor: 'footer-section',
+      signature: 'FooterSection: (props: FooterSectionProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a grouped section within a {@link Footer}.',
+    },
+    {
+      name: 'FooterSectionProps',
+      anchor: 'footer-section-props',
+      signature:
+        'FooterSectionProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterSection } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'FooterTitle',
+      anchor: 'footer-title',
+      signature: 'FooterTitle: (props: FooterTitleProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a section title (`<h2>`) within a {@link Footer}.',
+    },
+    {
+      name: 'FooterTitleProps',
+      anchor: 'footer-title-props',
+      signature:
+        'FooterTitleProps: HeadingProps & {\n  children?: unknown;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FooterTitle } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+      ],
+    },
+    {
+      name: 'Form',
+      anchor: 'form',
+      signature:
+        'Form: { (props: FormProps): JSX.Element; (props: FormAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `form`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Grid',
+      anchor: 'grid',
+      signature:
+        'Grid: <TElement extends GridElement = "div">(props: GridProps<TElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'CSS grid layout primitive: turns `columns`/`gap`/`align` (each optionally responsive) into generated grid-template styles, rendering as `<div>` by default.',
+    },
+    {
+      name: 'GridAlign',
+      anchor: 'grid-align',
+      signature: 'GridAlign: "start" | "center" | "end" | "stretch"',
+      typeOnly: true,
+      summary: '`align-items` value applied to a {@link Grid }.',
+    },
+    {
+      name: 'GridColumns',
+      anchor: 'grid-columns',
+      signature: 'GridColumns: number | string',
+      typeOnly: true,
+      summary:
+        'Column definition for {@link Grid }: a track count or a raw `grid-template-columns` string.',
+    },
+    {
+      name: 'GridElement',
+      anchor: 'grid-element',
+      signature: 'GridElement: "div" | "section" | "ul"',
+      typeOnly: true,
+      summary: 'Element tags {@link Grid } can render as via its `as` prop.',
+    },
+    {
+      name: 'GridProps',
+      anchor: 'grid-props',
+      signature:
+        'GridProps: GridIntrinsicProps<TElement> & {\n  as?: TElement;\n  columns?: ResponsiveValue<GridColumns>;\n  gap?: ResponsiveValue<BlockSpace>;\n  align?: ResponsiveValue<GridAlign>;\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for the {@link Grid } component, specialized for a given {@link GridElement} `TElement`.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<GridAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: TElement | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'columns',
+          summary: '',
+          signature: 'columns?: ResponsiveValue<GridColumns> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+      ],
+    },
+    {
+      name: 'Header',
+      anchor: 'header',
+      signature: 'Header: (props: HeaderProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a `<header>`-element {@link Block } with a surface background and bottom border, optionally sticky-positioned via `position`/`sticky`.',
+    },
+    {
+      name: 'HeaderProps',
+      anchor: 'header-props',
+      signature:
+        'HeaderProps: Omit<BlockElementProps<"header">, "as" | "sticky"> & {\n  position?: "sticky" | "static";\n  sticky?: boolean;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Header } component.',
+      members: [
+        {
+          name: 'position',
+          summary: '',
+          signature: 'position?: "sticky" | "static" | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Heading',
+      anchor: 'heading',
+      signature: 'Heading: ({ level, ...props }: HeadingProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Native semantic heading whose visual size is independent from its explicit document level.',
+    },
+    {
+      name: 'HeadingLevel',
+      anchor: 'heading-level',
+      signature: 'HeadingLevel: 1 | 2 | 3 | 4 | 5 | 6',
+      typeOnly: true,
+    },
+    {
+      name: 'HeadingProps',
+      anchor: 'heading-props',
+      signature:
+        'HeadingProps: NativeHeadingProps & {\n  level: HeadingLevel;\n  size?: HeadingSize;\n  tone?: TextTone;\n  weight?: TextWeight;\n  font?: TextFont;\n  numeric?: TextNumeric;\n  wrap?: TextWrap;\n  truncate?: boolean;\n  children?: unknown;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Strongly typed semantic heading props with visual treatment independent from document level.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'font',
+          summary: '',
+          signature: 'font?: TextFont | undefined;',
+        },
+        {
+          name: 'level',
+          summary: '',
+          signature: 'level: HeadingLevel;',
+        },
+        {
+          name: 'numeric',
+          summary: '',
+          signature: 'numeric?: TextNumeric | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: HeadingSize | undefined;',
+        },
+        {
+          name: 'tone',
+          summary: '',
+          signature: 'tone?: TextTone | undefined;',
+        },
+        {
+          name: 'truncate',
+          summary: '',
+          signature: 'truncate?: boolean | undefined;',
+        },
+        {
+          name: 'weight',
+          summary: '',
+          signature: 'weight?: TextWeight | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: TextWrap | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'HeadingSize',
+      anchor: 'heading-size',
+      signature: 'HeadingSize: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl"',
+      typeOnly: true,
+    },
+    {
+      name: 'HoverCard',
+      anchor: 'hover-card',
+      signature:
+        'HoverCard: (props: HoverCardProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `hover-card`.',
+    },
+    {
+      name: 'HoverCardContent',
+      anchor: 'hover-card-content',
+      signature:
+        'HoverCardContent: { (props: HoverCardContentProps): JSX.Element | null; (props: HoverCardContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `hover-card-content` part of `hover-card` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'HoverCardPortal',
+      anchor: 'hover-card-portal',
+      signature:
+        'HoverCardPortal: (props: HoverCardPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `hover-card`.',
+    },
+    {
+      name: 'HoverCardTrigger',
+      anchor: 'hover-card-trigger',
+      signature:
+        'HoverCardTrigger: { (props: HoverCardTriggerProps): JSX.Element; (props: HoverCardTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `hover-card-trigger` part of `hover-card`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Input',
+      anchor: 'input',
+      signature:
+        'Input: { (props: InputInputProps): JSX.Element; (props: InputAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `input` part of `input`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'InputGroup',
+      anchor: 'input-group',
+      signature: 'InputGroup: (props: InputGroupProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Groups related inputs/addons together, optionally visually attached, with a horizontal or vertical orientation and `role="group"` by default.',
+    },
+    {
+      name: 'InputGroupOrientation',
+      anchor: 'input-group-orientation',
+      signature: 'InputGroupOrientation: "horizontal" | "vertical"',
+      typeOnly: true,
+      summary: 'Layout direction of an {@link InputGroup }.',
+    },
+    {
+      name: 'InputGroupProps',
+      anchor: 'input-group-props',
+      signature:
+        'InputGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: InputGroupOrientation;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link InputGroup } component.',
+      members: [
+        {
+          name: 'attached',
+          summary: '',
+          signature: 'attached?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: InputGroupOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'InputGroupText',
+      anchor: 'input-group-text',
+      signature:
+        'InputGroupText: { (props: InputGroupTextProps): JSX.Element; (props: InputGroupTextAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders static text/label content within an {@link InputGroup}.',
+    },
+    {
+      name: 'InputGroupTextAsChildProps',
+      anchor: 'input-group-text-as-child-props',
+      signature:
+        'InputGroupTextAsChildProps: SpanProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link InputGroupText } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
+    },
+    {
+      name: 'InputGroupTextProps',
+      anchor: 'input-group-text-props',
+      signature:
+        'InputGroupTextProps: SpanProps & {\n  asChild?: false;\n  children?: unknown;\n  ref?: Ref<HTMLSpanElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link InputGroupText } rendered as its default `<span>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+      ],
+    },
+    {
+      name: 'InputOTP',
+      anchor: 'input-otp',
+      signature: 'InputOTP: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only OTP anatomy; it does not render an input or own value, focus, paste, or validation behavior.',
+    },
+    {
+      name: 'InputOTPGroup',
+      anchor: 'input-otpgroup',
+      signature: 'InputOTPGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `input-otp-group` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'InputOTPSeparator',
+      anchor: 'input-otpseparator',
+      signature:
+        'InputOTPSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the visual separator between InputOTP groups (defaults to `"-"`).',
+    },
+    {
+      name: 'InputOTPSlot',
+      anchor: 'input-otpslot',
+      signature: 'InputOTPSlot: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Item',
+      anchor: 'item',
+      signature:
+        'Item: (props: CatalogComponentProps & { active?: boolean; size?: "default" | "sm" | "xs"; variant?: "default" | "outline" | "muted"; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes.',
+    },
+    {
+      name: 'ItemActions',
+      anchor: 'item-actions',
+      signature: 'ItemActions: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-actions` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemContent',
+      anchor: 'item-content',
+      signature: 'ItemContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemDescription',
+      anchor: 'item-description',
+      signature:
+        'ItemDescription: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-description` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemFooter',
+      anchor: 'item-footer',
+      signature: 'ItemFooter: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-footer` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemGroup',
+      anchor: 'item-group',
+      signature: 'ItemGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-group` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemHeader',
+      anchor: 'item-header',
+      signature: 'ItemHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemMedia',
+      anchor: 'item-media',
+      signature: 'ItemMedia: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-media` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ItemTitle',
+      anchor: 'item-title',
+      signature: 'ItemTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `item-title` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Kbd',
+      anchor: 'kbd',
+      signature: 'Kbd: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `kbd` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'Label',
+      anchor: 'label',
+      signature:
+        'Label: { (props: LabelLabelProps): JSXElement; (props: LabelAsChildProps): JSXElement; }',
+      typeOnly: true,
+      summary:
+        'Renders the `label` part of `label`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Main',
+      anchor: 'main',
+      signature: 'Main: (props: MainProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a `<main>`-element {@link Block } that grows to fill available space.',
+    },
+    {
+      name: 'MainProps',
+      anchor: 'main-props',
+      signature: 'MainProps: Omit<BlockElementProps<"main">, "as">',
+      typeOnly: true,
+      summary: 'Props for the {@link Main } component.',
+    },
+    {
+      name: 'Menubar',
+      anchor: 'menubar',
+      signature: 'Menubar: (props: MenubarProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarContent',
+      anchor: 'menubar-content',
+      signature:
+        'MenubarContent: { (props: MenubarContentProps): JSX.Element | null; (props: MenubarContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarGroup',
+      anchor: 'menubar-group',
+      signature:
+        'MenubarGroup: (props: MenubarGroupProps | MenubarGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `menubar-group` part of `menubar` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarItem',
+      anchor: 'menubar-item',
+      signature:
+        'MenubarItem: { (props: MenubarItemProps): JSX.Element | null; (props: MenubarItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarLabel',
+      anchor: 'menubar-label',
+      signature:
+        'MenubarLabel: (props: MenubarLabelProps | MenubarLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `menubar-label` part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarMenu',
+      anchor: 'menubar-menu',
+      signature: 'MenubarMenu: (props: MenubarMenuProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarPortal',
+      anchor: 'menubar-portal',
+      signature:
+        'MenubarPortal: (props: MenubarPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarSeparator',
+      anchor: 'menubar-separator',
+      signature:
+        'MenubarSeparator: (props: MenubarSeparatorProps | MenubarSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `menubar-separator` part of `menubar` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarSub',
+      anchor: 'menubar-sub',
+      signature: 'MenubarSub: (props: MenubarSubProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarSubContent',
+      anchor: 'menubar-sub-content',
+      signature:
+        'MenubarSubContent: { (props: MenubarSubContentProps): JSX.Element | null; (props: MenubarSubContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarSubTrigger',
+      anchor: 'menubar-sub-trigger',
+      signature:
+        'MenubarSubTrigger: { (props: MenubarSubTriggerProps): JSX.Element | null; (props: MenubarSubTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarTrigger',
+      anchor: 'menubar-trigger',
+      signature:
+        'MenubarTrigger: { (props: MenubarTriggerProps): JSX.Element | null; (props: MenubarTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MetaStrip',
+      anchor: 'meta-strip',
+      signature: 'MetaStrip: (props: MetaStripProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Semantic compact key/value facts with consistent inline or stacked wrapping.',
+    },
+    {
+      name: 'MetaStripDensity',
+      anchor: 'meta-strip-density',
+      signature: 'MetaStripDensity: "inline" | "stacked"',
+      typeOnly: true,
+    },
+    {
+      name: 'MetaStripItem',
+      anchor: 'meta-strip-item',
+      signature:
+        'MetaStripItem: {\n  label: string;\n  value: string | number;\n  caption?: string;\n  font?: "body" | "mono";\n  numeric?: "normal" | "tabular";\n}',
+      typeOnly: true,
+    },
+    {
+      name: 'MetaStripProps',
+      anchor: 'meta-strip-props',
+      signature:
+        'MetaStripProps: Omit<JSX.IntrinsicElements["dl"], "children" | "ref"> & {\n  items: readonly MetaStripItem[];\n  density?: MetaStripDensity;\n  ref?: Ref<HTMLDListElement>;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'density',
+          summary: '',
+          signature: 'density?: MetaStripDensity | undefined;',
+        },
+        {
+          name: 'items',
+          summary: '',
+          signature: 'items: readonly MetaStripItem[];',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDListElement>;',
+        },
+      ],
+    },
+    {
+      name: 'NativeSelect',
+      anchor: 'native-select',
+      signature:
+        'NativeSelect: (props: CatalogComponentProps<HTMLSelectElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a styled native `<select>` element.',
+    },
+    {
+      name: 'Nav',
+      anchor: 'nav',
+      signature: 'Navbar: (props: NavbarProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Horizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand\nchildren are grouped behind a collapsible toggle so brand content stays\nvisible while the rest collapses on small screens.',
+    },
+    {
+      name: 'Navbar',
+      anchor: 'navbar',
+      signature: 'Navbar: (props: NavbarProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Horizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand\nchildren are grouped behind a collapsible toggle so brand content stays\nvisible while the rest collapses on small screens.',
+    },
+    {
+      name: 'NavbarCollapseBreakpoint',
+      anchor: 'navbar-collapse-breakpoint',
+      signature: 'NavbarCollapseBreakpoint: "sm" | "md" | "lg" | "xl"',
+      typeOnly: true,
+      summary:
+        'Breakpoint at which a {@link Navbar } collapses non-brand content behind a toggle.',
+    },
+    {
+      name: 'NavbarProps',
+      anchor: 'navbar-props',
+      signature:
+        'NavbarProps: Omit<BlockElementProps<"nav">, "as" | "direction" | "align"> & {\n  breakpoint?: NavbarCollapseBreakpoint | false;\n  collapseAt?: NavbarCollapseBreakpoint | false;\n  collapseLabel?: string;\n  collapseIcon?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Navbar } component.',
+      members: [
+        {
+          name: 'breakpoint',
+          summary: '',
+          signature:
+            'breakpoint?: false | NavbarCollapseBreakpoint | undefined;',
+        },
+        {
+          name: 'collapseAt',
+          summary: '',
+          signature:
+            'collapseAt?: false | NavbarCollapseBreakpoint | undefined;',
+        },
+        {
+          name: 'collapseIcon',
+          summary: '',
+          signature: 'collapseIcon?: unknown;',
+        },
+        {
+          name: 'collapseLabel',
+          summary: '',
+          signature: 'collapseLabel?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'NavBrand',
+      anchor: 'nav-brand',
+      signature: 'NavBrand: (props: NavBrandProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the brand/logo slot of a {@link Navbar}; excluded from the collapsible section.',
+    },
+    {
+      name: 'NavBrandProps',
+      anchor: 'nav-brand-props',
+      signature:
+        'NavBrandProps: BlockDivProps | BlockElementProps<"a"> | BlockAsChildProps',
+      typeOnly: true,
+      summary: 'Props for the {@link NavBrand } component.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'NavDropdown',
+      anchor: 'nav-dropdown',
+      signature: 'NavDropdown: (props: NavDropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a dropdown menu triggered from within a {@link Navbar}.',
+    },
+    {
+      name: 'NavDropdownProps',
+      anchor: 'nav-dropdown-props',
+      signature:
+        'NavDropdownProps: Omit<DropdownProps, "children"> & Pick<DropdownContentOwnProps, "align" | "side" | "sideOffset"> & {\n  label: unknown;\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link NavDropdown } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'NavGroup',
+      anchor: 'nav-group',
+      signature: 'NavGroup: (props: NavGroupProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Groups related {@link Navbar} items under an optional label.',
+    },
+    {
+      name: 'NavGroupProps',
+      anchor: 'nav-group-props',
+      signature:
+        'NavGroupProps: Omit<BlockDivProps, "title"> & {\n  label?: unknown;\n  title?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link NavGroup } component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: unknown;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'NavigationMenu',
+      anchor: 'navigation-menu',
+      signature:
+        'NavigationMenu: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only navigation-menu anatomy; it does not own disclosure, roving focus, or keyboard behavior.',
+    },
+    {
+      name: 'NavigationMenuContent',
+      anchor: 'navigation-menu-content',
+      signature:
+        'NavigationMenuContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuIndicator',
+      anchor: 'navigation-menu-indicator',
+      signature:
+        'NavigationMenuIndicator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuItem',
+      anchor: 'navigation-menu-item',
+      signature:
+        'NavigationMenuItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuLink',
+      anchor: 'navigation-menu-link',
+      signature:
+        'NavigationMenuLink: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuList',
+      anchor: 'navigation-menu-list',
+      signature:
+        'NavigationMenuList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuTrigger',
+      anchor: 'navigation-menu-trigger',
+      signature:
+        'NavigationMenuTrigger: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuViewport',
+      anchor: 'navigation-menu-viewport',
+      signature:
+        'NavigationMenuViewport: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavItem',
+      anchor: 'nav-item',
+      signature:
+        'NavItem: { (props: NavItemProps): JSX.Element; (props: NavItemAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'A generic navigation item, rendered as an `<a>` (or, with `asChild`, merged onto a child), highlighted when `active`.',
+    },
+    {
+      name: 'NavItemAsChildProps',
+      anchor: 'nav-item-as-child-props',
+      signature:
+        'NavItemAsChildProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link NavItem } rendered with `asChild`, merging onto a single child element.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
+    },
+    {
+      name: 'NavItemProps',
+      anchor: 'nav-item-props',
+      signature:
+        'NavItemProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLAnchorElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link NavItem } rendered as its default `<a>` element.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLAnchorElement>;',
+        },
+      ],
+    },
+    {
+      name: 'NavLink',
+      anchor: 'nav-link',
+      signature: 'NavLink: (props: NavLinkProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A router-aware navigation link that highlights itself when its route matches the current location.',
+    },
+    {
+      name: 'NavLinkProps',
+      anchor: 'nav-link-props',
+      signature: 'NavLinkProps: LinkProps & NavLinkOwnProps',
+      typeOnly: true,
+      summary: 'Props for the {@link NavLink } component.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'match',
+          summary: '',
+          signature: 'match?: NavLinkMatch | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Page',
+      anchor: 'page',
+      signature: 'Page: (props: PageProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Top-level page wrapper: a growing `<main>` containing a {@link Container } with vertical page padding and content spacing.',
+    },
+    {
+      name: 'PageHeader',
+      anchor: 'page-header',
+      signature: 'PageHeader: (props: PageHeaderProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Page-level header with a title, optional description, and an actions row that wraps to a new line on small screens.',
+    },
+    {
+      name: 'PageHeaderProps',
+      anchor: 'page-header-props',
+      signature:
+        'PageHeaderProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {\n  title: unknown;\n  description?: unknown;\n  actions?: unknown;\n  direction?: never;\n  rowFrom?: never;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link PageHeader } component.',
+      members: [
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: unknown;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'PageProps',
+      anchor: 'page-props',
+      signature: 'PageProps: MainProps',
+      typeOnly: true,
+      summary: 'Props for the {@link Page } component.',
+    },
+    {
+      name: 'Pagination',
+      anchor: 'pagination',
+      signature: 'Pagination: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `pagination` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'PaginationContent',
+      anchor: 'pagination-content',
+      signature:
+        'PaginationContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `pagination-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'PaginationEllipsis',
+      anchor: 'pagination-ellipsis',
+      signature:
+        'PaginationEllipsis: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a non-interactive ellipsis marker between pagination links.',
+    },
+    {
+      name: 'PaginationItem',
+      anchor: 'pagination-item',
+      signature:
+        'PaginationItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `pagination-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'PaginationLink',
+      anchor: 'pagination-link',
+      signature:
+        'PaginationLink: (props: CatalogComponentProps & { active?: boolean; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a pagination page link, marking it `aria-current="page"` when `active`.',
+    },
+    {
+      name: 'PaginationNext',
+      anchor: 'pagination-next',
+      signature:
+        'PaginationNext: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Pagination link that moves to the next page.',
+    },
+    {
+      name: 'PaginationPrevious',
+      anchor: 'pagination-previous',
+      signature:
+        'PaginationPrevious: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Pagination link that moves to the previous page.',
+    },
+    {
+      name: 'Pill',
+      anchor: 'pill',
+      signature: 'Pill: (props: PillProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A router-aware link styled as a pill, auto-marked active by matching the current route, with an active background highlight.',
+    },
+    {
+      name: 'PillProps',
+      anchor: 'pill-props',
+      signature: 'PillProps: LinkProps & NavLinkOwnProps',
+      typeOnly: true,
+      summary: 'Props for the {@link Pill } component.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'match',
+          summary: '',
+          signature: 'match?: NavLinkMatch | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Pills',
+      anchor: 'pills',
+      signature:
+        'Pills: { (props: PillsProps): JSX.Element; (props: PillsAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Pill} links.',
+    },
+    {
+      name: 'PillsAsChildProps',
+      anchor: 'pills-as-child-props',
+      signature:
+        'PillsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Pills } rendered with `asChild`, merging onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
+    },
+    {
+      name: 'PillsProps',
+      anchor: 'pills-props',
+      signature:
+        'PillsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Pills } rendered as its default `<nav>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+      ],
+    },
+    {
+      name: 'Popover',
+      anchor: 'popover',
+      signature:
+        'Popover: (props: PopoverProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `popover`.',
+    },
+    {
+      name: 'PopoverClose',
+      anchor: 'popover-close',
+      signature:
+        'PopoverClose: { (props: PopoverCloseProps): JSX.Element; (props: PopoverCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `popover-close` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'PopoverContent',
+      anchor: 'popover-content',
+      signature:
+        'PopoverContent: { (props: PopoverContentProps): JSX.Element | null; (props: PopoverContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `popover-content` part of `popover` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'PopoverContentWidth',
+      anchor: 'popover-content-width',
+      signature: "PopoverContentWidth: 'sm' | 'md' | 'lg'",
+      typeOnly: true,
+      summary: 'Popover Content Width.',
+    },
+    {
+      name: 'PopoverPortal',
+      anchor: 'popover-portal',
+      signature:
+        'PopoverPortal: (props: PopoverPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `popover`.',
+    },
+    {
+      name: 'PopoverTrigger',
+      anchor: 'popover-trigger',
+      signature:
+        'PopoverTrigger: { (props: PopoverTriggerProps): JSX.Element; (props: PopoverTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `popover-trigger` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Progress',
+      anchor: 'progress',
+      signature: 'Progress: (props: ProgressProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `progress` part of `progress` with `role="progressbar"`.',
+    },
+    {
+      name: 'ProgressCircle',
+      anchor: 'progress-circle',
+      signature: 'ProgressCircle: (props: ProgressCircleProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Headless circular progress indicator root.\n\nNormalizes value/max, computes percentage, exposes `--ak-progress-percentage`\nas a dynamically injected CSS custom property, and provides progress state\nto `ProgressCircleIndicator` via context.',
+    },
+    {
+      name: 'ProgressCircleIndicator',
+      anchor: 'progress-circle-indicator',
+      signature:
+        'ProgressCircleIndicator: { (props: ProgressCircleIndicatorProps): JSX.Element; (props: ProgressCircleIndicatorAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Visual indicator for `ProgressCircle`, rendering the fill/arc element.\nMust be used within a `ProgressCircle`; reads progress state from context\nand exposes it as `data-state`/`data-value`/`data-max`/`data-percentage`.',
+    },
+    {
+      name: 'ProgressIndicator',
+      anchor: 'progress-indicator',
+      signature:
+        'ProgressIndicator: { (props: ProgressIndicatorProps): JSX.Element; (props: ProgressIndicatorAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `progress-indicator` part of `progress`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'RadioGroup',
+      anchor: 'radio-group',
+      signature:
+        'RadioGroup: (props: RadioGroupProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `radio-group`.',
+    },
+    {
+      name: 'RadioGroupItem',
+      anchor: 'radio-group-item',
+      signature:
+        'RadioGroupItem: { (props: RadioGroupItemProps): JSX.Element; (props: RadioGroupItemAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `radio-group-item` part of `radio-group` with `role="radio"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ResizableHandle',
+      anchor: 'resizable-handle',
+      signature:
+        'ResizableHandle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls.',
+    },
+    {
+      name: 'ResizablePanel',
+      anchor: 'resizable-panel',
+      signature:
+        'ResizablePanel: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions.',
+    },
+    {
+      name: 'ResizablePanelGroup',
+      anchor: 'resizable-panel-group',
+      signature:
+        'ResizablePanelGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing.\nConsumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.',
+    },
+    {
+      name: 'ScrollArea',
+      anchor: 'scroll-area',
+      signature:
+        'ScrollArea: { (props: ScrollAreaProps): JSX.Element; (props: ScrollAreaAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary: 'Renders a part of `scroll-area`.',
+    },
+    {
+      name: 'ScrollAreaCorner',
+      anchor: 'scroll-area-corner',
+      signature:
+        'ScrollAreaCorner: (props: ScrollAreaCornerProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `scroll-area-corner` part of `scroll-area`.',
+    },
+    {
+      name: 'ScrollAreaScrollbar',
+      anchor: 'scroll-area-scrollbar',
+      signature:
+        'ScrollAreaScrollbar: (props: ScrollAreaScrollbarProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `scroll-area-scrollbar` part of `scroll-area` with `role="scrollbar"`.',
+    },
+    {
+      name: 'ScrollAreaThumb',
+      anchor: 'scroll-area-thumb',
+      signature:
+        'ScrollAreaThumb: (props: ScrollAreaThumbProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `scroll-area-thumb` part of `scroll-area`.',
+    },
+    {
+      name: 'ScrollAreaViewport',
+      anchor: 'scroll-area-viewport',
+      signature:
+        'ScrollAreaViewport: { (props: ScrollAreaViewportProps): JSX.Element; (props: ScrollAreaViewportAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary: 'Renders a part of `scroll-area`.',
+    },
+    {
+      name: 'Section',
+      anchor: 'section',
+      signature: 'Section: (props: SectionProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a `<section>`-element {@link Block } with vertical spacing between children and page padding.',
+    },
+    {
+      name: 'SectionProps',
+      anchor: 'section-props',
+      signature: 'SectionProps: Omit<BlockElementProps<"section">, "as">',
+      typeOnly: true,
+      summary: 'Props for the {@link Section } component.',
+    },
+    {
+      name: 'Select',
+      anchor: 'select',
+      signature: 'Select: (props: SelectProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `select`.',
+    },
+    {
+      name: 'SelectContent',
+      anchor: 'select-content',
+      signature:
+        'SelectContent: { (props: SelectContentProps): JSX.Element | null; (props: SelectContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `select` with `role="listbox"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectGroup',
+      anchor: 'select-group',
+      signature:
+        'SelectGroup: { (props: SelectGroupProps): JSX.Element; (props: SelectGroupAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-group` part of `select` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectItem',
+      anchor: 'select-item',
+      signature:
+        'SelectItem: { (props: SelectItemProps): JSX.Element | null; (props: SelectItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectItemText',
+      anchor: 'select-item-text',
+      signature:
+        'SelectItemText: { (props: SelectItemTextProps): JSX.Element; (props: SelectItemTextAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'SelectItemText marks the item text node so Select can resolve labels and\nstyle the text slot directly.\nRenders the `select-item-text` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectLabel',
+      anchor: 'select-label',
+      signature:
+        'SelectLabel: { (props: SelectLabelProps): JSX.Element | null; (props: SelectLabelAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-label` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectPortal',
+      anchor: 'select-portal',
+      signature:
+        'SelectPortal: (props: SelectPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `select`.',
+    },
+    {
+      name: 'SelectSeparator',
+      anchor: 'select-separator',
+      signature:
+        'SelectSeparator: { (props: SelectSeparatorProps): JSX.Element | null; (props: SelectSeparatorAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-separator` part of `select` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectTrigger',
+      anchor: 'select-trigger',
+      signature:
+        'SelectTrigger: { (props: SelectTriggerProps): JSX.Element | null; (props: SelectTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-trigger` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectTriggerSize',
+      anchor: 'select-trigger-size',
+      signature: "SelectTriggerSize: 'sm' | 'md' | 'lg'",
+      typeOnly: true,
+      summary: 'Select Trigger Size.',
+    },
+    {
+      name: 'SelectValue',
+      anchor: 'select-value',
+      signature:
+        'SelectValue: { (props: SelectValueProps): JSX.Element | null; (props: SelectValueAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-value` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Separator',
+      anchor: 'separator',
+      signature:
+        'Separator: { (props: SeparatorNativeProps): JSX.Element; (props: SeparatorAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Visual divider, defaulting to horizontal `role="separator"`; pass\n`decorative` to drop the semantic role, or `asChild` to merge onto a\nsingle child element.',
+    },
+    {
+      name: 'SeparatorAsChildProps',
+      anchor: 'separator-as-child-props',
+      signature:
+        'SeparatorAsChildProps: SeparatorOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Separator } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
+    },
+    {
+      name: 'SeparatorNativeProps',
+      anchor: 'separator-native-props',
+      signature:
+        'SeparatorNativeProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SeparatorOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Separator } rendered as its default `<div>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'SeparatorOwnProps',
+      anchor: 'separator-own-props',
+      signature:
+        'SeparatorOwnProps: {\n  decorative?: boolean;\n  orientation?: "horizontal" | "vertical";\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props shared by both {@link Separator } call signatures.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SeparatorProps',
+      anchor: 'separator-props',
+      signature: 'SeparatorProps: SeparatorNativeProps | SeparatorAsChildProps',
+      typeOnly: true,
+      summary: 'Union of all prop shapes accepted by {@link Separator }.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: unknown) => void) | { current: unknown; } | ((value: HTMLDivElement | null) => void) | { current: HTMLDivElement | null; } | null | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Sheet',
+      anchor: 'sheet',
+      signature: 'Dialog: (props: DialogProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
+      tags: {
+        example: [
+          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
+        ],
+      },
+    },
+    {
+      name: 'SheetClose',
+      anchor: 'sheet-close',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SheetContent',
+      anchor: 'sheet-content',
+      signature:
+        'SheetContent: (props: CatalogComponentProps & { side?: "top" | "right" | "bottom" | "left"; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Sheet variant of the dialog content part; defaults to sliding in from the right.',
+    },
+    {
+      name: 'SheetDescription',
+      anchor: 'sheet-description',
+      signature:
+        'SheetDescription: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Sheet variant of the dialog description part.',
+    },
+    {
+      name: 'SheetFooter',
+      anchor: 'sheet-footer',
+      signature: 'SheetFooter: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `sheet-footer` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'SheetHeader',
+      anchor: 'sheet-header',
+      signature: 'SheetHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `sheet-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'SheetOverlay',
+      anchor: 'sheet-overlay',
+      signature:
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SheetPortal',
+      anchor: 'sheet-portal',
+      signature:
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dialog`.',
+    },
+    {
+      name: 'SheetTitle',
+      anchor: 'sheet-title',
+      signature: 'SheetTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Sheet variant of the dialog title part.',
+    },
+    {
+      name: 'SheetTrigger',
+      anchor: 'sheet-trigger',
+      signature:
+        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Sidebar',
+      anchor: 'sidebar',
+      signature: 'Sidebar: (props: SidebarProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Root `<aside>` sidebar layout with configurable width, side, collapse behavior, and visual variant, exposed as data attributes for CSS.',
+    },
+    {
+      name: 'SidebarButtonProps',
+      anchor: 'sidebar-button-props',
+      signature:
+        'SidebarButtonProps: JSX.IntrinsicElements["button"] & {\n  active?: boolean;\n  asChild?: boolean;\n  size?: "default" | "sm" | "lg";\n  tooltip?: string;\n  tooltipSide?: SidebarTooltipSide;\n  variant?: "default" | "outline";\n}',
+      typeOnly: true,
+      summary:
+        'Props shared by the interactive {@link Sidebar } button parts (menu button, action, trigger).',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: "default" | "sm" | "lg" | undefined;',
+        },
+        {
+          name: 'tooltip',
+          summary: '',
+          signature: 'tooltip?: string | undefined;',
+        },
+        {
+          name: 'tooltipSide',
+          summary: '',
+          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: "default" | "outline" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SidebarCollapsible',
+      anchor: 'sidebar-collapsible',
+      signature: 'SidebarCollapsible: "offcanvas" | "icon" | "none"',
+      typeOnly: true,
+      summary:
+        'How a {@link Sidebar } collapses: fully off-canvas, down to icons only, or not at all.',
+    },
+    {
+      name: 'SidebarContent',
+      anchor: 'sidebar-content',
+      signature: 'SidebarContent: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the scrollable content region of a {@link Sidebar}.',
+    },
+    {
+      name: 'SidebarFooter',
+      anchor: 'sidebar-footer',
+      signature: 'SidebarFooter: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the footer region of a {@link Sidebar}.',
+    },
+    {
+      name: 'SidebarGroup',
+      anchor: 'sidebar-group',
+      signature: 'SidebarGroup: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Groups related {@link SidebarMenu} items together.',
+    },
+    {
+      name: 'SidebarGroupContent',
+      anchor: 'sidebar-group-content',
+      signature:
+        'SidebarGroupContent: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the content region of a {@link SidebarGroup}.',
+    },
+    {
+      name: 'SidebarGroupLabel',
+      anchor: 'sidebar-group-label',
+      signature: 'SidebarGroupLabel: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the label for a {@link SidebarGroup}.',
+    },
+    {
+      name: 'SidebarHeader',
+      anchor: 'sidebar-header',
+      signature: 'SidebarHeader: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the header region of a {@link Sidebar}.',
+    },
+    {
+      name: 'SidebarInset',
+      anchor: 'sidebar-inset',
+      signature: 'SidebarInset: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `<main>` content area beside the {@link Sidebar}.',
+    },
+    {
+      name: 'SidebarMenu',
+      anchor: 'sidebar-menu',
+      signature: 'SidebarMenu: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a `<ul>` list of {@link SidebarMenuItem}s.',
+    },
+    {
+      name: 'SidebarMenuAction',
+      anchor: 'sidebar-menu-action',
+      signature:
+        'SidebarMenuAction: (props: SidebarButtonProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a secondary action button attached to a {@link SidebarMenuItem}, with an optional tooltip.',
+    },
+    {
+      name: 'SidebarMenuBadge',
+      anchor: 'sidebar-menu-badge',
+      signature: 'SidebarMenuBadge: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a status badge attached to a {@link SidebarMenuItem}.',
+    },
+    {
+      name: 'SidebarMenuButton',
+      anchor: 'sidebar-menu-button',
+      signature:
+        'SidebarMenuButton: (props: SidebarButtonProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Clickable menu button within a {@link SidebarMenuItem}; supports `active`/`size`/`variant` state and an optional tooltip.',
+    },
+    {
+      name: 'SidebarMenuItem',
+      anchor: 'sidebar-menu-item',
+      signature: 'SidebarMenuItem: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a single `<li>` entry within a {@link SidebarMenu}.',
+    },
+    {
+      name: 'SidebarPartProps',
+      anchor: 'sidebar-part-props',
+      signature:
+        'SidebarPartProps: JSX.IntrinsicElements["div"] & {\n  as?: keyof JSX.IntrinsicElements;\n  asChild?: boolean;\n}',
+      typeOnly: true,
+      summary:
+        'Props shared by the generic {@link Sidebar } structural parts (content, header, footer, group, etc.).',
+      members: [
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: keyof JSX.IntrinsicElements | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SidebarProps',
+      anchor: 'sidebar-props',
+      signature:
+        'SidebarProps: Omit<BlockElementProps<"aside">, "as" | "width" | "shrink"> & {\n  collapsible?: SidebarCollapsible;\n  side?: SidebarSide;\n  variant?: SidebarVariant;\n  width?: BlockElementProps<"aside">["width"];\n  shrink?: BlockElementProps<"aside">["shrink"];\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Sidebar } component.',
+      members: [
+        {
+          name: 'collapsible',
+          summary: '',
+          signature: 'collapsible?: SidebarCollapsible | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: SidebarSide | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: SidebarVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SidebarRail',
+      anchor: 'sidebar-rail',
+      signature: 'SidebarRail: (props: SidebarButtonProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "Renders a draggable/clickable rail along the sidebar's edge for resizing or toggling it.",
+    },
+    {
+      name: 'SidebarRailProps',
+      anchor: 'sidebar-rail-props',
+      signature: 'SidebarRailProps: SidebarButtonProps',
+      typeOnly: true,
+      summary: 'Props for the {@link SidebarRail } component.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: "default" | "sm" | "lg" | undefined;',
+        },
+        {
+          name: 'tooltip',
+          summary: '',
+          signature: 'tooltip?: string | undefined;',
+        },
+        {
+          name: 'tooltipSide',
+          summary: '',
+          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: "default" | "outline" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SidebarScope',
+      anchor: 'sidebar-scope',
+      signature: 'SidebarScope: (props: SidebarPartProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "Scoping wrapper that establishes the sidebar's CSS/context boundary.",
+    },
+    {
+      name: 'SidebarSide',
+      anchor: 'sidebar-side',
+      signature: 'SidebarSide: "left" | "right"',
+      typeOnly: true,
+      summary: 'Which edge of the viewport a {@link Sidebar } is docked to.',
+    },
+    {
+      name: 'SidebarTooltipSide',
+      anchor: 'sidebar-tooltip-side',
+      signature: 'SidebarTooltipSide: "top" | "bottom" | "left" | "right"',
+      typeOnly: true,
+      summary: "Side a sidebar button's tooltip is positioned on.",
+    },
+    {
+      name: 'SidebarTrigger',
+      anchor: 'sidebar-trigger',
+      signature: 'SidebarTrigger: (props: SidebarButtonProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "Icon button that toggles the {@link Sidebar}'s open/collapsed state, with an optional tooltip.",
+    },
+    {
+      name: 'SidebarVariant',
+      anchor: 'sidebar-variant',
+      signature: 'SidebarVariant: "sidebar" | "floating" | "inset"',
+      typeOnly: true,
+      summary: 'Visual style of a {@link Sidebar }.',
+    },
+    {
+      name: 'Skeleton',
+      anchor: 'skeleton',
+      signature:
+        'Skeleton: { (props: SkeletonProps): JSX.Element; (props: SkeletonAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Loading placeholder block with configurable `width`/`height`, hidden from assistive tech via `aria-hidden`, rendered as a `<div>` or merged onto a child via `asChild`.',
+    },
+    {
+      name: 'SkeletonAsChildProps',
+      anchor: 'skeleton-as-child-props',
+      signature:
+        'SkeletonAsChildProps: SkeletonOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Skeleton } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SkeletonOwnProps',
+      anchor: 'skeleton-own-props',
+      signature:
+        'SkeletonOwnProps: {\n  children?: unknown;\n  height?: string | number;\n  width?: string | number;\n}',
+      typeOnly: true,
+      summary: 'Props shared by both {@link Skeleton } call signatures.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SkeletonProps',
+      anchor: 'skeleton-props',
+      signature:
+        'SkeletonProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SkeletonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Skeleton } rendered as its default `<div>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Slider',
+      anchor: 'slider',
+      signature: 'Slider: (props: SliderProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `slider` part of `slider`.',
+    },
+    {
+      name: 'SliderRange',
+      anchor: 'slider-range',
+      signature:
+        'SliderRange: { (props: SliderRangeProps): JSX.Element; (props: SliderRangeAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `slider-range` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SliderThumb',
+      anchor: 'slider-thumb',
+      signature:
+        'SliderThumb: { (props: SliderThumbProps): JSX.Element; (props: SliderThumbAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `slider-thumb` part of `slider` with `role="slider"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SliderTrack',
+      anchor: 'slider-track',
+      signature:
+        'SliderTrack: { (props: SliderTrackProps): JSX.Element; (props: SliderTrackAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `slider-track` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Spinner',
+      anchor: 'spinner',
+      signature: 'Spinner: (props: SpinnerProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Indeterminate loading spinner built on `ProgressCircle`, with an accessible label (defaults to `"Loading"`) and a `size` modifier.',
+    },
+    {
+      name: 'SpinnerOwnProps',
+      anchor: 'spinner-own-props',
+      signature:
+        'SpinnerOwnProps: Omit<ProgressCircleProps, "value" | "getValueLabel"> & {\n  label?: string;\n  size?: SpinnerSize;\n}',
+      typeOnly: true,
+      summary:
+        'Props specific to {@link Spinner }, layered on top of `ProgressCircleProps`.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SpinnerSize | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SpinnerProps',
+      anchor: 'spinner-props',
+      signature: 'SpinnerProps: SpinnerOwnProps',
+      typeOnly: true,
+      summary: 'Props for the {@link Spinner } component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SpinnerSize | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'SpinnerSize',
+      anchor: 'spinner-size',
+      signature: 'SpinnerSize: "sm" | "md" | "lg"',
+      typeOnly: true,
+      summary: 'Size modifier for {@link Spinner }.',
+    },
+    {
+      name: 'Stack',
+      anchor: 'stack',
+      signature: 'Stack: (props: StackProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Vertical content flow with responsive, token-backed spacing.',
+    },
+    {
+      name: 'StackProps',
+      anchor: 'stack-props',
+      signature:
+        'StackProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "gap" | "padding" | "wrap"> & {\n  direction?: never;\n  gap?: ResponsiveValue<StackSpace>;\n  p?: ResponsiveValue<StackSpace>;\n  padding?: ResponsiveValue<StackSpace>;\n  rowFrom?: never;\n  wrap?: ResponsiveValue<StackWrap>;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: unknown;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: unknown;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: unknown;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: unknown;',
+        },
+        {
+          name: 'p',
+          summary: '',
+          signature: 'p?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: unknown;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: unknown;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: unknown;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: unknown;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: unknown;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: unknown;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'Stat',
+      anchor: 'stat',
+      signature: 'Stat: (props: StatProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Container for a labeled statistic (label, value, description).',
+    },
+    {
+      name: 'StatDescription',
+      anchor: 'stat-description',
+      signature:
+        'StatDescription: (props: StatDescriptionProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders supporting description text for a {@link Stat}.',
+    },
+    {
+      name: 'StatLabel',
+      anchor: 'stat-label',
+      signature: 'StatLabel: (props: StatLabelProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the label of a {@link Stat}.',
+    },
+    {
+      name: 'StatValue',
+      anchor: 'stat-value',
+      signature: 'StatValue: (props: StatValueProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the primary value of a {@link Stat}.',
+    },
+    {
+      name: 'Switch',
+      anchor: 'switch',
+      signature:
+        'Switch: { (props: SwitchButtonProps): JSX.Element; (props: SwitchAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `switch` part of `switch` with `role="switch"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Tab',
+      anchor: 'tab',
+      signature: 'Tab: (props: TabProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A router-aware link styled as a tab, auto-marked active by matching the current route (see {@link NavLinkProps.match}).',
+    },
+    {
+      name: 'Table',
+      anchor: 'table',
+      signature:
+        'Table: { (props: TableProps): JSX.Element; (props: TableAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Semantic table primitive family.\nRenders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableBody',
+      anchor: 'table-body',
+      signature:
+        'TableBody: { (props: TableBodyProps): JSX.Element; (props: TableBodyAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableCaption',
+      anchor: 'table-caption',
+      signature:
+        'TableCaption: { (props: TableCaptionProps): JSX.Element; (props: TableCaptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableCell',
+      anchor: 'table-cell',
+      signature:
+        'TableCell: { (props: TableCellProps): JSX.Element; (props: TableCellAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableFoot',
+      anchor: 'table-foot',
+      signature:
+        'TableFoot: { (props: TableFootProps): JSX.Element; (props: TableFootAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableHead',
+      anchor: 'table-head',
+      signature:
+        'TableHead: { (props: TableHeadProps): JSX.Element; (props: TableHeadAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableHeaderCell',
+      anchor: 'table-header-cell',
+      signature:
+        'TableHeaderCell: { (props: TableHeaderCellProps): JSX.Element; (props: TableHeaderCellAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableRow',
+      anchor: 'table-row',
+      signature:
+        'TableRow: { (props: TableRowProps): JSX.Element; (props: TableRowAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TabProps',
+      anchor: 'tab-props',
+      signature: 'TabProps: LinkProps & NavLinkOwnProps',
+      typeOnly: true,
+      summary: 'Props for the {@link Tab } component.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'match',
+          summary: '',
+          signature: 'match?: NavLinkMatch | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'Tabs',
+      anchor: 'tabs',
+      signature:
+        'Tabs: { (props: TabsProps): JSX.Element; (props: TabsAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Tab} links.',
+    },
+    {
+      name: 'TabsAsChildProps',
+      anchor: 'tabs-as-child-props',
+      signature:
+        'TabsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Tabs } rendered with `asChild`, merging onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
+    },
+    {
+      name: 'TabsContent',
+      anchor: 'tabs-content',
+      signature: 'TabsContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only tabs-content slot; visibility and panel association are consumer-owned.',
+    },
+    {
+      name: 'TabsList',
+      anchor: 'tabs-list',
+      signature: 'TabsList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only tabs-list slot; it does not own tab selection, ARIA state, or keyboard behavior.',
+    },
+    {
+      name: 'TabsProps',
+      anchor: 'tabs-props',
+      signature:
+        'TabsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Tabs } rendered as its default `<nav>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+      ],
+    },
+    {
+      name: 'TabsTrigger',
+      anchor: 'tabs-trigger',
+      signature:
+        'TabsTrigger: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only trigger button; it does not select or associate a tab panel.',
+    },
+    {
+      name: 'Text',
+      anchor: 'text',
+      signature:
+        'Text: <TElement extends TextElement = "p">(props: TextProps<TElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Typography primitive: renders any {@link TextElement} (default `<p>`) and turns `size`/`tone`/`weight`/`font`/`numeric`/`wrap`/`truncate` into data attributes for CSS styling.',
+    },
+    {
+      name: 'Textarea',
+      anchor: 'textarea',
+      signature:
+        'Textarea: { (props: TextareaElementProps): JSX.Element; (props: TextareaAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `textarea` part of `textarea`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TextElement',
+      anchor: 'text-element',
+      signature: 'TextElement: "p" | "span" | "div" | "strong"',
+      typeOnly: true,
+      summary: 'Element tags {@link Text} can render as via its `as` prop.',
+    },
+    {
+      name: 'TextFont',
+      anchor: 'text-font',
+      signature: 'TextFont: "body" | "mono"',
+      typeOnly: true,
+      summary: 'Font family modifier for {@link Text}.',
+    },
+    {
+      name: 'TextNumeric',
+      anchor: 'text-numeric',
+      signature: 'TextNumeric: "normal" | "tabular"',
+      typeOnly: true,
+      summary: 'Numeric glyph variant (e.g. tabular figures) for {@link Text}.',
+    },
+    {
+      name: 'TextProps',
+      anchor: 'text-props',
+      signature:
+        'TextProps: TextIntrinsicProps<TElement> & {\n  as?: TElement;\n  size?: TextSize;\n  tone?: TextTone;\n  weight?: TextWeight;\n  font?: TextFont;\n  numeric?: TextNumeric;\n  wrap?: TextWrap;\n  truncate?: boolean;\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for the {@link Text} component, specialized for a given {@link TextElement} `TElement`.',
+      members: [
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: TElement | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'font',
+          summary: '',
+          signature: 'font?: TextFont | undefined;',
+        },
+        {
+          name: 'numeric',
+          summary: '',
+          signature: 'numeric?: TextNumeric | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: TextSize | undefined;',
+        },
+        {
+          name: 'tone',
+          summary: '',
+          signature: 'tone?: TextTone | undefined;',
+        },
+        {
+          name: 'truncate',
+          summary: '',
+          signature: 'truncate?: boolean | undefined;',
+        },
+        {
+          name: 'weight',
+          summary: '',
+          signature: 'weight?: TextWeight | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: TextWrap | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'TextSize',
+      anchor: 'text-size',
+      signature: 'TextSize: "sm" | "md" | "lg"',
+      typeOnly: true,
+      summary: 'Font size modifier for {@link Text}.',
+    },
+    {
+      name: 'TextTone',
+      anchor: 'text-tone',
+      signature:
+        'TextTone: "default" | "muted" | "subtle" | "inverse" | "success" | "warning" | "danger" | "info"',
+      typeOnly: true,
+      summary: 'Color tone modifier for {@link Text}.',
+    },
+    {
+      name: 'TextWeight',
+      anchor: 'text-weight',
+      signature: 'TextWeight: "normal" | "medium" | "semibold" | "bold"',
+      typeOnly: true,
+      summary: 'Font weight modifier for {@link Text}.',
+    },
+    {
+      name: 'TextWrap',
+      anchor: 'text-wrap',
+      signature: 'TextWrap: "normal" | "nowrap" | "anywhere"',
+      typeOnly: true,
+      summary: 'White-space wrapping behavior for {@link Text}.',
+    },
+    {
+      name: 'theme',
+      anchor: 'theme',
+      signature: 'theme: () => ThemeScopeValue',
+      typeOnly: true,
+      summary:
+        'Reads the current {@link ThemeScopeValue} from the nearest enclosing {@link ThemeScope}.',
+    },
+    {
+      name: 'ThemeName',
+      anchor: 'theme-name',
+      signature:
+        'ThemeName: "light" | "dark" | "system" | CatThemeName | (string & {})',
+      typeOnly: true,
+      summary:
+        'Any theme identifier accepted by {@link ThemeScope}: `"light"`, `"dark"`, `"system"`, a {@link CatThemeName}, or a custom string.',
+    },
+    {
+      name: 'ThemeOption',
+      anchor: 'theme-option',
+      signature: 'ThemeOption: {\n  value: ThemeName;\n  label: string;\n}',
+      typeOnly: true,
+      summary:
+        'A theme choice offered by {@link ThemePicker}/{@link ThemeToggle}: a `value` paired with a display `label`.',
+    },
+    {
+      name: 'ThemePicker',
+      anchor: 'theme-picker',
+      signature: 'ThemePicker: (props: ThemePickerProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "A `<select>` bound to the current {@link theme}, listing `themes` (defaults to the enclosing scope's options).",
+    },
+    {
+      name: 'ThemePickerProps',
+      anchor: 'theme-picker-props',
+      signature:
+        'ThemePickerProps: Omit<JSX.IntrinsicElements["select"], "children" | "value" | "defaultValue" | "onChange"> & {\n  themes?: readonly ThemeOption[];\n  label?: string;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemePicker} component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeOption[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeScope',
+      anchor: 'theme-scope',
+      signature: 'ThemeScope: (props: ThemeScopeProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Establishes a theme boundary: tracks the active theme (persisted to\n`localStorage` under `storageKey` and synced across tabs/scopes), resolves\nthe OS `"system"` preference, and reflects the choice onto the DOM via\n`data-theme`/`data-theme-choice` attributes. Nested scopes cooperate\nthrough a shared coordinator so the deepest explicitly-set scope wins.',
+    },
+    {
+      name: 'ThemeScopeProps',
+      anchor: 'theme-scope-props',
+      signature:
+        'ThemeScopeProps: {\n  children?: unknown;\n  defaultTheme?: ThemeName;\n  themes?: readonly ThemeOption[];\n  storageKey?: string;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemeScope} component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultTheme',
+          summary: '',
+          signature: 'defaultTheme?: ThemeName | undefined;',
+        },
+        {
+          name: 'storageKey',
+          summary: '',
+          signature: 'storageKey?: string | undefined;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeOption[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeScopeValue',
+      anchor: 'theme-scope-value',
+      signature:
+        'ThemeScopeValue: {\n  theme: () => ThemeName;\n  resolvedSystemTheme: () => "light" | "dark";\n  setTheme: (theme: ThemeName) => void;\n  themes: readonly ThemeOption[];\n  storageKey: string;\n}',
+      typeOnly: true,
+      summary:
+        'Value read from {@link theme}: the active theme, its resolved system value, a setter, and the available theme options.',
+    },
+    {
+      name: 'ThemeToggle',
+      anchor: 'theme-toggle',
+      signature: 'ThemeToggle: (props: ThemeToggleProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A button that cycles through `themes` (defaults to `["light", "dark"]`) on\npress. Supports icon props per theme, or a function-as-children render\nprop receiving {@link ThemeToggleRenderContext}.',
+    },
+    {
+      name: 'ThemeToggleProps',
+      anchor: 'theme-toggle-props',
+      signature:
+        'ThemeToggleProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  children?: unknown | ((context: ThemeToggleRenderContext) => unknown);\n  lightIcon?: unknown;\n  darkIcon?: unknown;\n  systemIcon?: unknown;\n  themes?: readonly ThemeName[];\n  onPress?: (event: PressEvent) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemeToggle} component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'darkIcon',
+          summary: '',
+          signature: 'darkIcon?: unknown;',
+        },
+        {
+          name: 'lightIcon',
+          summary: '',
+          signature: 'lightIcon?: unknown;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'systemIcon',
+          summary: '',
+          signature: 'systemIcon?: unknown;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeName[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeToggleRenderContext',
+      anchor: 'theme-toggle-render-context',
+      signature:
+        'ThemeToggleRenderContext: {\n  theme: ThemeName;\n  nextTheme: ThemeName;\n}',
+      typeOnly: true,
+      summary:
+        'Render context passed to a function-as-children {@link ThemeToggleProps.children}.',
+    },
+    {
+      name: 'Toast',
+      anchor: 'toast',
+      signature: 'Toast: (props: ToastProps) => JSX.Element | null',
+      typeOnly: true,
+      summary:
+        'Toast registers a notification entry with the host and returns no DOM on\nits own.',
+    },
+    {
+      name: 'ToastAction',
+      anchor: 'toast-action',
+      signature:
+        'ToastAction: { (props: ToastActionProps): JSX.Element; (props: ToastActionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastAction closes the toast after handling a user-triggered action.\nRenders the `toast-action` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ToastClose',
+      anchor: 'toast-close',
+      signature:
+        'ToastClose: { (props: ToastCloseProps): JSX.Element; (props: ToastCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastClose is the dedicated dismiss control for a toast entry.\nRenders the `toast-close` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ToastDescription',
+      anchor: 'toast-description',
+      signature:
+        'ToastDescription: { (props: ToastDescriptionProps): JSX.Element; (props: ToastDescriptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastDescription marks the accessible description slot for a toast entry.\nRenders the `toast-description` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Toaster',
+      anchor: 'toaster',
+      signature: 'Toaster: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Presentational Toaster host retaining the `sonner` styling slot.',
+    },
+    {
+      name: 'ToastHost',
+      anchor: 'toast-host',
+      signature: 'ToastHost: (props: ToastHostProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'ToastHost owns the registry of active toast entries and the default\ndisplay duration for the family.',
+    },
+    {
+      name: 'ToastTitle',
+      anchor: 'toast-title',
+      signature:
+        'ToastTitle: { (props: ToastTitleProps): JSX.Element; (props: ToastTitleAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastTitle marks the accessible title slot for a toast entry.\nRenders the `toast-title` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ToastViewport',
+      anchor: 'toast-viewport',
+      signature:
+        'ToastViewport: { (props: ToastViewportProps): JSX.Element; (props: ToastViewportAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastViewport renders the live toast stack and the notification region.\nRenders the `toast-viewport` part of `toast` with `role="region"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Toggle',
+      anchor: 'toggle',
+      signature:
+        'Toggle: { (props: ToggleButtonProps): JSX.Element; (props: ToggleAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Headless Toggle component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Apply aria-pressed for toggle state signaling\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- Role attribute application (for non-native elements)\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled or pressed props directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\n- pressed state is CONTROLLED (consumer manages state)\nRenders the `toggle` part of `toggle`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native toggle button\n```tsx\nconst pressed = state(false);\n<Toggle pressed={pressed()} onPress={() => pressed.set(!pressed())}>\nMute\n</Toggle>\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Toggle asChild pressed={muted} onPress={toggleMute}>\n<span>🔇</span>\n</Toggle>\n```',
+        ],
+      },
+    },
+    {
+      name: 'ToggleGroup',
+      anchor: 'toggle-group',
+      signature:
+        'ToggleGroup: (props: ToggleGroupProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `toggle-group`.',
+    },
+    {
+      name: 'ToggleGroupItem',
+      anchor: 'toggle-group-item',
+      signature:
+        'ToggleGroupItem: { (props: ToggleGroupItemProps): JSX.Element; (props: ToggleGroupItemAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `toggle-group`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Toolbar',
+      anchor: 'toolbar',
+      signature: 'Toolbar: (props: ToolbarProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Titled toolbar row with an actions area, wrapping to a new line on small screens.',
+    },
+    {
+      name: 'ToolbarProps',
+      anchor: 'toolbar-props',
+      signature:
+        'ToolbarProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {\n  title: unknown;\n  actions?: unknown;\n  direction?: never;\n  rowFrom?: never;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Toolbar } component.',
+      members: [
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'Tooltip',
+      anchor: 'tooltip',
+      signature:
+        'Tooltip: (props: TooltipProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `tooltip`.',
+    },
+    {
+      name: 'TooltipContent',
+      anchor: 'tooltip-content',
+      signature:
+        'TooltipContent: { (props: TooltipContentProps): JSX.Element | null; (props: TooltipContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `tooltip-content` part of `tooltip` with `role="tooltip"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TooltipPortal',
+      anchor: 'tooltip-portal',
+      signature:
+        'TooltipPortal: (props: TooltipPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `tooltip`.',
+    },
+    {
+      name: 'TooltipTrigger',
+      anchor: 'tooltip-trigger',
+      signature:
+        'TooltipTrigger: { (props: TooltipTriggerProps): JSX.Element; (props: TooltipTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `tooltip-trigger` part of `tooltip`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'Typography',
+      anchor: 'typography',
+      signature: 'Typography: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyBlockquote',
+      anchor: 'typography-blockquote',
+      signature:
+        'TypographyBlockquote: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyH1',
+      anchor: 'typography-h1',
+      signature: 'TypographyH1: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-h1` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyH2',
+      anchor: 'typography-h2',
+      signature: 'TypographyH2: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-h2` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyH3',
+      anchor: 'typography-h3',
+      signature: 'TypographyH3: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-h3` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyH4',
+      anchor: 'typography-h4',
+      signature: 'TypographyH4: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-h4` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyLead',
+      anchor: 'typography-lead',
+      signature:
+        'TypographyLead: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-lead` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyList',
+      anchor: 'typography-list',
+      signature:
+        'TypographyList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyMuted',
+      anchor: 'typography-muted',
+      signature:
+        'TypographyMuted: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-muted` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'TypographyP',
+      anchor: 'typography-p',
+      signature: 'TypographyP: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `typography-p` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'VirtualList',
+      anchor: 'virtual-list',
+      signature:
+        'VirtualList: { <Item>(props: VirtualListProps<Item>): JSX.Element; <Item>(props: VirtualListAsChildProps<Item>): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `virtual-list`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'VirtualListApi',
+      anchor: 'virtual-list-api',
+      signature:
+        'VirtualListApi: {\n  scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;\n  scrollToTop: () => void;\n  scrollToBottom: () => void;\n  getState: () => VirtualListState;\n  getVisibleRange: () => VirtualRange;\n  getItemCount: () => number;\n  getScrollTop: () => number;\n  isAtTop: () => boolean;\n  isAtBottom: () => boolean;\n  isFollowingBottom: () => boolean;\n  getPendingUnseenCount: () => number;\n  setFollowBottom: (followBottom: boolean) => void;\n}',
+      typeOnly: true,
+      summary: 'Virtual List Api.',
+    },
+    {
+      name: 'VirtualListAsChildProps',
+      anchor: 'virtual-list-as-child-props',
+      signature:
+        "VirtualListAsChildProps: Omit<VirtualListRootProps, 'children'> & {\n  items: readonly Item[];\n  rowHeight: number;\n  /** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */\n  getRowHeight?: (item: Item, index: number) => number;\n  overscan?: VirtualOverscan;\n  getKey: (item: Item, index: number) => string | number;\n  rowComponent: VirtualListRowComponent<Item>;\n  followBottom?: boolean | {\n    threshold?: number;\n  };\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualListViewport;\n  apiRef?: Ref<VirtualListApi<Item> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild: true;\n  children: JSXElement;\n}",
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Virtual List.',
+      members: [
+        {
+          name: 'apiRef',
+          summary: '',
+          signature: 'apiRef?: Ref<VirtualListApi<Item> | null>;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'followBottom',
+          summary: '',
+          signature:
+            'followBottom?: boolean | { threshold?: number; } | undefined;',
+        },
+        {
+          name: 'getKey',
+          summary: '',
+          signature: 'getKey: (item: Item, index: number) => string | number;',
+        },
+        {
+          name: 'getRowHeight',
+          summary:
+            'Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.',
+          signature:
+            'getRowHeight?: ((item: Item, index: number) => number) | undefined;',
+        },
+        {
+          name: 'items',
+          summary: '',
+          signature: 'items: readonly Item[];',
+        },
+        {
+          name: 'onScroll',
+          summary: '',
+          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'overscan',
+          summary: '',
+          signature: 'overscan?: VirtualOverscan | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+        {
+          name: 'rowComponent',
+          summary: '',
+          signature: 'rowComponent: VirtualListRowComponent<Item>;',
+        },
+        {
+          name: 'rowHeight',
+          summary: '',
+          signature: 'rowHeight: number;',
+        },
+        {
+          name: 'viewport',
+          summary: '',
+          signature: 'viewport?: "lg" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualListProps',
+      anchor: 'virtual-list-props',
+      signature:
+        'VirtualListProps: VirtualListRootProps & {\n  items: readonly Item[];\n  rowHeight: number;\n  /** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */\n  getRowHeight?: (item: Item, index: number) => number;\n  overscan?: VirtualOverscan;\n  getKey: (item: Item, index: number) => string | number;\n  rowComponent: VirtualListRowComponent<Item>;\n  followBottom?: boolean | {\n    threshold?: number;\n  };\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualListViewport;\n  apiRef?: Ref<VirtualListApi<Item> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild?: false;\n}',
+      typeOnly: true,
+      summary: 'Props for Virtual List.',
+      members: [
+        {
+          name: 'apiRef',
+          summary: '',
+          signature: 'apiRef?: Ref<VirtualListApi<Item> | null>;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'followBottom',
+          summary: '',
+          signature:
+            'followBottom?: boolean | { threshold?: number; } | undefined;',
+        },
+        {
+          name: 'getKey',
+          summary: '',
+          signature: 'getKey: (item: Item, index: number) => string | number;',
+        },
+        {
+          name: 'getRowHeight',
+          summary:
+            'Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.',
+          signature:
+            'getRowHeight?: ((item: Item, index: number) => number) | undefined;',
+        },
+        {
+          name: 'items',
+          summary: '',
+          signature: 'items: readonly Item[];',
+        },
+        {
+          name: 'onScroll',
+          summary: '',
+          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'overscan',
+          summary: '',
+          signature: 'overscan?: VirtualOverscan | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+        {
+          name: 'rowComponent',
+          summary: '',
+          signature: 'rowComponent: VirtualListRowComponent<Item>;',
+        },
+        {
+          name: 'rowHeight',
+          summary: '',
+          signature: 'rowHeight: number;',
+        },
+        {
+          name: 'viewport',
+          summary: '',
+          signature: 'viewport?: "lg" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualListRowComponent',
+      anchor: 'virtual-list-row-component',
+      signature:
+        'VirtualListRowComponent: (props: VirtualListRowComponentProps<Item>) => VirtualListRowElement | null',
+      typeOnly: true,
+      summary: 'Virtual List Row Component.',
+    },
+    {
+      name: 'VirtualListRowComponentProps',
+      anchor: 'virtual-list-row-component-props',
+      signature:
+        'VirtualListRowComponentProps: {\n  item: Item;\n  index: number;\n  rowKey: string;\n  isVisible: boolean;\n}',
+      typeOnly: true,
+      summary: 'Props for Virtual List Row Component.',
+      members: [
+        {
+          name: 'index',
+          summary: '',
+          signature: 'index: number;',
+        },
+        {
+          name: 'isVisible',
+          summary: '',
+          signature: 'isVisible: boolean;',
+        },
+        {
+          name: 'item',
+          summary: '',
+          signature: 'item: Item;',
+        },
+        {
+          name: 'rowKey',
+          summary: '',
+          signature: 'rowKey: string;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualListRowElement',
+      anchor: 'virtual-list-row-element',
+      signature: 'VirtualListRowElement: JSXElement | JSX.Element',
+      typeOnly: true,
+      summary: 'Virtual List Row Element.',
+    },
+    {
+      name: 'VirtualListState',
+      anchor: 'virtual-list-state',
+      signature:
+        'VirtualListState: {\n  count: number;\n  scrollTop: number;\n  viewportHeight: number;\n  totalHeight: number;\n  visibleRange: VirtualRange;\n  isAtTop: boolean;\n  isAtBottom: boolean;\n  followBottom: boolean;\n  pendingUnseenCount: number;\n}',
+      typeOnly: true,
+      summary: 'Virtual List State.',
+    },
+    {
+      name: 'VirtualListViewport',
+      anchor: 'virtual-list-viewport',
+      signature: "VirtualListViewport: 'lg'",
+      typeOnly: true,
+      summary: 'Virtual List Viewport.',
+    },
+    {
+      name: 'VirtualTable',
+      anchor: 'virtual-table',
+      signature:
+        'VirtualTable: { <Row>(props: VirtualTableProps<Row>): JSX.Element; <Row>(props: VirtualTableAsChildProps<Row>): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `virtual-table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'VirtualTableApi',
+      anchor: 'virtual-table-api',
+      signature:
+        'VirtualTableApi: {\n  scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;\n  scrollToTop: () => void;\n  scrollToBottom: () => void;\n  getState: () => VirtualTableState;\n  getVisibleRange: () => VirtualRange;\n  getRowCount: () => number;\n  getScrollTop: () => number;\n  isAtTop: () => boolean;\n  isAtBottom: () => boolean;\n  getSelectedRowKey: () => string | null;\n  getSelectedRowIndex: () => number;\n  selectRowByKey: (rowKey: string) => void;\n  selectRowByIndex: (index: number) => void;\n  clearSelection: () => void;\n}',
+      typeOnly: true,
+      summary: 'Virtual Table Api.',
+    },
+    {
+      name: 'VirtualTableAsChildProps',
+      anchor: 'virtual-table-as-child-props',
+      signature:
+        "VirtualTableAsChildProps: Omit<VirtualTableRootProps, 'children'> & {\n  rows: readonly Row[];\n  rowHeight: number;\n  headerHeight: number;\n  overscan?: VirtualOverscan;\n  getKey: (row: Row, index: number) => string | number;\n  columns: readonly VirtualTableColumn<Row>[];\n  selectedRowKey?: string | null;\n  defaultSelectedRowKey?: string | null;\n  onSelectedRowKeyChange?: (next: string | null) => void;\n  onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualTableViewport;\n  tableWidth?: VirtualTableWidth;\n  apiRef?: Ref<VirtualTableApi<Row> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild: true;\n  children: JSXElement;\n}",
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Virtual Table.',
+      members: [
+        {
+          name: 'apiRef',
+          summary: '',
+          signature: 'apiRef?: Ref<VirtualTableApi<Row> | null>;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'columns',
+          summary: '',
+          signature: 'columns: readonly VirtualTableColumn<Row>[];',
+        },
+        {
+          name: 'defaultSelectedRowKey',
+          summary: '',
+          signature: 'defaultSelectedRowKey?: string | null | undefined;',
+        },
+        {
+          name: 'getKey',
+          summary: '',
+          signature: 'getKey: (row: Row, index: number) => string | number;',
+        },
+        {
+          name: 'headerHeight',
+          summary: '',
+          signature: 'headerHeight: number;',
+        },
+        {
+          name: 'onRowClick',
+          summary: '',
+          signature:
+            'onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;',
+        },
+        {
+          name: 'onScroll',
+          summary: '',
+          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onSelectedRowKeyChange',
+          summary: '',
+          signature:
+            'onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;',
+        },
+        {
+          name: 'overscan',
+          summary: '',
+          signature: 'overscan?: VirtualOverscan | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+        {
+          name: 'rowHeight',
+          summary: '',
+          signature: 'rowHeight: number;',
+        },
+        {
+          name: 'rows',
+          summary: '',
+          signature: 'rows: readonly Row[];',
+        },
+        {
+          name: 'selectedRowKey',
+          summary: '',
+          signature: 'selectedRowKey?: string | null | undefined;',
+        },
+        {
+          name: 'tableWidth',
+          summary: '',
+          signature: 'tableWidth?: "compact" | undefined;',
+        },
+        {
+          name: 'viewport',
+          summary: '',
+          signature: 'viewport?: "lg" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualTableCellComponent',
+      anchor: 'virtual-table-cell-component',
+      signature:
+        'VirtualTableCellComponent: (props: VirtualTableCellComponentProps<Row>) => VirtualTableCellElement | null',
+      typeOnly: true,
+      summary: 'Virtual Table Cell Component.',
+    },
+    {
+      name: 'VirtualTableCellComponentProps',
+      anchor: 'virtual-table-cell-component-props',
+      signature:
+        'VirtualTableCellComponentProps: {\n  row: Row;\n  rowIndex: number;\n  rowKey: string;\n  column: VirtualTableColumn<Row>;\n  selected: boolean;\n}',
+      typeOnly: true,
+      summary: 'Props for Virtual Table Cell Component.',
+      members: [
+        {
+          name: 'column',
+          summary: '',
+          signature: 'column: VirtualTableColumn<Row>;',
+        },
+        {
+          name: 'row',
+          summary: '',
+          signature: 'row: Row;',
+        },
+        {
+          name: 'rowIndex',
+          summary: '',
+          signature: 'rowIndex: number;',
+        },
+        {
+          name: 'rowKey',
+          summary: '',
+          signature: 'rowKey: string;',
+        },
+        {
+          name: 'selected',
+          summary: '',
+          signature: 'selected: boolean;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualTableCellElement',
+      anchor: 'virtual-table-cell-element',
+      signature: 'VirtualTableCellElement: JSXElement | JSX.Element',
+      typeOnly: true,
+      summary: 'Virtual Table Cell Element.',
+    },
+    {
+      name: 'VirtualTableColumn',
+      anchor: 'virtual-table-column',
+      signature:
+        'VirtualTableColumn: {\n  id: string;\n  header: JSXElement | string;\n  width?: number | string;\n  cellComponent: VirtualTableCellComponent<Row>;\n}',
+      typeOnly: true,
+      summary: 'Virtual Table Column.',
+    },
+    {
+      name: 'VirtualTableProps',
+      anchor: 'virtual-table-props',
+      signature:
+        'VirtualTableProps: VirtualTableRootProps & {\n  rows: readonly Row[];\n  rowHeight: number;\n  headerHeight: number;\n  overscan?: VirtualOverscan;\n  getKey: (row: Row, index: number) => string | number;\n  columns: readonly VirtualTableColumn<Row>[];\n  selectedRowKey?: string | null;\n  defaultSelectedRowKey?: string | null;\n  onSelectedRowKeyChange?: (next: string | null) => void;\n  onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualTableViewport;\n  tableWidth?: VirtualTableWidth;\n  apiRef?: Ref<VirtualTableApi<Row> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild?: false;\n}',
+      typeOnly: true,
+      summary: 'Props for Virtual Table.',
+      members: [
+        {
+          name: 'apiRef',
+          summary: '',
+          signature: 'apiRef?: Ref<VirtualTableApi<Row> | null>;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'columns',
+          summary: '',
+          signature: 'columns: readonly VirtualTableColumn<Row>[];',
+        },
+        {
+          name: 'defaultSelectedRowKey',
+          summary: '',
+          signature: 'defaultSelectedRowKey?: string | null | undefined;',
+        },
+        {
+          name: 'getKey',
+          summary: '',
+          signature: 'getKey: (row: Row, index: number) => string | number;',
+        },
+        {
+          name: 'headerHeight',
+          summary: '',
+          signature: 'headerHeight: number;',
+        },
+        {
+          name: 'onRowClick',
+          summary: '',
+          signature:
+            'onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;',
+        },
+        {
+          name: 'onScroll',
+          summary: '',
+          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onSelectedRowKeyChange',
+          summary: '',
+          signature:
+            'onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;',
+        },
+        {
+          name: 'overscan',
+          summary: '',
+          signature: 'overscan?: VirtualOverscan | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLElement>;',
+        },
+        {
+          name: 'rowHeight',
+          summary: '',
+          signature: 'rowHeight: number;',
+        },
+        {
+          name: 'rows',
+          summary: '',
+          signature: 'rows: readonly Row[];',
+        },
+        {
+          name: 'selectedRowKey',
+          summary: '',
+          signature: 'selectedRowKey?: string | null | undefined;',
+        },
+        {
+          name: 'tableWidth',
+          summary: '',
+          signature: 'tableWidth?: "compact" | undefined;',
+        },
+        {
+          name: 'viewport',
+          summary: '',
+          signature: 'viewport?: "lg" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'VirtualTableState',
+      anchor: 'virtual-table-state',
+      signature:
+        'VirtualTableState: {\n  count: number;\n  rowHeight: number;\n  headerHeight: number;\n  scrollTop: number;\n  viewportHeight: number;\n  totalHeight: number;\n  visibleRange: VirtualRange;\n  isAtTop: boolean;\n  isAtBottom: boolean;\n  selectedRowKey: string | null;\n  selectedRowIndex: number;\n}',
+      typeOnly: true,
+      summary: 'Virtual Table State.',
+    },
+    {
+      name: 'VirtualTableViewport',
+      anchor: 'virtual-table-viewport',
+      signature: "VirtualTableViewport: 'lg'",
+      typeOnly: true,
+      summary: 'Virtual Table Viewport.',
+    },
+    {
+      name: 'VirtualTableWidth',
+      anchor: 'virtual-table-width',
+      signature: "VirtualTableWidth: 'compact'",
+      typeOnly: true,
+      summary: 'Virtual Table Width.',
+    },
+    {
+      name: 'VisuallyHidden',
+      anchor: 'visually-hidden',
+      signature:
+        'VisuallyHidden: { (props: VisuallyHiddenSpanProps): JSX.Element; (props: VisuallyHiddenAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `visually-hidden`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+  ],
+  symbols55: [
+    {
+      name: 'CAT_THEME_NAMES',
+      anchor: 'cat-theme-names',
+      signature:
+        'CAT_THEME_NAMES: readonly ["tabby", "ginger", "tuxedo", "calico", "torty"]',
+      typeOnly: true,
+      summary: 'Names of the built-in "cat" theme presets.',
+    },
+    {
+      name: 'CAT_THEME_OPTIONS',
+      anchor: 'cat-theme-options',
+      signature: 'CAT_THEME_OPTIONS: readonly ThemeOption[]',
+      typeOnly: true,
+      summary:
+        'Theme options for the built-in "cat" theme presets, keyed to {@link CAT_THEME_NAMES}.',
+    },
+    {
+      name: 'CatThemeName',
+      anchor: 'cat-theme-name',
+      signature: 'CatThemeName: (typeof CAT_THEME_NAMES)[number]',
+      typeOnly: true,
+      summary: 'A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.',
+    },
+    {
+      name: 'DEFAULT_THEME_OPTIONS',
+      anchor: 'default-theme-options',
+      signature: 'DEFAULT_THEME_OPTIONS: readonly ThemeOption[]',
+      typeOnly: true,
+      summary:
+        'Default light/dark/system theme options used by {@link ThemeScope} and {@link ThemePicker}.',
+    },
+    {
+      name: 'theme',
+      anchor: 'theme',
+      signature: 'theme: () => ThemeScopeValue',
+      typeOnly: true,
+      summary:
+        'Reads the current {@link ThemeScopeValue} from the nearest enclosing {@link ThemeScope}.',
+    },
+    {
+      name: 'ThemeName',
+      anchor: 'theme-name',
+      signature:
+        'ThemeName: "light" | "dark" | "system" | CatThemeName | (string & {})',
+      typeOnly: true,
+      summary:
+        'Any theme identifier accepted by {@link ThemeScope}: `"light"`, `"dark"`, `"system"`, a {@link CatThemeName}, or a custom string.',
+    },
+    {
+      name: 'ThemeOption',
+      anchor: 'theme-option',
+      signature: 'ThemeOption: {\n  value: ThemeName;\n  label: string;\n}',
+      typeOnly: true,
+      summary:
+        'A theme choice offered by {@link ThemePicker}/{@link ThemeToggle}: a `value` paired with a display `label`.',
+    },
+    {
+      name: 'ThemePicker',
+      anchor: 'theme-picker',
+      signature: 'ThemePicker: (props: ThemePickerProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "A `<select>` bound to the current {@link theme}, listing `themes` (defaults to the enclosing scope's options).",
+    },
+    {
+      name: 'ThemePickerProps',
+      anchor: 'theme-picker-props',
+      signature:
+        'ThemePickerProps: Omit<JSX.IntrinsicElements["select"], "children" | "value" | "defaultValue" | "onChange"> & {\n  themes?: readonly ThemeOption[];\n  label?: string;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemePicker} component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeOption[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeScope',
+      anchor: 'theme-scope',
+      signature: 'ThemeScope: (props: ThemeScopeProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Establishes a theme boundary: tracks the active theme (persisted to\n`localStorage` under `storageKey` and synced across tabs/scopes), resolves\nthe OS `"system"` preference, and reflects the choice onto the DOM via\n`data-theme`/`data-theme-choice` attributes. Nested scopes cooperate\nthrough a shared coordinator so the deepest explicitly-set scope wins.',
+    },
+    {
+      name: 'ThemeScopeProps',
+      anchor: 'theme-scope-props',
+      signature:
+        'ThemeScopeProps: {\n  children?: unknown;\n  defaultTheme?: ThemeName;\n  themes?: readonly ThemeOption[];\n  storageKey?: string;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemeScope} component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultTheme',
+          summary: '',
+          signature: 'defaultTheme?: ThemeName | undefined;',
+        },
+        {
+          name: 'storageKey',
+          summary: '',
+          signature: 'storageKey?: string | undefined;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeOption[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeScopeValue',
+      anchor: 'theme-scope-value',
+      signature:
+        'ThemeScopeValue: {\n  theme: () => ThemeName;\n  resolvedSystemTheme: () => "light" | "dark";\n  setTheme: (theme: ThemeName) => void;\n  themes: readonly ThemeOption[];\n  storageKey: string;\n}',
+      typeOnly: true,
+      summary:
+        'Value read from {@link theme}: the active theme, its resolved system value, a setter, and the available theme options.',
+    },
+    {
+      name: 'ThemeToggle',
+      anchor: 'theme-toggle',
+      signature: 'ThemeToggle: (props: ThemeToggleProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A button that cycles through `themes` (defaults to `["light", "dark"]`) on\npress. Supports icon props per theme, or a function-as-children render\nprop receiving {@link ThemeToggleRenderContext}.',
+    },
+    {
+      name: 'ThemeToggleProps',
+      anchor: 'theme-toggle-props',
+      signature:
+        'ThemeToggleProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  children?: unknown | ((context: ThemeToggleRenderContext) => unknown);\n  lightIcon?: unknown;\n  darkIcon?: unknown;\n  systemIcon?: unknown;\n  themes?: readonly ThemeName[];\n  onPress?: (event: PressEvent) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ThemeToggle} component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'darkIcon',
+          summary: '',
+          signature: 'darkIcon?: unknown;',
+        },
+        {
+          name: 'lightIcon',
+          summary: '',
+          signature: 'lightIcon?: unknown;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'systemIcon',
+          summary: '',
+          signature: 'systemIcon?: unknown;',
+        },
+        {
+          name: 'themes',
+          summary: '',
+          signature: 'themes?: readonly ThemeName[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ThemeToggleRenderContext',
+      anchor: 'theme-toggle-render-context',
+      signature:
+        'ThemeToggleRenderContext: {\n  theme: ThemeName;\n  nextTheme: ThemeName;\n}',
+      typeOnly: true,
+      summary:
+        'Render context passed to a function-as-children {@link ThemeToggleProps.children}.',
+    },
+  ],
+  symbols56: [
+    {
+      name: 'withThemeStyles',
+      anchor: 'with-theme-styles',
+      signature:
+        'withThemeStyles: <TArgs extends { appHtml: string; context: { cspNonce?: string; styles?: readonly { id: string; cssText: string; }[]; }; }>(documentRenderer: (args: TArgs) => string) => (args: TArgs) => string',
+      typeOnly: false,
+      summary:
+        'Wrap an Askr SSR/SSG document renderer so generated theme rules used by the\nrendered app are available before hydration.',
+    },
+  ],
+  symbols57: [
+    {
+      name: 'Accordion',
+      anchor: 'accordion',
+      signature: 'Accordion: (props: AccordionProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `accordion`.',
+    },
+    {
+      name: 'AccordionContent',
+      anchor: 'accordion-content',
+      signature:
+        'AccordionContent: { (props: AccordionContentProps): JSX.Element | null; (props: AccordionContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `accordion-content` part of `accordion` with `role="region"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AccordionContentAsChildProps',
+      anchor: 'accordion-content-as-child-props',
+      signature:
+        'AccordionContentAsChildProps: BoxAsChildProps & AccordionContentOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Accordion Content.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionContentOwnProps',
+      anchor: 'accordion-content-own-props',
+      signature: 'AccordionContentOwnProps: {\n  forceMount?: boolean;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Accordion Content, before merging with native element attributes.',
+      members: [
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionContentProps',
+      anchor: 'accordion-content-props',
+      signature:
+        "AccordionContentProps: BoxProps<'div', HTMLDivElement> & AccordionContentOwnProps",
+      typeOnly: true,
+      summary: 'Props for Accordion Content.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionHeader',
+      anchor: 'accordion-header',
+      signature:
+        'AccordionHeader: { (props: AccordionHeaderProps): JSX.Element; (props: AccordionHeaderAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `accordion-header` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AccordionHeaderAsChildProps',
+      anchor: 'accordion-header-as-child-props',
+      signature: 'AccordionHeaderAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Accordion Header.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionHeaderProps',
+      anchor: 'accordion-header-props',
+      signature: "AccordionHeaderProps: BoxProps<'h3', HTMLHeadingElement>",
+      typeOnly: true,
+      summary: 'Props for Accordion Header.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionItem',
+      anchor: 'accordion-item',
+      signature: 'AccordionItem: (props: AccordionItemProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `accordion-item` part of `accordion`.',
+    },
+    {
+      name: 'AccordionItemOwnProps',
+      anchor: 'accordion-item-own-props',
+      signature:
+        'AccordionItemOwnProps: {\n  children?: unknown;\n  value: string;\n  disabled?: boolean;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Accordion Item, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionItemProps',
+      anchor: 'accordion-item-props',
+      signature:
+        "AccordionItemProps: BoxProps<'div', HTMLDivElement> & AccordionItemOwnProps",
+      typeOnly: true,
+      summary: 'Props for Accordion Item.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionMultipleProps',
+      anchor: 'accordion-multiple-props',
+      signature:
+        "AccordionMultipleProps: BoxProps<'div', HTMLDivElement> & AccordionSharedOwnProps & {\n  type: 'multiple';\n  value?: string[];\n  defaultValue?: string[];\n  onValueChange?: (value: string[]) => void;\n}",
+      typeOnly: true,
+      summary: 'Props for Accordion Multiple.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'collapsible',
+          summary: '',
+          signature: 'collapsible?: boolean | undefined;',
+        },
+        {
+          name: 'defaultValue',
+          summary: '',
+          signature: 'defaultValue?: string[] | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature: 'onValueChange?: ((value: string[]) => void) | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: AccordionOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type: "multiple";',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionOrientation',
+      anchor: 'accordion-orientation',
+      signature: "AccordionOrientation: 'vertical' | 'horizontal'",
+      typeOnly: true,
+      summary: 'Accordion Orientation.',
+    },
+    {
+      name: 'AccordionProps',
+      anchor: 'accordion-props',
+      signature:
+        'AccordionProps: AccordionSingleProps | AccordionMultipleProps',
+      typeOnly: true,
+      summary: 'Props for Accordion.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'collapsible',
+          summary: '',
+          signature: 'collapsible?: boolean | undefined;',
+        },
+        {
+          name: 'defaultValue',
+          summary: '',
+          signature: 'defaultValue?: string | string[] | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature:
+            'onValueChange?: ((value: string[]) => void) | ((value: string) => void) | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: AccordionOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "single" | "multiple" | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | string[] | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionSingleProps',
+      anchor: 'accordion-single-props',
+      signature:
+        "AccordionSingleProps: BoxProps<'div', HTMLDivElement> & AccordionSharedOwnProps & {\n  type?: 'single';\n  value?: string;\n  defaultValue?: string;\n  onValueChange?: (value: string) => void;\n}",
+      typeOnly: true,
+      summary: 'Props for Accordion Single.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'collapsible',
+          summary: '',
+          signature: 'collapsible?: boolean | undefined;',
+        },
+        {
+          name: 'defaultValue',
+          summary: '',
+          signature: 'defaultValue?: string | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: AccordionOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "single" | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionTrigger',
+      anchor: 'accordion-trigger',
+      signature:
+        'AccordionTrigger: { (props: AccordionTriggerProps): JSX.Element; (props: AccordionTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `accordion-trigger` part of `accordion`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AccordionTriggerAsChildProps',
+      anchor: 'accordion-trigger-as-child-props',
+      signature: 'AccordionTriggerAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Accordion Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AccordionTriggerProps',
+      anchor: 'accordion-trigger-props',
+      signature:
+        "AccordionTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>",
+      typeOnly: true,
+      summary: 'Props for Accordion Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols58: [
+    {
+      name: 'AlertDialog',
+      anchor: 'alert-dialog',
+      signature:
+        'AlertDialog: (props: AlertDialogProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `alert-dialog`.',
+    },
+    {
+      name: 'AlertDialogAction',
+      anchor: 'alert-dialog-action',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogActionAsChildProps',
+      anchor: 'alert-dialog-action-as-child-props',
+      signature: 'AlertDialogActionAsChildProps: DialogCloseAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Action.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogActionProps',
+      anchor: 'alert-dialog-action-props',
+      signature: 'AlertDialogActionProps: DialogCloseProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Action.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogCancel',
+      anchor: 'alert-dialog-cancel',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogCancelAsChildProps',
+      anchor: 'alert-dialog-cancel-as-child-props',
+      signature: 'AlertDialogCancelAsChildProps: DialogCloseAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Cancel.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogCancelProps',
+      anchor: 'alert-dialog-cancel-props',
+      signature: 'AlertDialogCancelProps: DialogCloseProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Cancel.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogContent',
+      anchor: 'alert-dialog-content',
+      signature:
+        'AlertDialogContent: (props: AlertDialogContentProps | AlertDialogContentAsChildProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogContentAsChildProps',
+      anchor: 'alert-dialog-content-as-child-props',
+      signature: 'AlertDialogContentAsChildProps: DialogContentAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Content.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
+        },
+        {
+          name: 'role',
+          summary: '',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogContentOwnProps',
+      anchor: 'alert-dialog-content-own-props',
+      signature: 'AlertDialogContentOwnProps: DialogContentOwnProps',
+      typeOnly: true,
+      summary:
+        'Own props for Alert Dialog Content, before merging with native element attributes.',
+      members: [
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
+        },
+        {
+          name: 'role',
+          summary: '',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogContentProps',
+      anchor: 'alert-dialog-content-props',
+      signature: 'AlertDialogContentProps: DialogContentProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Content.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
+        },
+        {
+          name: 'role',
+          summary: '',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogDescription',
+      anchor: 'alert-dialog-description',
+      signature:
+        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogDescriptionAsChildProps',
+      anchor: 'alert-dialog-description-as-child-props',
+      signature:
+        'AlertDialogDescriptionAsChildProps: DialogDescriptionAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Description.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogDescriptionProps',
+      anchor: 'alert-dialog-description-props',
+      signature: 'AlertDialogDescriptionProps: DialogDescriptionProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Description.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogOverlay',
+      anchor: 'alert-dialog-overlay',
+      signature:
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogOverlayAsChildProps',
+      anchor: 'alert-dialog-overlay-as-child-props',
+      signature: 'AlertDialogOverlayAsChildProps: DialogOverlayAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Overlay.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogOverlayOwnProps',
+      anchor: 'alert-dialog-overlay-own-props',
+      signature: 'AlertDialogOverlayOwnProps: DialogOverlayOwnProps',
+      typeOnly: true,
+      summary:
+        'Own props for Alert Dialog Overlay, before merging with native element attributes.',
+      members: [
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogOverlayProps',
+      anchor: 'alert-dialog-overlay-props',
+      signature: 'AlertDialogOverlayProps: DialogOverlayProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Overlay.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogOwnProps',
+      anchor: 'alert-dialog-own-props',
+      signature: 'AlertDialogOwnProps: DialogProps',
+      typeOnly: true,
+      summary:
+        'Own props for Alert Dialog, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'modal',
+          summary: '',
+          signature: 'modal?: boolean | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogPortal',
+      anchor: 'alert-dialog-portal',
+      signature:
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dialog`.',
+    },
+    {
+      name: 'AlertDialogPortalProps',
+      anchor: 'alert-dialog-portal-props',
+      signature: 'AlertDialogPortalProps: DialogPortalProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Portal.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogProps',
+      anchor: 'alert-dialog-props',
+      signature: 'AlertDialogProps: DialogProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'modal',
+          summary: '',
+          signature: 'modal?: boolean | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogTitle',
+      anchor: 'alert-dialog-title',
+      signature:
+        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogTitleAsChildProps',
+      anchor: 'alert-dialog-title-as-child-props',
+      signature: 'AlertDialogTitleAsChildProps: DialogTitleAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Title.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogTitleProps',
+      anchor: 'alert-dialog-title-props',
+      signature: 'AlertDialogTitleProps: DialogTitleProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Title.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogTrigger',
+      anchor: 'alert-dialog-trigger',
+      signature:
+        'AlertDialogTrigger: (props: AlertDialogTriggerProps | AlertDialogTriggerAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a part of `alert-dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AlertDialogTriggerAsChildProps',
+      anchor: 'alert-dialog-trigger-as-child-props',
+      signature: 'AlertDialogTriggerAsChildProps: DialogTriggerAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Alert Dialog Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertDialogTriggerProps',
+      anchor: 'alert-dialog-trigger-props',
+      signature: 'AlertDialogTriggerProps: DialogTriggerProps',
+      typeOnly: true,
+      summary: 'Props for Alert Dialog Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols59: [
+    {
+      name: 'Alert',
+      anchor: 'alert',
+      signature: 'Alert: (props: AlertProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders an alert/status banner with an optional icon, title, description,\nactions, and a dismiss button. Automatically picks an "alert" or "status"\nARIA role from `variant` unless `role` is set explicitly.',
+    },
+    {
+      name: 'AlertHeadingTag',
+      anchor: 'alert-heading-tag',
+      signature: 'AlertHeadingTag: "h2" | "h3" | "h4" | "h5" | "h6"',
+      typeOnly: true,
+      summary: "Heading tag allowed for an alert's title via `titleAs`.",
+    },
+    {
+      name: 'AlertProps',
+      anchor: 'alert-props',
+      signature:
+        'AlertProps: DivProps & {\n  actions?: unknown;\n  children?: unknown;\n  description?: unknown;\n  dismissLabel?: string;\n  icon?: unknown;\n  onDismiss?: () => void;\n  title?: unknown;\n  titleAs?: AlertHeadingTag;\n  variant?: AlertVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Alert } component.',
+      members: [
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: unknown;',
+        },
+        {
+          name: 'dismissLabel',
+          summary: '',
+          signature: 'dismissLabel?: string | undefined;',
+        },
+        {
+          name: 'icon',
+          summary: '',
+          signature: 'icon?: unknown;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title?: unknown;',
+        },
+        {
+          name: 'titleAs',
+          summary: '',
+          signature: 'titleAs?: AlertHeadingTag | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: AlertVariant | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AlertVariant',
+      anchor: 'alert-variant',
+      signature:
+        'AlertVariant: "default" | "info" | "success" | "warning" | "danger"',
+      typeOnly: true,
+      summary:
+        'Visual tone of an {@link AlertProps} alert; `"danger"`/`"warning"` render with `role="alert"`.',
+    },
+  ],
+  symbols60: [
+    {
+      name: 'AspectRatio',
+      anchor: 'aspect-ratio',
+      signature:
+        'AspectRatio: { (props: AspectRatioProps): JSX.Element; (props: AspectRatioAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Constrains its content to a fixed width/height ratio (defaults to `1`)\nusing a computed `aspect-ratio` style, rendering as a `<div>` or, with\n`asChild`, merging its layout into the single child element.',
+    },
+    {
+      name: 'AspectRatioAsChildProps',
+      anchor: 'aspect-ratio-as-child-props',
+      signature:
+        'AspectRatioAsChildProps: AspectRatioOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link AspectRatio } rendered with `asChild`, merging layout onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ratio',
+          summary: '',
+          signature: 'ratio?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'style',
+          summary: '',
+          signature: 'style?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'AspectRatioProps',
+      anchor: 'aspect-ratio-props',
+      signature:
+        'AspectRatioProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & AspectRatioOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link AspectRatio } rendered as its default `<div>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ratio',
+          summary: '',
+          signature: 'ratio?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'style',
+          summary: '',
+          signature: 'style?: unknown;',
+        },
+      ],
+    },
+  ],
+  symbols61: [
+    {
+      name: 'Avatar',
+      anchor: 'avatar',
+      signature:
+        'Avatar: { (props: AvatarProps): JSX.Element; (props: AvatarAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `avatar` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AvatarAsChildProps',
+      anchor: 'avatar-as-child-props',
+      signature: 'AvatarAsChildProps: BoxAsChildProps & AvatarOwnProps',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Avatar.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarFallback',
+      anchor: 'avatar-fallback',
+      signature:
+        'AvatarFallback: { (props: AvatarFallbackProps): JSX.Element | null; (props: AvatarFallbackAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `avatar-fallback` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'AvatarFallbackAsChildProps',
+      anchor: 'avatar-fallback-as-child-props',
+      signature:
+        'AvatarFallbackAsChildProps: BoxAsChildProps & AvatarFallbackOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Avatar Fallback.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarFallbackOwnProps',
+      anchor: 'avatar-fallback-own-props',
+      signature: 'AvatarFallbackOwnProps: {\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Avatar Fallback, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarFallbackProps',
+      anchor: 'avatar-fallback-props',
+      signature:
+        "AvatarFallbackProps: BoxProps<'span', HTMLSpanElement> & AvatarFallbackOwnProps",
+      typeOnly: true,
+      summary: 'Props for Avatar Fallback.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarImage',
+      anchor: 'avatar-image',
+      signature: 'AvatarImage: (props: AvatarImageProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the `avatar-image` part of `avatar`.',
+    },
+    {
+      name: 'AvatarImageOwnProps',
+      anchor: 'avatar-image-own-props',
+      signature:
+        'AvatarImageOwnProps: {\n  src?: string;\n  alt: string;\n  onLoadingStatusChange?: (status: AvatarLoadingStatus) => void;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Avatar Image, before merging with native element attributes.',
+      members: [
+        {
+          name: 'alt',
+          summary: '',
+          signature: 'alt: string;',
+        },
+        {
+          name: 'onLoadingStatusChange',
+          summary: '',
+          signature:
+            'onLoadingStatusChange?: ((status: AvatarLoadingStatus) => void) | undefined;',
+        },
+        {
+          name: 'src',
+          summary: '',
+          signature: 'src?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarImageProps',
+      anchor: 'avatar-image-props',
+      signature:
+        "AvatarImageProps: Omit<JSX.IntrinsicElements['img'], 'children' | 'ref' | 'onLoad' | 'onError' | 'alt' | 'src'> & AvatarImageOwnProps & {\n  ref?: Ref<HTMLImageElement>;\n}",
+      typeOnly: true,
+      summary: 'Props for Avatar Image.',
+      members: [
+        {
+          name: 'alt',
+          summary: '',
+          signature: 'alt: string;',
+        },
+        {
+          name: 'onLoadingStatusChange',
+          summary: '',
+          signature:
+            'onLoadingStatusChange?: ((status: AvatarLoadingStatus) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLImageElement>;',
+        },
+        {
+          name: 'src',
+          summary: '',
+          signature: 'src?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarLoadingStatus',
+      anchor: 'avatar-loading-status',
+      signature: "AvatarLoadingStatus: 'idle' | 'loading' | 'loaded' | 'error'",
+      typeOnly: true,
+      summary: 'Avatar Loading Status.',
+    },
+    {
+      name: 'AvatarOwnProps',
+      anchor: 'avatar-own-props',
+      signature: 'AvatarOwnProps: {\n  children?: unknown;\n  id?: string;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Avatar, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'AvatarProps',
+      anchor: 'avatar-props',
+      signature:
+        "AvatarProps: BoxProps<'span', HTMLSpanElement> & AvatarOwnProps",
+      typeOnly: true,
+      summary: 'Props for Avatar.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+      ],
+    },
+  ],
+  symbols62: [
+    {
+      name: 'Badge',
+      anchor: 'badge',
+      signature:
+        'Badge: { (props: BadgeProps): JSX.Element; (props: BadgeAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a small status/label badge, defaulting to a `<span>` (or merging onto a child via `asChild`), with a `variant` color modifier.',
+    },
+    {
+      name: 'BadgeAsChildProps',
+      anchor: 'badge-as-child-props',
+      signature:
+        'BadgeAsChildProps: BadgeOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Badge } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: BadgeVariant | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BadgeOwnProps',
+      anchor: 'badge-own-props',
+      signature:
+        'BadgeOwnProps: {\n  children?: unknown;\n  variant?: BadgeVariant;\n}',
+      typeOnly: true,
+      summary: 'Props shared by both {@link Badge } call signatures.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: BadgeVariant | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BadgeProps',
+      anchor: 'badge-props',
+      signature:
+        'BadgeProps: Omit<JSX.IntrinsicElements["span"], "children" | "ref"> & BadgeOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLSpanElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Badge } rendered as its default `<span>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: BadgeVariant | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols63: [
+    {
+      name: 'Block',
+      anchor: 'block',
+      signature:
+        'Block: { (props: BlockNativeProps): JSX.Element; (props: BlockAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Low-level layout primitive: renders any element in {@link BlockElement }\n(default `<div>`) and turns layout-only props (spacing, alignment,\ndirection, sizing, etc.) into a generated utility class. With `asChild`,\nthe layout is merged onto a single child element instead of a wrapper.',
+    },
+    {
+      name: 'BlockAlign',
+      anchor: 'block-align',
+      signature:
+        'BlockAlign: "start" | "end" | "center" | "stretch" | "baseline"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockAsChildProps',
+      anchor: 'block-as-child-props',
+      signature:
+        'BlockAsChildProps: Omit<BlockOwnProps, "as"> & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for {@link Block } rendered with `asChild`, merging layout onto a single child element.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockBackground',
+      anchor: 'block-background',
+      signature:
+        'BlockBackground: "surface" | "muted" | "selected" | "canvas" | "raised" | "overlay" | "transparent"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockDirection',
+      anchor: 'block-direction',
+      signature:
+        'BlockDirection: "row" | "column" | "row-reverse" | "column-reverse"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockDivProps',
+      anchor: 'block-div-props',
+      signature: 'BlockDivProps: BlockElementProps<"div">',
+      typeOnly: true,
+      summary: '{@link Block } props specialized for a `<div>` element.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: "div" | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockElement',
+      anchor: 'block-element',
+      signature:
+        'BlockElement: "div" | "span" | "main" | "header" | "footer" | "section" | "aside" | "nav" | "a" | "ul" | "ol" | "li" | "form" | "article"',
+      typeOnly: true,
+      summary: 'Element tags {@link Block } can render as via its `as` prop.',
+    },
+    {
+      name: 'BlockElementProps',
+      anchor: 'block-element-props',
+      signature:
+        'BlockElementProps: Omit<JSX.IntrinsicElements[TElement], "children" | "ref"> & BlockOwnProps & {\n  as?: TElement;\n  asChild?: false;\n  ref?: Ref<unknown>;\n}',
+      typeOnly: true,
+      summary:
+        '{@link Block } props specialized for a given {@link BlockElement} tag `TElement`.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: TElement | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockJustify',
+      anchor: 'block-justify',
+      signature: 'BlockJustify: "start" | "end" | "center" | "between"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockMargin',
+      anchor: 'block-margin',
+      signature: 'BlockMargin: BlockSpace | "auto"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockNativeProps',
+      anchor: 'block-native-props',
+      signature:
+        'BlockNativeProps: { [TElement in BlockElement]: BlockElementProps<TElement>; }[BlockElement]',
+      typeOnly: true,
+      summary:
+        "Union of {@link BlockElementProps} across every {@link BlockElement}, used for {@link Block }'s native (non-`asChild`) overload.",
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature:
+            'as?: "a" | "article" | "aside" | "div" | "form" | "footer" | "header" | "li" | "main" | "nav" | "ol" | "section" | "span" | "ul" | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature:
+            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockOwnProps',
+      anchor: 'block-own-props',
+      signature:
+        'BlockOwnProps: BlockLayoutProps & {\n  as?: BlockElement;\n  children?: unknown;\n  className?: string;\n}',
+      typeOnly: true,
+      summary:
+        'Layout and structural props accepted by {@link Block }, independent of the rendered element.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: BlockElement | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockProps',
+      anchor: 'block-props',
+      signature: 'BlockProps: BlockNativeProps | BlockAsChildProps',
+      typeOnly: true,
+      summary: 'Union of all prop shapes accepted by {@link Block }.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature:
+            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockRadius',
+      anchor: 'block-radius',
+      signature: 'BlockRadius: true | "sm" | "md" | "lg" | "xl" | "round"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockResponsiveValue',
+      anchor: 'block-responsive-value',
+      signature: 'ResponsiveValue: T | Partial<Record<LayoutBreakpoint, T>>',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockRowFrom',
+      anchor: 'block-row-from',
+      signature: 'BlockRowFrom: Exclude<LayoutBreakpoint, "base">',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockShadow',
+      anchor: 'block-shadow',
+      signature: 'BlockShadow: true | "sm" | "md" | "lg"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSize',
+      anchor: 'block-size',
+      signature:
+        'BlockSize: "auto" | "full" | "screen" | "content" | "sidebar" | "page" | "sm" | "md" | "lg" | "xl"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSpace',
+      anchor: 'block-space',
+      signature:
+        'BlockSpace: "0" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "page"',
+      typeOnly: true,
+    },
+    {
+      name: 'BlockSpanProps',
+      anchor: 'block-span-props',
+      signature: 'BlockSpanProps: BlockElementProps<"span">',
+      typeOnly: true,
+      summary: '{@link Block } props specialized for a `<span>` element.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+        },
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: "span" | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature:
+            'background?: ResponsiveValue<BlockBackground> | undefined;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'className',
+          summary: '',
+          signature: 'className?: string | undefined;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: BlockRowFrom | undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: boolean | undefined;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'BlockZIndex',
+      anchor: 'block-zindex',
+      signature:
+        'BlockZIndex: "header" | "sticky" | "fixed" | "dropdown" | "modal" | "popover" | "toast" | "tooltip"',
+      typeOnly: true,
+    },
+  ],
+  symbols64: [
+    {
+      name: 'Breadcrumb',
+      anchor: 'breadcrumb',
+      signature: 'Breadcrumb: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbEllipsis',
+      anchor: 'breadcrumb-ellipsis',
+      signature:
+        'BreadcrumbEllipsis: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a non-interactive ellipsis marker in a breadcrumb trail.',
+    },
+    {
+      name: 'BreadcrumbItem',
+      anchor: 'breadcrumb-item',
+      signature:
+        'BreadcrumbItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbLink',
+      anchor: 'breadcrumb-link',
+      signature:
+        'BreadcrumbLink: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbList',
+      anchor: 'breadcrumb-list',
+      signature:
+        'BreadcrumbList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'BreadcrumbPage',
+      anchor: 'breadcrumb-page',
+      signature:
+        'BreadcrumbPage: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the current (non-link) breadcrumb page, marked `aria-current="page"`.',
+    },
+    {
+      name: 'BreadcrumbSeparator',
+      anchor: 'breadcrumb-separator',
+      signature:
+        'BreadcrumbSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the separator between breadcrumb items (defaults to `"/"`).',
+    },
+  ],
+  symbols65: [
+    {
+      name: 'ButtonGroup',
+      anchor: 'button-group',
+      signature: 'ButtonGroup: (props: ButtonGroupProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Groups related buttons together, optionally visually attached, with a horizontal or vertical\norientation and `role="group"` by default. Attached groups without an explicit `orientation`\nstack at phone width unless they contain icon buttons; pass `orientation="horizontal"` to\nkeep the row.',
+    },
+    {
+      name: 'ButtonGroupOrientation',
+      anchor: 'button-group-orientation',
+      signature: 'ButtonGroupOrientation: "horizontal" | "vertical"',
+      typeOnly: true,
+      summary:
+        'Layout direction of a {@link ButtonGroup }. When omitted, an attached group is a row that\nstacks at phone width unless it contains icon buttons. An explicit value keeps that direction\nunless the caller also passes `data-responsive="true"`, which opts back into phone stacking.',
+    },
+    {
+      name: 'ButtonGroupProps',
+      anchor: 'button-group-props',
+      signature:
+        'ButtonGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: ButtonGroupOrientation;\n  /** Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`. */\n  "data-responsive"?: "true" | "false";\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link ButtonGroup } component.',
+      members: [
+        {
+          name: 'attached',
+          summary: '',
+          signature: 'attached?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'data-responsive',
+          summary:
+            'Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`.',
+          signature: 'data-responsive?: "true" | "false" | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: ButtonGroupOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+  ],
+  symbols66: [
+    {
+      name: 'Button',
+      anchor: 'button',
+      signature:
+        'Button: { (props: ButtonNativeProps): JSX.Element; (props: ButtonAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Headless Button component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- ARIA attribute application\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled prop directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\nRenders the `button` part of `button`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native button (prevents accidental submit)\n```tsx\n<Button onPress={handleSave}>Save</Button>\n```',
+          'Explicit form submission\n```tsx\n<Button type="submit" onPress={handleSubmit}>Submit</Button>\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Button asChild onPress={handleNav}>\n<a href="/home">Home</a>\n</Button>\n```',
+        ],
+      },
+    },
+    {
+      name: 'ButtonAsChildElement',
+      anchor: 'button-as-child-element',
+      signature: 'ButtonAsChildElement: JSXElement | JSX.Element',
+      typeOnly: true,
+      summary: 'Button As Child Element.',
+    },
+    {
+      name: 'ButtonAsChildProps',
+      anchor: 'button-as-child-props',
+      signature:
+        'ButtonAsChildProps: ButtonOwnProps & {\n  asChild: true;\n  children: ButtonAsChildElement;\n  ref?: Ref<Element>;\n  type?: never;\n}',
+      typeOnly: true,
+      summary: 'Props when rendering with asChild (polymorphic)',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: ButtonAsChildElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonNativeProps',
+      anchor: 'button-native-props',
+      signature:
+        "ButtonNativeProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref'> & ButtonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n  type?: 'button' | 'submit' | 'reset';\n}",
+      typeOnly: true,
+      summary: 'Props when rendering as native <button>',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonOwnProps',
+      anchor: 'button-own-props',
+      signature:
+        'ButtonOwnProps: {\n  children?: unknown;\n  onPress?: (e: PressEvent) => void;\n  disabled?: boolean;\n  variant?: ButtonVariant;\n  size?: ButtonSize;\n  width?: ButtonWidth;\n}',
+      typeOnly: true,
+      summary: 'Core Button props shared across all variants',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonProps',
+      anchor: 'button-props',
+      signature: 'ButtonProps: ButtonNativeProps | ButtonAsChildProps',
+      typeOnly: true,
+      summary: 'Union of all Button prop variants',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: ButtonSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ButtonVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ButtonWidth | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ButtonSize',
+      anchor: 'button-size',
+      signature:
+        "ButtonSize: 'xs' | 'sm' | 'md' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg'",
+      typeOnly: true,
+      summary: 'Button Size.',
+    },
+    {
+      name: 'ButtonVariant',
+      anchor: 'button-variant',
+      signature:
+        "ButtonVariant: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link'",
+      typeOnly: true,
+      summary: 'Button Variant.',
+    },
+    {
+      name: 'ButtonWidth',
+      anchor: 'button-width',
+      signature: "ButtonWidth: 'auto' | 'full'",
+      typeOnly: true,
+      summary: 'Button Width.',
+    },
+  ],
+  symbols67: [
+    {
+      name: 'Calendar',
+      anchor: 'calendar',
+      signature: 'Calendar: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only calendar anatomy; it does not own dates, grid focus, selection, or month navigation.',
+    },
+    {
+      name: 'CalendarBody',
+      anchor: 'calendar-body',
+      signature: 'CalendarBody: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-body` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarCaption',
+      anchor: 'calendar-caption',
+      signature:
+        'CalendarCaption: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-caption` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarCell',
+      anchor: 'calendar-cell',
+      signature: 'CalendarCell: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-cell` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarDay',
+      anchor: 'calendar-day',
+      signature:
+        'CalendarDay: (props: CatalogComponentProps<HTMLButtonElement> & { disabled?: boolean; outside?: boolean; rangeEnd?: boolean; rangeMiddle?: boolean; rangeStart?: boolean; selected?: boolean; today?: boolean; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes.',
+    },
+    {
+      name: 'CalendarGrid',
+      anchor: 'calendar-grid',
+      signature: 'CalendarGrid: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-grid` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarHead',
+      anchor: 'calendar-head',
+      signature: 'CalendarHead: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-head` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarHeader',
+      anchor: 'calendar-header',
+      signature:
+        'CalendarHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarNav',
+      anchor: 'calendar-nav',
+      signature: 'CalendarNav: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-nav` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CalendarNextButton',
+      anchor: 'calendar-next-button',
+      signature:
+        'CalendarNextButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the calendar to the next month.',
+    },
+    {
+      name: 'CalendarPreviousButton',
+      anchor: 'calendar-previous-button',
+      signature:
+        'CalendarPreviousButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the calendar to the previous month.',
+    },
+    {
+      name: 'CalendarRow',
+      anchor: 'calendar-row',
+      signature: 'CalendarRow: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `calendar-row` part of the shadcn-compatible catalog primitives.',
+    },
+  ],
+  symbols68: [
+    {
+      name: 'Card',
+      anchor: 'card',
+      signature: 'Card: (props: CardProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Root card container; applies the `card` class and an optional `variant` modifier.',
+    },
+    {
+      name: 'CardAction',
+      anchor: 'card-action',
+      signature: 'CardAction: (props: CardActionProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders an action/control region of a {@link Card}, typically positioned alongside the header.',
+    },
+    {
+      name: 'CardActionProps',
+      anchor: 'card-action-props',
+      signature:
+        'CardActionProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardAction } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardContent',
+      anchor: 'card-content',
+      signature: 'CardContent: (props: CardContentProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the main content region of a {@link Card}.',
+    },
+    {
+      name: 'CardContentProps',
+      anchor: 'card-content-props',
+      signature:
+        'CardContentProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardContent } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardDescription',
+      anchor: 'card-description',
+      signature:
+        'CardDescription: (props: CardDescriptionProps) => JSX.Element',
+      typeOnly: true,
+      summary: "Renders a {@link Card}'s supporting description text.",
+    },
+    {
+      name: 'CardDescriptionProps',
+      anchor: 'card-description-props',
+      signature:
+        'CardDescriptionProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardDescription } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardFooter',
+      anchor: 'card-footer',
+      signature: 'CardFooter: (props: CardFooterProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the footer region of a {@link Card}.',
+    },
+    {
+      name: 'CardFooterProps',
+      anchor: 'card-footer-props',
+      signature:
+        'CardFooterProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardFooter } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardHeader',
+      anchor: 'card-header',
+      signature: 'CardHeader: (props: CardHeaderProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders the header region of a {@link Card}.',
+    },
+    {
+      name: 'CardHeaderProps',
+      anchor: 'card-header-props',
+      signature:
+        'CardHeaderProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardHeader } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CardProps',
+      anchor: 'card-props',
+      signature:
+        'CardProps: DivProps & {\n  children?: unknown;\n  variant?: CardVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Card } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: CardVariant | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CardTitle',
+      anchor: 'card-title',
+      signature: 'CardTitle: (props: CardTitleProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        "Renders a {@link Card}'s title, defaulting to an `<h3>` (override with `titleAs`).",
+    },
+    {
+      name: 'CardTitleHeadingTag',
+      anchor: 'card-title-heading-tag',
+      signature: 'CardTitleHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
+      typeOnly: true,
+      summary: "Heading tag allowed for a card's title via `titleAs`.",
+    },
+    {
+      name: 'CardTitleProps',
+      anchor: 'card-title-props',
+      signature:
+        'CardTitleProps: HeadingProps & {\n  children?: unknown;\n  /** Choose the level that follows the surrounding document hierarchy. */\n  titleAs?: CardTitleHeadingTag;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CardTitle } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
+        },
+        {
+          name: 'titleAs',
+          summary:
+            'Choose the level that follows the surrounding document hierarchy.',
+          signature: 'titleAs?: CardTitleHeadingTag | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CardVariant',
+      anchor: 'card-variant',
+      signature: 'CardVariant: "default" | "raised"',
+      typeOnly: true,
+      summary: 'Visual style of a {@link CardProps} card.',
+    },
+  ],
+  symbols69: [
+    {
+      name: 'Carousel',
+      anchor: 'carousel',
+      signature: 'Carousel: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only carousel anatomy; it does not own an active slide, scrolling, or keyboard navigation.',
+    },
+    {
+      name: 'CarouselContent',
+      anchor: 'carousel-content',
+      signature:
+        'CarouselContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `carousel-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CarouselItem',
+      anchor: 'carousel-item',
+      signature: 'CarouselItem: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `carousel-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CarouselNext',
+      anchor: 'carousel-next',
+      signature:
+        'CarouselNext: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the carousel to the next item.',
+    },
+    {
+      name: 'CarouselPrevious',
+      anchor: 'carousel-previous',
+      signature:
+        'CarouselPrevious: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Button that navigates the carousel to the previous item.',
+    },
+  ],
+  symbols70: [
+    {
+      name: 'Center',
+      anchor: 'center',
+      signature: 'Center: (props: CenterProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Centers content on both axes within the supplied Block dimensions.',
+    },
+    {
+      name: 'CenterProps',
+      anchor: 'center-props',
+      signature:
+        'CenterProps: WithoutOwnedLayout<BlockProps, "align" | "justify"> & {\n  align?: never;\n  justify?: never;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: unknown;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: unknown;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: undefined;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: unknown;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: unknown;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: unknown;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: unknown;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: unknown;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: unknown;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: unknown;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: unknown;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: unknown;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: unknown;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: unknown;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
+        },
+      ],
+    },
+  ],
+  symbols71: [
+    {
+      name: 'Checkbox',
+      anchor: 'checkbox',
+      signature:
+        'Checkbox: { (props: CheckboxInputProps): JSX.Element; (props: CheckboxAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Headless Checkbox component\n\n## Responsibilities\n- Apply aria-checked for checkbox state signaling\n- Handle indeterminate state for native and asChild hosts\n- Support controlled and uncontrolled checked state\n- Forward props and refs to native input or child element\n- Preserve native checkbox semantics and apply checkbox behavior to asChild hosts\n\n## Non-Responsibilities\n- Form submission orchestration beyond native input props\n\n## Invariants\n- MUST NOT add role="button" (native inputs are role="checkbox")\n- checked state may be controlled or uncontrolled\n- indeterminate overrides checked for state signaling\n- For asChild, consumer MUST provide role="checkbox"\nRenders the `checkbox` part of `checkbox` with `role="checkbox"`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native checkbox input\n```tsx\nconst checked = state(false);\n<Checkbox checked={checked()} onPress={() => checked.set(!checked())} />\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Checkbox asChild checked={agreed} onPress={toggleAgree}>\n<div role="checkbox">I agree to terms</div>\n</Checkbox>\n```',
+          'Indeterminate state (partial selection)\n```tsx\n<Checkbox checked={someChecked} indeterminate={!allChecked && someChecked} onPress={toggleAll}>\nSelect All\n</Checkbox>\n```',
+        ],
+      },
+    },
+    {
+      name: 'CheckboxAsChildProps',
+      anchor: 'checkbox-as-child-props',
+      signature:
+        'CheckboxAsChildProps: CheckboxOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n}',
+      typeOnly: true,
+      summary: 'Props when rendering via asChild',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'defaultChecked',
+          summary: '',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'indeterminate',
+          summary: '',
+          signature: 'indeterminate?: boolean | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CheckboxInputProps',
+      anchor: 'checkbox-input-props',
+      signature:
+        "CheckboxInputProps: Omit<JSX.IntrinsicElements['input'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref' | 'checked' | 'name' | 'value' | 'required'> & CheckboxOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLInputElement>;\n}",
+      typeOnly: true,
+      summary:
+        'Props when rendering as a native <input type="checkbox"> element',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultChecked',
+          summary: '',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLInputElement>;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CheckboxOwnProps',
+      anchor: 'checkbox-own-props',
+      signature:
+        'CheckboxOwnProps: {\n  children?: unknown;\n  onPress?: (e: PressEvent) => void;\n  checked?: boolean;\n  defaultChecked?: boolean;\n  onCheckedChange?: (checked: boolean) => void;\n  indeterminate?: boolean;\n  disabled?: boolean;\n  required?: boolean;\n  name?: string;\n  value?: string;\n}',
+      typeOnly: true,
+      summary: 'Props shared by all Checkbox variants',
+      members: [
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultChecked',
+          summary: '',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'indeterminate',
+          summary: '',
+          signature: 'indeterminate?: boolean | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CheckboxProps',
+      anchor: 'checkbox-props',
+      signature: 'CheckboxProps: CheckboxInputProps | CheckboxAsChildProps',
+      typeOnly: true,
+      summary: 'Discriminated union of Checkbox prop types',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultChecked',
+          summary: '',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLInputElement | null) => void) | { current: HTMLInputElement | null; } | null | undefined;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols72: [
+    {
+      name: 'Cluster',
+      anchor: 'cluster',
+      signature: 'Cluster: (props: ClusterProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Wrapping horizontal content flow for actions, tags, and compact controls.',
+    },
+    {
+      name: 'ClusterProps',
+      anchor: 'cluster-props',
+      signature:
+        'ClusterProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "wrap"> & {\n  direction?: never;\n  rowFrom?: never;\n  wrap?: never;\n}',
+      typeOnly: true,
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: unknown;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: unknown;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: unknown;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
+          summary: '',
+          signature: 'minHeight?: unknown;',
+        },
+        {
+          name: 'minWidth',
+          summary: '',
+          signature: 'minWidth?: unknown;',
+        },
+        {
+          name: 'padding',
+          summary: '',
+          signature: 'padding?: unknown;',
+        },
+        {
+          name: 'paddingX',
+          summary: '',
+          signature: 'paddingX?: unknown;',
+        },
+        {
+          name: 'paddingY',
+          summary: '',
+          signature: 'paddingY?: unknown;',
+        },
+        {
+          name: 'radius',
+          summary: '',
+          signature: 'radius?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: unknown;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: unknown;',
+        },
+        {
+          name: 'sticky',
+          summary: '',
+          signature: 'sticky?: unknown;',
+        },
+        {
+          name: 'top',
+          summary: '',
+          signature: 'top?: unknown;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
+        },
+      ],
+    },
+  ],
+  symbols73: [
+    {
+      name: 'Collapsible',
+      anchor: 'collapsible',
+      signature: 'Collapsible: (props: CollapsibleProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `collapsible`.',
+    },
+    {
+      name: 'CollapsibleContent',
+      anchor: 'collapsible-content',
+      signature:
+        'CollapsibleContent: { (props: CollapsibleContentProps): JSX.Element | null; (props: CollapsibleContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `collapsible-content` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'CollapsibleContentAsChildProps',
+      anchor: 'collapsible-content-as-child-props',
+      signature: 'CollapsibleContentAsChildProps: any',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Collapsible Content.',
+      members: [
+        {
+          name: 'asChild',
+          summary: 'Render as child element instead of div',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: 'Child content',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: 'Force mount even when closed (for animation)',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: 'Ref forwarding',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'CollapsibleContentProps',
+      anchor: 'collapsible-content-props',
+      signature: 'CollapsibleContentProps: any',
+      typeOnly: true,
+      summary: 'Content component props',
+      members: [
+        {
+          name: 'asChild',
+          summary: 'Render as child element instead of div',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: 'Child content',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'forceMount',
+          summary: 'Force mount even when closed (for animation)',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: 'Ref forwarding',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CollapsibleProps',
+      anchor: 'collapsible-props',
+      signature: 'CollapsibleProps: any',
+      typeOnly: true,
+      summary: 'Root component props',
+      members: [
+        {
+          name: 'children',
+          summary: 'Child components (Trigger, Content)',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: 'Uncontrolled default open state',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: 'Whether the collapsible is disabled',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary:
+            'Stable caller-provided identity used for ARIA linking when available',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: 'Callback when open state changes',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: 'Controlled open state',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CollapsibleTrigger',
+      anchor: 'collapsible-trigger',
+      signature:
+        'CollapsibleTrigger: { (props: CollapsibleTriggerProps): JSX.Element; (props: CollapsibleTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `collapsible-trigger` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'CollapsibleTriggerAsChildProps',
+      anchor: 'collapsible-trigger-as-child-props',
+      signature: 'CollapsibleTriggerAsChildProps: any',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Collapsible Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: 'Render as child element instead of button',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: 'Child content',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: 'Ref forwarding',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'CollapsibleTriggerProps',
+      anchor: 'collapsible-trigger-props',
+      signature: 'CollapsibleTriggerProps: any',
+      typeOnly: true,
+      summary: 'Trigger component props (button semantics)',
+      members: [
+        {
+          name: 'asChild',
+          summary: 'Render as child element instead of button',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: 'Child content',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: 'Ref forwarding',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+      ],
+    },
+  ],
+  symbols74: [
+    {
+      name: 'Combobox',
+      anchor: 'combobox',
+      signature: 'Combobox: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only combobox anatomy; it does not own value, popup, filtering, focus, or ARIA state.',
+    },
+    {
+      name: 'ComboboxInput',
+      anchor: 'combobox-input',
+      signature:
+        'ComboboxInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract.',
+    },
+    {
+      name: 'ComboboxList',
+      anchor: 'combobox-list',
+      signature: 'ComboboxList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `combobox-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'ComboboxOption',
+      anchor: 'combobox-option',
+      signature:
+        'ComboboxOption: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `combobox-option` part of the shadcn-compatible catalog primitives.',
+    },
+  ],
+  symbols75: [
+    {
+      name: 'Command',
+      anchor: 'command',
+      signature: 'Command: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only command anatomy; it does not own filtering, selection, focus, or keyboard commands.',
+    },
+    {
+      name: 'CommandDialog',
+      anchor: 'command-dialog',
+      signature: 'CommandDialog: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-dialog` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandEmpty',
+      anchor: 'command-empty',
+      signature: 'CommandEmpty: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-empty` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandGroup',
+      anchor: 'command-group',
+      signature: 'CommandGroup: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-group` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandGroupHeading',
+      anchor: 'command-group-heading',
+      signature:
+        'CommandGroupHeading: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-group-heading` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandHeader',
+      anchor: 'command-header',
+      signature: 'CommandHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandInput',
+      anchor: 'command-input',
+      signature:
+        'CommandInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+      typeOnly: true,
+      summary: "Renders the command palette's search `<input>`.",
+    },
+    {
+      name: 'CommandItem',
+      anchor: 'command-item',
+      signature:
+        'CommandItem: (props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes.',
+    },
+    {
+      name: 'CommandList',
+      anchor: 'command-list',
+      signature: 'CommandList: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-list` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandPalette',
+      anchor: 'command-palette',
+      signature: 'CommandPalette: (props: CommandPaletteProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Root dialog wrapper for a searchable command palette. Manages open state\n(controlled or uncontrolled), tracks the triggering element, and restores\nfocus to it after the palette closes.',
+    },
+    {
+      name: 'CommandPaletteContent',
+      anchor: 'command-palette-content',
+      signature:
+        'CommandPaletteContent: (props: CommandPaletteContentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Dialog content for a {@link CommandPalette}: renders the overlay, an\naccessible (visually hidden) title/description, and a `Command` list,\nmoving initial focus to `initialFocus` (defaults to the search input) once\nmounted, and optionally suppressing dismiss-on-escape/backdrop.',
+    },
+    {
+      name: 'CommandPaletteContentProps',
+      anchor: 'command-palette-content-props',
+      signature:
+        'CommandPaletteContentProps: Omit<DialogContentProps, "children" | "title" | "onEscapeKeyDown" | "onInteractOutside" | "onPointerDownOutside"> & {\n  children?: unknown;\n  title: string;\n  description?: string;\n  initialFocus?: string | (() => HTMLElement | null) | false;\n  closeOnBackdrop?: boolean;\n  closeOnEscape?: boolean;\n  overlayProps?: DialogOverlayProps;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteContent } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'closeOnBackdrop',
+          summary: '',
+          signature: 'closeOnBackdrop?: boolean | undefined;',
+        },
+        {
+          name: 'closeOnEscape',
+          summary: '',
+          signature: 'closeOnEscape?: boolean | undefined;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: string | undefined;',
+        },
+        {
+          name: 'initialFocus',
+          summary: '',
+          signature:
+            'initialFocus?: string | false | (() => HTMLElement | null) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'overlayProps',
+          summary: '',
+          signature: 'overlayProps?: DialogOverlayProps | undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title: string;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteLink',
+      anchor: 'command-palette-link',
+      signature:
+        'CommandPaletteLink: (props: CommandPaletteLinkProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A navigable result row that closes the palette on selection (unless `closeOnSelect` is `false`) and supports cancelling navigation via `onBeforeNavigate`.',
+    },
+    {
+      name: 'CommandPaletteLinkProps',
+      anchor: 'command-palette-link-props',
+      signature:
+        'CommandPaletteLinkProps: LinkProps & {\n  closeOnSelect?: boolean;\n  onBeforeNavigate?: (event: Event) => void;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteLink } component.',
+      members: [
+        {
+          name: 'closeOnSelect',
+          summary: '',
+          signature: 'closeOnSelect?: boolean | undefined;',
+        },
+        {
+          name: 'onBeforeNavigate',
+          summary: '',
+          signature: 'onBeforeNavigate?: ((event: Event) => void) | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteList',
+      anchor: 'command-palette-list',
+      signature:
+        'CommandPaletteList: (props: CommandPaletteListProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `<ul>` list wrapper for {@link CommandPalette} results.',
+    },
+    {
+      name: 'CommandPaletteListProps',
+      anchor: 'command-palette-list-props',
+      signature:
+        'CommandPaletteListProps: Omit<JSX.IntrinsicElements["ul"], "children" | "ref"> & {\n  children?: unknown;\n  ref?: Ref<HTMLUListElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteList } component.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLUListElement>;',
+        },
+      ],
+    },
+    {
+      name: 'CommandPaletteProps',
+      anchor: 'command-palette-props',
+      signature: 'CommandPaletteProps: DialogProps',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPalette } component.',
+    },
+    {
+      name: 'CommandPaletteTrigger',
+      anchor: 'command-palette-trigger',
+      signature:
+        'CommandPaletteTrigger: { (props: CommandPaletteTriggerProps): JSX.Element; (props: CommandPaletteTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Trigger that opens the {@link CommandPalette}, registering itself so focus returns here on close.',
+    },
+    {
+      name: 'CommandPaletteTriggerAsChildProps',
+      anchor: 'command-palette-trigger-as-child-props',
+      signature: 'CommandPaletteTriggerAsChildProps: DialogTriggerAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for {@link CommandPaletteTrigger } rendered with `asChild`.',
+    },
+    {
+      name: 'CommandPaletteTriggerProps',
+      anchor: 'command-palette-trigger-props',
+      signature: 'CommandPaletteTriggerProps: DialogTriggerProps',
+      typeOnly: true,
+      summary: 'Props for the {@link CommandPaletteTrigger } component.',
+    },
+    {
+      name: 'CommandSeparator',
+      anchor: 'command-separator',
+      signature:
+        'CommandSeparator: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-separator` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'CommandShortcut',
+      anchor: 'command-shortcut',
+      signature:
+        'CommandShortcut: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `command-shortcut` part of the shadcn-compatible catalog primitives.',
+    },
+  ],
+  symbols76: [
+    {
+      name: 'Container',
+      anchor: 'container',
+      signature: 'Container: (props: ContainerProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Centers content in a max-width column with page gutters (defaults to the `"page"` {@link BlockSize }).',
+    },
+    {
+      name: 'ContainerProps',
+      anchor: 'container-props',
+      signature:
+        'ContainerProps: Omit<BlockDivProps, "maxWidth"> & {\n  size?: BlockSize;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Container } component.',
+      members: [
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: BlockSize | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols77: [
+    {
+      name: 'ContextMenu',
+      anchor: 'context-menu',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'ContextMenuContent',
+      anchor: 'context-menu-content',
+      signature:
+        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+    },
+    {
+      name: 'ContextMenuGroup',
+      anchor: 'context-menu-group',
+      signature:
+        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuItem',
+      anchor: 'context-menu-item',
+      signature:
+        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuLabel',
+      anchor: 'context-menu-label',
+      signature:
+        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuPortal',
+      anchor: 'context-menu-portal',
+      signature:
+        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'ContextMenuSeparator',
+      anchor: 'context-menu-separator',
+      signature:
+        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ContextMenuTrigger',
+      anchor: 'context-menu-trigger',
       signature:
-        'BlockElement: "div" | "span" | "main" | "header" | "footer" | "section" | "aside" | "nav" | "a" | "ul" | "ol" | "li" | "form" | "article"',
+        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
       typeOnly: true,
-      summary: 'Element tags {@link Block } can render as via its `as` prop.',
+      summary:
+        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+  ],
+  symbols78: [
+    {
+      name: 'DataTable',
+      anchor: 'data-table',
+      signature: 'DataTable: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: false,
+      summary:
+        'Styling-only container for the `data-table` catalog slot. It does not sort,\nfilter, select, or paginate data.',
     },
+  ],
+  symbols79: [
     {
-      name: 'BlockElementProps',
-      anchor: 'block-element-props',
+      name: 'DatePicker',
+      anchor: 'date-picker',
+      signature: 'DatePicker: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Styling-only `date-picker` container. It does not implement a popup calendar, formatting, or\ncalendar-grid keyboard behavior; pair it with {@link DatePickerInput} for a native date input.',
+    },
+    {
+      name: 'DatePickerInput',
+      anchor: 'date-picker-input',
       signature:
-        'BlockElementProps: Omit<JSX.IntrinsicElements[TElement], "children" | "ref"> & BlockOwnProps & {\n  as?: TElement;\n  asChild?: false;\n  ref?: Ref<unknown>;\n}',
+        'DatePickerInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
       typeOnly: true,
       summary:
-        '{@link Block } props specialized for a given {@link BlockElement} tag `TElement`.',
+        'Native `<input type="date">` styling slot; browser behavior and localization remain native.',
+    },
+  ],
+  symbols80: [
+    {
+      name: 'Dialog',
+      anchor: 'dialog',
+      signature: 'Dialog: (props: DialogProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
+      tags: {
+        example: [
+          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
+        ],
+      },
+    },
+    {
+      name: 'DialogClose',
+      anchor: 'dialog-close',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogCloseAsChildProps',
+      anchor: 'dialog-close-as-child-props',
+      signature: 'DialogCloseAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Dialog Close.',
       members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
-        },
-        {
-          name: 'as',
-          summary: '',
-          signature: 'as?: TElement | undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'background',
+          name: 'children',
           summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'border',
+          name: 'disabled',
           summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'borderBottom',
+          name: 'onPress',
           summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'borderRight',
+          name: 'ref',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'borderTop',
+          name: 'type',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'type?: undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogCloseProps',
+      anchor: 'dialog-close-props',
+      signature:
+        "DialogCloseProps: ButtonLikeProps<'button', HTMLButtonElement>",
+      typeOnly: true,
+      summary: 'Props for Dialog Close.',
+      members: [
         {
-          name: 'center',
+          name: 'asChild',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -32926,582 +41669,508 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'direction',
-          summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
-        },
-        {
-          name: 'gap',
-          summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'grow',
-          summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
-        },
-        {
-          name: 'height',
-          summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'hide',
-          summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
-        },
-        {
-          name: 'justify',
-          summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
-        },
-        {
-          name: 'margin',
-          summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
-        },
-        {
-          name: 'marginX',
-          summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
-        },
-        {
-          name: 'marginY',
-          summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
-        },
-        {
-          name: 'maxHeight',
-          summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'maxWidth',
-          summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'minHeight',
-          summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'minWidth',
-          summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'padding',
-          summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'paddingX',
-          summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'paddingY',
+          name: 'disabled',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'radius',
+          name: 'onPress',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
-        },
-        {
-          name: 'rowFrom',
-          summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
-        },
-        {
-          name: 'shadow',
-          summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
-        },
-        {
-          name: 'shrink',
-          summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
-        },
-        {
-          name: 'sticky',
-          summary: '',
-          signature: 'sticky?: boolean | undefined;',
-        },
-        {
-          name: 'top',
-          summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'width',
-          summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
-        },
-        {
-          name: 'wrap',
-          summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'zIndex',
+          name: 'type',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
     {
-      name: 'BlockJustify',
-      anchor: 'block-justify',
-      signature: 'BlockJustify: "start" | "end" | "center" | "between"',
-      typeOnly: true,
-    },
-    {
-      name: 'BlockMargin',
-      anchor: 'block-margin',
-      signature: 'BlockMargin: BlockSpace | "auto"',
+      name: 'DialogContent',
+      anchor: 'dialog-content',
+      signature:
+        'DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
+      summary:
+        'Renders the `dialog-content` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'BlockNativeProps',
-      anchor: 'block-native-props',
+      name: 'DialogContentAsChildProps',
+      anchor: 'dialog-content-as-child-props',
       signature:
-        'BlockNativeProps: { [TElement in BlockElement]: BlockElementProps<TElement>; }[BlockElement]',
+        'DialogContentAsChildProps: BoxAsChildProps & DialogContentOwnProps',
       typeOnly: true,
       summary:
-        "Union of {@link BlockElementProps} across every {@link BlockElement}, used for {@link Block }'s native (non-`asChild`) overload.",
+        'Props for the `asChild` (polymorphic) rendering of Dialog Content.',
       members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
-        },
-        {
-          name: 'as',
-          summary: '',
-          signature:
-            'as?: "a" | "article" | "aside" | "div" | "form" | "footer" | "header" | "li" | "main" | "nav" | "ol" | "section" | "span" | "ul" | undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: false | undefined;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'borderBottom',
+          name: 'children',
           summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'borderRight',
+          name: 'forceMount',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'borderTop',
+          name: 'onDismiss',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onDismiss?: (() => void) | undefined;',
         },
         {
-          name: 'center',
+          name: 'onEscapeKeyDown',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
         },
         {
-          name: 'children',
+          name: 'onInteractOutside',
           summary: '',
-          signature: 'children?: unknown;',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
         },
         {
-          name: 'className',
+          name: 'onPointerDownOutside',
           summary: '',
           signature:
-            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
         },
         {
-          name: 'direction',
+          name: 'ref',
           summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'gap',
-          summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
         },
         {
-          name: 'grow',
+          name: 'role',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogContentOwnProps',
+      anchor: 'dialog-content-own-props',
+      signature:
+        "DialogContentOwnProps: {\n  forceMount?: boolean;\n  role?: 'dialog' | 'alertdialog';\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onDismiss?: () => void;\n  /** Explicit focus target used when a controlled dialog has no persistent trigger. */\n  restoreFocus?: HTMLElement | null | (() => HTMLElement | null);\n}",
+      typeOnly: true,
+      summary:
+        'Own props for Dialog Content, before merging with native element attributes.',
+      members: [
         {
-          name: 'height',
+          name: 'forceMount',
           summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'hide',
+          name: 'onDismiss',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onDismiss?: (() => void) | undefined;',
         },
         {
-          name: 'justify',
+          name: 'onEscapeKeyDown',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
         },
         {
-          name: 'margin',
+          name: 'onInteractOutside',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
         },
         {
-          name: 'marginX',
+          name: 'onPointerDownOutside',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
         },
         {
-          name: 'marginY',
-          summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
         },
         {
-          name: 'maxHeight',
+          name: 'role',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogContentProps',
+      anchor: 'dialog-content-props',
+      signature:
+        "DialogContentProps: BoxProps<'div', HTMLDivElement> & DialogContentOwnProps",
+      typeOnly: true,
+      summary: 'Props for Dialog Content.',
+      members: [
         {
-          name: 'maxWidth',
+          name: 'asChild',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'minHeight',
+          name: 'children',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'minWidth',
+          name: 'forceMount',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'padding',
+          name: 'onDismiss',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'onDismiss?: (() => void) | undefined;',
         },
         {
-          name: 'paddingX',
+          name: 'onEscapeKeyDown',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
         },
         {
-          name: 'paddingY',
+          name: 'onInteractOutside',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
         },
         {
-          name: 'radius',
+          name: 'onPointerDownOutside',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
-        },
-        {
-          name: 'rowFrom',
-          summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
-        },
-        {
-          name: 'shadow',
-          summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
-        },
-        {
-          name: 'shrink',
-          summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
-        },
-        {
-          name: 'sticky',
-          summary: '',
-          signature: 'sticky?: boolean | undefined;',
-        },
-        {
-          name: 'top',
-          summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'width',
-          summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'wrap',
-          summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          name: 'restoreFocus',
+          summary:
+            'Explicit focus target used when a controlled dialog has no persistent trigger.',
+          signature:
+            'restoreFocus?: HTMLElement | (() => HTMLElement | null) | null | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'role',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'role?: "dialog" | "alertdialog" | undefined;',
         },
       ],
     },
     {
-      name: 'BlockOwnProps',
-      anchor: 'block-own-props',
+      name: 'DialogDescription',
+      anchor: 'dialog-description',
       signature:
-        'BlockOwnProps: BlockLayoutProps & {\n  as?: BlockElement;\n  children?: unknown;\n  className?: string;\n}',
+        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Layout and structural props accepted by {@link Block }, independent of the rendered element.',
-      members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
-        },
-        {
-          name: 'as',
-          summary: '',
-          signature: 'as?: BlockElement | undefined;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
-        },
-        {
-          name: 'borderBottom',
-          summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
-        },
-        {
-          name: 'borderRight',
-          summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
-        },
-        {
-          name: 'borderTop',
-          summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
-        },
+        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogDescriptionAsChildProps',
+      anchor: 'dialog-description-as-child-props',
+      signature: 'DialogDescriptionAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Dialog Description.',
+      members: [
         {
-          name: 'center',
+          name: 'asChild',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild: true;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'className',
+          name: 'ref',
           summary: '',
-          signature: 'className?: string | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'DialogDescriptionProps',
+      anchor: 'dialog-description-props',
+      signature: "DialogDescriptionProps: BoxProps<'p', HTMLParagraphElement>",
+      typeOnly: true,
+      summary: 'Props for Dialog Description.',
+      members: [
         {
-          name: 'direction',
+          name: 'asChild',
           summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'gap',
+          name: 'children',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'grow',
+          name: 'ref',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
         },
+      ],
+    },
+    {
+      name: 'DialogOverlay',
+      anchor: 'dialog-overlay',
+      signature:
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogOverlayAsChildProps',
+      anchor: 'dialog-overlay-as-child-props',
+      signature:
+        'DialogOverlayAsChildProps: BoxAsChildProps & DialogOverlayOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Dialog Overlay.',
+      members: [
         {
-          name: 'height',
+          name: 'asChild',
           summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'hide',
+          name: 'children',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'justify',
+          name: 'forceMount',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'margin',
+          name: 'ref',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'DialogOverlayOwnProps',
+      anchor: 'dialog-overlay-own-props',
+      signature: 'DialogOverlayOwnProps: {\n  forceMount?: boolean;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Dialog Overlay, before merging with native element attributes.',
+      members: [
         {
-          name: 'marginX',
+          name: 'forceMount',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogOverlayProps',
+      anchor: 'dialog-overlay-props',
+      signature:
+        "DialogOverlayProps: BoxProps<'div', HTMLDivElement> & DialogOverlayOwnProps",
+      typeOnly: true,
+      summary: 'Props for Dialog Overlay.',
+      members: [
         {
-          name: 'marginY',
+          name: 'asChild',
           summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'maxHeight',
+          name: 'children',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'maxWidth',
+          name: 'forceMount',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'minHeight',
+          name: 'ref',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+    {
+      name: 'DialogOwnProps',
+      anchor: 'dialog-own-props',
+      signature:
+        'DialogOwnProps: {\n  children?: unknown;\n  id?: string;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n  modal?: boolean;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Dialog, before merging with native element attributes.',
+      members: [
         {
-          name: 'minWidth',
+          name: 'children',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'padding',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'paddingX',
+          name: 'id',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'paddingY',
+          name: 'modal',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'modal?: boolean | undefined;',
         },
         {
-          name: 'radius',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'rowFrom',
+          name: 'open',
           summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
+          signature: 'open?: boolean | undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogPortal',
+      anchor: 'dialog-portal',
+      signature:
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dialog`.',
+    },
+    {
+      name: 'DialogPortalProps',
+      anchor: 'dialog-portal-props',
+      signature: 'DialogPortalProps: {\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for Dialog Portal.',
+      members: [
         {
-          name: 'shadow',
+          name: 'children',
           summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+          signature: 'children?: unknown;',
         },
+      ],
+    },
+    {
+      name: 'DialogProps',
+      anchor: 'dialog-props',
+      signature: 'DialogProps: DialogOwnProps',
+      typeOnly: true,
+      summary: 'Props for Dialog.',
+      members: [
         {
-          name: 'shrink',
+          name: 'children',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'sticky',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'top',
+          name: 'id',
           summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'width',
+          name: 'modal',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'modal?: boolean | undefined;',
         },
         {
-          name: 'wrap',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'open',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'open?: boolean | undefined;',
         },
       ],
     },
     {
-      name: 'BlockProps',
-      anchor: 'block-props',
-      signature: 'BlockProps: BlockNativeProps | BlockAsChildProps',
+      name: 'DialogTitle',
+      anchor: 'dialog-title',
+      signature:
+        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Union of all prop shapes accepted by {@link Block }.',
+      summary:
+        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogTitleAsChildProps',
+      anchor: 'dialog-title-as-child-props',
+      signature: 'DialogTitleAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Dialog Title.',
       members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
-        },
-        {
-          name: 'borderBottom',
-          summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'borderRight',
+          name: 'children',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'borderTop',
+          name: 'ref',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'DialogTitleProps',
+      anchor: 'dialog-title-props',
+      signature: "DialogTitleProps: BoxProps<'h2', HTMLHeadingElement>",
+      typeOnly: true,
+      summary: 'Props for Dialog Title.',
+      members: [
         {
-          name: 'center',
+          name: 'asChild',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -33509,615 +42178,840 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'className',
-          summary: '',
-          signature:
-            'className?: string | ((() => IntrinsicClassValue) & string) | undefined;',
-        },
-        {
-          name: 'direction',
+          name: 'ref',
           summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
         },
+      ],
+    },
+    {
+      name: 'DialogTrigger',
+      anchor: 'dialog-trigger',
+      signature:
+        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DialogTriggerAsChildProps',
+      anchor: 'dialog-trigger-as-child-props',
+      signature: 'DialogTriggerAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Dialog Trigger.',
+      members: [
         {
-          name: 'gap',
+          name: 'asChild',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'grow',
+          name: 'children',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'height',
+          name: 'disabled',
           summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'hide',
+          name: 'onPress',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'justify',
+          name: 'ref',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'margin',
+          name: 'type',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'type?: undefined;',
         },
+      ],
+    },
+    {
+      name: 'DialogTriggerProps',
+      anchor: 'dialog-trigger-props',
+      signature:
+        "DialogTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>",
+      typeOnly: true,
+      summary: 'Props for Dialog Trigger.',
+      members: [
         {
-          name: 'marginX',
+          name: 'asChild',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'marginY',
+          name: 'children',
           summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'maxHeight',
+          name: 'disabled',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'maxWidth',
+          name: 'onPress',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'minHeight',
+          name: 'ref',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'minWidth',
+          name: 'type',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
+      ],
+    },
+  ],
+  symbols81: [
+    {
+      name: 'Direction',
+      anchor: 'direction',
+      signature:
+        'Direction: (props: CatalogComponentProps & { dir?: "ltr" | "rtl"; }) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Sets the `dir` attribute (defaulting to `"ltr"`) on its wrapping element for RTL/LTR scoping.',
+    },
+  ],
+  symbols82: [
+    {
+      name: 'DropdownMenu',
+      anchor: 'dropdown-menu',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownMenuContent',
+      anchor: 'dropdown-menu-content',
+      signature:
+        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+    },
+    {
+      name: 'DropdownMenuGroup',
+      anchor: 'dropdown-menu-group',
+      signature:
+        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuItem',
+      anchor: 'dropdown-menu-item',
+      signature:
+        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuLabel',
+      anchor: 'dropdown-menu-label',
+      signature:
+        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuPortal',
+      anchor: 'dropdown-menu-portal',
+      signature:
+        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `dropdown`.',
+    },
+    {
+      name: 'DropdownMenuSeparator',
+      anchor: 'dropdown-menu-separator',
+      signature:
+        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'DropdownMenuTrigger',
+      anchor: 'dropdown-menu-trigger',
+      signature:
+        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+  ],
+  symbols83: [
+    {
+      name: 'Empty',
+      anchor: 'empty',
+      signature: 'Empty: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyContent',
+      anchor: 'empty-content',
+      signature: 'EmptyContent: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-content` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyDescription',
+      anchor: 'empty-description',
+      signature:
+        'EmptyDescription: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-description` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyHeader',
+      anchor: 'empty-header',
+      signature: 'EmptyHeader: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-header` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyMedia',
+      anchor: 'empty-media',
+      signature: 'EmptyMedia: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-media` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'EmptyTitle',
+      anchor: 'empty-title',
+      signature: 'EmptyTitle: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `empty-title` part of the shadcn-compatible catalog primitives.',
+    },
+  ],
+  symbols84: [
+    {
+      name: 'Field',
+      anchor: 'field',
+      signature: 'Field: (props: FieldProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Groups a form control with its hint/error text, marking `data-invalid` when `invalid` is set.',
+    },
+    {
+      name: 'FieldError',
+      anchor: 'field-error',
+      signature: 'FieldError: (props: FieldErrorProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders validation error text for a {@link Field}, exposed with `role="alert"`.',
+    },
+    {
+      name: 'FieldErrorProps',
+      anchor: 'field-error-props',
+      signature:
+        'FieldErrorProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FieldError } component.',
+      members: [
         {
-          name: 'padding',
+          name: 'children',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'paddingX',
+          name: 'ref',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
         },
+      ],
+    },
+    {
+      name: 'FieldHint',
+      anchor: 'field-hint',
+      signature: 'FieldHint: (props: FieldHintProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders supporting hint text for a {@link Field}.',
+    },
+    {
+      name: 'FieldHintProps',
+      anchor: 'field-hint-props',
+      signature:
+        'FieldHintProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link FieldHint } component.',
+      members: [
         {
-          name: 'paddingY',
+          name: 'children',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'radius',
+          name: 'ref',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'ref?: Ref<HTMLParagraphElement>;',
         },
+      ],
+    },
+    {
+      name: 'FieldProps',
+      anchor: 'field-props',
+      signature:
+        'FieldProps: DivProps & {\n  children?: unknown;\n  invalid?: boolean;\n  ref?: Ref<HTMLDivElement>;\n}',
+      typeOnly: true,
+      summary: 'Props for the {@link Field } component.',
+      members: [
         {
-          name: 'ref',
+          name: 'children',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'rowFrom',
+          name: 'invalid',
           summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
+          signature: 'invalid?: boolean | undefined;',
         },
         {
-          name: 'shadow',
+          name: 'ref',
           summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+  ],
+  symbols85: [
+    {
+      name: 'Form',
+      anchor: 'form',
+      signature:
+        'Form: { (props: FormProps): JSX.Element; (props: FormAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `form`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'FormAsChildProps',
+      anchor: 'form-as-child-props',
+      signature:
+        "FormAsChildProps: Omit<JSX.IntrinsicElements['form'], 'children' | 'ref'> & FormOwnProps & {\n  asChild: true;\n  children: JSX.Element;\n  ref?: import('@askrjs/askr/foundations/utilities').Ref<Element>;\n}",
+      typeOnly: true,
+      summary:
+        '`asChild` keeps the form host supplied by the consumer, while retaining the\nnative form attribute contract (method, action, target, encoding, etc.).',
+      members: [
         {
-          name: 'shrink',
+          name: 'asChild',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'sticky',
+          name: 'children',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'children: JSX.Element;',
         },
         {
-          name: 'top',
+          name: 'ref',
           summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'FormProps',
+      anchor: 'form-props',
+      signature: "FormProps: BoxProps<'form', HTMLFormElement> & FormOwnProps",
+      typeOnly: true,
+      summary: 'Props for Form.',
+      members: [
         {
-          name: 'width',
+          name: 'asChild',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'wrap',
+          name: 'children',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'zIndex',
+          name: 'ref',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'ref?: Ref<HTMLFormElement>;',
         },
       ],
     },
+  ],
+  symbols86: [
     {
-      name: 'BlockRadius',
-      anchor: 'block-radius',
-      signature: 'BlockRadius: true | "sm" | "md" | "lg" | "xl" | "round"',
-      typeOnly: true,
-    },
-    {
-      name: 'BlockResponsiveValue',
-      anchor: 'block-responsive-value',
-      signature: 'ResponsiveValue: T | Partial<Record<LayoutBreakpoint, T>>',
+      name: 'Grid',
+      anchor: 'grid',
+      signature:
+        'Grid: <TElement extends GridElement = "div">(props: GridProps<TElement>) => JSX.Element',
       typeOnly: true,
+      summary:
+        'CSS grid layout primitive: turns `columns`/`gap`/`align` (each optionally responsive) into generated grid-template styles, rendering as `<div>` by default.',
     },
     {
-      name: 'BlockRowFrom',
-      anchor: 'block-row-from',
-      signature: 'BlockRowFrom: Exclude<LayoutBreakpoint, "base">',
+      name: 'GridAlign',
+      anchor: 'grid-align',
+      signature: 'GridAlign: "start" | "center" | "end" | "stretch"',
       typeOnly: true,
+      summary: '`align-items` value applied to a {@link Grid }.',
     },
     {
-      name: 'BlockShadow',
-      anchor: 'block-shadow',
-      signature: 'BlockShadow: true | "sm" | "md" | "lg"',
+      name: 'GridColumns',
+      anchor: 'grid-columns',
+      signature: 'GridColumns: number | string',
       typeOnly: true,
+      summary:
+        'Column definition for {@link Grid }: a track count or a raw `grid-template-columns` string.',
     },
     {
-      name: 'BlockSize',
-      anchor: 'block-size',
-      signature:
-        'BlockSize: "auto" | "full" | "screen" | "content" | "sidebar" | "page" | "sm" | "md" | "lg" | "xl"',
+      name: 'GridElement',
+      anchor: 'grid-element',
+      signature: 'GridElement: "div" | "section" | "ul"',
       typeOnly: true,
+      summary: 'Element tags {@link Grid } can render as via its `as` prop.',
     },
     {
-      name: 'BlockSpace',
-      anchor: 'block-space',
+      name: 'GridProps',
+      anchor: 'grid-props',
       signature:
-        'BlockSpace: "0" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "page"',
-      typeOnly: true,
-    },
-    {
-      name: 'BlockSpanProps',
-      anchor: 'block-span-props',
-      signature: 'BlockSpanProps: BlockElementProps<"span">',
+        'GridProps: GridIntrinsicProps<TElement> & {\n  as?: TElement;\n  columns?: ResponsiveValue<GridColumns>;\n  gap?: ResponsiveValue<BlockSpace>;\n  align?: ResponsiveValue<GridAlign>;\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
       typeOnly: true,
-      summary: '{@link Block } props specialized for a `<span>` element.',
+      summary:
+        'Props for the {@link Grid } component, specialized for a given {@link GridElement} `TElement`.',
       members: [
         {
           name: 'align',
           summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+          signature: 'align?: ResponsiveValue<GridAlign> | undefined;',
         },
         {
           name: 'as',
           summary: '',
-          signature: 'as?: "span" | undefined;',
-        },
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: false | undefined;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+          signature: 'as?: TElement | undefined;',
         },
         {
-          name: 'borderBottom',
+          name: 'children',
           summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'borderRight',
+          name: 'columns',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature: 'columns?: ResponsiveValue<GridColumns> | undefined;',
         },
         {
-          name: 'borderTop',
+          name: 'gap',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'center',
+          name: 'ref',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<HTMLElement>;',
         },
+      ],
+    },
+  ],
+  symbols87: [
+    {
+      name: 'Heading',
+      anchor: 'heading',
+      signature: 'Heading: ({ level, ...props }: HeadingProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Native semantic heading whose visual size is independent from its explicit document level.',
+    },
+    {
+      name: 'HeadingLevel',
+      anchor: 'heading-level',
+      signature: 'HeadingLevel: 1 | 2 | 3 | 4 | 5 | 6',
+      typeOnly: true,
+    },
+    {
+      name: 'HeadingProps',
+      anchor: 'heading-props',
+      signature:
+        'HeadingProps: NativeHeadingProps & {\n  level: HeadingLevel;\n  size?: HeadingSize;\n  tone?: TextTone;\n  weight?: TextWeight;\n  font?: TextFont;\n  numeric?: TextNumeric;\n  wrap?: TextWrap;\n  truncate?: boolean;\n  children?: unknown;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      typeOnly: true,
+      summary:
+        'Strongly typed semantic heading props with visual treatment independent from document level.',
+      members: [
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'className',
-          summary: '',
-          signature: 'className?: string | undefined;',
-        },
-        {
-          name: 'direction',
-          summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
-        },
-        {
-          name: 'gap',
-          summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
-        },
-        {
-          name: 'grow',
+          name: 'font',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'font?: TextFont | undefined;',
         },
         {
-          name: 'height',
+          name: 'level',
           summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'level: HeadingLevel;',
         },
         {
-          name: 'hide',
+          name: 'numeric',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'numeric?: TextNumeric | undefined;',
         },
         {
-          name: 'justify',
+          name: 'ref',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature: 'ref?: Ref<HTMLHeadingElement>;',
         },
         {
-          name: 'margin',
+          name: 'size',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'size?: HeadingSize | undefined;',
         },
         {
-          name: 'marginX',
+          name: 'tone',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'tone?: TextTone | undefined;',
         },
         {
-          name: 'marginY',
+          name: 'truncate',
           summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'truncate?: boolean | undefined;',
         },
         {
-          name: 'maxHeight',
+          name: 'weight',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'weight?: TextWeight | undefined;',
         },
         {
-          name: 'maxWidth',
+          name: 'wrap',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'wrap?: TextWrap | undefined;',
         },
+      ],
+    },
+    {
+      name: 'HeadingSize',
+      anchor: 'heading-size',
+      signature: 'HeadingSize: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl"',
+      typeOnly: true,
+    },
+  ],
+  symbols88: [
+    {
+      name: 'HoverCard',
+      anchor: 'hover-card',
+      signature:
+        'HoverCard: (props: HoverCardProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `hover-card`.',
+    },
+    {
+      name: 'HoverCardAsChildProps',
+      anchor: 'hover-card-as-child-props',
+      signature:
+        'HoverCardAsChildProps: HoverCardOwnProps & {\n  asChild: true;\n  children: JSX.Element;\n}',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Hover Card.',
+      members: [
         {
-          name: 'minHeight',
+          name: 'asChild',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'minWidth',
+          name: 'children',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'children: JSX.Element;',
         },
         {
-          name: 'padding',
+          name: 'closeDelay',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'closeDelay?: number | undefined;',
         },
         {
-          name: 'paddingX',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'paddingY',
+          name: 'id',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'radius',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'ref',
+          name: 'open',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'open?: boolean | undefined;',
         },
         {
-          name: 'rowFrom',
+          name: 'openDelay',
           summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
+          signature: 'openDelay?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'HoverCardContent',
+      anchor: 'hover-card-content',
+      signature:
+        'HoverCardContent: { (props: HoverCardContentProps): JSX.Element | null; (props: HoverCardContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `hover-card-content` part of `hover-card` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'HoverCardContentAsChildProps',
+      anchor: 'hover-card-content-as-child-props',
+      signature:
+        'HoverCardContentAsChildProps: BoxAsChildProps & HoverCardContentOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Hover Card Content.',
+      members: [
         {
-          name: 'shadow',
+          name: 'align',
           summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'shrink',
+          name: 'asChild',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'sticky',
+          name: 'children',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'top',
+          name: 'forceMount',
           summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'width',
+          name: 'ref',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'wrap',
+          name: 'side',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'sideOffset',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'BlockZIndex',
-      anchor: 'block-zindex',
-      signature:
-        'BlockZIndex: "header" | "sticky" | "fixed" | "dropdown" | "modal" | "popover" | "toast" | "tooltip"',
-      typeOnly: true,
-    },
-    {
-      name: 'Brand',
-      anchor: 'brand',
-      signature:
-        'Brand: <TElement extends "div" | "a" | "span" = "div">(props: BrandProps<TElement>) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a brand/logo wrapper, defaulting to a `<div>` (or `<a>`/`<span>` via `as`), or merges onto a single child via `asChild`.',
-    },
-    {
-      name: 'BrandLabel',
-      anchor: 'brand-label',
-      signature: 'BrandLabel: (props: BrandLabelProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the text label portion of a {@link Brand}.',
-    },
-    {
-      name: 'BrandMark',
-      anchor: 'brand-mark',
-      signature: 'BrandMark: (props: BrandMarkProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the icon/mark portion of a {@link Brand}.',
-    },
-    {
-      name: 'Breadcrumb',
-      anchor: 'breadcrumb',
-      signature: 'Breadcrumb: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `breadcrumb` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'BreadcrumbEllipsis',
-      anchor: 'breadcrumb-ellipsis',
-      signature:
-        'BreadcrumbEllipsis: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a non-interactive ellipsis marker in a breadcrumb trail.',
-    },
-    {
-      name: 'BreadcrumbItem',
-      anchor: 'breadcrumb-item',
-      signature:
-        'BreadcrumbItem: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'BreadcrumbLink',
-      anchor: 'breadcrumb-link',
-      signature:
-        'BreadcrumbLink: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'BreadcrumbList',
-      anchor: 'breadcrumb-list',
-      signature:
-        'BreadcrumbList: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'BreadcrumbPage',
-      anchor: 'breadcrumb-page',
-      signature:
-        'BreadcrumbPage: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the current (non-link) breadcrumb page, marked `aria-current="page"`.',
-    },
-    {
-      name: 'BreadcrumbSeparator',
-      anchor: 'breadcrumb-separator',
-      signature:
-        'BreadcrumbSeparator: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the separator between breadcrumb items (defaults to `"/"`).',
-    },
-    {
-      name: 'Button',
-      anchor: 'button',
-      signature:
-        'Button: { (props: ButtonNativeProps): JSX.Element; (props: ButtonAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Headless Button component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- ARIA attribute application\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled prop directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\nRenders the `button` part of `button`.\n\nSupports polymorphic rendering via `asChild`.',
-      tags: {
-        example: [
-          'Native button (prevents accidental submit)\n```tsx\n<Button onPress={handleSave}>Save</Button>\n```',
-          'Explicit form submission\n```tsx\n<Button type="submit" onPress={handleSubmit}>Submit</Button>\n```',
-          'Polymorphic rendering (asChild)\n```tsx\n<Button asChild onPress={handleNav}>\n<a href="/home">Home</a>\n</Button>\n```',
-        ],
-      },
-    },
-    {
-      name: 'ButtonAsChildElement',
-      anchor: 'button-as-child-element',
-      signature: 'ButtonAsChildElement: JSXElement | JSX.Element',
-      typeOnly: true,
-      summary: 'Button As Child Element.',
-    },
-    {
-      name: 'ButtonAsChildProps',
-      anchor: 'button-as-child-props',
+      name: 'HoverCardContentProps',
+      anchor: 'hover-card-content-props',
       signature:
-        'ButtonAsChildProps: ButtonOwnProps & {\n  asChild: true;\n  children: ButtonAsChildElement;\n  ref?: Ref<Element>;\n  type?: never;\n}',
+        "HoverCardContentProps: BoxProps<'div', HTMLDivElement> & HoverCardContentOwnProps",
       typeOnly: true,
-      summary: 'Props when rendering with asChild (polymorphic)',
+      summary: 'Props for Hover Card Content.',
       members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
+        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children: ButtonAsChildElement;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'disabled',
+          name: 'forceMount',
           summary: '',
-          signature: 'disabled?: boolean | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'onPress',
+          name: 'ref',
           summary: '',
-          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'ref',
+          name: 'side',
           summary: '',
-          signature: 'ref?: Ref<Element>;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'size',
+          name: 'sideOffset',
           summary: '',
-          signature: 'size?: ButtonSize | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'HoverCardOwnProps',
+      anchor: 'hover-card-own-props',
+      signature:
+        'HoverCardOwnProps: {\n  children?: unknown;\n  id?: string;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n  openDelay?: number;\n  closeDelay?: number;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Hover Card, before merging with native element attributes.',
+      members: [
         {
-          name: 'type',
+          name: 'children',
           summary: '',
-          signature: 'type?: undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'variant',
+          name: 'closeDelay',
           summary: '',
-          signature: 'variant?: ButtonVariant | undefined;',
+          signature: 'closeDelay?: number | undefined;',
         },
         {
-          name: 'width',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'width?: ButtonWidth | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+        {
+          name: 'openDelay',
+          summary: '',
+          signature: 'openDelay?: number | undefined;',
         },
       ],
     },
     {
-      name: 'ButtonGroup',
-      anchor: 'button-group',
-      signature: 'ButtonGroup: (props: ButtonGroupProps) => JSX.Element',
+      name: 'HoverCardPortal',
+      anchor: 'hover-card-portal',
+      signature:
+        'HoverCardPortal: (props: HoverCardPortalProps) => JSX.Element | null',
       typeOnly: true,
-      summary:
-        'Groups related buttons together, optionally visually attached, with a horizontal or vertical\norientation and `role="group"` by default. Attached groups without an explicit `orientation`\nstack at phone width unless they contain icon buttons; pass `orientation="horizontal"` to\nkeep the row.',
+      summary: 'Renders a part of `hover-card`.',
     },
     {
-      name: 'ButtonGroupOrientation',
-      anchor: 'button-group-orientation',
-      signature: 'ButtonGroupOrientation: "horizontal" | "vertical"',
+      name: 'HoverCardPortalProps',
+      anchor: 'hover-card-portal-props',
+      signature: 'HoverCardPortalProps: {\n  children?: unknown;\n}',
       typeOnly: true,
-      summary:
-        'Layout direction of a {@link ButtonGroup }. When omitted, an attached group is a row that\nstacks at phone width unless it contains icon buttons. An explicit value keeps that direction\nunless the caller also passes `data-responsive="true"`, which opts back into phone stacking.',
+      summary: 'Props for Hover Card Portal.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
     },
     {
-      name: 'ButtonGroupProps',
-      anchor: 'button-group-props',
-      signature:
-        'ButtonGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: ButtonGroupOrientation;\n  /** Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`. */\n  "data-responsive"?: "true" | "false";\n  ref?: Ref<HTMLDivElement>;\n}',
+      name: 'HoverCardProps',
+      anchor: 'hover-card-props',
+      signature: 'HoverCardProps: HoverCardOwnProps',
       typeOnly: true,
-      summary: 'Props for the {@link ButtonGroup } component.',
+      summary: 'Props for Hover Card.',
       members: [
         {
-          name: 'attached',
+          name: 'children',
           summary: '',
-          signature: 'attached?: boolean | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'children',
+          name: 'closeDelay',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'closeDelay?: number | undefined;',
         },
         {
-          name: 'data-responsive',
-          summary:
-            'Stack at phone width. Defaults to `"true"` for attached groups without an `orientation`.',
-          signature: 'data-responsive?: "true" | "false" | undefined;',
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'orientation',
+          name: 'id',
           summary: '',
-          signature: 'orientation?: ButtonGroupOrientation | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'ref',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+        {
+          name: 'openDelay',
+          summary: '',
+          signature: 'openDelay?: number | undefined;',
         },
       ],
     },
     {
-      name: 'ButtonNativeProps',
-      anchor: 'button-native-props',
+      name: 'HoverCardTrigger',
+      anchor: 'hover-card-trigger',
       signature:
-        "ButtonNativeProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref'> & ButtonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n  type?: 'button' | 'submit' | 'reset';\n}",
+        'HoverCardTrigger: { (props: HoverCardTriggerProps): JSX.Element; (props: HoverCardTriggerAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Props when rendering as native <button>',
+      summary:
+        'Renders the `hover-card-trigger` part of `hover-card`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'HoverCardTriggerAsChildProps',
+      anchor: 'hover-card-trigger-as-child-props',
+      signature: 'HoverCardTriggerAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Hover Card Trigger.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'asChild: true;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
           name: 'disabled',
@@ -34127,46 +43021,32 @@ export const apiSymbolSets: Readonly<
         {
           name: 'onPress',
           summary: '',
-          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLButtonElement>;',
-        },
-        {
-          name: 'size',
-          summary: '',
-          signature: 'size?: ButtonSize | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
           name: 'type',
           summary: '',
-          signature: 'type?: "button" | "submit" | "reset" | undefined;',
-        },
-        {
-          name: 'variant',
-          summary: '',
-          signature: 'variant?: ButtonVariant | undefined;',
-        },
-        {
-          name: 'width',
-          summary: '',
-          signature: 'width?: ButtonWidth | undefined;',
+          signature: 'type?: undefined;',
         },
       ],
     },
     {
-      name: 'ButtonProps',
-      anchor: 'button-props',
-      signature: 'ButtonProps: ButtonNativeProps | ButtonAsChildProps',
+      name: 'HoverCardTriggerProps',
+      anchor: 'hover-card-trigger-props',
+      signature:
+        "HoverCardTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>",
       typeOnly: true,
-      summary: 'Union of all Button prop variants',
+      summary: 'Props for Hover Card Trigger.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -34181,291 +43061,284 @@ export const apiSymbolSets: Readonly<
         {
           name: 'onPress',
           summary: '',
-          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature:
-            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;',
-        },
-        {
-          name: 'size',
-          summary: '',
-          signature: 'size?: ButtonSize | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
           name: 'type',
           summary: '',
           signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
-        {
-          name: 'variant',
-          summary: '',
-          signature: 'variant?: ButtonVariant | undefined;',
-        },
-        {
-          name: 'width',
-          summary: '',
-          signature: 'width?: ButtonWidth | undefined;',
-        },
       ],
     },
+  ],
+  symbols89: [
     {
-      name: 'ButtonSize',
-      anchor: 'button-size',
-      signature:
-        "ButtonSize: 'xs' | 'sm' | 'md' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg'",
-      typeOnly: true,
-      summary: 'Button Size.',
-    },
-    {
-      name: 'ButtonVariant',
-      anchor: 'button-variant',
-      signature:
-        "ButtonVariant: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link'",
-      typeOnly: true,
-      summary: 'Button Variant.',
-    },
-    {
-      name: 'ButtonWidth',
-      anchor: 'button-width',
-      signature: "ButtonWidth: 'auto' | 'full'",
-      typeOnly: true,
-      summary: 'Button Width.',
-    },
-    {
-      name: 'Calendar',
-      anchor: 'calendar',
-      signature: 'Calendar: (props: CatalogComponentProps) => JSX.Element',
+      name: 'InputGroup',
+      anchor: 'input-group',
+      signature: 'InputGroup: (props: InputGroupProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Styling-only calendar anatomy; it does not own dates, grid focus, selection, or month navigation.',
+        'Groups related inputs/addons together, optionally visually attached, with a horizontal or vertical orientation and `role="group"` by default.',
     },
     {
-      name: 'CalendarBody',
-      anchor: 'calendar-body',
-      signature: 'CalendarBody: (props: CatalogComponentProps) => JSX.Element',
+      name: 'InputGroupOrientation',
+      anchor: 'input-group-orientation',
+      signature: 'InputGroupOrientation: "horizontal" | "vertical"',
       typeOnly: true,
-      summary:
-        'Renders the `calendar-body` part of the shadcn-compatible catalog primitives.',
+      summary: 'Layout direction of an {@link InputGroup }.',
     },
     {
-      name: 'CalendarCaption',
-      anchor: 'calendar-caption',
+      name: 'InputGroupProps',
+      anchor: 'input-group-props',
       signature:
-        'CalendarCaption: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `calendar-caption` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CalendarCell',
-      anchor: 'calendar-cell',
-      signature: 'CalendarCell: (props: CatalogComponentProps) => JSX.Element',
+        'InputGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: InputGroupOrientation;\n  ref?: Ref<HTMLDivElement>;\n}',
       typeOnly: true,
-      summary:
-        'Renders the `calendar-cell` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for the {@link InputGroup } component.',
+      members: [
+        {
+          name: 'attached',
+          summary: '',
+          signature: 'attached?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: InputGroupOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'CalendarDay',
-      anchor: 'calendar-day',
+      name: 'InputGroupText',
+      anchor: 'input-group-text',
       signature:
-        'CalendarDay: (props: CatalogComponentProps<HTMLButtonElement> & { disabled?: boolean; outside?: boolean; rangeEnd?: boolean; rangeMiddle?: boolean; rangeStart?: boolean; selected?: boolean; today?: boolean; }) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes.',
-    },
-    {
-      name: 'CalendarGrid',
-      anchor: 'calendar-grid',
-      signature: 'CalendarGrid: (props: CatalogComponentProps) => JSX.Element',
+        'InputGroupText: { (props: InputGroupTextProps): JSX.Element; (props: InputGroupTextAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `calendar-grid` part of the shadcn-compatible catalog primitives.',
+        'Renders static text/label content within an {@link InputGroup}.',
     },
     {
-      name: 'CalendarHead',
-      anchor: 'calendar-head',
-      signature: 'CalendarHead: (props: CatalogComponentProps) => JSX.Element',
+      name: 'InputGroupTextAsChildProps',
+      anchor: 'input-group-text-as-child-props',
+      signature:
+        'InputGroupTextAsChildProps: SpanProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
       typeOnly: true,
       summary:
-        'Renders the `calendar-head` part of the shadcn-compatible catalog primitives.',
+        'Props for {@link InputGroupText } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+      ],
     },
     {
-      name: 'CalendarHeader',
-      anchor: 'calendar-header',
+      name: 'InputGroupTextProps',
+      anchor: 'input-group-text-props',
       signature:
-        'CalendarHeader: (props: CatalogComponentProps) => JSX.Element',
+        'InputGroupTextProps: SpanProps & {\n  asChild?: false;\n  children?: unknown;\n  ref?: Ref<HTMLSpanElement>;\n}',
       typeOnly: true,
       summary:
-        'Renders the `calendar-header` part of the shadcn-compatible catalog primitives.',
+        'Props for {@link InputGroupText } rendered as its default `<span>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+      ],
     },
+  ],
+  symbols90: [
     {
-      name: 'CalendarNav',
-      anchor: 'calendar-nav',
-      signature: 'CalendarNav: (props: CatalogComponentProps) => JSX.Element',
+      name: 'InputOTP',
+      anchor: 'input-otp',
+      signature: 'InputOTP: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `calendar-nav` part of the shadcn-compatible catalog primitives.',
+        'Styling-only OTP anatomy; it does not render an input or own value, focus, paste, or validation behavior.',
     },
     {
-      name: 'CalendarNextButton',
-      anchor: 'calendar-next-button',
-      signature:
-        'CalendarNextButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      name: 'InputOTPGroup',
+      anchor: 'input-otpgroup',
+      signature: 'InputOTPGroup: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Button that navigates the calendar to the next month.',
+      summary:
+        'Renders the `input-otp-group` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CalendarPreviousButton',
-      anchor: 'calendar-previous-button',
+      name: 'InputOTPSeparator',
+      anchor: 'input-otpseparator',
       signature:
-        'CalendarPreviousButton: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
-      typeOnly: true,
-      summary: 'Button that navigates the calendar to the previous month.',
-    },
-    {
-      name: 'CalendarRow',
-      anchor: 'calendar-row',
-      signature: 'CalendarRow: (props: CatalogComponentProps) => JSX.Element',
+        'InputOTPSeparator: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `calendar-row` part of the shadcn-compatible catalog primitives.',
+        'Renders the visual separator between InputOTP groups (defaults to `"-"`).',
     },
     {
-      name: 'Card',
-      anchor: 'card',
-      signature: 'Card: (props: CardProps) => JSX.Element',
+      name: 'InputOTPSlot',
+      anchor: 'input-otpslot',
+      signature: 'InputOTPSlot: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Root card container; applies the `card` class and an optional `variant` modifier.',
+        'Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives.',
     },
+  ],
+  symbols91: [
     {
-      name: 'CardAction',
-      anchor: 'card-action',
-      signature: 'CardAction: (props: CardActionProps) => JSX.Element',
+      name: 'DebouncedInput',
+      anchor: 'debounced-input',
+      signature: 'DebouncedInput: (props: DebouncedInputProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders an action/control region of a {@link Card}, typically positioned alongside the header.',
+        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nOne component-owned timer is re-timed when `debounceMs` changes (or emits\nat once when the delay drops to zero). A pending value is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
     },
     {
-      name: 'CardActionProps',
-      anchor: 'card-action-props',
+      name: 'DebouncedInputProps',
+      anchor: 'debounced-input-props',
       signature:
-        'CardActionProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+        "DebouncedInputProps: Omit<InputInputProps, 'onInput' | 'type'> & {\n  type?: JSX.IntrinsicElements['input']['type'];\n  debounceMs?: number;\n  onInput?: (event: InputEvent) => void;\n  onDebouncedInput?: (value: string) => void;\n}",
       typeOnly: true,
-      summary: 'Props for the {@link CardAction } component.',
+      summary: 'Props for Debounced Input.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'ref',
+          name: 'debounceMs',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'debounceMs?: number | undefined;',
         },
-      ],
-    },
-    {
-      name: 'CardContent',
-      anchor: 'card-content',
-      signature: 'CardContent: (props: CardContentProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the main content region of a {@link Card}.',
-    },
-    {
-      name: 'CardContentProps',
-      anchor: 'card-content-props',
-      signature:
-        'CardContentProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link CardContent } component.',
-      members: [
         {
-          name: 'children',
+          name: 'onDebouncedInput',
           summary: '',
-          signature: 'children?: unknown;',
+          signature:
+            'onDebouncedInput?: ((value: string) => void) | undefined;',
+        },
+        {
+          name: 'onInput',
+          summary: '',
+          signature: 'onInput?: ((event: InputEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<HTMLInputElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: ReactiveProp<IntrinsicTextValue>;',
         },
       ],
     },
     {
-      name: 'CardDescription',
-      anchor: 'card-description',
+      name: 'Input',
+      anchor: 'input',
       signature:
-        'CardDescription: (props: CardDescriptionProps) => JSX.Element',
+        'Input: { (props: InputInputProps): JSX.Element; (props: InputAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: "Renders a {@link Card}'s supporting description text.",
+      summary:
+        'Renders the `input` part of `input`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'CardDescriptionProps',
-      anchor: 'card-description-props',
+      name: 'InputAsChildProps',
+      anchor: 'input-as-child-props',
       signature:
-        'CardDescriptionProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+        'InputAsChildProps: InputOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link CardDescription } component.',
+      summary: 'Props for the `asChild` (polymorphic) rendering of Input.',
       members: [
         {
-          name: 'children',
+          name: 'asChild',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'ref',
+          name: 'children',
           summary: '',
-          signature: 'ref?: Ref<HTMLParagraphElement>;',
+          signature: 'children: JSXElement;',
         },
-      ],
-    },
-    {
-      name: 'CardFooter',
-      anchor: 'card-footer',
-      signature: 'CardFooter: (props: CardFooterProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the footer region of a {@link Card}.',
-    },
-    {
-      name: 'CardFooterProps',
-      anchor: 'card-footer-props',
-      signature:
-        'CardFooterProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link CardFooter } component.',
-      members: [
         {
-          name: 'children',
+          name: 'disabled',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'tabIndex',
+          summary: '',
+          signature: 'tabIndex?: number | undefined;',
         },
       ],
     },
-    {
-      name: 'CardHeader',
-      anchor: 'card-header',
-      signature: 'CardHeader: (props: CardHeaderProps) => JSX.Element',
+    {
+      name: 'InputEvent',
+      anchor: 'input-event',
+      signature:
+        'InputEvent: Event & {\n  currentTarget: HTMLInputElement;\n  target: HTMLInputElement;\n}',
       typeOnly: true,
-      summary: 'Renders the header region of a {@link Card}.',
+      summary: 'Input Event.',
     },
     {
-      name: 'CardHeaderProps',
-      anchor: 'card-header-props',
+      name: 'InputInputProps',
+      anchor: 'input-input-props',
       signature:
-        'CardHeaderProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+        "InputInputProps: Omit<JSX.IntrinsicElements['input'], 'children' | 'ref'> & InputOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLInputElement>;\n}",
       typeOnly: true,
-      summary: 'Props for the {@link CardHeader } component.',
+      summary: 'Props for Input Input.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
@@ -34474,17 +43347,18 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<HTMLInputElement>;',
         },
       ],
     },
     {
-      name: 'CardProps',
-      anchor: 'card-props',
+      name: 'InputOwnProps',
+      anchor: 'input-own-props',
       signature:
-        'CardProps: DivProps & {\n  children?: unknown;\n  variant?: CardVariant;\n  ref?: Ref<HTMLDivElement>;\n}',
+        'InputOwnProps: {\n  children?: unknown;\n  disabled?: boolean;\n  tabIndex?: number;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link Card } component.',
+      summary:
+        'Own props for Input, before merging with native element attributes.',
       members: [
         {
           name: 'children',
@@ -34492,40 +43366,29 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'ref',
+          name: 'disabled',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'variant',
+          name: 'tabIndex',
           summary: '',
-          signature: 'variant?: CardVariant | undefined;',
+          signature: 'tabIndex?: number | undefined;',
         },
       ],
     },
     {
-      name: 'CardTitle',
-      anchor: 'card-title',
-      signature: 'CardTitle: (props: CardTitleProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        "Renders a {@link Card}'s title, defaulting to an `<h3>` (override with `titleAs`).",
-    },
-    {
-      name: 'CardTitleHeadingTag',
-      anchor: 'card-title-heading-tag',
-      signature: 'CardTitleHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
-      typeOnly: true,
-      summary: "Heading tag allowed for a card's title via `titleAs`.",
-    },
-    {
-      name: 'CardTitleProps',
-      anchor: 'card-title-props',
-      signature:
-        'CardTitleProps: HeadingProps & {\n  children?: unknown;\n  /** Choose the level that follows the surrounding document hierarchy. */\n  titleAs?: CardTitleHeadingTag;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      name: 'InputProps',
+      anchor: 'input-props',
+      signature: 'InputProps: InputInputProps | InputAsChildProps',
       typeOnly: true,
-      summary: 'Props for the {@link CardTitle } component.',
+      summary: 'Props for Input.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
         {
           name: 'children',
           summary: '',
@@ -34534,177 +43397,145 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLHeadingElement>;',
-        },
-        {
-          name: 'titleAs',
-          summary:
-            'Choose the level that follows the surrounding document hierarchy.',
-          signature: 'titleAs?: CardTitleHeadingTag | undefined;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLInputElement | null) => void) | { current: HTMLInputElement | null; } | null | undefined;',
         },
       ],
     },
+  ],
+  symbols92: [
     {
-      name: 'CardVariant',
-      anchor: 'card-variant',
-      signature: 'CardVariant: "default" | "raised"',
+      name: 'Item',
+      anchor: 'item',
+      signature:
+        'Item: (props: CatalogComponentProps & { active?: boolean; size?: "default" | "sm" | "xs"; variant?: "default" | "outline" | "muted"; }) => JSX.Element',
       typeOnly: true,
-      summary: 'Visual style of a {@link CardProps} card.',
+      summary:
+        'Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes.',
     },
     {
-      name: 'Carousel',
-      anchor: 'carousel',
-      signature: 'Carousel: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ItemActions',
+      anchor: 'item-actions',
+      signature: 'ItemActions: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Styling-only carousel anatomy; it does not own an active slide, scrolling, or keyboard navigation.',
+        'Renders the `item-actions` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CarouselContent',
-      anchor: 'carousel-content',
-      signature:
-        'CarouselContent: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ItemContent',
+      anchor: 'item-content',
+      signature: 'ItemContent: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `carousel-content` part of the shadcn-compatible catalog primitives.',
+        'Renders the `item-content` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CarouselItem',
-      anchor: 'carousel-item',
-      signature: 'CarouselItem: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ItemDescription',
+      anchor: 'item-description',
+      signature:
+        'ItemDescription: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `carousel-item` part of the shadcn-compatible catalog primitives.',
+        'Renders the `item-description` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CarouselNext',
-      anchor: 'carousel-next',
-      signature:
-        'CarouselNext: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      name: 'ItemFooter',
+      anchor: 'item-footer',
+      signature: 'ItemFooter: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Button that navigates the carousel to the next item.',
+      summary:
+        'Renders the `item-footer` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CarouselPrevious',
-      anchor: 'carousel-previous',
-      signature:
-        'CarouselPrevious: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+      name: 'ItemGroup',
+      anchor: 'item-group',
+      signature: 'ItemGroup: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Button that navigates the carousel to the previous item.',
+      summary:
+        'Renders the `item-group` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CAT_THEME_NAMES',
-      anchor: 'cat-theme-names',
-      signature:
-        'CAT_THEME_NAMES: readonly ["tabby", "ginger", "tuxedo", "calico", "torty"]',
+      name: 'ItemHeader',
+      anchor: 'item-header',
+      signature: 'ItemHeader: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Names of the built-in "cat" theme presets.',
+      summary:
+        'Renders the `item-header` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CAT_THEME_OPTIONS',
-      anchor: 'cat-theme-options',
-      signature: 'CAT_THEME_OPTIONS: readonly ThemeOption[]',
+      name: 'ItemMedia',
+      anchor: 'item-media',
+      signature: 'ItemMedia: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Theme options for the built-in "cat" theme presets, keyed to {@link CAT_THEME_NAMES}.',
+        'Renders the `item-media` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'CatalogComponentProps',
-      anchor: 'catalog-component-props',
-      signature:
-        'CatalogComponentProps: Record<string, unknown> & {\n  as?: CatalogElement;\n  asChild?: boolean;\n  children?: unknown;\n  class?: string;\n  ref?: Ref<TElement>;\n}',
+      name: 'ItemTitle',
+      anchor: 'item-title',
+      signature: 'ItemTitle: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Shared prop shape for the shadcn-compatible catalog primitives below: a\npolymorphic `as`/`asChild` element plus passthrough attributes.',
-      members: [
-        {
-          name: 'as',
-          summary: '',
-          signature: 'as?: keyof JSX.IntrinsicElements | undefined;',
-        },
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: boolean | undefined;',
-        },
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'class',
-          summary: '',
-          signature: 'class?: string | undefined;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<TElement>;',
-        },
-      ],
+        'Renders the `item-title` part of the shadcn-compatible catalog primitives.',
     },
+  ],
+  symbols93: [
     {
-      name: 'CatThemeName',
-      anchor: 'cat-theme-name',
-      signature: 'CatThemeName: (typeof CAT_THEME_NAMES)[number]',
+      name: 'Kbd',
+      anchor: 'kbd',
+      signature: 'Kbd: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.',
+      summary:
+        'Renders the `kbd` part of the shadcn-compatible catalog primitives.',
     },
+  ],
+  symbols94: [
     {
-      name: 'Center',
-      anchor: 'center',
-      signature: 'Center: (props: CenterProps) => JSX.Element',
+      name: 'Label',
+      anchor: 'label',
+      signature:
+        'Label: { (props: LabelLabelProps): JSXElement; (props: LabelAsChildProps): JSXElement; }',
       typeOnly: true,
       summary:
-        'Centers content on both axes within the supplied Block dimensions.',
+        'Renders the `label` part of `label`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'CenterProps',
-      anchor: 'center-props',
+      name: 'LabelAsChildProps',
+      anchor: 'label-as-child-props',
       signature:
-        'CenterProps: WithoutOwnedLayout<BlockProps, "align" | "justify"> & {\n  align?: never;\n  justify?: never;\n}',
+        'LabelAsChildProps: LabelOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n}',
       typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Label.',
       members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: unknown;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature: 'background?: unknown;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: unknown;',
-        },
-        {
-          name: 'borderBottom',
-          summary: '',
-          signature: 'borderBottom?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'borderRight',
+          name: 'children',
           summary: '',
-          signature: 'borderRight?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'borderTop',
+          name: 'ref',
           summary: '',
-          signature: 'borderTop?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'LabelLabelProps',
+      anchor: 'label-label-props',
+      signature:
+        "LabelLabelProps: Omit<Props, 'children'> & LabelOwnProps & {\n  asChild?: false;\n  htmlFor?: string;\n  ref?: Ref<HTMLLabelElement>;\n}",
+      typeOnly: true,
+      summary: 'Props for Label Label.',
+      members: [
         {
-          name: 'center',
+          name: 'asChild',
           summary: '',
-          signature: 'center?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -34712,1348 +43543,1673 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'direction',
-          summary: '',
-          signature: 'direction?: unknown;',
-        },
-        {
-          name: 'gap',
-          summary: '',
-          signature: 'gap?: unknown;',
-        },
-        {
-          name: 'grow',
-          summary: '',
-          signature: 'grow?: unknown;',
-        },
-        {
-          name: 'height',
-          summary: '',
-          signature: 'height?: unknown;',
-        },
-        {
-          name: 'hide',
-          summary: '',
-          signature: 'hide?: unknown;',
-        },
-        {
-          name: 'justify',
-          summary: '',
-          signature: 'justify?: undefined;',
-        },
-        {
-          name: 'margin',
-          summary: '',
-          signature: 'margin?: unknown;',
-        },
-        {
-          name: 'marginX',
-          summary: '',
-          signature: 'marginX?: unknown;',
-        },
-        {
-          name: 'marginY',
-          summary: '',
-          signature: 'marginY?: unknown;',
-        },
-        {
-          name: 'maxHeight',
-          summary: '',
-          signature: 'maxHeight?: unknown;',
-        },
-        {
-          name: 'maxWidth',
-          summary: '',
-          signature: 'maxWidth?: unknown;',
-        },
-        {
-          name: 'minHeight',
-          summary: '',
-          signature: 'minHeight?: unknown;',
-        },
-        {
-          name: 'minWidth',
+          name: 'htmlFor',
           summary: '',
-          signature: 'minWidth?: unknown;',
+          signature: 'htmlFor?: string | undefined;',
         },
         {
-          name: 'padding',
+          name: 'ref',
           summary: '',
-          signature: 'padding?: unknown;',
+          signature: 'ref?: Ref<HTMLLabelElement>;',
         },
+      ],
+    },
+    {
+      name: 'LabelOwnProps',
+      anchor: 'label-own-props',
+      signature: 'LabelOwnProps: {\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Label, before merging with native element attributes.',
+      members: [
         {
-          name: 'paddingX',
+          name: 'children',
           summary: '',
-          signature: 'paddingX?: unknown;',
+          signature: 'children?: unknown;',
         },
+      ],
+    },
+    {
+      name: 'LabelProps',
+      anchor: 'label-props',
+      signature: 'LabelProps: LabelLabelProps | LabelAsChildProps',
+      typeOnly: true,
+      summary: 'Props for Label.',
+      members: [
         {
-          name: 'paddingY',
+          name: 'asChild',
           summary: '',
-          signature: 'paddingY?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'radius',
+          name: 'children',
           summary: '',
-          signature: 'radius?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: unknown;',
-        },
-        {
-          name: 'rowFrom',
-          summary: '',
-          signature: 'rowFrom?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLLabelElement | null) => void) | { current: HTMLLabelElement | null; } | null | undefined;',
         },
+      ],
+    },
+  ],
+  symbols95: [
+    {
+      name: 'Menubar',
+      anchor: 'menubar',
+      signature: 'Menubar: (props: MenubarProps) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarContent',
+      anchor: 'menubar-content',
+      signature:
+        'MenubarContent: { (props: MenubarContentProps): JSX.Element | null; (props: MenubarContentAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary: 'Renders a part of `menubar`.',
+    },
+    {
+      name: 'MenubarContentAsChildProps',
+      anchor: 'menubar-content-as-child-props',
+      signature:
+        'MenubarContentAsChildProps: BoxAsChildProps & MenubarContentOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Content.',
+      members: [
         {
-          name: 'shadow',
+          name: 'align',
           summary: '',
-          signature: 'shadow?: unknown;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'shrink',
+          name: 'asChild',
           summary: '',
-          signature: 'shrink?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'sticky',
+          name: 'children',
           summary: '',
-          signature: 'sticky?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'top',
+          name: 'forceMount',
           summary: '',
-          signature: 'top?: unknown;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'width',
+          name: 'ref',
           summary: '',
-          signature: 'width?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'wrap',
+          name: 'side',
           summary: '',
-          signature: 'wrap?: unknown;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'sideOffset',
           summary: '',
-          signature: 'zIndex?: unknown;',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'Checkbox',
-      anchor: 'checkbox',
+      name: 'MenubarContentOwnProps',
+      anchor: 'menubar-content-own-props',
       signature:
-        'Checkbox: { (props: CheckboxInputProps): JSX.Element; (props: CheckboxAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Headless Checkbox component\n\n## Responsibilities\n- Apply aria-checked for checkbox state signaling\n- Handle indeterminate state for native and asChild hosts\n- Support controlled and uncontrolled checked state\n- Forward props and refs to native input or child element\n- Preserve native checkbox semantics and apply checkbox behavior to asChild hosts\n\n## Non-Responsibilities\n- Form submission orchestration beyond native input props\n\n## Invariants\n- MUST NOT add role="button" (native inputs are role="checkbox")\n- checked state may be controlled or uncontrolled\n- indeterminate overrides checked for state signaling\n- For asChild, consumer MUST provide role="checkbox"\nRenders the `checkbox` part of `checkbox` with `role="checkbox"`.\n\nSupports polymorphic rendering via `asChild`.',
-      tags: {
-        example: [
-          'Native checkbox input\n```tsx\nconst checked = state(false);\n<Checkbox checked={checked()} onPress={() => checked.set(!checked())} />\n```',
-          'Polymorphic rendering (asChild)\n```tsx\n<Checkbox asChild checked={agreed} onPress={toggleAgree}>\n<div role="checkbox">I agree to terms</div>\n</Checkbox>\n```',
-          'Indeterminate state (partial selection)\n```tsx\n<Checkbox checked={someChecked} indeterminate={!allChecked && someChecked} onPress={toggleAll}>\nSelect All\n</Checkbox>\n```',
-        ],
-      },
-    },
-    {
-      name: 'Close',
-      anchor: 'close',
-      signature: 'Close: (props: CloseNativeProps) => JSX.Element',
+        'MenubarContentOwnProps: {\n  forceMount?: boolean;\n  side?: OverlaySide;\n  align?: OverlayAlign;\n  sideOffset?: number;\n}',
       typeOnly: true,
       summary:
-        'Renders a dismiss ("×") icon button, built on top of `Button`, defaulting to an icon-sized ghost variant with an accessible `label`.',
-    },
-    {
-      name: 'CloseNativeProps',
-      anchor: 'close-native-props',
-      signature: 'CloseNativeProps: ButtonNativeProps & CloseOwnProps',
-      typeOnly: true,
-      summary: 'Props for the {@link Close } component.',
+        'Own props for Menubar Content, before merging with native element attributes.',
       members: [
         {
-          name: 'label',
+          name: 'align',
           summary: '',
-          signature: 'label?: string | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
-      ],
-    },
-    {
-      name: 'CloseOwnProps',
-      anchor: 'close-own-props',
-      signature: 'CloseOwnProps: {\n  label?: string;\n}',
-      typeOnly: true,
-      summary:
-        'Props specific to {@link Close }, layered on top of {@link ButtonNativeProps}.',
-      members: [
         {
-          name: 'label',
+          name: 'forceMount',
           summary: '',
-          signature: 'label?: string | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'Cluster',
-      anchor: 'cluster',
-      signature: 'Cluster: (props: ClusterProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Wrapping horizontal content flow for actions, tags, and compact controls.',
-    },
-    {
-      name: 'ClusterProps',
-      anchor: 'cluster-props',
+      name: 'MenubarContentProps',
+      anchor: 'menubar-content-props',
       signature:
-        'ClusterProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "wrap"> & {\n  direction?: never;\n  rowFrom?: never;\n  wrap?: never;\n}',
+        "MenubarContentProps: BoxProps<'div', HTMLDivElement> & MenubarContentOwnProps",
       typeOnly: true,
+      summary: 'Props for Menubar Content.',
       members: [
         {
           name: 'align',
           summary: '',
-          signature: 'align?: unknown;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: unknown;',
-        },
-        {
-          name: 'background',
-          summary: '',
-          signature: 'background?: unknown;',
-        },
-        {
-          name: 'border',
-          summary: '',
-          signature: 'border?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'borderBottom',
+          name: 'children',
           summary: '',
-          signature: 'borderBottom?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'borderRight',
+          name: 'forceMount',
           summary: '',
-          signature: 'borderRight?: unknown;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'borderTop',
+          name: 'ref',
           summary: '',
-          signature: 'borderTop?: unknown;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'center',
+          name: 'side',
           summary: '',
-          signature: 'center?: unknown;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'children',
+          name: 'sideOffset',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'MenubarGroup',
+      anchor: 'menubar-group',
+      signature:
+        'MenubarGroup: (props: MenubarGroupProps | MenubarGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `menubar-group` part of `menubar` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarGroupAsChildProps',
+      anchor: 'menubar-group-as-child-props',
+      signature: 'MenubarGroupAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Group.',
+      members: [
         {
-          name: 'direction',
+          name: 'asChild',
           summary: '',
-          signature: 'direction?: undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'gap',
+          name: 'children',
           summary: '',
-          signature: 'gap?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'grow',
+          name: 'ref',
           summary: '',
-          signature: 'grow?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'MenubarGroupProps',
+      anchor: 'menubar-group-props',
+      signature: "MenubarGroupProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Menubar Group.',
+      members: [
         {
-          name: 'height',
+          name: 'asChild',
           summary: '',
-          signature: 'height?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'hide',
+          name: 'children',
           summary: '',
-          signature: 'hide?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'justify',
+          name: 'ref',
           summary: '',
-          signature: 'justify?: unknown;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+    {
+      name: 'MenubarItem',
+      anchor: 'menubar-item',
+      signature:
+        'MenubarItem: { (props: MenubarItemProps): JSX.Element | null; (props: MenubarItemAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarItemAsChildProps',
+      anchor: 'menubar-item-as-child-props',
+      signature:
+        'MenubarItemAsChildProps: ButtonLikeAsChildProps & MenubarTextValueOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Item.',
+      members: [
         {
-          name: 'margin',
+          name: 'asChild',
           summary: '',
-          signature: 'margin?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'marginX',
+          name: 'children',
           summary: '',
-          signature: 'marginX?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'marginY',
+          name: 'disabled',
           summary: '',
-          signature: 'marginY?: unknown;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'maxHeight',
+          name: 'onPress',
           summary: '',
-          signature: 'maxHeight?: unknown;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'maxWidth',
+          name: 'ref',
           summary: '',
-          signature: 'maxWidth?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'minHeight',
-          summary: '',
-          signature: 'minHeight?: unknown;',
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
         },
         {
-          name: 'minWidth',
+          name: 'type',
           summary: '',
-          signature: 'minWidth?: unknown;',
+          signature: 'type?: undefined;',
         },
+      ],
+    },
+    {
+      name: 'MenubarItemProps',
+      anchor: 'menubar-item-props',
+      signature:
+        "MenubarItemProps: ButtonLikeProps<'button', HTMLButtonElement> & MenubarTextValueOwnProps",
+      typeOnly: true,
+      summary: 'Props for Menubar Item.',
+      members: [
         {
-          name: 'padding',
+          name: 'asChild',
           summary: '',
-          signature: 'padding?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'paddingX',
+          name: 'children',
           summary: '',
-          signature: 'paddingX?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'paddingY',
+          name: 'disabled',
           summary: '',
-          signature: 'paddingY?: unknown;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'radius',
+          name: 'onPress',
           summary: '',
-          signature: 'radius?: unknown;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: unknown;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'rowFrom',
-          summary: '',
-          signature: 'rowFrom?: undefined;',
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
         },
         {
-          name: 'shadow',
+          name: 'type',
           summary: '',
-          signature: 'shadow?: unknown;',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
+      ],
+    },
+    {
+      name: 'MenubarLabel',
+      anchor: 'menubar-label',
+      signature:
+        'MenubarLabel: (props: MenubarLabelProps | MenubarLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `menubar-label` part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'MenubarLabelAsChildProps',
+      anchor: 'menubar-label-as-child-props',
+      signature: 'MenubarLabelAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Label.',
+      members: [
         {
-          name: 'shrink',
+          name: 'asChild',
           summary: '',
-          signature: 'shrink?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'sticky',
+          name: 'children',
           summary: '',
-          signature: 'sticky?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'top',
+          name: 'ref',
           summary: '',
-          signature: 'top?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'MenubarLabelProps',
+      anchor: 'menubar-label-props',
+      signature: "MenubarLabelProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Menubar Label.',
+      members: [
         {
-          name: 'width',
+          name: 'asChild',
           summary: '',
-          signature: 'width?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'wrap',
+          name: 'children',
           summary: '',
-          signature: 'wrap?: undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'zIndex',
+          name: 'ref',
           summary: '',
-          signature: 'zIndex?: unknown;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
     {
-      name: 'Collapsible',
-      anchor: 'collapsible',
-      signature: 'Collapsible: (props: CollapsibleProps) => JSX.Element',
+      name: 'MenubarMenu',
+      anchor: 'menubar-menu',
+      signature: 'MenubarMenu: (props: MenubarMenuProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a part of `collapsible`.',
+      summary: 'Renders a part of `menubar`.',
     },
     {
-      name: 'CollapsibleContent',
-      anchor: 'collapsible-content',
+      name: 'MenubarMenuProps',
+      anchor: 'menubar-menu-props',
       signature:
-        'CollapsibleContent: { (props: CollapsibleContentProps): JSX.Element | null; (props: CollapsibleContentAsChildProps): JSX.Element | null; }',
+        'MenubarMenuProps: {\n  children?: unknown;\n  /** Stable and unique among sibling menus when menus are rendered dynamically. */\n  value?: string;\n}',
       typeOnly: true,
-      summary:
-        'Renders the `collapsible-content` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Props for Menubar Menu.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'value',
+          summary:
+            'Stable and unique among sibling menus when menus are rendered dynamically.',
+          signature: 'value?: string | undefined;',
+        },
+      ],
     },
     {
-      name: 'CollapsibleTrigger',
-      anchor: 'collapsible-trigger',
+      name: 'MenubarOwnProps',
+      anchor: 'menubar-own-props',
       signature:
-        'CollapsibleTrigger: { (props: CollapsibleTriggerProps): JSX.Element; (props: CollapsibleTriggerAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `collapsible-trigger` part of `collapsible`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Combobox',
-      anchor: 'combobox',
-      signature: 'Combobox: (props: CatalogComponentProps) => JSX.Element',
+        'MenubarOwnProps: {\n  /** Supports literal, nested, array-mapped, and `For`-rendered descendants. */\n  children?: unknown;\n  id?: string;\n  loop?: boolean;\n}',
       typeOnly: true,
       summary:
-        'Styling-only combobox anatomy; it does not own value, popup, filtering, focus, or ARIA state.',
+        'Own props for Menubar, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+      ],
     },
     {
-      name: 'ComboboxInput',
-      anchor: 'combobox-input',
+      name: 'MenubarPortal',
+      anchor: 'menubar-portal',
       signature:
-        'ComboboxInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
+        'MenubarPortal: (props: MenubarPortalProps) => JSX.Element | null',
       typeOnly: true,
-      summary:
-        'Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract.',
+      summary: 'Renders a part of `menubar`.',
     },
     {
-      name: 'ComboboxList',
-      anchor: 'combobox-list',
-      signature: 'ComboboxList: (props: CatalogComponentProps) => JSX.Element',
+      name: 'MenubarPortalProps',
+      anchor: 'menubar-portal-props',
+      signature: 'MenubarPortalProps: {\n  children?: unknown;\n}',
       typeOnly: true,
-      summary:
-        'Renders the `combobox-list` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Menubar Portal.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
     },
     {
-      name: 'ComboboxOption',
-      anchor: 'combobox-option',
+      name: 'MenubarProps',
+      anchor: 'menubar-props',
       signature:
-        'ComboboxOption: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `combobox-option` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Command',
-      anchor: 'command',
-      signature: 'Command: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Styling-only command anatomy; it does not own filtering, selection, focus, or keyboard commands.',
-    },
-    {
-      name: 'CommandDialog',
-      anchor: 'command-dialog',
-      signature: 'CommandDialog: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `command-dialog` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CommandEmpty',
-      anchor: 'command-empty',
-      signature: 'CommandEmpty: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `command-empty` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CommandGroup',
-      anchor: 'command-group',
-      signature: 'CommandGroup: (props: CatalogComponentProps) => JSX.Element',
+        "MenubarProps: BoxProps<'div', HTMLDivElement> & MenubarOwnProps",
       typeOnly: true,
-      summary:
-        'Renders the `command-group` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Menubar.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'CommandGroupHeading',
-      anchor: 'command-group-heading',
+      name: 'MenubarSeparator',
+      anchor: 'menubar-separator',
       signature:
-        'CommandGroupHeading: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `command-group-heading` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CommandHeader',
-      anchor: 'command-header',
-      signature: 'CommandHeader: (props: CatalogComponentProps) => JSX.Element',
+        'MenubarSeparator: (props: MenubarSeparatorProps | MenubarSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `command-header` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CommandInput',
-      anchor: 'command-input',
-      signature:
-        'CommandInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
-      typeOnly: true,
-      summary: "Renders the command palette's search `<input>`.",
+        'Renders the `menubar-separator` part of `menubar` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'CommandItem',
-      anchor: 'command-item',
-      signature:
-        'CommandItem: (props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean; }) => JSX.Element',
+      name: 'MenubarSeparatorAsChildProps',
+      anchor: 'menubar-separator-as-child-props',
+      signature: 'MenubarSeparatorAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes.',
+        'Props for the `asChild` (polymorphic) rendering of Menubar Separator.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
     },
     {
-      name: 'CommandList',
-      anchor: 'command-list',
-      signature: 'CommandList: (props: CatalogComponentProps) => JSX.Element',
+      name: 'MenubarSeparatorProps',
+      anchor: 'menubar-separator-props',
+      signature: "MenubarSeparatorProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary:
-        'Renders the `command-list` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Menubar Separator.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'CommandPalette',
-      anchor: 'command-palette',
-      signature: 'CommandPalette: (props: CommandPaletteProps) => JSX.Element',
+      name: 'MenubarSub',
+      anchor: 'menubar-sub',
+      signature: 'MenubarSub: (props: MenubarSubProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Root dialog wrapper for a searchable command palette. Manages open state\n(controlled or uncontrolled), tracks the triggering element, and restores\nfocus to it after the palette closes.',
+      summary: 'Renders a part of `menubar`.',
     },
     {
-      name: 'CommandPaletteContent',
-      anchor: 'command-palette-content',
+      name: 'MenubarSubContent',
+      anchor: 'menubar-sub-content',
       signature:
-        'CommandPaletteContent: (props: CommandPaletteContentProps) => JSX.Element',
+        'MenubarSubContent: { (props: MenubarSubContentProps): JSX.Element | null; (props: MenubarSubContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
-      summary:
-        'Dialog content for a {@link CommandPalette}: renders the overlay, an\naccessible (visually hidden) title/description, and a `Command` list,\nmoving initial focus to `initialFocus` (defaults to the search input) once\nmounted, and optionally suppressing dismiss-on-escape/backdrop.',
+      summary: 'Renders a part of `menubar`.',
     },
     {
-      name: 'CommandPaletteContentProps',
-      anchor: 'command-palette-content-props',
+      name: 'MenubarSubContentAsChildProps',
+      anchor: 'menubar-sub-content-as-child-props',
       signature:
-        'CommandPaletteContentProps: Omit<DialogContentProps, "children" | "title" | "onEscapeKeyDown" | "onInteractOutside" | "onPointerDownOutside"> & {\n  children?: unknown;\n  title: string;\n  description?: string;\n  initialFocus?: string | (() => HTMLElement | null) | false;\n  closeOnBackdrop?: boolean;\n  closeOnEscape?: boolean;\n  overlayProps?: DialogOverlayProps;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n}',
+        'MenubarSubContentAsChildProps: BoxAsChildProps & MenubarContentOwnProps',
       typeOnly: true,
-      summary: 'Props for the {@link CommandPaletteContent } component.',
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Sub Content.',
       members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'MenubarSubContentProps',
+      anchor: 'menubar-sub-content-props',
+      signature:
+        "MenubarSubContentProps: BoxProps<'div', HTMLDivElement> & MenubarContentOwnProps",
+      typeOnly: true,
+      summary: 'Props for Menubar Sub Content.',
+      members: [
         {
-          name: 'closeOnBackdrop',
+          name: 'align',
           summary: '',
-          signature: 'closeOnBackdrop?: boolean | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'closeOnEscape',
+          name: 'asChild',
           summary: '',
-          signature: 'closeOnEscape?: boolean | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'description',
+          name: 'children',
           summary: '',
-          signature: 'description?: string | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'initialFocus',
+          name: 'forceMount',
           summary: '',
-          signature:
-            'initialFocus?: string | false | (() => HTMLElement | null) | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'onEscapeKeyDown',
+          name: 'ref',
           summary: '',
-          signature:
-            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'onInteractOutside',
+          name: 'side',
           summary: '',
-          signature:
-            'onInteractOutside?: ((event: Event) => void) | undefined;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'onPointerDownOutside',
+          name: 'sideOffset',
           summary: '',
-          signature:
-            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'MenubarSubProps',
+      anchor: 'menubar-sub-props',
+      signature:
+        'MenubarSubProps: {\n  children?: unknown;\n  value?: string;\n}',
+      typeOnly: true,
+      summary: 'Props for Menubar Sub.',
+      members: [
         {
-          name: 'overlayProps',
+          name: 'children',
           summary: '',
-          signature: 'overlayProps?: DialogOverlayProps | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'title',
+          name: 'value',
           summary: '',
-          signature: 'title: string;',
+          signature: 'value?: string | undefined;',
         },
       ],
     },
     {
-      name: 'CommandPaletteLink',
-      anchor: 'command-palette-link',
+      name: 'MenubarSubTrigger',
+      anchor: 'menubar-sub-trigger',
       signature:
-        'CommandPaletteLink: (props: CommandPaletteLinkProps) => JSX.Element',
+        'MenubarSubTrigger: { (props: MenubarSubTriggerProps): JSX.Element | null; (props: MenubarSubTriggerAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'A navigable result row that closes the palette on selection (unless `closeOnSelect` is `false`) and supports cancelling navigation via `onBeforeNavigate`.',
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'CommandPaletteLinkProps',
-      anchor: 'command-palette-link-props',
+      name: 'MenubarSubTriggerAsChildProps',
+      anchor: 'menubar-sub-trigger-as-child-props',
       signature:
-        'CommandPaletteLinkProps: LinkProps & {\n  closeOnSelect?: boolean;\n  onBeforeNavigate?: (event: Event) => void;\n}',
+        'MenubarSubTriggerAsChildProps: ButtonLikeAsChildProps & MenubarTextValueOwnProps',
       typeOnly: true,
-      summary: 'Props for the {@link CommandPaletteLink } component.',
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Menubar Sub Trigger.',
       members: [
         {
-          name: 'closeOnSelect',
+          name: 'asChild',
           summary: '',
-          signature: 'closeOnSelect?: boolean | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'onBeforeNavigate',
+          name: 'children',
           summary: '',
-          signature: 'onBeforeNavigate?: ((event: Event) => void) | undefined;',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
         },
       ],
     },
     {
-      name: 'CommandPaletteList',
-      anchor: 'command-palette-list',
-      signature:
-        'CommandPaletteList: (props: CommandPaletteListProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `<ul>` list wrapper for {@link CommandPalette} results.',
-    },
-    {
-      name: 'CommandPaletteListProps',
-      anchor: 'command-palette-list-props',
+      name: 'MenubarSubTriggerProps',
+      anchor: 'menubar-sub-trigger-props',
       signature:
-        'CommandPaletteListProps: Omit<JSX.IntrinsicElements["ul"], "children" | "ref"> & {\n  children?: unknown;\n  ref?: Ref<HTMLUListElement>;\n}',
+        "MenubarSubTriggerProps: ButtonLikeProps<'button', HTMLButtonElement> & MenubarTextValueOwnProps",
       typeOnly: true,
-      summary: 'Props for the {@link CommandPaletteList } component.',
+      summary: 'Props for Menubar Sub Trigger.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLUListElement>;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
-      ],
-    },
-    {
-      name: 'CommandPaletteProps',
-      anchor: 'command-palette-props',
-      signature: 'CommandPaletteProps: DialogProps',
-      typeOnly: true,
-      summary: 'Props for the {@link CommandPalette } component.',
-    },
-    {
-      name: 'CommandPaletteTrigger',
-      anchor: 'command-palette-trigger',
-      signature:
-        'CommandPaletteTrigger: { (props: CommandPaletteTriggerProps): JSX.Element; (props: CommandPaletteTriggerAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Trigger that opens the {@link CommandPalette}, registering itself so focus returns here on close.',
-    },
-    {
-      name: 'CommandPaletteTriggerAsChildProps',
-      anchor: 'command-palette-trigger-as-child-props',
-      signature: 'CommandPaletteTriggerAsChildProps: DialogTriggerAsChildProps',
-      typeOnly: true,
-      summary:
-        'Props for {@link CommandPaletteTrigger } rendered with `asChild`.',
-    },
-    {
-      name: 'CommandPaletteTriggerProps',
-      anchor: 'command-palette-trigger-props',
-      signature: 'CommandPaletteTriggerProps: DialogTriggerProps',
-      typeOnly: true,
-      summary: 'Props for the {@link CommandPaletteTrigger } component.',
-    },
-    {
-      name: 'CommandSeparator',
-      anchor: 'command-separator',
-      signature:
-        'CommandSeparator: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `command-separator` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'CommandShortcut',
-      anchor: 'command-shortcut',
-      signature:
-        'CommandShortcut: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `command-shortcut` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Container',
-      anchor: 'container',
-      signature: 'Container: (props: ContainerProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Centers content in a max-width column with page gutters (defaults to the `"page"` {@link BlockSize }).',
-    },
-    {
-      name: 'ContainerProps',
-      anchor: 'container-props',
-      signature:
-        'ContainerProps: Omit<BlockDivProps, "maxWidth"> & {\n  size?: BlockSize;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link Container } component.',
-      members: [
         {
-          name: 'size',
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'type',
           summary: '',
-          signature: 'size?: BlockSize | undefined;',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
     {
-      name: 'ContextMenu',
-      anchor: 'context-menu',
-      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
-    },
-    {
-      name: 'ContextMenuContent',
-      anchor: 'context-menu-content',
-      signature:
-        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
-    },
-    {
-      name: 'ContextMenuGroup',
-      anchor: 'context-menu-group',
-      signature:
-        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'ContextMenuItem',
-      anchor: 'context-menu-item',
-      signature:
-        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'ContextMenuLabel',
-      anchor: 'context-menu-label',
-      signature:
-        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'ContextMenuPortal',
-      anchor: 'context-menu-portal',
-      signature:
-        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
-    },
-    {
-      name: 'ContextMenuSeparator',
-      anchor: 'context-menu-separator',
+      name: 'MenubarTrigger',
+      anchor: 'menubar-trigger',
       signature:
-        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'MenubarTrigger: { (props: MenubarTriggerProps): JSX.Element | null; (props: MenubarTriggerAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'ContextMenuTrigger',
-      anchor: 'context-menu-trigger',
+      name: 'MenubarTriggerAsChildProps',
+      anchor: 'menubar-trigger-as-child-props',
       signature:
-        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'CopyButton',
-      anchor: 'copy-button',
-      signature: 'CopyButton: (props: CopyButtonProps) => JSX.Element',
+        'MenubarTriggerAsChildProps: ButtonLikeAsChildProps & MenubarTextValueOwnProps',
       typeOnly: true,
       summary:
-        'Copies text with visual and assistive success/failure feedback.',
-    },
-    {
-      name: 'CopyButtonProps',
-      anchor: 'copy-button-props',
-      signature:
-        'CopyButtonProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  text: string;\n  label: string;\n  successMessage?: string;\n  failureMessage?: string;\n  resetAfter?: number;\n}',
-      typeOnly: true,
+        'Props for the `asChild` (polymorphic) rendering of Menubar Trigger.',
       members: [
         {
-          name: 'failureMessage',
+          name: 'asChild',
           summary: '',
-          signature: 'failureMessage?: string | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'label',
+          name: 'children',
           summary: '',
-          signature: 'label: string;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'resetAfter',
+          name: 'disabled',
           summary: '',
-          signature: 'resetAfter?: number | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'successMessage',
+          name: 'onPress',
           summary: '',
-          signature: 'successMessage?: string | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'text',
+          name: 'ref',
           summary: '',
-          signature: 'text: string;',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
         },
       ],
     },
     {
-      name: 'DataTable',
-      anchor: 'data-table',
-      signature: 'DataTable: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Styling-only container for the `data-table` catalog slot. It does not sort, filter, select, or paginate data.\nCompose semantic `Table`/`VirtualTable` primitives with application-owned data state for those behaviors.',
-    },
-    {
-      name: 'DatePicker',
-      anchor: 'date-picker',
-      signature: 'DatePicker: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Styling-only `date-picker` container. It does not implement a popup calendar, formatting, or\ncalendar-grid keyboard behavior; pair it with {@link DatePickerInput} for a native date input.',
-    },
-    {
-      name: 'DatePickerInput',
-      anchor: 'date-picker-input',
-      signature:
-        'DatePickerInput: (props: CatalogComponentProps<HTMLInputElement>) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Native `<input type="date">` styling slot; browser behavior and localization remain native.',
-    },
-    {
-      name: 'DebouncedInput',
-      anchor: 'debounced-input',
-      signature: 'DebouncedInput: (props: DebouncedInputProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nThe debounced emitter is created once per mount and replaced only when\n`debounceMs` changes. A pending value is re-timed with the new delay (or\nemitted at once when the delay drops to zero), is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
-    },
-    {
-      name: 'DEFAULT_THEME_OPTIONS',
-      anchor: 'default-theme-options',
-      signature: 'DEFAULT_THEME_OPTIONS: readonly ThemeOption[]',
-      typeOnly: true,
-      summary:
-        'Default light/dark/system theme options used by {@link ThemeScope} and {@link ThemePicker}.',
-    },
-    {
-      name: 'Dialog',
-      anchor: 'dialog',
-      signature: 'Dialog: (props: DialogProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
-      tags: {
-        example: [
-          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
-        ],
-      },
-    },
-    {
-      name: 'DialogClose',
-      anchor: 'dialog-close',
-      signature:
-        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'DialogContent',
-      anchor: 'dialog-content',
-      signature:
-        'DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-content` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'DialogDescription',
-      anchor: 'dialog-description',
-      signature:
-        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'DialogOverlay',
-      anchor: 'dialog-overlay',
-      signature:
-        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'DialogPortal',
-      anchor: 'dialog-portal',
+      name: 'MenubarTriggerProps',
+      anchor: 'menubar-trigger-props',
       signature:
-        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `dialog`.',
-    },
-    {
-      name: 'DialogProps',
-      anchor: 'dialog-props',
-      signature: 'DialogProps: DialogOwnProps',
+        "MenubarTriggerProps: ButtonLikeProps<'button', HTMLButtonElement> & MenubarTextValueOwnProps",
       typeOnly: true,
-      summary: 'Props for Dialog.',
+      summary: 'Props for Menubar Trigger.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'defaultOpen',
+          name: 'disabled',
           summary: '',
-          signature: 'defaultOpen?: boolean | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'id',
+          name: 'onPress',
           summary: '',
-          signature: 'id?: string | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'modal',
+          name: 'ref',
           summary: '',
-          signature: 'modal?: boolean | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'onOpenChange',
-          summary: '',
-          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+          name: 'textValue',
+          summary:
+            'Text used for typeahead when rendered children are not plain text.',
+          signature: 'textValue?: string | undefined;',
         },
         {
-          name: 'open',
+          name: 'type',
           summary: '',
-          signature: 'open?: boolean | undefined;',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
+  ],
+  symbols96: [
     {
-      name: 'DialogTitle',
-      anchor: 'dialog-title',
+      name: 'NativeSelect',
+      anchor: 'native-select',
       signature:
-        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
+        'NativeSelect: (props: CatalogComponentProps<HTMLSelectElement>) => JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a styled native `<select>` element.',
+    },
+  ],
+  symbols97: [
+    {
+      name: 'NavigationMenu',
+      anchor: 'navigation-menu',
+      signature:
+        'NavigationMenu: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Styling-only navigation-menu anatomy; it does not own disclosure, roving focus, or keyboard behavior.',
     },
     {
-      name: 'DialogTrigger',
-      anchor: 'dialog-trigger',
+      name: 'NavigationMenuContent',
+      anchor: 'navigation-menu-content',
       signature:
-        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+        'NavigationMenuContent: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'Direction',
-      anchor: 'direction',
+      name: 'NavigationMenuIndicator',
+      anchor: 'navigation-menu-indicator',
       signature:
-        'Direction: (props: CatalogComponentProps & { dir?: "ltr" | "rtl"; }) => JSX.Element',
+        'NavigationMenuIndicator: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Sets the `dir` attribute (defaulting to `"ltr"`) on its wrapping element for RTL/LTR scoping.',
+        'Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'Drawer',
-      anchor: 'drawer',
-      signature: 'Dialog: (props: DialogProps) => JSX.Element',
+      name: 'NavigationMenuItem',
+      anchor: 'navigation-menu-item',
+      signature:
+        'NavigationMenuItem: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
-      tags: {
-        example: [
-          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
-        ],
-      },
+      summary:
+        'Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives.',
+    },
+    {
+      name: 'NavigationMenuLink',
+      anchor: 'navigation-menu-link',
+      signature:
+        'NavigationMenuLink: (props: CatalogComponentProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DrawerClose',
-      anchor: 'drawer-close',
+      name: 'NavigationMenuList',
+      anchor: 'navigation-menu-list',
       signature:
-        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+        'NavigationMenuList: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DrawerContent',
-      anchor: 'drawer-content',
+      name: 'NavigationMenuTrigger',
+      anchor: 'navigation-menu-trigger',
       signature:
-        'DialogContent: { (props: DialogContentProps): JSX.Element | null; (props: DialogContentAsChildProps): JSX.Element | null; }',
+        'NavigationMenuTrigger: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-content` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DrawerDescription',
-      anchor: 'drawer-description',
+      name: 'NavigationMenuViewport',
+      anchor: 'navigation-menu-viewport',
       signature:
-        'DialogDescription: { (props: DialogDescriptionProps): JSX.Element; (props: DialogDescriptionAsChildProps): JSX.Element; }',
+        'NavigationMenuViewport: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-description` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives.',
     },
+  ],
+  symbols98: [
     {
-      name: 'DrawerOverlay',
-      anchor: 'drawer-overlay',
-      signature:
-        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+      name: 'PageHeader',
+      anchor: 'page-header',
+      signature: 'PageHeader: (props: PageHeaderProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
+        'Page-level header with a title, optional description, and an actions row that wraps to a new line on small screens.',
     },
     {
-      name: 'DrawerPortal',
-      anchor: 'drawer-portal',
+      name: 'PageHeaderProps',
+      anchor: 'page-header-props',
       signature:
-        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
+        'PageHeaderProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {\n  title: unknown;\n  description?: unknown;\n  actions?: unknown;\n  direction?: never;\n  rowFrom?: never;\n}',
       typeOnly: true,
-      summary: 'Renders a part of `dialog`.',
+      summary: 'Props for the {@link PageHeader } component.',
+      members: [
+        {
+          name: 'actions',
+          summary: '',
+          signature: 'actions?: unknown;',
+        },
+        {
+          name: 'description',
+          summary: '',
+          signature: 'description?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'rowFrom',
+          summary: '',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'title',
+          summary: '',
+          signature: 'title: unknown;',
+        },
+      ],
     },
+  ],
+  symbols99: [
     {
-      name: 'DrawerTitle',
-      anchor: 'drawer-title',
-      signature:
-        'DialogTitle: { (props: DialogTitleProps): JSX.Element; (props: DialogTitleAsChildProps): JSX.Element; }',
+      name: 'Page',
+      anchor: 'page',
+      signature: 'Page: (props: PageProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dialog-title` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Top-level page wrapper: a growing `<main>` containing a {@link Container } with vertical page padding and content spacing.',
     },
     {
-      name: 'DrawerTrigger',
-      anchor: 'drawer-trigger',
-      signature:
-        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+      name: 'PageProps',
+      anchor: 'page-props',
+      signature: 'PageProps: MainProps',
       typeOnly: true,
-      summary:
-        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Props for the {@link Page } component.',
     },
+  ],
+  symbols100: [
     {
-      name: 'Dropdown',
-      anchor: 'dropdown',
-      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      name: 'Pagination',
+      anchor: 'pagination',
+      signature: 'Pagination: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary:
+        'Renders the `pagination` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DropdownContent',
-      anchor: 'dropdown-content',
+      name: 'PaginationContent',
+      anchor: 'pagination-content',
       signature:
-        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+        'PaginationContent: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+        'Renders the `pagination-content` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DropdownGroup',
-      anchor: 'dropdown-group',
+      name: 'PaginationEllipsis',
+      anchor: 'pagination-ellipsis',
       signature:
-        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'PaginationEllipsis: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders a non-interactive ellipsis marker between pagination links.',
     },
     {
-      name: 'DropdownItem',
-      anchor: 'dropdown-item',
+      name: 'PaginationItem',
+      anchor: 'pagination-item',
       signature:
-        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+        'PaginationItem: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `pagination-item` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DropdownItemVariant',
-      anchor: 'dropdown-item-variant',
-      signature: "DropdownItemVariant: 'default' | 'destructive'",
+      name: 'PaginationLink',
+      anchor: 'pagination-link',
+      signature:
+        'PaginationLink: (props: CatalogComponentProps & { active?: boolean; }) => JSX.Element',
       typeOnly: true,
-      summary: 'Dropdown Item Variant.',
+      summary:
+        'Renders a pagination page link, marking it `aria-current="page"` when `active`.',
     },
     {
-      name: 'DropdownLabel',
-      anchor: 'dropdown-label',
+      name: 'PaginationNext',
+      anchor: 'pagination-next',
       signature:
-        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'PaginationNext: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Pagination link that moves to the next page.',
     },
     {
-      name: 'DropdownMenu',
-      anchor: 'dropdown-menu',
-      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      name: 'PaginationPrevious',
+      anchor: 'pagination-previous',
+      signature:
+        'PaginationPrevious: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary: 'Pagination link that moves to the previous page.',
     },
+  ],
+  symbols101: [
     {
-      name: 'DropdownMenuContent',
-      anchor: 'dropdown-menu-content',
+      name: 'Popover',
+      anchor: 'popover',
       signature:
-        'DropdownContent$1: { (props: DropdownContentProps): JSX.Element | null; (props: DropdownContentAsChildProps): JSX.Element | null; }',
+        'Popover: (props: PopoverProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
       typeOnly: true,
-      summary:
-        "Dropdown/context-menu content wrapper around `@askrjs/ui`'s `DropdownContent`.\nNon-`asChild` usage lazily evaluates `children` inside a body component so\nthey're only rendered once the dropdown is actually open.",
+      summary: 'Renders a part of `popover`.',
     },
     {
-      name: 'DropdownMenuGroup',
-      anchor: 'dropdown-menu-group',
+      name: 'PopoverClose',
+      anchor: 'popover-close',
       signature:
-        'DropdownGroup: (props: DropdownGroupProps | DropdownGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'PopoverClose: { (props: PopoverCloseProps): JSX.Element; (props: PopoverCloseAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-group` part of `dropdown` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `popover-close` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'DropdownMenuItem',
-      anchor: 'dropdown-menu-item',
-      signature:
-        'DropdownItem: { (props: DropdownItemProps): JSX.Element | null; (props: DropdownItemAsChildProps): JSX.Element | null; }',
+      name: 'PopoverCloseAsChildProps',
+      anchor: 'popover-close-as-child-props',
+      signature: 'PopoverCloseAsChildProps: ButtonLikeAsChildProps',
       typeOnly: true,
       summary:
-        'Renders a part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Props for the `asChild` (polymorphic) rendering of Popover Close.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownMenuLabel',
-      anchor: 'dropdown-menu-label',
+      name: 'PopoverCloseProps',
+      anchor: 'popover-close-props',
       signature:
-        'DropdownLabel: (props: DropdownLabelProps | DropdownLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        "PopoverCloseProps: ButtonLikeProps<'button', HTMLButtonElement>",
       typeOnly: true,
-      summary:
-        'Renders the `dropdown-label` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Props for Popover Close.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownMenuPortal',
-      anchor: 'dropdown-menu-portal',
+      name: 'PopoverContent',
+      anchor: 'popover-content',
       signature:
-        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+        'PopoverContent: { (props: PopoverContentProps): JSX.Element | null; (props: PopoverContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary:
+        'Renders the `popover-content` part of `popover` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'DropdownMenuSeparator',
-      anchor: 'dropdown-menu-separator',
+      name: 'PopoverContentAsChildProps',
+      anchor: 'popover-content-as-child-props',
       signature:
-        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'PopoverContentAsChildProps: BoxAsChildProps & PopoverContentOwnProps',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Props for the `asChild` (polymorphic) rendering of Popover Content.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: PopoverContentWidth | undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownMenuTrigger',
-      anchor: 'dropdown-menu-trigger',
+      name: 'PopoverContentOwnProps',
+      anchor: 'popover-content-own-props',
       signature:
-        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+        'PopoverContentOwnProps: {\n  forceMount?: boolean;\n  side?: OverlaySide;\n  align?: OverlayAlign;\n  sideOffset?: number;\n  width?: PopoverContentWidth;\n}',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Own props for Popover Content, before merging with native element attributes.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: PopoverContentWidth | undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownPortal',
-      anchor: 'dropdown-portal',
+      name: 'PopoverContentProps',
+      anchor: 'popover-content-props',
       signature:
-        'DropdownPortal: (props: DropdownPortalProps) => JSX.Element | null',
+        "PopoverContentProps: BoxProps<'div', HTMLDivElement> & PopoverContentOwnProps",
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary: 'Props for Popover Content.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'forceMount',
+          summary: '',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: PopoverContentWidth | undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownSeparator',
-      anchor: 'dropdown-separator',
+      name: 'PopoverContentWidth',
+      anchor: 'popover-content-width',
+      signature: "PopoverContentWidth: 'sm' | 'md' | 'lg'",
+      typeOnly: true,
+      summary: 'Popover Content Width.',
+    },
+    {
+      name: 'PopoverOwnProps',
+      anchor: 'popover-own-props',
       signature:
-        'DropdownSeparator: (props: DropdownSeparatorProps | DropdownSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+        'PopoverOwnProps: {\n  children?: unknown;\n  id?: string;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n}',
       typeOnly: true,
       summary:
-        'Renders the `dropdown-separator` part of `dropdown` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Own props for Popover, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
     },
     {
-      name: 'DropdownTrigger',
-      anchor: 'dropdown-trigger',
+      name: 'PopoverPortal',
+      anchor: 'popover-portal',
       signature:
-        'DropdownTrigger: { (props: DropdownTriggerProps): JSX.Element | null; (props: DropdownTriggerAsChildProps): JSX.Element | null; }',
+        'PopoverPortal: (props: PopoverPortalProps) => JSX.Element | null',
       typeOnly: true,
-      summary:
-        'Renders the `dropdown-trigger` part of `dropdown`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Renders a part of `popover`.',
     },
     {
-      name: 'DropdownTriggerSize',
-      anchor: 'dropdown-trigger-size',
-      signature: "DropdownTriggerSize: 'md' | 'icon'",
+      name: 'PopoverPortalProps',
+      anchor: 'popover-portal-props',
+      signature: 'PopoverPortalProps: {\n  children?: unknown;\n}',
       typeOnly: true,
-      summary: 'Dropdown Trigger Size.',
+      summary: 'Props for Popover Portal.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
     },
     {
-      name: 'DropdownTriggerVariant',
-      anchor: 'dropdown-trigger-variant',
-      signature: "DropdownTriggerVariant: 'default' | 'ghost'",
+      name: 'PopoverProps',
+      anchor: 'popover-props',
+      signature: 'PopoverProps: PopoverOwnProps',
       typeOnly: true,
-      summary: 'Dropdown Trigger Variant.',
+      summary: 'Props for Popover.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+      ],
     },
     {
-      name: 'Empty',
-      anchor: 'empty',
-      signature: 'Empty: (props: CatalogComponentProps) => JSX.Element',
+      name: 'PopoverTrigger',
+      anchor: 'popover-trigger',
+      signature:
+        'PopoverTrigger: { (props: PopoverTriggerProps): JSX.Element; (props: PopoverTriggerAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `empty` part of the shadcn-compatible catalog primitives.',
+        'Renders the `popover-trigger` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'EmptyContent',
-      anchor: 'empty-content',
-      signature: 'EmptyContent: (props: CatalogComponentProps) => JSX.Element',
+      name: 'PopoverTriggerAsChildProps',
+      anchor: 'popover-trigger-as-child-props',
+      signature: 'PopoverTriggerAsChildProps: ButtonLikeAsChildProps',
       typeOnly: true,
       summary:
-        'Renders the `empty-content` part of the shadcn-compatible catalog primitives.',
+        'Props for the `asChild` (polymorphic) rendering of Popover Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
     },
     {
-      name: 'EmptyDescription',
-      anchor: 'empty-description',
+      name: 'PopoverTriggerProps',
+      anchor: 'popover-trigger-props',
       signature:
-        'EmptyDescription: (props: CatalogComponentProps) => JSX.Element',
+        "PopoverTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>",
       typeOnly: true,
-      summary:
-        'Renders the `empty-description` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Popover Trigger.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
     },
+  ],
+  symbols102: [
     {
-      name: 'EmptyHeader',
-      anchor: 'empty-header',
-      signature: 'EmptyHeader: (props: CatalogComponentProps) => JSX.Element',
+      name: 'Progress',
+      anchor: 'progress',
+      signature: 'Progress: (props: ProgressProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `empty-header` part of the shadcn-compatible catalog primitives.',
+        'Renders the `progress` part of `progress` with `role="progressbar"`.',
     },
     {
-      name: 'EmptyMedia',
-      anchor: 'empty-media',
-      signature: 'EmptyMedia: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ProgressIndicator',
+      anchor: 'progress-indicator',
+      signature:
+        'ProgressIndicator: { (props: ProgressIndicatorProps): JSX.Element; (props: ProgressIndicatorAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `empty-media` part of the shadcn-compatible catalog primitives.',
+        'Renders the `progress-indicator` part of `progress`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'EmptyState',
-      anchor: 'empty-state',
-      signature: 'EmptyState: (props: EmptyStateProps) => JSX.Element',
+      name: 'ProgressIndicatorAsChildProps',
+      anchor: 'progress-indicator-as-child-props',
+      signature: 'ProgressIndicatorAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Centered placeholder for empty lists/views: an icon, title (default `<h2>`), description, extra content, and an action row.',
-    },
-    {
-      name: 'EmptyStateHeadingTag',
-      anchor: 'empty-state-heading-tag',
-      signature:
-        'EmptyStateHeadingTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
-      typeOnly: true,
-      summary: "Heading tag allowed for an empty state's title via `titleAs`.",
-    },
-    {
-      name: 'EmptyStateProps',
-      anchor: 'empty-state-props',
-      signature:
-        'EmptyStateProps: BlockDivProps & {\n  icon?: unknown;\n  title?: unknown;\n  titleAs?: EmptyStateHeadingTag;\n  description?: unknown;\n  action?: unknown;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link EmptyState } component.',
+        'Props for the `asChild` (polymorphic) rendering of Progress Indicator.',
       members: [
         {
-          name: 'action',
+          name: 'asChild',
           summary: '',
-          signature: 'action?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'align',
+          name: 'children',
           summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'as',
+          name: 'ref',
           summary: '',
-          signature: 'as?: "div" | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'ProgressIndicatorProps',
+      anchor: 'progress-indicator-props',
+      signature: "ProgressIndicatorProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Progress Indicator.',
+      members: [
         {
           name: 'asChild',
           summary: '',
           signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'background',
+          name: 'children',
           summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'border',
+          name: 'ref',
           summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+    {
+      name: 'ProgressOwnProps',
+      anchor: 'progress-own-props',
+      signature:
+        'ProgressOwnProps: {\n  children?: unknown;\n  id?: string;\n  value?: number | null;\n  max?: number;\n  getValueLabel?: (value: number | null, max: number) => string;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Progress, before merging with native element attributes.',
+      members: [
         {
-          name: 'borderBottom',
+          name: 'children',
           summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'borderRight',
+          name: 'getValueLabel',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature:
+            'getValueLabel?: ((value: number | null, max: number) => string) | undefined;',
         },
         {
-          name: 'borderTop',
+          name: 'id',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'center',
+          name: 'max',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'max?: number | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: number | null | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ProgressProps',
+      anchor: 'progress-props',
+      signature:
+        "ProgressProps: BoxProps<'div', HTMLDivElement> & ProgressOwnProps",
+      typeOnly: true,
+      summary: 'Props for Progress.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -36061,291 +45217,341 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'className',
+          name: 'getValueLabel',
           summary: '',
-          signature: 'className?: string | undefined;',
+          signature:
+            'getValueLabel?: ((value: number | null, max: number) => string) | undefined;',
         },
         {
-          name: 'description',
+          name: 'id',
           summary: '',
-          signature: 'description?: unknown;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'direction',
+          name: 'max',
           summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+          signature: 'max?: number | undefined;',
         },
         {
-          name: 'gap',
+          name: 'ref',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'grow',
+          name: 'value',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'value?: number | null | undefined;',
         },
+      ],
+    },
+  ],
+  symbols103: [
+    {
+      name: 'RadioGroup',
+      anchor: 'radio-group',
+      signature:
+        'RadioGroup: (props: RadioGroupProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      typeOnly: true,
+      summary: 'Renders a part of `radio-group`.',
+    },
+    {
+      name: 'RadioGroupItem',
+      anchor: 'radio-group-item',
+      signature:
+        'RadioGroupItem: { (props: RadioGroupItemProps): JSX.Element; (props: RadioGroupItemAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `radio-group-item` part of `radio-group` with `role="radio"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'RadioGroupItemAsChildProps',
+      anchor: 'radio-group-item-as-child-props',
+      signature:
+        'RadioGroupItemAsChildProps: RadioGroupItemOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n}',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Radio Group Item.',
+      members: [
         {
-          name: 'height',
+          name: 'asChild',
           summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'hide',
+          name: 'children',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'icon',
+          name: 'disabled',
           summary: '',
-          signature: 'icon?: unknown;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'justify',
+          name: 'ref',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'margin',
+          name: 'value',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'value: string;',
+        },
+      ],
+    },
+    {
+      name: 'RadioGroupItemOwnProps',
+      anchor: 'radio-group-item-own-props',
+      signature:
+        'RadioGroupItemOwnProps: {\n  value: string;\n  disabled?: boolean;\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Radio Group Item, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'marginX',
+          name: 'disabled',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'marginY',
+          name: 'value',
           summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'value: string;',
         },
+      ],
+    },
+    {
+      name: 'RadioGroupItemProps',
+      anchor: 'radio-group-item-props',
+      signature:
+        "RadioGroupItemProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'ref' | 'onClick' | 'type' | 'value'> & RadioGroupItemOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n}",
+      typeOnly: true,
+      summary: 'Props for Radio Group Item.',
+      members: [
         {
-          name: 'maxHeight',
+          name: 'asChild',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'maxWidth',
+          name: 'children',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'minHeight',
+          name: 'ref',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'minWidth',
+          name: 'value',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'value: string;',
+        },
+      ],
+    },
+    {
+      name: 'RadioGroupOwnProps',
+      anchor: 'radio-group-own-props',
+      signature:
+        'RadioGroupOwnProps: {\n  value?: string;\n  defaultValue?: string;\n  onValueChange?: (value: string) => void;\n  disabled?: boolean;\n  name?: string;\n  orientation?: Orientation;\n  loop?: boolean;\n  /** Supports literal, nested, array-mapped, and `For`-rendered descendants. */\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Radio Group, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'padding',
+          name: 'defaultValue',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'defaultValue?: string | undefined;',
         },
         {
-          name: 'paddingX',
+          name: 'disabled',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'paddingY',
+          name: 'loop',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'loop?: boolean | undefined;',
         },
         {
-          name: 'radius',
+          name: 'name',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'name?: string | undefined;',
         },
         {
-          name: 'ref',
+          name: 'onValueChange',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
         },
         {
-          name: 'rowFrom',
+          name: 'orientation',
           summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
+          signature: 'orientation?: Orientation | undefined;',
         },
         {
-          name: 'shadow',
+          name: 'value',
           summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+          signature: 'value?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'RadioGroupProps',
+      anchor: 'radio-group-props',
+      signature:
+        "RadioGroupProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & RadioGroupOwnProps & {\n  ref?: Ref<HTMLDivElement>;\n}",
+      typeOnly: true,
+      summary: 'Props for Radio Group.',
+      members: [
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'shrink',
+          name: 'defaultValue',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'defaultValue?: string | undefined;',
         },
         {
-          name: 'sticky',
+          name: 'disabled',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'title',
+          name: 'loop',
           summary: '',
-          signature: 'title?: unknown;',
+          signature: 'loop?: boolean | undefined;',
         },
         {
-          name: 'titleAs',
+          name: 'name',
           summary: '',
-          signature: 'titleAs?: EmptyStateHeadingTag | undefined;',
+          signature: 'name?: string | undefined;',
         },
         {
-          name: 'top',
+          name: 'onValueChange',
           summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
         },
         {
-          name: 'width',
+          name: 'orientation',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'orientation?: Orientation | undefined;',
         },
         {
-          name: 'wrap',
+          name: 'ref',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'zIndex',
+          name: 'value',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'value?: string | undefined;',
         },
       ],
     },
+  ],
+  symbols104: [
     {
-      name: 'EmptyTitle',
-      anchor: 'empty-title',
-      signature: 'EmptyTitle: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `empty-title` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Field',
-      anchor: 'field',
-      signature: 'Field: (props: FieldProps) => JSX.Element',
+      name: 'ResizableHandle',
+      anchor: 'resizable-handle',
+      signature:
+        'ResizableHandle: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Groups a form control with its hint/error text, marking `data-invalid` when `invalid` is set.',
+        'Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls.',
     },
     {
-      name: 'FieldContent',
-      anchor: 'field-content',
-      signature: 'FieldContent: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ResizablePanel',
+      anchor: 'resizable-panel',
+      signature:
+        'ResizablePanel: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `field-content` part of the shadcn-compatible catalog primitives.',
+        'Styling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions.',
     },
     {
-      name: 'FieldDescription',
-      anchor: 'field-description',
+      name: 'ResizablePanelGroup',
+      anchor: 'resizable-panel-group',
       signature:
-        'FieldDescription: (props: CatalogComponentProps) => JSX.Element',
+        'ResizablePanelGroup: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `field-description` part of the shadcn-compatible catalog primitives.',
+        'Styling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing.\nConsumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.',
     },
+  ],
+  symbols105: [
     {
-      name: 'FieldError',
-      anchor: 'field-error',
-      signature: 'FieldError: (props: FieldErrorProps) => JSX.Element',
+      name: 'ScrollArea',
+      anchor: 'scroll-area',
+      signature:
+        'ScrollArea: { (props: ScrollAreaProps): JSX.Element; (props: ScrollAreaAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary:
-        'Renders validation error text for a {@link Field}, exposed with `role="alert"`.',
+      summary: 'Renders a part of `scroll-area`.',
     },
     {
-      name: 'FieldErrorProps',
-      anchor: 'field-error-props',
+      name: 'ScrollAreaAsChildProps',
+      anchor: 'scroll-area-as-child-props',
       signature:
-        'FieldErrorProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+        'ScrollAreaAsChildProps: ScrollAreaOwnProps & {\n  asChild: true;\n  children: JSX.Element;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link FieldError } component.',
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Scroll Area.',
       members: [
         {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'ref',
+          name: 'asChild',
           summary: '',
-          signature: 'ref?: Ref<HTMLParagraphElement>;',
+          signature: 'asChild: true;',
         },
-      ],
-    },
-    {
-      name: 'FieldGroup',
-      anchor: 'field-group',
-      signature: 'FieldGroup: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `field-group` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'FieldHint',
-      anchor: 'field-hint',
-      signature: 'FieldHint: (props: FieldHintProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders supporting hint text for a {@link Field}.',
-    },
-    {
-      name: 'FieldHintProps',
-      anchor: 'field-hint-props',
-      signature:
-        'FieldHintProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link FieldHint } component.',
-      members: [
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSX.Element;',
         },
         {
-          name: 'ref',
+          name: 'id',
           summary: '',
-          signature: 'ref?: Ref<HTMLParagraphElement>;',
+          signature: 'id?: string | undefined;',
         },
       ],
     },
     {
-      name: 'FieldLabel',
-      anchor: 'field-label',
-      signature: 'FieldLabel: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `field-label` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'FieldLegend',
-      anchor: 'field-legend',
-      signature: 'FieldLegend: (props: CatalogComponentProps) => JSX.Element',
+      name: 'ScrollAreaCorner',
+      anchor: 'scroll-area-corner',
+      signature:
+        'ScrollAreaCorner: (props: ScrollAreaCornerProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `field-legend` part of the shadcn-compatible catalog primitives.',
+      summary: 'Renders the `scroll-area-corner` part of `scroll-area`.',
     },
-    {
-      name: 'FieldProps',
-      anchor: 'field-props',
-      signature:
-        'FieldProps: DivProps & {\n  children?: unknown;\n  invalid?: boolean;\n  ref?: Ref<HTMLDivElement>;\n}',
+    {
+      name: 'ScrollAreaCornerProps',
+      anchor: 'scroll-area-corner-props',
+      signature: "ScrollAreaCornerProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Props for the {@link Field } component.',
+      summary: 'Props for Scroll Area Corner.',
       members: [
         {
-          name: 'children',
+          name: 'asChild',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'invalid',
+          name: 'children',
           summary: '',
-          signature: 'invalid?: boolean | undefined;',
+          signature: 'children?: unknown;',
         },
         {
           name: 'ref',
@@ -36355,52 +45561,13 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'FieldSeparator',
-      anchor: 'field-separator',
+      name: 'ScrollAreaOwnProps',
+      anchor: 'scroll-area-own-props',
       signature:
-        'FieldSeparator: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `field-separator` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'FieldSet',
-      anchor: 'field-set',
-      signature: 'FieldSet: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `field-set` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'FieldTitle',
-      anchor: 'field-title',
-      signature: 'FieldTitle: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `field-title` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Footer',
-      anchor: 'footer',
-      signature: 'Footer: (props: FooterProps) => JSX.Element',
+        'ScrollAreaOwnProps: {\n  children?: unknown;\n  id?: string;\n}',
       typeOnly: true,
       summary:
-        'Renders a `<footer>`-element {@link Block } with a muted background and top border.',
-    },
-    {
-      name: 'FooterContent',
-      anchor: 'footer-content',
-      signature: 'FooterContent: (props: FooterContentProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the main content wrapper of a {@link Footer}.',
-    },
-    {
-      name: 'FooterContentProps',
-      anchor: 'footer-content-props',
-      signature:
-        'FooterContentProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link FooterContent } component.',
+        'Own props for Scroll Area, before merging with native element attributes.',
       members: [
         {
           name: 'children',
@@ -36408,27 +45575,18 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'ref',
+          name: 'id',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'id?: string | undefined;',
         },
       ],
     },
     {
-      name: 'FooterDescription',
-      anchor: 'footer-description',
-      signature:
-        'FooterDescription: (props: FooterDescriptionProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders supporting description text within a {@link Footer}.',
-    },
-    {
-      name: 'FooterDescriptionProps',
-      anchor: 'footer-description-props',
-      signature:
-        'FooterDescriptionProps: ParagraphProps & {\n  children?: unknown;\n  ref?: Ref<HTMLParagraphElement>;\n}',
+      name: 'ScrollAreaProps',
+      anchor: 'scroll-area-props',
+      signature: 'ScrollAreaProps: ScrollAreaOwnProps',
       typeOnly: true,
-      summary: 'Props for the {@link FooterDescription } component.',
+      summary: 'Props for Scroll Area.',
       members: [
         {
           name: 'children',
@@ -36436,54 +45594,71 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'ref',
+          name: 'id',
           summary: '',
-          signature: 'ref?: Ref<HTMLParagraphElement>;',
+          signature: 'id?: string | undefined;',
         },
       ],
     },
     {
-      name: 'FooterLink',
-      anchor: 'footer-link',
-      signature: 'FooterLink: (props: FooterLinkProps) => JSX.Element',
+      name: 'ScrollAreaScrollbar',
+      anchor: 'scroll-area-scrollbar',
+      signature:
+        'ScrollAreaScrollbar: (props: ScrollAreaScrollbarProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a single link within a {@link Footer}.',
+      summary:
+        'Renders the `scroll-area-scrollbar` part of `scroll-area` with `role="scrollbar"`.',
     },
     {
-      name: 'FooterLinkProps',
-      anchor: 'footer-link-props',
+      name: 'ScrollAreaScrollbarProps',
+      anchor: 'scroll-area-scrollbar-props',
       signature:
-        'FooterLinkProps: AnchorProps & {\n  children?: unknown;\n  ref?: Ref<HTMLAnchorElement>;\n}',
+        "ScrollAreaScrollbarProps: BoxProps<'div', HTMLDivElement> & {\n  orientation?: 'vertical' | 'horizontal';\n}",
       typeOnly: true,
-      summary: 'Props for the {@link FooterLink } component.',
+      summary: 'Props for Scroll Area Scrollbar.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLAnchorElement>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
     {
-      name: 'FooterLinks',
-      anchor: 'footer-links',
-      signature: 'FooterLinks: (props: FooterLinksProps) => JSX.Element',
+      name: 'ScrollAreaThumb',
+      anchor: 'scroll-area-thumb',
+      signature:
+        'ScrollAreaThumb: (props: ScrollAreaThumbProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a `<nav>` wrapper for a group of {@link FooterLink}s.',
+      summary: 'Renders the `scroll-area-thumb` part of `scroll-area`.',
     },
     {
-      name: 'FooterLinksProps',
-      anchor: 'footer-links-props',
-      signature:
-        'FooterLinksProps: NavProps & {\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
+      name: 'ScrollAreaThumbProps',
+      anchor: 'scroll-area-thumb-props',
+      signature: "ScrollAreaThumbProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Props for the {@link FooterLinks } component.',
+      summary: 'Props for Scroll Area Thumb.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
@@ -36492,59 +45667,55 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
     {
-      name: 'FooterProps',
-      anchor: 'footer-props',
-      signature: 'FooterProps: Omit<BlockElementProps<"footer">, "as">',
-      typeOnly: true,
-      summary: 'Props for the {@link Footer } component.',
-    },
-    {
-      name: 'FooterSection',
-      anchor: 'footer-section',
-      signature: 'FooterSection: (props: FooterSectionProps) => JSX.Element',
+      name: 'ScrollAreaViewport',
+      anchor: 'scroll-area-viewport',
+      signature:
+        'ScrollAreaViewport: { (props: ScrollAreaViewportProps): JSX.Element; (props: ScrollAreaViewportAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Renders a grouped section within a {@link Footer}.',
+      summary: 'Renders a part of `scroll-area`.',
     },
     {
-      name: 'FooterSectionProps',
-      anchor: 'footer-section-props',
-      signature:
-        'FooterSectionProps: DivProps & {\n  children?: unknown;\n  ref?: Ref<HTMLDivElement>;\n}',
+      name: 'ScrollAreaViewportAsChildProps',
+      anchor: 'scroll-area-viewport-as-child-props',
+      signature: 'ScrollAreaViewportAsChildProps: BoxAsChildProps',
       typeOnly: true,
-      summary: 'Props for the {@link FooterSection } component.',
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Scroll Area Viewport.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'FooterTitle',
-      anchor: 'footer-title',
-      signature: 'FooterTitle: (props: FooterTitleProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a section title (`<h2>`) within a {@link Footer}.',
-    },
-    {
-      name: 'FooterTitleProps',
-      anchor: 'footer-title-props',
-      signature:
-        'FooterTitleProps: HeadingProps & {\n  children?: unknown;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+      name: 'ScrollAreaViewportProps',
+      anchor: 'scroll-area-viewport-props',
+      signature: "ScrollAreaViewportProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Props for the {@link FooterTitle } component.',
+      summary: 'Props for Scroll Area Viewport.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
@@ -36553,270 +45724,323 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLHeadingElement>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
+  ],
+  symbols106: [
     {
-      name: 'Form',
-      anchor: 'form',
-      signature:
-        'Form: { (props: FormProps): JSX.Element; (props: FormAsChildProps): JSX.Element; }',
+      name: 'Section',
+      anchor: 'section',
+      signature: 'Section: (props: SectionProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders a part of `form`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders a `<section>`-element {@link Block } with vertical spacing between children and page padding.',
     },
     {
-      name: 'Grid',
-      anchor: 'grid',
-      signature:
-        'Grid: <TElement extends GridElement = "div">(props: GridProps<TElement>) => JSX.Element',
+      name: 'SectionProps',
+      anchor: 'section-props',
+      signature: 'SectionProps: Omit<BlockElementProps<"section">, "as">',
       typeOnly: true,
-      summary:
-        'CSS grid layout primitive: turns `columns`/`gap`/`align` (each optionally responsive) into generated grid-template styles, rendering as `<div>` by default.',
+      summary: 'Props for the {@link Section } component.',
     },
+  ],
+  symbols107: [
     {
-      name: 'GridAlign',
-      anchor: 'grid-align',
-      signature: 'GridAlign: "start" | "center" | "end" | "stretch"',
+      name: 'Select',
+      anchor: 'select',
+      signature: 'Select: (props: SelectProps) => JSX.Element',
       typeOnly: true,
-      summary: '`align-items` value applied to a {@link Grid }.',
+      summary: 'Renders a part of `select`.',
     },
     {
-      name: 'GridColumns',
-      anchor: 'grid-columns',
-      signature: 'GridColumns: number | string',
+      name: 'SelectContent',
+      anchor: 'select-content',
+      signature:
+        'SelectContent: { (props: SelectContentProps): JSX.Element | null; (props: SelectContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Column definition for {@link Grid }: a track count or a raw `grid-template-columns` string.',
-    },
-    {
-      name: 'GridElement',
-      anchor: 'grid-element',
-      signature: 'GridElement: "div" | "section" | "ul"',
-      typeOnly: true,
-      summary: 'Element tags {@link Grid } can render as via its `as` prop.',
+        'Renders a part of `select` with `role="listbox"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'GridProps',
-      anchor: 'grid-props',
+      name: 'SelectContentAsChildProps',
+      anchor: 'select-content-as-child-props',
       signature:
-        'GridProps: GridIntrinsicProps<TElement> & {\n  as?: TElement;\n  columns?: ResponsiveValue<GridColumns>;\n  gap?: ResponsiveValue<BlockSpace>;\n  align?: ResponsiveValue<GridAlign>;\n  children?: unknown;\n  ref?: Ref<HTMLElement>;\n}',
+        'SelectContentAsChildProps: BoxAsChildProps & SelectContentOwnProps',
       typeOnly: true,
       summary:
-        'Props for the {@link Grid } component, specialized for a given {@link GridElement} `TElement`.',
+        'Props for the `asChild` (polymorphic) rendering of Select Content.',
       members: [
         {
           name: 'align',
           summary: '',
-          signature: 'align?: ResponsiveValue<GridAlign> | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'as',
+          name: 'asChild',
           summary: '',
-          signature: 'as?: TElement | undefined;',
+          signature: 'asChild: true;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'columns',
+          name: 'forceMount',
           summary: '',
-          signature: 'columns?: ResponsiveValue<GridColumns> | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'gap',
+          name: 'ref',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'ref',
+          name: 'side',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'Header',
-      anchor: 'header',
-      signature: 'Header: (props: HeaderProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a `<header>`-element {@link Block } with a surface background and bottom border, optionally sticky-positioned via `position`/`sticky`.',
-    },
-    {
-      name: 'HeaderProps',
-      anchor: 'header-props',
+      name: 'SelectContentOwnProps',
+      anchor: 'select-content-own-props',
       signature:
-        'HeaderProps: Omit<BlockElementProps<"header">, "as" | "sticky"> & {\n  position?: "sticky" | "static";\n  sticky?: boolean;\n}',
+        'SelectContentOwnProps: {\n  forceMount?: boolean;\n  side?: OverlaySide;\n  align?: OverlayAlign;\n  sideOffset?: number;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link Header } component.',
+      summary:
+        'Own props for Select Content, before merging with native element attributes.',
       members: [
         {
-          name: 'position',
+          name: 'align',
           summary: '',
-          signature: 'position?: "sticky" | "static" | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'sticky',
+          name: 'forceMount',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: OverlaySide | undefined;',
+        },
+        {
+          name: 'sideOffset',
+          summary: '',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'Heading',
-      anchor: 'heading',
-      signature: 'Heading: ({ level, ...props }: HeadingProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Native semantic heading whose visual size is independent from its explicit document level.',
-    },
-    {
-      name: 'HeadingLevel',
-      anchor: 'heading-level',
-      signature: 'HeadingLevel: 1 | 2 | 3 | 4 | 5 | 6',
-      typeOnly: true,
-    },
-    {
-      name: 'HeadingProps',
-      anchor: 'heading-props',
+      name: 'SelectContentProps',
+      anchor: 'select-content-props',
       signature:
-        'HeadingProps: NativeHeadingProps & {\n  level: HeadingLevel;\n  size?: HeadingSize;\n  tone?: TextTone;\n  weight?: TextWeight;\n  font?: TextFont;\n  numeric?: TextNumeric;\n  wrap?: TextWrap;\n  truncate?: boolean;\n  children?: unknown;\n  ref?: Ref<HTMLHeadingElement>;\n}',
+        "SelectContentProps: BoxProps<'div', HTMLDivElement> & SelectContentOwnProps",
       typeOnly: true,
-      summary:
-        'Strongly typed semantic heading props with visual treatment independent from document level.',
+      summary: 'Props for Select Content.',
       members: [
         {
-          name: 'children',
+          name: 'align',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'font',
+          name: 'asChild',
           summary: '',
-          signature: 'font?: TextFont | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'level',
+          name: 'children',
           summary: '',
-          signature: 'level: HeadingLevel;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'numeric',
+          name: 'forceMount',
           summary: '',
-          signature: 'numeric?: TextNumeric | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLHeadingElement>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'size',
+          name: 'side',
           summary: '',
-          signature: 'size?: HeadingSize | undefined;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'tone',
+          name: 'sideOffset',
           summary: '',
-          signature: 'tone?: TextTone | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'SelectGroup',
+      anchor: 'select-group',
+      signature:
+        'SelectGroup: { (props: SelectGroupProps): JSX.Element; (props: SelectGroupAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-group` part of `select` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectGroupAsChildProps',
+      anchor: 'select-group-as-child-props',
+      signature: 'SelectGroupAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Select Group.',
+      members: [
         {
-          name: 'truncate',
+          name: 'asChild',
           summary: '',
-          signature: 'truncate?: boolean | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'weight',
+          name: 'children',
           summary: '',
-          signature: 'weight?: TextWeight | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'wrap',
+          name: 'ref',
           summary: '',
-          signature: 'wrap?: TextWrap | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'HeadingSize',
-      anchor: 'heading-size',
-      signature: 'HeadingSize: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl"',
-      typeOnly: true,
-    },
-    {
-      name: 'HoverCard',
-      anchor: 'hover-card',
-      signature:
-        'HoverCard: (props: HoverCardProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      name: 'SelectGroupProps',
+      anchor: 'select-group-props',
+      signature: "SelectGroupProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Renders a part of `hover-card`.',
+      summary: 'Props for Select Group.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'HoverCardContent',
-      anchor: 'hover-card-content',
+      name: 'SelectItem',
+      anchor: 'select-item',
       signature:
-        'HoverCardContent: { (props: HoverCardContentProps): JSX.Element | null; (props: HoverCardContentAsChildProps): JSX.Element | null; }',
+        'SelectItem: { (props: SelectItemProps): JSX.Element | null; (props: SelectItemAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Renders the `hover-card-content` part of `hover-card` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'HoverCardPortal',
-      anchor: 'hover-card-portal',
-      signature:
-        'HoverCardPortal: (props: HoverCardPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `hover-card`.',
+        'Renders a part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'HoverCardTrigger',
-      anchor: 'hover-card-trigger',
+      name: 'SelectItemAsChildProps',
+      anchor: 'select-item-as-child-props',
       signature:
-        'HoverCardTrigger: { (props: HoverCardTriggerProps): JSX.Element; (props: HoverCardTriggerAsChildProps): JSX.Element; }',
+        "SelectItemAsChildProps: Omit<ButtonLikeAsChildProps, 'onPress'> & SelectItemOwnProps",
       typeOnly: true,
       summary:
-        'Renders the `hover-card-trigger` part of `hover-card`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Props for the `asChild` (polymorphic) rendering of Select Item.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'textValue',
+          summary: '',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
+        },
+      ],
     },
     {
-      name: 'Input',
-      anchor: 'input',
+      name: 'SelectItemOwnProps',
+      anchor: 'select-item-own-props',
       signature:
-        'Input: { (props: InputInputProps): JSX.Element; (props: InputAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `input` part of `input`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'InputGroup',
-      anchor: 'input-group',
-      signature: 'InputGroup: (props: InputGroupProps) => JSX.Element',
+        'SelectItemOwnProps: {\n  children?: unknown;\n  disabled?: boolean;\n  textValue?: string;\n  value: string;\n}',
       typeOnly: true,
       summary:
-        'Groups related inputs/addons together, optionally visually attached, with a horizontal or vertical orientation and `role="group"` by default.',
-    },
-    {
-      name: 'InputGroupOrientation',
-      anchor: 'input-group-orientation',
-      signature: 'InputGroupOrientation: "horizontal" | "vertical"',
-      typeOnly: true,
-      summary: 'Layout direction of an {@link InputGroup }.',
+        'Own props for Select Item, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'textValue',
+          summary: '',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
+        },
+      ],
     },
     {
-      name: 'InputGroupProps',
-      anchor: 'input-group-props',
+      name: 'SelectItemProps',
+      anchor: 'select-item-props',
       signature:
-        'InputGroupProps: DivProps & {\n  children?: unknown;\n  attached?: boolean;\n  orientation?: InputGroupOrientation;\n  ref?: Ref<HTMLDivElement>;\n}',
+        "SelectItemProps: Omit<ButtonLikeProps<'button', HTMLButtonElement>, 'onPress'> & SelectItemOwnProps",
       typeOnly: true,
-      summary: 'Props for the {@link InputGroup } component.',
+      summary: 'Props for Select Item.',
       members: [
         {
-          name: 'attached',
+          name: 'asChild',
           summary: '',
-          signature: 'attached?: boolean | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -36824,34 +46048,43 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'orientation',
+          name: 'disabled',
           summary: '',
-          signature: 'orientation?: InputGroupOrientation | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'textValue',
+          summary: '',
+          signature: 'textValue?: string | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
     {
-      name: 'InputGroupText',
-      anchor: 'input-group-text',
+      name: 'SelectItemText',
+      anchor: 'select-item-text',
       signature:
-        'InputGroupText: { (props: InputGroupTextProps): JSX.Element; (props: InputGroupTextAsChildProps): JSX.Element; }',
+        'SelectItemText: { (props: SelectItemTextProps): JSX.Element; (props: SelectItemTextAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders static text/label content within an {@link InputGroup}.',
+        'SelectItemText marks the item text node so Select can resolve labels and\nstyle the text slot directly.\nRenders the `select-item-text` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'InputGroupTextAsChildProps',
-      anchor: 'input-group-text-as-child-props',
-      signature:
-        'InputGroupTextAsChildProps: SpanProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+      name: 'SelectItemTextAsChildProps',
+      anchor: 'select-item-text-as-child-props',
+      signature: 'SelectItemTextAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Props for {@link InputGroupText } rendered with `asChild`, merging its attributes onto a single child element.',
+        'Props for the `asChild` (polymorphic) rendering of Select Item Text.',
       members: [
         {
           name: 'asChild',
@@ -36866,18 +46099,16 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'InputGroupTextProps',
-      anchor: 'input-group-text-props',
-      signature:
-        'InputGroupTextProps: SpanProps & {\n  asChild?: false;\n  children?: unknown;\n  ref?: Ref<HTMLSpanElement>;\n}',
+      name: 'SelectItemTextProps',
+      anchor: 'select-item-text-props',
+      signature: "SelectItemTextProps: BoxProps<'span', HTMLSpanElement>",
       typeOnly: true,
-      summary:
-        'Props for {@link InputGroupText } rendered as its default `<span>` element.',
+      summary: 'Props for Select Item Text.',
       members: [
         {
           name: 'asChild',
@@ -36897,696 +46128,498 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'InputOTP',
-      anchor: 'input-otp',
-      signature: 'InputOTP: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Styling-only OTP anatomy; it does not render an input or own value, focus, paste, or validation behavior.',
-    },
-    {
-      name: 'InputOTPGroup',
-      anchor: 'input-otpgroup',
-      signature: 'InputOTPGroup: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `input-otp-group` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'InputOTPSeparator',
-      anchor: 'input-otpseparator',
-      signature:
-        'InputOTPSeparator: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the visual separator between InputOTP groups (defaults to `"-"`).',
-    },
-    {
-      name: 'InputOTPSlot',
-      anchor: 'input-otpslot',
-      signature: 'InputOTPSlot: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Item',
-      anchor: 'item',
-      signature:
-        'Item: (props: CatalogComponentProps & { active?: boolean; size?: "default" | "sm" | "xs"; variant?: "default" | "outline" | "muted"; }) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes.',
-    },
-    {
-      name: 'ItemActions',
-      anchor: 'item-actions',
-      signature: 'ItemActions: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-actions` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemContent',
-      anchor: 'item-content',
-      signature: 'ItemContent: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-content` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemDescription',
-      anchor: 'item-description',
-      signature:
-        'ItemDescription: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-description` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemFooter',
-      anchor: 'item-footer',
-      signature: 'ItemFooter: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-footer` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemGroup',
-      anchor: 'item-group',
-      signature: 'ItemGroup: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-group` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemHeader',
-      anchor: 'item-header',
-      signature: 'ItemHeader: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-header` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemMedia',
-      anchor: 'item-media',
-      signature: 'ItemMedia: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-media` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ItemTitle',
-      anchor: 'item-title',
-      signature: 'ItemTitle: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `item-title` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Kbd',
-      anchor: 'kbd',
-      signature: 'Kbd: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `kbd` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'Label',
-      anchor: 'label',
-      signature:
-        'Label: { (props: LabelLabelProps): JSXElement; (props: LabelAsChildProps): JSXElement; }',
-      typeOnly: true,
-      summary:
-        'Renders the `label` part of `label`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Main',
-      anchor: 'main',
-      signature: 'Main: (props: MainProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a `<main>`-element {@link Block } that grows to fill available space.',
-    },
-    {
-      name: 'MainProps',
-      anchor: 'main-props',
-      signature: 'MainProps: Omit<BlockElementProps<"main">, "as">',
-      typeOnly: true,
-      summary: 'Props for the {@link Main } component.',
-    },
-    {
-      name: 'Menubar',
-      anchor: 'menubar',
-      signature: 'Menubar: (props: MenubarProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarContent',
-      anchor: 'menubar-content',
-      signature:
-        'MenubarContent: { (props: MenubarContentProps): JSX.Element | null; (props: MenubarContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarGroup',
-      anchor: 'menubar-group',
-      signature:
-        'MenubarGroup: (props: MenubarGroupProps | MenubarGroupAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `menubar-group` part of `menubar` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'MenubarItem',
-      anchor: 'menubar-item',
-      signature:
-        'MenubarItem: { (props: MenubarItemProps): JSX.Element | null; (props: MenubarItemAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'MenubarLabel',
-      anchor: 'menubar-label',
-      signature:
-        'MenubarLabel: (props: MenubarLabelProps | MenubarLabelAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `menubar-label` part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'MenubarMenu',
-      anchor: 'menubar-menu',
-      signature: 'MenubarMenu: (props: MenubarMenuProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarPortal',
-      anchor: 'menubar-portal',
-      signature:
-        'MenubarPortal: (props: MenubarPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarSeparator',
-      anchor: 'menubar-separator',
-      signature:
-        'MenubarSeparator: (props: MenubarSeparatorProps | MenubarSeparatorAsChildProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `menubar-separator` part of `menubar` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'MenubarSub',
-      anchor: 'menubar-sub',
-      signature: 'MenubarSub: (props: MenubarSubProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarSubContent',
-      anchor: 'menubar-sub-content',
-      signature:
-        'MenubarSubContent: { (props: MenubarSubContentProps): JSX.Element | null; (props: MenubarSubContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary: 'Renders a part of `menubar`.',
-    },
-    {
-      name: 'MenubarSubTrigger',
-      anchor: 'menubar-sub-trigger',
-      signature:
-        'MenubarSubTrigger: { (props: MenubarSubTriggerProps): JSX.Element | null; (props: MenubarSubTriggerAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'MenubarTrigger',
-      anchor: 'menubar-trigger',
+      name: 'SelectLabel',
+      anchor: 'select-label',
       signature:
-        'MenubarTrigger: { (props: MenubarTriggerProps): JSX.Element | null; (props: MenubarTriggerAsChildProps): JSX.Element | null; }',
+        'SelectLabel: { (props: SelectLabelProps): JSX.Element | null; (props: SelectLabelAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Renders a part of `menubar`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `select-label` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'MetaStrip',
-      anchor: 'meta-strip',
-      signature: 'MetaStrip: (props: MetaStripProps) => JSX.Element',
+      name: 'SelectLabelAsChildProps',
+      anchor: 'select-label-as-child-props',
+      signature: 'SelectLabelAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Semantic compact key/value facts with consistent inline or stacked wrapping.',
-    },
-    {
-      name: 'MetaStripDensity',
-      anchor: 'meta-strip-density',
-      signature: 'MetaStripDensity: "inline" | "stacked"',
-      typeOnly: true,
-    },
-    {
-      name: 'MetaStripItem',
-      anchor: 'meta-strip-item',
-      signature:
-        'MetaStripItem: {\n  label: string;\n  value: string | number;\n  caption?: string;\n  font?: "body" | "mono";\n  numeric?: "normal" | "tabular";\n}',
-      typeOnly: true,
-    },
-    {
-      name: 'MetaStripProps',
-      anchor: 'meta-strip-props',
-      signature:
-        'MetaStripProps: Omit<JSX.IntrinsicElements["dl"], "children" | "ref"> & {\n  items: readonly MetaStripItem[];\n  density?: MetaStripDensity;\n  ref?: Ref<HTMLDListElement>;\n}',
-      typeOnly: true,
+        'Props for the `asChild` (polymorphic) rendering of Select Label.',
       members: [
         {
-          name: 'density',
+          name: 'asChild',
           summary: '',
-          signature: 'density?: MetaStripDensity | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'items',
+          name: 'children',
           summary: '',
-          signature: 'items: readonly MetaStripItem[];',
+          signature: 'children: JSXElement;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDListElement>;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'NativeSelect',
-      anchor: 'native-select',
-      signature:
-        'NativeSelect: (props: CatalogComponentProps<HTMLSelectElement>) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a styled native `<select>` element.',
-    },
-    {
-      name: 'Nav',
-      anchor: 'nav',
-      signature: 'Navbar: (props: NavbarProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Horizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand\nchildren are grouped behind a collapsible toggle so brand content stays\nvisible while the rest collapses on small screens.',
-    },
-    {
-      name: 'Navbar',
-      anchor: 'navbar',
-      signature: 'Navbar: (props: NavbarProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Horizontal navigation bar. Below `collapseAt`/`breakpoint`, non-brand\nchildren are grouped behind a collapsible toggle so brand content stays\nvisible while the rest collapses on small screens.',
-    },
-    {
-      name: 'NavbarCollapseBreakpoint',
-      anchor: 'navbar-collapse-breakpoint',
-      signature: 'NavbarCollapseBreakpoint: "sm" | "md" | "lg" | "xl"',
-      typeOnly: true,
-      summary:
-        'Breakpoint at which a {@link Navbar } collapses non-brand content behind a toggle.',
-    },
-    {
-      name: 'NavbarProps',
-      anchor: 'navbar-props',
-      signature:
-        'NavbarProps: Omit<BlockElementProps<"nav">, "as" | "direction" | "align"> & {\n  breakpoint?: NavbarCollapseBreakpoint | false;\n  collapseAt?: NavbarCollapseBreakpoint | false;\n  collapseLabel?: string;\n  collapseIcon?: unknown;\n}',
+      name: 'SelectLabelProps',
+      anchor: 'select-label-props',
+      signature: "SelectLabelProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Props for the {@link Navbar } component.',
+      summary: 'Props for Select Label.',
       members: [
         {
-          name: 'breakpoint',
-          summary: '',
-          signature:
-            'breakpoint?: false | NavbarCollapseBreakpoint | undefined;',
-        },
-        {
-          name: 'collapseAt',
+          name: 'asChild',
           summary: '',
-          signature:
-            'collapseAt?: false | NavbarCollapseBreakpoint | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'collapseIcon',
+          name: 'children',
           summary: '',
-          signature: 'collapseIcon?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'collapseLabel',
+          name: 'ref',
           summary: '',
-          signature: 'collapseLabel?: string | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
     {
-      name: 'NavBrand',
-      anchor: 'nav-brand',
-      signature: 'NavBrand: (props: NavBrandProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the brand/logo slot of a {@link Navbar}; excluded from the collapsible section.',
-    },
-    {
-      name: 'NavBrandProps',
-      anchor: 'nav-brand-props',
+      name: 'SelectOwnProps',
+      anchor: 'select-own-props',
       signature:
-        'NavBrandProps: BlockDivProps | BlockElementProps<"a"> | BlockAsChildProps',
+        'SelectOwnProps: {\n  /** Supports literal, nested, array-mapped, and `For`-rendered descendants. */\n  children?: unknown;\n  id?: string;\n  value?: string;\n  defaultValue?: string;\n  onValueChange?: (value: string) => void;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n  name?: string;\n  disabled?: boolean;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link NavBrand } component.',
+      summary:
+        'Own props for Select, before merging with native element attributes.',
       members: [
         {
-          name: 'align',
-          summary: '',
-          signature: 'align?: ResponsiveValue<BlockAlign> | undefined;',
-        },
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'background',
+          name: 'defaultOpen',
           summary: '',
-          signature:
-            'background?: ResponsiveValue<BlockBackground> | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'border',
+          name: 'defaultValue',
           summary: '',
-          signature: 'border?: ResponsiveValue<boolean> | undefined;',
+          signature: 'defaultValue?: string | undefined;',
         },
         {
-          name: 'borderBottom',
+          name: 'disabled',
           summary: '',
-          signature: 'borderBottom?: ResponsiveValue<boolean> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'borderRight',
+          name: 'id',
           summary: '',
-          signature: 'borderRight?: ResponsiveValue<boolean> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'borderTop',
+          name: 'name',
           summary: '',
-          signature: 'borderTop?: ResponsiveValue<boolean> | undefined;',
+          signature: 'name?: string | undefined;',
         },
         {
-          name: 'center',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'center?: ResponsiveValue<boolean> | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'children',
+          name: 'onValueChange',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
         },
         {
-          name: 'direction',
+          name: 'open',
           summary: '',
-          signature: 'direction?: ResponsiveValue<BlockDirection> | undefined;',
+          signature: 'open?: boolean | undefined;',
         },
         {
-          name: 'gap',
+          name: 'value',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'value?: string | undefined;',
         },
+      ],
+    },
+    {
+      name: 'SelectPortal',
+      anchor: 'select-portal',
+      signature:
+        'SelectPortal: (props: SelectPortalProps) => JSX.Element | null',
+      typeOnly: true,
+      summary: 'Renders a part of `select`.',
+    },
+    {
+      name: 'SelectPortalProps',
+      anchor: 'select-portal-props',
+      signature: 'SelectPortalProps: {\n  children?: unknown;\n}',
+      typeOnly: true,
+      summary: 'Props for Select Portal.',
+      members: [
         {
-          name: 'grow',
+          name: 'children',
           summary: '',
-          signature: 'grow?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'children?: unknown;',
         },
+      ],
+    },
+    {
+      name: 'SelectProps',
+      anchor: 'select-props',
+      signature: 'SelectProps: SelectOwnProps',
+      typeOnly: true,
+      summary: 'Props for Select.',
+      members: [
         {
-          name: 'height',
-          summary: '',
-          signature: 'height?: ResponsiveValue<BlockSize> | undefined;',
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'hide',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'hide?: ResponsiveValue<boolean> | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'justify',
+          name: 'defaultValue',
           summary: '',
-          signature: 'justify?: ResponsiveValue<BlockJustify> | undefined;',
+          signature: 'defaultValue?: string | undefined;',
         },
         {
-          name: 'margin',
+          name: 'disabled',
           summary: '',
-          signature: 'margin?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'marginX',
+          name: 'id',
           summary: '',
-          signature: 'marginX?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'marginY',
+          name: 'name',
           summary: '',
-          signature: 'marginY?: ResponsiveValue<BlockMargin> | undefined;',
+          signature: 'name?: string | undefined;',
         },
         {
-          name: 'maxHeight',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'maxHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'maxWidth',
+          name: 'onValueChange',
           summary: '',
-          signature: 'maxWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
         },
         {
-          name: 'minHeight',
+          name: 'open',
           summary: '',
-          signature: 'minHeight?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'open?: boolean | undefined;',
         },
         {
-          name: 'minWidth',
+          name: 'value',
           summary: '',
-          signature: 'minWidth?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'value?: string | undefined;',
         },
+      ],
+    },
+    {
+      name: 'SelectSeparator',
+      anchor: 'select-separator',
+      signature:
+        'SelectSeparator: { (props: SelectSeparatorProps): JSX.Element | null; (props: SelectSeparatorAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-separator` part of `select` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectSeparatorAsChildProps',
+      anchor: 'select-separator-as-child-props',
+      signature: 'SelectSeparatorAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Select Separator.',
+      members: [
         {
-          name: 'padding',
+          name: 'asChild',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'paddingX',
+          name: 'children',
           summary: '',
-          signature: 'paddingX?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'paddingY',
+          name: 'ref',
           summary: '',
-          signature: 'paddingY?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'SelectSeparatorProps',
+      anchor: 'select-separator-props',
+      signature: "SelectSeparatorProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Select Separator.',
+      members: [
         {
-          name: 'radius',
+          name: 'asChild',
           summary: '',
-          signature: 'radius?: ResponsiveValue<BlockRadius> | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'ref',
+          name: 'children',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'rowFrom',
+          name: 'ref',
           summary: '',
-          signature: 'rowFrom?: BlockRowFrom | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+    {
+      name: 'SelectTrigger',
+      anchor: 'select-trigger',
+      signature:
+        'SelectTrigger: { (props: SelectTriggerProps): JSX.Element | null; (props: SelectTriggerAsChildProps): JSX.Element | null; }',
+      typeOnly: true,
+      summary:
+        'Renders the `select-trigger` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SelectTriggerAsChildProps',
+      anchor: 'select-trigger-as-child-props',
+      signature:
+        'SelectTriggerAsChildProps: ButtonLikeAsChildProps & SelectTriggerOwnProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Select Trigger.',
+      members: [
         {
-          name: 'shadow',
+          name: 'asChild',
           summary: '',
-          signature: 'shadow?: ResponsiveValue<BlockShadow> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'shrink',
+          name: 'children',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'sticky',
+          name: 'disabled',
           summary: '',
-          signature: 'sticky?: boolean | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'top',
+          name: 'onPress',
           summary: '',
-          signature: 'top?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'width',
+          name: 'ref',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'wrap',
+          name: 'size',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'size?: SelectTriggerSize | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'type',
           summary: '',
-          signature: 'zIndex?: ResponsiveValue<BlockZIndex> | undefined;',
+          signature: 'type?: undefined;',
         },
       ],
     },
     {
-      name: 'NavDropdown',
-      anchor: 'nav-dropdown',
-      signature: 'NavDropdown: (props: NavDropdownProps) => JSX.Element',
+      name: 'SelectTriggerOwnProps',
+      anchor: 'select-trigger-own-props',
+      signature: 'SelectTriggerOwnProps: {\n  size?: SelectTriggerSize;\n}',
       typeOnly: true,
       summary:
-        'Renders a dropdown menu triggered from within a {@link Navbar}.',
+        'Own props for Select Trigger, before merging with native element attributes.',
+      members: [
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SelectTriggerSize | undefined;',
+        },
+      ],
     },
     {
-      name: 'NavDropdownProps',
-      anchor: 'nav-dropdown-props',
+      name: 'SelectTriggerProps',
+      anchor: 'select-trigger-props',
       signature:
-        'NavDropdownProps: Omit<DropdownProps, "children"> & Pick<DropdownContentOwnProps, "align" | "side" | "sideOffset"> & {\n  label: unknown;\n  children?: unknown;\n}',
+        "SelectTriggerProps: ButtonLikeProps<'button', HTMLButtonElement> & SelectTriggerOwnProps",
       typeOnly: true,
-      summary: 'Props for the {@link NavDropdown } component.',
+      summary: 'Props for Select Trigger.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'label',
+          name: 'disabled',
           summary: '',
-          signature: 'label: unknown;',
+          signature: 'disabled?: boolean | undefined;',
         },
-      ],
-    },
-    {
-      name: 'NavGroup',
-      anchor: 'nav-group',
-      signature: 'NavGroup: (props: NavGroupProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Groups related {@link Navbar} items under an optional label.',
-    },
-    {
-      name: 'NavGroupProps',
-      anchor: 'nav-group-props',
-      signature:
-        'NavGroupProps: Omit<BlockDivProps, "title"> & {\n  label?: unknown;\n  title?: unknown;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link NavGroup } component.',
-      members: [
         {
-          name: 'label',
+          name: 'onPress',
           summary: '',
-          signature: 'label?: unknown;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'title',
+          name: 'ref',
           summary: '',
-          signature: 'title?: unknown;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SelectTriggerSize | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
     {
-      name: 'NavigationMenu',
-      anchor: 'navigation-menu',
-      signature:
-        'NavigationMenu: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Styling-only navigation-menu anatomy; it does not own disclosure, roving focus, or keyboard behavior.',
-    },
-    {
-      name: 'NavigationMenuContent',
-      anchor: 'navigation-menu-content',
-      signature:
-        'NavigationMenuContent: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'NavigationMenuIndicator',
-      anchor: 'navigation-menu-indicator',
-      signature:
-        'NavigationMenuIndicator: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'NavigationMenuItem',
-      anchor: 'navigation-menu-item',
-      signature:
-        'NavigationMenuItem: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SelectTriggerSize',
+      anchor: 'select-trigger-size',
+      signature: "SelectTriggerSize: 'sm' | 'md' | 'lg'",
       typeOnly: true,
-      summary:
-        'Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives.',
+      summary: 'Select Trigger Size.',
     },
     {
-      name: 'NavigationMenuLink',
-      anchor: 'navigation-menu-link',
+      name: 'SelectValue',
+      anchor: 'select-value',
       signature:
-        'NavigationMenuLink: (props: CatalogComponentProps) => JSX.Element',
+        'SelectValue: { (props: SelectValueProps): JSX.Element | null; (props: SelectValueAsChildProps): JSX.Element | null; }',
       typeOnly: true,
       summary:
-        'Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives.',
+        'Renders the `select-value` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'NavigationMenuList',
-      anchor: 'navigation-menu-list',
+      name: 'SelectValueAsChildProps',
+      anchor: 'select-value-as-child-props',
       signature:
-        'NavigationMenuList: (props: CatalogComponentProps) => JSX.Element',
+        'SelectValueAsChildProps: BoxAsChildProps & SelectValueOwnProps',
       typeOnly: true,
       summary:
-        'Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives.',
+        'Props for the `asChild` (polymorphic) rendering of Select Value.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'placeholder',
+          summary: '',
+          signature: 'placeholder?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
     },
     {
-      name: 'NavigationMenuTrigger',
-      anchor: 'navigation-menu-trigger',
+      name: 'SelectValueOwnProps',
+      anchor: 'select-value-own-props',
       signature:
-        'NavigationMenuTrigger: (props: CatalogComponentProps<HTMLButtonElement>) => JSX.Element',
+        'SelectValueOwnProps: {\n  placeholder?: string;\n  children?: unknown;\n}',
       typeOnly: true,
       summary:
-        'Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives.',
+        'Own props for Select Value, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'placeholder',
+          summary: '',
+          signature: 'placeholder?: string | undefined;',
+        },
+      ],
     },
     {
-      name: 'NavigationMenuViewport',
-      anchor: 'navigation-menu-viewport',
+      name: 'SelectValueProps',
+      anchor: 'select-value-props',
       signature:
-        'NavigationMenuViewport: (props: CatalogComponentProps) => JSX.Element',
+        "SelectValueProps: BoxProps<'span', HTMLSpanElement> & SelectValueOwnProps",
       typeOnly: true,
-      summary:
-        'Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Select Value.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'placeholder',
+          summary: '',
+          signature: 'placeholder?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLSpanElement>;',
+        },
+      ],
     },
+  ],
+  symbols108: [
     {
-      name: 'NavItem',
-      anchor: 'nav-item',
+      name: 'Separator',
+      anchor: 'separator',
       signature:
-        'NavItem: { (props: NavItemProps): JSX.Element; (props: NavItemAsChildProps): JSX.Element; }',
+        'Separator: { (props: SeparatorNativeProps): JSX.Element; (props: SeparatorAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'A generic navigation item, rendered as an `<a>` (or, with `asChild`, merged onto a child), highlighted when `active`.',
+        'Visual divider, defaulting to horizontal `role="separator"`; pass\n`decorative` to drop the semantic role, or `asChild` to merge onto a\nsingle child element.',
     },
     {
-      name: 'NavItemAsChildProps',
-      anchor: 'nav-item-as-child-props',
+      name: 'SeparatorAsChildProps',
+      anchor: 'separator-as-child-props',
       signature:
-        'NavItemAsChildProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        'SeparatorAsChildProps: SeparatorOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
       typeOnly: true,
       summary:
-        'Props for {@link NavItem } rendered with `asChild`, merging onto a single child element.',
+        'Props for {@link Separator } rendered with `asChild`, merging its attributes onto a single child element.',
       members: [
-        {
-          name: 'active',
-          summary: '',
-          signature: 'active?: boolean | undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
@@ -37597,6 +46630,16 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'children: JSXElement;',
         },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
         {
           name: 'ref',
           summary: '',
@@ -37605,19 +46648,14 @@ export const apiSymbolSets: Readonly<
       ],
     },
     {
-      name: 'NavItemProps',
-      anchor: 'nav-item-props',
+      name: 'SeparatorNativeProps',
+      anchor: 'separator-native-props',
       signature:
-        'NavItemProps: Omit<JSX.IntrinsicElements["a"], "children" | "ref"> & NavItemOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLAnchorElement>;\n}',
+        'SeparatorNativeProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SeparatorOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
       typeOnly: true,
       summary:
-        'Props for {@link NavItem } rendered as its default `<a>` element.',
+        'Props for {@link Separator } rendered as its default `<div>` element.',
       members: [
-        {
-          name: 'active',
-          summary: '',
-          signature: 'active?: boolean | undefined;',
-        },
         {
           name: 'asChild',
           summary: '',
@@ -37628,577 +46666,658 @@ export const apiSymbolSets: Readonly<
           summary: '',
           signature: 'children?: unknown;',
         },
+        {
+          name: 'decorative',
+          summary: '',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+        },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLAnchorElement>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
     {
-      name: 'NavLink',
-      anchor: 'nav-link',
-      signature: 'NavLink: (props: NavLinkProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'A router-aware navigation link that highlights itself when its route matches the current location.',
-    },
-    {
-      name: 'NavLinkProps',
-      anchor: 'nav-link-props',
-      signature: 'NavLinkProps: LinkProps & NavLinkOwnProps',
+      name: 'SeparatorOwnProps',
+      anchor: 'separator-own-props',
+      signature:
+        'SeparatorOwnProps: {\n  decorative?: boolean;\n  orientation?: "horizontal" | "vertical";\n  children?: unknown;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link NavLink } component.',
+      summary: 'Props shared by both {@link Separator } call signatures.',
       members: [
         {
-          name: 'active',
+          name: 'children',
           summary: '',
-          signature: 'active?: boolean | undefined;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'match',
+          name: 'decorative',
           summary: '',
-          signature: 'match?: NavLinkMatch | undefined;',
+          signature: 'decorative?: boolean | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
         },
       ],
     },
     {
-      name: 'Page',
-      anchor: 'page',
-      signature: 'Page: (props: PageProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Top-level page wrapper: a growing `<main>` containing a {@link Container } with vertical page padding and content spacing.',
-    },
-    {
-      name: 'PageHeader',
-      anchor: 'page-header',
-      signature: 'PageHeader: (props: PageHeaderProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Page-level header with a title, optional description, and an actions row that wraps to a new line on small screens.',
-    },
-    {
-      name: 'PageHeaderProps',
-      anchor: 'page-header-props',
-      signature:
-        'PageHeaderProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {\n  title: unknown;\n  description?: unknown;\n  actions?: unknown;\n  direction?: never;\n  rowFrom?: never;\n}',
+      name: 'SeparatorProps',
+      anchor: 'separator-props',
+      signature: 'SeparatorProps: SeparatorNativeProps | SeparatorAsChildProps',
       typeOnly: true,
-      summary: 'Props for the {@link PageHeader } component.',
+      summary: 'Union of all prop shapes accepted by {@link Separator }.',
       members: [
         {
-          name: 'actions',
+          name: 'asChild',
           summary: '',
-          signature: 'actions?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'description',
+          name: 'children',
           summary: '',
-          signature: 'description?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'direction',
+          name: 'decorative',
           summary: '',
-          signature: 'direction?: undefined;',
+          signature: 'decorative?: boolean | undefined;',
         },
         {
-          name: 'rowFrom',
+          name: 'orientation',
           summary: '',
-          signature: 'rowFrom?: undefined;',
+          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
         },
         {
-          name: 'title',
+          name: 'ref',
           summary: '',
-          signature: 'title: unknown;',
+          signature:
+            'ref?: ((value: unknown) => void) | { current: unknown; } | ((value: HTMLDivElement | null) => void) | { current: HTMLDivElement | null; } | null | undefined;',
         },
       ],
     },
+  ],
+  symbols109: [
     {
-      name: 'PageProps',
-      anchor: 'page-props',
-      signature: 'PageProps: MainProps',
+      name: 'Sheet',
+      anchor: 'sheet',
+      signature: 'Dialog: (props: DialogProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Props for the {@link Page } component.',
+      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
+      tags: {
+        example: [
+          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
+        ],
+      },
     },
     {
-      name: 'Pagination',
-      anchor: 'pagination',
-      signature: 'Pagination: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SheetClose',
+      anchor: 'sheet-close',
+      signature:
+        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `pagination` part of the shadcn-compatible catalog primitives.',
+        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'PaginationContent',
-      anchor: 'pagination-content',
+      name: 'SheetContent',
+      anchor: 'sheet-content',
       signature:
-        'PaginationContent: (props: CatalogComponentProps) => JSX.Element',
+        'SheetContent: (props: CatalogComponentProps & { side?: "top" | "right" | "bottom" | "left"; }) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `pagination-content` part of the shadcn-compatible catalog primitives.',
+        'Sheet variant of the dialog content part; defaults to sliding in from the right.',
     },
     {
-      name: 'PaginationEllipsis',
-      anchor: 'pagination-ellipsis',
+      name: 'SheetDescription',
+      anchor: 'sheet-description',
       signature:
-        'PaginationEllipsis: (props: CatalogComponentProps) => JSX.Element',
+        'SheetDescription: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders a non-interactive ellipsis marker between pagination links.',
+      summary: 'Sheet variant of the dialog description part.',
     },
     {
-      name: 'PaginationItem',
-      anchor: 'pagination-item',
-      signature:
-        'PaginationItem: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SheetFooter',
+      anchor: 'sheet-footer',
+      signature: 'SheetFooter: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `pagination-item` part of the shadcn-compatible catalog primitives.',
+        'Renders the `sheet-footer` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'PaginationLink',
-      anchor: 'pagination-link',
-      signature:
-        'PaginationLink: (props: CatalogComponentProps & { active?: boolean; }) => JSX.Element',
+      name: 'SheetHeader',
+      anchor: 'sheet-header',
+      signature: 'SheetHeader: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders a pagination page link, marking it `aria-current="page"` when `active`.',
+        'Renders the `sheet-header` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'PaginationNext',
-      anchor: 'pagination-next',
+      name: 'SheetOverlay',
+      anchor: 'sheet-overlay',
       signature:
-        'PaginationNext: (props: CatalogComponentProps) => JSX.Element',
+        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
       typeOnly: true,
-      summary: 'Pagination link that moves to the next page.',
+      summary:
+        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'PaginationPrevious',
-      anchor: 'pagination-previous',
+      name: 'SheetPortal',
+      anchor: 'sheet-portal',
       signature:
-        'PaginationPrevious: (props: CatalogComponentProps) => JSX.Element',
+        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
       typeOnly: true,
-      summary: 'Pagination link that moves to the previous page.',
+      summary: 'Renders a part of `dialog`.',
     },
     {
-      name: 'Pill',
-      anchor: 'pill',
-      signature: 'Pill: (props: PillProps) => JSX.Element',
+      name: 'SheetTitle',
+      anchor: 'sheet-title',
+      signature: 'SheetTitle: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'A router-aware link styled as a pill, auto-marked active by matching the current route, with an active background highlight.',
+      summary: 'Sheet variant of the dialog title part.',
     },
     {
-      name: 'PillProps',
-      anchor: 'pill-props',
-      signature: 'PillProps: LinkProps & NavLinkOwnProps',
+      name: 'SheetTrigger',
+      anchor: 'sheet-trigger',
+      signature:
+        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Props for the {@link Pill } component.',
-      members: [
-        {
-          name: 'active',
-          summary: '',
-          signature: 'active?: boolean | undefined;',
-        },
-        {
-          name: 'match',
-          summary: '',
-          signature: 'match?: NavLinkMatch | undefined;',
-        },
-      ],
+      summary:
+        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
     },
+  ],
+  symbols110: [
     {
-      name: 'Pills',
-      anchor: 'pills',
-      signature:
-        'Pills: { (props: PillsProps): JSX.Element; (props: PillsAsChildProps): JSX.Element; }',
+      name: 'Sidebar',
+      anchor: 'sidebar',
+      signature: 'Sidebar: (props: SidebarProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Pill} links.',
+        'Root `<aside>` sidebar layout with configurable width, side, collapse behavior, and visual variant, exposed as data attributes for CSS.',
     },
     {
-      name: 'PillsAsChildProps',
-      anchor: 'pills-as-child-props',
+      name: 'SidebarButtonProps',
+      anchor: 'sidebar-button-props',
       signature:
-        'PillsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        'SidebarButtonProps: JSX.IntrinsicElements["button"] & {\n  active?: boolean;\n  asChild?: boolean;\n  size?: "default" | "sm" | "lg";\n  tooltip?: string;\n  tooltipSide?: SidebarTooltipSide;\n  variant?: "default" | "outline";\n}',
       typeOnly: true,
       summary:
-        'Props for {@link Pills } rendered with `asChild`, merging onto a single child element.',
+        'Props shared by the interactive {@link Sidebar } button parts (menu button, action, trigger).',
       members: [
         {
-          name: 'asChild',
+          name: 'active',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'active?: boolean | undefined;',
         },
         {
-          name: 'children',
+          name: 'asChild',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'ref',
+          name: 'size',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'size?: "default" | "sm" | "lg" | undefined;',
         },
-      ],
-    },
-    {
-      name: 'PillsProps',
-      anchor: 'pills-props',
-      signature:
-        'PillsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & PillsOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLElement>;\n}',
-      typeOnly: true,
-      summary:
-        'Props for {@link Pills } rendered as its default `<nav>` element.',
-      members: [
         {
-          name: 'asChild',
+          name: 'tooltip',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'tooltip?: string | undefined;',
         },
         {
-          name: 'children',
+          name: 'tooltipSide',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
         },
         {
-          name: 'ref',
+          name: 'variant',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'variant?: "default" | "outline" | undefined;',
         },
       ],
     },
     {
-      name: 'Popover',
-      anchor: 'popover',
-      signature:
-        'Popover: (props: PopoverProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `popover`.',
-    },
-    {
-      name: 'PopoverClose',
-      anchor: 'popover-close',
-      signature:
-        'PopoverClose: { (props: PopoverCloseProps): JSX.Element; (props: PopoverCloseAsChildProps): JSX.Element; }',
+      name: 'SidebarCollapsible',
+      anchor: 'sidebar-collapsible',
+      signature: 'SidebarCollapsible: "offcanvas" | "icon" | "none"',
       typeOnly: true,
       summary:
-        'Renders the `popover-close` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
+        'How a {@link Sidebar } collapses: fully off-canvas, down to icons only, or not at all.',
     },
     {
-      name: 'PopoverContent',
-      anchor: 'popover-content',
-      signature:
-        'PopoverContent: { (props: PopoverContentProps): JSX.Element | null; (props: PopoverContentAsChildProps): JSX.Element | null; }',
+      name: 'SidebarContent',
+      anchor: 'sidebar-content',
+      signature: 'SidebarContent: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `popover-content` part of `popover` with `role="dialog"`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Renders the scrollable content region of a {@link Sidebar}.',
     },
     {
-      name: 'PopoverContentWidth',
-      anchor: 'popover-content-width',
-      signature: "PopoverContentWidth: 'sm' | 'md' | 'lg'",
+      name: 'SidebarFooter',
+      anchor: 'sidebar-footer',
+      signature: 'SidebarFooter: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Popover Content Width.',
+      summary: 'Renders the footer region of a {@link Sidebar}.',
     },
     {
-      name: 'PopoverPortal',
-      anchor: 'popover-portal',
-      signature:
-        'PopoverPortal: (props: PopoverPortalProps) => JSX.Element | null',
+      name: 'SidebarGroup',
+      anchor: 'sidebar-group',
+      signature: 'SidebarGroup: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a part of `popover`.',
+      summary: 'Groups related {@link SidebarMenu} items together.',
     },
     {
-      name: 'PopoverTrigger',
-      anchor: 'popover-trigger',
+      name: 'SidebarGroupContent',
+      anchor: 'sidebar-group-content',
       signature:
-        'PopoverTrigger: { (props: PopoverTriggerProps): JSX.Element; (props: PopoverTriggerAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `popover-trigger` part of `popover`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Progress',
-      anchor: 'progress',
-      signature: 'Progress: (props: ProgressProps) => JSX.Element',
+        'SidebarGroupContent: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `progress` part of `progress` with `role="progressbar"`.',
+      summary: 'Renders the content region of a {@link SidebarGroup}.',
     },
     {
-      name: 'ProgressCircle',
-      anchor: 'progress-circle',
-      signature: 'ProgressCircle: (props: ProgressCircleProps) => JSX.Element',
+      name: 'SidebarGroupLabel',
+      anchor: 'sidebar-group-label',
+      signature: 'SidebarGroupLabel: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Headless circular progress indicator root.\n\nNormalizes value/max, computes percentage, exposes `--ak-progress-percentage`\nas a dynamically injected CSS custom property, and provides progress state\nto `ProgressCircleIndicator` via context.',
+      summary: 'Renders the label for a {@link SidebarGroup}.',
     },
     {
-      name: 'ProgressCircleIndicator',
-      anchor: 'progress-circle-indicator',
-      signature:
-        'ProgressCircleIndicator: { (props: ProgressCircleIndicatorProps): JSX.Element; (props: ProgressCircleIndicatorAsChildProps): JSX.Element; }',
+      name: 'SidebarHeader',
+      anchor: 'sidebar-header',
+      signature: 'SidebarHeader: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Visual indicator for `ProgressCircle`, rendering the fill/arc element.\nMust be used within a `ProgressCircle`; reads progress state from context\nand exposes it as `data-state`/`data-value`/`data-max`/`data-percentage`.',
+      summary: 'Renders the header region of a {@link Sidebar}.',
     },
     {
-      name: 'ProgressIndicator',
-      anchor: 'progress-indicator',
-      signature:
-        'ProgressIndicator: { (props: ProgressIndicatorProps): JSX.Element; (props: ProgressIndicatorAsChildProps): JSX.Element; }',
+      name: 'SidebarInset',
+      anchor: 'sidebar-inset',
+      signature: 'SidebarInset: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `progress-indicator` part of `progress`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Renders the `<main>` content area beside the {@link Sidebar}.',
     },
     {
-      name: 'RadioGroup',
-      anchor: 'radio-group',
-      signature:
-        'RadioGroup: (props: RadioGroupProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
+      name: 'SidebarMenu',
+      anchor: 'sidebar-menu',
+      signature: 'SidebarMenu: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Renders a part of `radio-group`.',
+      summary: 'Renders a `<ul>` list of {@link SidebarMenuItem}s.',
     },
     {
-      name: 'RadioGroupItem',
-      anchor: 'radio-group-item',
+      name: 'SidebarMenuAction',
+      anchor: 'sidebar-menu-action',
       signature:
-        'RadioGroupItem: { (props: RadioGroupItemProps): JSX.Element; (props: RadioGroupItemAsChildProps): JSX.Element; }',
+        'SidebarMenuAction: (props: SidebarButtonProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `radio-group-item` part of `radio-group` with `role="radio"`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders a secondary action button attached to a {@link SidebarMenuItem}, with an optional tooltip.',
     },
     {
-      name: 'ResizableHandle',
-      anchor: 'resizable-handle',
-      signature:
-        'ResizableHandle: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SidebarMenuBadge',
+      anchor: 'sidebar-menu-badge',
+      signature: 'SidebarMenuBadge: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls.',
+      summary: 'Renders a status badge attached to a {@link SidebarMenuItem}.',
     },
     {
-      name: 'ResizablePanel',
-      anchor: 'resizable-panel',
+      name: 'SidebarMenuButton',
+      anchor: 'sidebar-menu-button',
       signature:
-        'ResizablePanel: (props: CatalogComponentProps) => JSX.Element',
+        'SidebarMenuButton: (props: SidebarButtonProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Styling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions.',
+        'Clickable menu button within a {@link SidebarMenuItem}; supports `active`/`size`/`variant` state and an optional tooltip.',
     },
     {
-      name: 'ResizablePanelGroup',
-      anchor: 'resizable-panel-group',
-      signature:
-        'ResizablePanelGroup: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SidebarMenuItem',
+      anchor: 'sidebar-menu-item',
+      signature: 'SidebarMenuItem: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Styling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing.\nConsumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.',
+      summary: 'Renders a single `<li>` entry within a {@link SidebarMenu}.',
     },
     {
-      name: 'ScrollArea',
-      anchor: 'scroll-area',
+      name: 'SidebarPartProps',
+      anchor: 'sidebar-part-props',
       signature:
-        'ScrollArea: { (props: ScrollAreaProps): JSX.Element; (props: ScrollAreaAsChildProps): JSX.Element; }',
+        'SidebarPartProps: JSX.IntrinsicElements["div"] & {\n  as?: keyof JSX.IntrinsicElements;\n  asChild?: boolean;\n}',
       typeOnly: true,
-      summary: 'Renders a part of `scroll-area`.',
+      summary:
+        'Props shared by the generic {@link Sidebar } structural parts (content, header, footer, group, etc.).',
+      members: [
+        {
+          name: 'as',
+          summary: '',
+          signature: 'as?: keyof JSX.IntrinsicElements | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+      ],
     },
     {
-      name: 'ScrollAreaCorner',
-      anchor: 'scroll-area-corner',
+      name: 'SidebarProps',
+      anchor: 'sidebar-props',
       signature:
-        'ScrollAreaCorner: (props: ScrollAreaCornerProps) => JSX.Element',
+        'SidebarProps: Omit<BlockElementProps<"aside">, "as" | "width" | "shrink"> & {\n  collapsible?: SidebarCollapsible;\n  side?: SidebarSide;\n  variant?: SidebarVariant;\n  width?: BlockElementProps<"aside">["width"];\n  shrink?: BlockElementProps<"aside">["shrink"];\n}',
       typeOnly: true,
-      summary: 'Renders the `scroll-area-corner` part of `scroll-area`.',
+      summary: 'Props for the {@link Sidebar } component.',
+      members: [
+        {
+          name: 'collapsible',
+          summary: '',
+          signature: 'collapsible?: SidebarCollapsible | undefined;',
+        },
+        {
+          name: 'shrink',
+          summary: '',
+          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+        },
+        {
+          name: 'side',
+          summary: '',
+          signature: 'side?: SidebarSide | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: SidebarVariant | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+        },
+      ],
     },
     {
-      name: 'ScrollAreaScrollbar',
-      anchor: 'scroll-area-scrollbar',
-      signature:
-        'ScrollAreaScrollbar: (props: ScrollAreaScrollbarProps) => JSX.Element',
+      name: 'SidebarRail',
+      anchor: 'sidebar-rail',
+      signature: 'SidebarRail: (props: SidebarButtonProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `scroll-area-scrollbar` part of `scroll-area` with `role="scrollbar"`.',
-    },
-    {
-      name: 'ScrollAreaThumb',
-      anchor: 'scroll-area-thumb',
-      signature:
-        'ScrollAreaThumb: (props: ScrollAreaThumbProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the `scroll-area-thumb` part of `scroll-area`.',
+        "Renders a draggable/clickable rail along the sidebar's edge for resizing or toggling it.",
     },
     {
-      name: 'ScrollAreaViewport',
-      anchor: 'scroll-area-viewport',
-      signature:
-        'ScrollAreaViewport: { (props: ScrollAreaViewportProps): JSX.Element; (props: ScrollAreaViewportAsChildProps): JSX.Element; }',
+      name: 'SidebarRailProps',
+      anchor: 'sidebar-rail-props',
+      signature: 'SidebarRailProps: SidebarButtonProps',
       typeOnly: true,
-      summary: 'Renders a part of `scroll-area`.',
+      summary: 'Props for the {@link SidebarRail } component.',
+      members: [
+        {
+          name: 'active',
+          summary: '',
+          signature: 'active?: boolean | undefined;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: "default" | "sm" | "lg" | undefined;',
+        },
+        {
+          name: 'tooltip',
+          summary: '',
+          signature: 'tooltip?: string | undefined;',
+        },
+        {
+          name: 'tooltipSide',
+          summary: '',
+          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: "default" | "outline" | undefined;',
+        },
+      ],
     },
     {
-      name: 'Section',
-      anchor: 'section',
-      signature: 'Section: (props: SectionProps) => JSX.Element',
+      name: 'SidebarScope',
+      anchor: 'sidebar-scope',
+      signature: 'SidebarScope: (props: SidebarPartProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders a `<section>`-element {@link Block } with vertical spacing between children and page padding.',
-    },
-    {
-      name: 'SectionProps',
-      anchor: 'section-props',
-      signature: 'SectionProps: Omit<BlockElementProps<"section">, "as">',
-      typeOnly: true,
-      summary: 'Props for the {@link Section } component.',
+        "Scoping wrapper that establishes the sidebar's CSS/context boundary.",
     },
     {
-      name: 'Select',
-      anchor: 'select',
-      signature: 'Select: (props: SelectProps) => JSX.Element',
+      name: 'SidebarSide',
+      anchor: 'sidebar-side',
+      signature: 'SidebarSide: "left" | "right"',
       typeOnly: true,
-      summary: 'Renders a part of `select`.',
+      summary: 'Which edge of the viewport a {@link Sidebar } is docked to.',
     },
     {
-      name: 'SelectContent',
-      anchor: 'select-content',
-      signature:
-        'SelectContent: { (props: SelectContentProps): JSX.Element | null; (props: SelectContentAsChildProps): JSX.Element | null; }',
+      name: 'SidebarTooltipSide',
+      anchor: 'sidebar-tooltip-side',
+      signature: 'SidebarTooltipSide: "top" | "bottom" | "left" | "right"',
       typeOnly: true,
-      summary:
-        'Renders a part of `select` with `role="listbox"`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: "Side a sidebar button's tooltip is positioned on.",
     },
     {
-      name: 'SelectGroup',
-      anchor: 'select-group',
-      signature:
-        'SelectGroup: { (props: SelectGroupProps): JSX.Element; (props: SelectGroupAsChildProps): JSX.Element; }',
+      name: 'SidebarTrigger',
+      anchor: 'sidebar-trigger',
+      signature: 'SidebarTrigger: (props: SidebarButtonProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `select-group` part of `select` with `role="group"`.\n\nSupports polymorphic rendering via `asChild`.',
+        "Icon button that toggles the {@link Sidebar}'s open/collapsed state, with an optional tooltip.",
     },
     {
-      name: 'SelectItem',
-      anchor: 'select-item',
-      signature:
-        'SelectItem: { (props: SelectItemProps): JSX.Element | null; (props: SelectItemAsChildProps): JSX.Element | null; }',
+      name: 'SidebarVariant',
+      anchor: 'sidebar-variant',
+      signature: 'SidebarVariant: "sidebar" | "floating" | "inset"',
       typeOnly: true,
-      summary:
-        'Renders a part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Visual style of a {@link Sidebar }.',
     },
+  ],
+  symbols111: [
     {
-      name: 'SelectItemText',
-      anchor: 'select-item-text',
+      name: 'Skeleton',
+      anchor: 'skeleton',
       signature:
-        'SelectItemText: { (props: SelectItemTextProps): JSX.Element; (props: SelectItemTextAsChildProps): JSX.Element; }',
+        'Skeleton: { (props: SkeletonProps): JSX.Element; (props: SkeletonAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'SelectItemText marks the item text node so Select can resolve labels and\nstyle the text slot directly.\nRenders the `select-item-text` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Loading placeholder block with configurable `width`/`height`, hidden from assistive tech via `aria-hidden`, rendered as a `<div>` or merged onto a child via `asChild`.',
     },
     {
-      name: 'SelectLabel',
-      anchor: 'select-label',
+      name: 'SkeletonAsChildProps',
+      anchor: 'skeleton-as-child-props',
       signature:
-        'SelectLabel: { (props: SelectLabelProps): JSX.Element | null; (props: SelectLabelAsChildProps): JSX.Element | null; }',
+        'SkeletonAsChildProps: SkeletonOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
       typeOnly: true,
       summary:
-        'Renders the `select-label` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'SelectPortal',
-      anchor: 'select-portal',
-      signature:
-        'SelectPortal: (props: SelectPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `select`.',
+        'Props for {@link Skeleton } rendered with `asChild`, merging its attributes onto a single child element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<unknown>;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
     },
     {
-      name: 'SelectSeparator',
-      anchor: 'select-separator',
+      name: 'SkeletonOwnProps',
+      anchor: 'skeleton-own-props',
       signature:
-        'SelectSeparator: { (props: SelectSeparatorProps): JSX.Element | null; (props: SelectSeparatorAsChildProps): JSX.Element | null; }',
+        'SkeletonOwnProps: {\n  children?: unknown;\n  height?: string | number;\n  width?: string | number;\n}',
       typeOnly: true,
-      summary:
-        'Renders the `select-separator` part of `select` with `role="separator"`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Props shared by both {@link Skeleton } call signatures.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
     },
     {
-      name: 'SelectTrigger',
-      anchor: 'select-trigger',
+      name: 'SkeletonProps',
+      anchor: 'skeleton-props',
       signature:
-        'SelectTrigger: { (props: SelectTriggerProps): JSX.Element | null; (props: SelectTriggerAsChildProps): JSX.Element | null; }',
+        'SkeletonProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SkeletonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
       typeOnly: true,
       summary:
-        'Renders the `select-trigger` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'SelectTriggerSize',
-      anchor: 'select-trigger-size',
-      signature: "SelectTriggerSize: 'sm' | 'md' | 'lg'",
-      typeOnly: true,
-      summary: 'Select Trigger Size.',
+        'Props for {@link Skeleton } rendered as its default `<div>` element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: string | number | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'width',
+          summary: '',
+          signature: 'width?: string | number | undefined;',
+        },
+      ],
     },
+  ],
+  symbols112: [
     {
-      name: 'SelectValue',
-      anchor: 'select-value',
-      signature:
-        'SelectValue: { (props: SelectValueProps): JSX.Element | null; (props: SelectValueAsChildProps): JSX.Element | null; }',
+      name: 'Slider',
+      anchor: 'slider',
+      signature: 'Slider: (props: SliderProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders the `select-value` part of `select`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Renders the `slider` part of `slider`.',
     },
     {
-      name: 'Separator',
-      anchor: 'separator',
-      signature:
-        'Separator: { (props: SeparatorNativeProps): JSX.Element; (props: SeparatorAsChildProps): JSX.Element; }',
+      name: 'SliderOrientation',
+      anchor: 'slider-orientation',
+      signature: "SliderOrientation: 'horizontal' | 'vertical'",
       typeOnly: true,
-      summary:
-        'Visual divider, defaulting to horizontal `role="separator"`; pass\n`decorative` to drop the semantic role, or `asChild` to merge onto a\nsingle child element.',
+      summary: 'Slider Orientation.',
     },
     {
-      name: 'SeparatorAsChildProps',
-      anchor: 'separator-as-child-props',
+      name: 'SliderOwnProps',
+      anchor: 'slider-own-props',
       signature:
-        'SeparatorAsChildProps: SeparatorOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        'SliderOwnProps: {\n  /** Supports literal, nested, array-mapped, and `For`-rendered descendants. */\n  children?: unknown;\n  id?: string;\n  value?: number;\n  defaultValue?: number;\n  onValueChange?: (value: number) => void;\n  min?: number;\n  max?: number;\n  step?: number;\n  orientation?: SliderOrientation;\n  disabled?: boolean;\n  name?: string;\n}',
       typeOnly: true,
       summary:
-        'Props for {@link Separator } rendered with `asChild`, merging its attributes onto a single child element.',
+        'Own props for Slider, before merging with native element attributes.',
       members: [
         {
-          name: 'asChild',
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultValue',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'defaultValue?: number | undefined;',
         },
         {
-          name: 'children',
+          name: 'disabled',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'decorative',
+          name: 'id',
           summary: '',
-          signature: 'decorative?: boolean | undefined;',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'max',
+          summary: '',
+          signature: 'max?: number | undefined;',
+        },
+        {
+          name: 'min',
+          summary: '',
+          signature: 'min?: number | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature: 'onValueChange?: ((value: number) => void) | undefined;',
         },
         {
           name: 'orientation',
           summary: '',
-          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+          signature: 'orientation?: SliderOrientation | undefined;',
         },
         {
-          name: 'ref',
+          name: 'step',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'step?: number | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: number | undefined;',
         },
       ],
     },
     {
-      name: 'SeparatorNativeProps',
-      anchor: 'separator-native-props',
+      name: 'SliderProps',
+      anchor: 'slider-props',
       signature:
-        'SeparatorNativeProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SeparatorOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
+        "SliderProps: BoxProps<'div', HTMLDivElement> & SliderOwnProps",
       typeOnly: true,
-      summary:
-        'Props for {@link Separator } rendered as its default `<div>` element.',
+      summary: 'Props for Slider.',
       members: [
         {
           name: 'asChild',
@@ -38207,62 +47326,112 @@ export const apiSymbolSets: Readonly<
         },
         {
           name: 'children',
-          summary: '',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
           signature: 'children?: unknown;',
         },
         {
-          name: 'decorative',
+          name: 'defaultValue',
           summary: '',
-          signature: 'decorative?: boolean | undefined;',
+          signature: 'defaultValue?: number | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'max',
+          summary: '',
+          signature: 'max?: number | undefined;',
+        },
+        {
+          name: 'min',
+          summary: '',
+          signature: 'min?: number | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature: 'onValueChange?: ((value: number) => void) | undefined;',
         },
         {
           name: 'orientation',
           summary: '',
-          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+          signature: 'orientation?: SliderOrientation | undefined;',
         },
         {
           name: 'ref',
           summary: '',
           signature: 'ref?: Ref<HTMLDivElement>;',
         },
+        {
+          name: 'step',
+          summary: '',
+          signature: 'step?: number | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: number | undefined;',
+        },
       ],
     },
     {
-      name: 'SeparatorOwnProps',
-      anchor: 'separator-own-props',
+      name: 'SliderRange',
+      anchor: 'slider-range',
       signature:
-        'SeparatorOwnProps: {\n  decorative?: boolean;\n  orientation?: "horizontal" | "vertical";\n  children?: unknown;\n}',
+        'SliderRange: { (props: SliderRangeProps): JSX.Element; (props: SliderRangeAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Props shared by both {@link Separator } call signatures.',
+      summary:
+        'Renders the `slider-range` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SliderRangeAsChildProps',
+      anchor: 'slider-range-as-child-props',
+      signature: 'SliderRangeAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Slider Range.',
       members: [
         {
-          name: 'children',
+          name: 'asChild',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'decorative',
+          name: 'children',
           summary: '',
-          signature: 'decorative?: boolean | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'orientation',
+          name: 'ref',
           summary: '',
-          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'SeparatorProps',
-      anchor: 'separator-props',
-      signature: 'SeparatorProps: SeparatorNativeProps | SeparatorAsChildProps',
+      name: 'SliderRangeProps',
+      anchor: 'slider-range-props',
+      signature: "SliderRangeProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Union of all prop shapes accepted by {@link Separator }.',
+      summary: 'Props for Slider Range.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
@@ -38270,479 +47439,579 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'decorative',
+          name: 'ref',
           summary: '',
-          signature: 'decorative?: boolean | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
+      ],
+    },
+    {
+      name: 'SliderThumb',
+      anchor: 'slider-thumb',
+      signature:
+        'SliderThumb: { (props: SliderThumbProps): JSX.Element; (props: SliderThumbAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `slider-thumb` part of `slider` with `role="slider"`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'SliderThumbAsChildProps',
+      anchor: 'slider-thumb-as-child-props',
+      signature: 'SliderThumbAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Slider Thumb.',
+      members: [
         {
-          name: 'orientation',
+          name: 'asChild',
           summary: '',
-          signature: 'orientation?: "vertical" | "horizontal" | undefined;',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
         },
         {
           name: 'ref',
           summary: '',
-          signature:
-            'ref?: ((value: unknown) => void) | { current: unknown; } | ((value: HTMLDivElement | null) => void) | { current: HTMLDivElement | null; } | null | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'Sheet',
-      anchor: 'sheet',
-      signature: 'Dialog: (props: DialogProps) => JSX.Element',
+      name: 'SliderThumbProps',
+      anchor: 'slider-thumb-props',
+      signature: "SliderThumbProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary: 'Coordinates the Dialog trigger, portal, overlay, and content.',
-      tags: {
-        example: [
-          '```tsx\n<Dialog>\n  <DialogTrigger>Open dialog</DialogTrigger>\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogContent>Confirm action</DialogContent>\n  </DialogPortal>\n</Dialog>\n```',
-        ],
-      },
+      summary: 'Props for Slider Thumb.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'SheetClose',
-      anchor: 'sheet-close',
+      name: 'SliderTrack',
+      anchor: 'slider-track',
       signature:
-        'DialogClose: { (props: DialogCloseProps): JSX.Element; (props: DialogCloseAsChildProps): JSX.Element; }',
+        'SliderTrack: { (props: SliderTrackProps): JSX.Element; (props: SliderTrackAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Renders the `dialog-close` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+        'Renders the `slider-track` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'SheetContent',
-      anchor: 'sheet-content',
-      signature:
-        'SheetContent: (props: CatalogComponentProps & { side?: "top" | "right" | "bottom" | "left"; }) => JSX.Element',
+      name: 'SliderTrackAsChildProps',
+      anchor: 'slider-track-as-child-props',
+      signature: 'SliderTrackAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Sheet variant of the dialog content part; defaults to sliding in from the right.',
-    },
-    {
-      name: 'SheetDescription',
-      anchor: 'sheet-description',
-      signature:
-        'SheetDescription: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Sheet variant of the dialog description part.',
+        'Props for the `asChild` (polymorphic) rendering of Slider Track.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
     },
     {
-      name: 'SheetFooter',
-      anchor: 'sheet-footer',
-      signature: 'SheetFooter: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SliderTrackProps',
+      anchor: 'slider-track-props',
+      signature: "SliderTrackProps: BoxProps<'div', HTMLDivElement>",
       typeOnly: true,
-      summary:
-        'Renders the `sheet-footer` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Slider Track.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
+  ],
+  symbols113: [
     {
-      name: 'SheetHeader',
-      anchor: 'sheet-header',
-      signature: 'SheetHeader: (props: CatalogComponentProps) => JSX.Element',
+      name: 'Spinner',
+      anchor: 'spinner',
+      signature: 'Spinner: (props: SpinnerProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Renders the `sheet-header` part of the shadcn-compatible catalog primitives.',
+        'Indeterminate loading spinner built on `ProgressCircle`, with an accessible label (defaults to `"Loading"`) and a `size` modifier.',
     },
     {
-      name: 'SheetOverlay',
-      anchor: 'sheet-overlay',
+      name: 'SpinnerOwnProps',
+      anchor: 'spinner-own-props',
       signature:
-        'DialogOverlay: { (props: DialogOverlayProps): JSX.Element | null; (props: DialogOverlayAsChildProps): JSX.Element | null; }',
+        'SpinnerOwnProps: Omit<ProgressCircleProps, "value" | "getValueLabel"> & {\n  label?: string;\n  size?: SpinnerSize;\n}',
       typeOnly: true,
       summary:
-        'Renders the `dialog-overlay` part of `dialog`.\n\nWith `@askrjs/themes/default`, the overlay is fully styled out of the box\nwith the shared backdrop token, blur, stacking, and fade animation. Standard\nDialog and AlertDialog usage requires no additional overlay CSS; customize\nthe theme tokens instead of applying a competing background class.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'SheetPortal',
-      anchor: 'sheet-portal',
-      signature:
-        'DialogPortal: (props: DialogPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `dialog`.',
+        'Props specific to {@link Spinner }, layered on top of `ProgressCircleProps`.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SpinnerSize | undefined;',
+        },
+      ],
     },
     {
-      name: 'SheetTitle',
-      anchor: 'sheet-title',
-      signature: 'SheetTitle: (props: CatalogComponentProps) => JSX.Element',
+      name: 'SpinnerProps',
+      anchor: 'spinner-props',
+      signature: 'SpinnerProps: SpinnerOwnProps',
       typeOnly: true,
-      summary: 'Sheet variant of the dialog title part.',
+      summary: 'Props for the {@link Spinner } component.',
+      members: [
+        {
+          name: 'label',
+          summary: '',
+          signature: 'label?: string | undefined;',
+        },
+        {
+          name: 'size',
+          summary: '',
+          signature: 'size?: SpinnerSize | undefined;',
+        },
+      ],
     },
     {
-      name: 'SheetTrigger',
-      anchor: 'sheet-trigger',
-      signature:
-        'DialogTrigger: { (props: DialogTriggerProps): JSX.Element; (props: DialogTriggerAsChildProps): JSX.Element; }',
+      name: 'SpinnerSize',
+      anchor: 'spinner-size',
+      signature: 'SpinnerSize: "sm" | "md" | "lg"',
       typeOnly: true,
-      summary:
-        'Renders the `dialog-trigger` part of `dialog`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Size modifier for {@link Spinner }.',
     },
+  ],
+  symbols114: [
     {
-      name: 'Sidebar',
-      anchor: 'sidebar',
-      signature: 'Sidebar: (props: SidebarProps) => JSX.Element',
+      name: 'Stack',
+      anchor: 'stack',
+      signature: 'Stack: (props: StackProps) => JSX.Element',
       typeOnly: true,
-      summary:
-        'Root `<aside>` sidebar layout with configurable width, side, collapse behavior, and visual variant, exposed as data attributes for CSS.',
+      summary: 'Vertical content flow with responsive, token-backed spacing.',
     },
     {
-      name: 'SidebarButtonProps',
-      anchor: 'sidebar-button-props',
+      name: 'StackProps',
+      anchor: 'stack-props',
       signature:
-        'SidebarButtonProps: JSX.IntrinsicElements["button"] & {\n  active?: boolean;\n  asChild?: boolean;\n  size?: "default" | "sm" | "lg";\n  tooltip?: string;\n  tooltipSide?: SidebarTooltipSide;\n  variant?: "default" | "outline";\n}',
+        'StackProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "gap" | "padding" | "wrap"> & {\n  direction?: never;\n  gap?: ResponsiveValue<StackSpace>;\n  p?: ResponsiveValue<StackSpace>;\n  padding?: ResponsiveValue<StackSpace>;\n  rowFrom?: never;\n  wrap?: ResponsiveValue<StackWrap>;\n}',
       typeOnly: true,
-      summary:
-        'Props shared by the interactive {@link Sidebar } button parts (menu button, action, trigger).',
       members: [
         {
-          name: 'active',
+          name: 'align',
+          summary: '',
+          signature: 'align?: unknown;',
+        },
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: unknown;',
+        },
+        {
+          name: 'background',
+          summary: '',
+          signature: 'background?: unknown;',
+        },
+        {
+          name: 'border',
+          summary: '',
+          signature: 'border?: unknown;',
+        },
+        {
+          name: 'borderBottom',
+          summary: '',
+          signature: 'borderBottom?: unknown;',
+        },
+        {
+          name: 'borderRight',
+          summary: '',
+          signature: 'borderRight?: unknown;',
+        },
+        {
+          name: 'borderTop',
+          summary: '',
+          signature: 'borderTop?: unknown;',
+        },
+        {
+          name: 'center',
+          summary: '',
+          signature: 'center?: unknown;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'direction',
+          summary: '',
+          signature: 'direction?: undefined;',
+        },
+        {
+          name: 'gap',
+          summary: '',
+          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+        },
+        {
+          name: 'grow',
+          summary: '',
+          signature: 'grow?: unknown;',
+        },
+        {
+          name: 'height',
+          summary: '',
+          signature: 'height?: unknown;',
+        },
+        {
+          name: 'hide',
+          summary: '',
+          signature: 'hide?: unknown;',
+        },
+        {
+          name: 'justify',
+          summary: '',
+          signature: 'justify?: unknown;',
+        },
+        {
+          name: 'margin',
+          summary: '',
+          signature: 'margin?: unknown;',
+        },
+        {
+          name: 'marginX',
+          summary: '',
+          signature: 'marginX?: unknown;',
+        },
+        {
+          name: 'marginY',
+          summary: '',
+          signature: 'marginY?: unknown;',
+        },
+        {
+          name: 'maxHeight',
+          summary: '',
+          signature: 'maxHeight?: unknown;',
+        },
+        {
+          name: 'maxWidth',
+          summary: '',
+          signature: 'maxWidth?: unknown;',
+        },
+        {
+          name: 'minHeight',
           summary: '',
-          signature: 'active?: boolean | undefined;',
+          signature: 'minHeight?: unknown;',
         },
         {
-          name: 'asChild',
+          name: 'minWidth',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          signature: 'minWidth?: unknown;',
         },
         {
-          name: 'size',
+          name: 'p',
           summary: '',
-          signature: 'size?: "default" | "sm" | "lg" | undefined;',
+          signature: 'p?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'tooltip',
+          name: 'padding',
           summary: '',
-          signature: 'tooltip?: string | undefined;',
+          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
         },
         {
-          name: 'tooltipSide',
+          name: 'paddingX',
           summary: '',
-          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
+          signature: 'paddingX?: unknown;',
         },
         {
-          name: 'variant',
+          name: 'paddingY',
           summary: '',
-          signature: 'variant?: "default" | "outline" | undefined;',
+          signature: 'paddingY?: unknown;',
         },
-      ],
-    },
-    {
-      name: 'SidebarCollapsible',
-      anchor: 'sidebar-collapsible',
-      signature: 'SidebarCollapsible: "offcanvas" | "icon" | "none"',
-      typeOnly: true,
-      summary:
-        'How a {@link Sidebar } collapses: fully off-canvas, down to icons only, or not at all.',
-    },
-    {
-      name: 'SidebarContent',
-      anchor: 'sidebar-content',
-      signature: 'SidebarContent: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the scrollable content region of a {@link Sidebar}.',
-    },
-    {
-      name: 'SidebarFooter',
-      anchor: 'sidebar-footer',
-      signature: 'SidebarFooter: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the footer region of a {@link Sidebar}.',
-    },
-    {
-      name: 'SidebarGroup',
-      anchor: 'sidebar-group',
-      signature: 'SidebarGroup: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Groups related {@link SidebarMenu} items together.',
-    },
-    {
-      name: 'SidebarGroupContent',
-      anchor: 'sidebar-group-content',
-      signature:
-        'SidebarGroupContent: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the content region of a {@link SidebarGroup}.',
-    },
-    {
-      name: 'SidebarGroupLabel',
-      anchor: 'sidebar-group-label',
-      signature: 'SidebarGroupLabel: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the label for a {@link SidebarGroup}.',
-    },
-    {
-      name: 'SidebarHeader',
-      anchor: 'sidebar-header',
-      signature: 'SidebarHeader: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the header region of a {@link Sidebar}.',
-    },
-    {
-      name: 'SidebarInset',
-      anchor: 'sidebar-inset',
-      signature: 'SidebarInset: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the `<main>` content area beside the {@link Sidebar}.',
-    },
-    {
-      name: 'SidebarMenu',
-      anchor: 'sidebar-menu',
-      signature: 'SidebarMenu: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a `<ul>` list of {@link SidebarMenuItem}s.',
-    },
-    {
-      name: 'SidebarMenuAction',
-      anchor: 'sidebar-menu-action',
-      signature:
-        'SidebarMenuAction: (props: SidebarButtonProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders a secondary action button attached to a {@link SidebarMenuItem}, with an optional tooltip.',
-    },
-    {
-      name: 'SidebarMenuBadge',
-      anchor: 'sidebar-menu-badge',
-      signature: 'SidebarMenuBadge: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a status badge attached to a {@link SidebarMenuItem}.',
-    },
-    {
-      name: 'SidebarMenuButton',
-      anchor: 'sidebar-menu-button',
-      signature:
-        'SidebarMenuButton: (props: SidebarButtonProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Clickable menu button within a {@link SidebarMenuItem}; supports `active`/`size`/`variant` state and an optional tooltip.',
-    },
-    {
-      name: 'SidebarMenuItem',
-      anchor: 'sidebar-menu-item',
-      signature: 'SidebarMenuItem: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a single `<li>` entry within a {@link SidebarMenu}.',
-    },
-    {
-      name: 'SidebarPartProps',
-      anchor: 'sidebar-part-props',
-      signature:
-        'SidebarPartProps: JSX.IntrinsicElements["div"] & {\n  as?: keyof JSX.IntrinsicElements;\n  asChild?: boolean;\n}',
-      typeOnly: true,
-      summary:
-        'Props shared by the generic {@link Sidebar } structural parts (content, header, footer, group, etc.).',
-      members: [
         {
-          name: 'as',
+          name: 'radius',
           summary: '',
-          signature: 'as?: keyof JSX.IntrinsicElements | undefined;',
+          signature: 'radius?: unknown;',
         },
         {
-          name: 'asChild',
+          name: 'ref',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          signature: 'ref?: unknown;',
         },
-      ],
-    },
-    {
-      name: 'SidebarProps',
-      anchor: 'sidebar-props',
-      signature:
-        'SidebarProps: Omit<BlockElementProps<"aside">, "as" | "width" | "shrink"> & {\n  collapsible?: SidebarCollapsible;\n  side?: SidebarSide;\n  variant?: SidebarVariant;\n  width?: BlockElementProps<"aside">["width"];\n  shrink?: BlockElementProps<"aside">["shrink"];\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link Sidebar } component.',
-      members: [
         {
-          name: 'collapsible',
+          name: 'rowFrom',
           summary: '',
-          signature: 'collapsible?: SidebarCollapsible | undefined;',
+          signature: 'rowFrom?: undefined;',
+        },
+        {
+          name: 'shadow',
+          summary: '',
+          signature: 'shadow?: unknown;',
         },
         {
           name: 'shrink',
           summary: '',
-          signature: 'shrink?: ResponsiveValue<number | boolean> | undefined;',
+          signature: 'shrink?: unknown;',
         },
         {
-          name: 'side',
+          name: 'sticky',
           summary: '',
-          signature: 'side?: SidebarSide | undefined;',
+          signature: 'sticky?: unknown;',
         },
         {
-          name: 'variant',
+          name: 'top',
           summary: '',
-          signature: 'variant?: SidebarVariant | undefined;',
+          signature: 'top?: unknown;',
         },
         {
           name: 'width',
           summary: '',
-          signature: 'width?: ResponsiveValue<BlockSize> | undefined;',
+          signature: 'width?: unknown;',
+        },
+        {
+          name: 'wrap',
+          summary: '',
+          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+        },
+        {
+          name: 'zIndex',
+          summary: '',
+          signature: 'zIndex?: unknown;',
         },
       ],
     },
+  ],
+  symbols115: [
     {
-      name: 'SidebarRail',
-      anchor: 'sidebar-rail',
-      signature: 'SidebarRail: (props: SidebarButtonProps) => JSX.Element',
+      name: 'Switch',
+      anchor: 'switch',
+      signature:
+        'Switch: { (props: SwitchButtonProps): JSX.Element; (props: SwitchAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        "Renders a draggable/clickable rail along the sidebar's edge for resizing or toggling it.",
+        'Renders the `switch` part of `switch` with `role="switch"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'SidebarRailProps',
-      anchor: 'sidebar-rail-props',
-      signature: 'SidebarRailProps: SidebarButtonProps',
+      name: 'SwitchAsChildProps',
+      anchor: 'switch-as-child-props',
+      signature:
+        'SwitchAsChildProps: SwitchOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n  type?: never;\n}',
       typeOnly: true,
-      summary: 'Props for the {@link SidebarRail } component.',
+      summary: 'Props for the `asChild` (polymorphic) rendering of Switch.',
       members: [
         {
-          name: 'active',
+          name: 'asChild',
           summary: '',
-          signature: 'active?: boolean | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'asChild',
+          name: 'checked',
           summary: '',
-          signature: 'asChild?: boolean | undefined;',
+          signature: 'checked?: boolean | undefined;',
         },
         {
-          name: 'size',
+          name: 'children',
           summary: '',
-          signature: 'size?: "default" | "sm" | "lg" | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'tooltip',
+          name: 'defaultChecked',
           summary: '',
-          signature: 'tooltip?: string | undefined;',
+          signature: 'defaultChecked?: boolean | undefined;',
         },
         {
-          name: 'tooltipSide',
+          name: 'disabled',
           summary: '',
-          signature: 'tooltipSide?: SidebarTooltipSide | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'variant',
+          name: 'name',
           summary: '',
-          signature: 'variant?: "default" | "outline" | undefined;',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
         },
       ],
     },
     {
-      name: 'SidebarScope',
-      anchor: 'sidebar-scope',
-      signature: 'SidebarScope: (props: SidebarPartProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        "Scoping wrapper that establishes the sidebar's CSS/context boundary.",
-    },
-    {
-      name: 'SidebarSide',
-      anchor: 'sidebar-side',
-      signature: 'SidebarSide: "left" | "right"',
-      typeOnly: true,
-      summary: 'Which edge of the viewport a {@link Sidebar } is docked to.',
-    },
-    {
-      name: 'SidebarTooltipSide',
-      anchor: 'sidebar-tooltip-side',
-      signature: 'SidebarTooltipSide: "top" | "bottom" | "left" | "right"',
-      typeOnly: true,
-      summary: "Side a sidebar button's tooltip is positioned on.",
-    },
-    {
-      name: 'SidebarTrigger',
-      anchor: 'sidebar-trigger',
-      signature: 'SidebarTrigger: (props: SidebarButtonProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        "Icon button that toggles the {@link Sidebar}'s open/collapsed state, with an optional tooltip.",
-    },
-    {
-      name: 'SidebarVariant',
-      anchor: 'sidebar-variant',
-      signature: 'SidebarVariant: "sidebar" | "floating" | "inset"',
-      typeOnly: true,
-      summary: 'Visual style of a {@link Sidebar }.',
-    },
-    {
-      name: 'Skeleton',
-      anchor: 'skeleton',
-      signature:
-        'Skeleton: { (props: SkeletonProps): JSX.Element; (props: SkeletonAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Loading placeholder block with configurable `width`/`height`, hidden from assistive tech via `aria-hidden`, rendered as a `<div>` or merged onto a child via `asChild`.',
-    },
-    {
-      name: 'SkeletonAsChildProps',
-      anchor: 'skeleton-as-child-props',
+      name: 'SwitchButtonProps',
+      anchor: 'switch-button-props',
       signature:
-        'SkeletonAsChildProps: SkeletonOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        "SwitchButtonProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'type' | 'ref'> & SwitchOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n  type?: 'button' | 'submit' | 'reset';\n}",
       typeOnly: true,
-      summary:
-        'Props for {@link Skeleton } rendered with `asChild`, merging its attributes onto a single child element.',
+      summary: 'Props for Switch Button.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'height',
+          name: 'defaultChecked',
           summary: '',
-          signature: 'height?: string | number | undefined;',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
         },
         {
-          name: 'width',
+          name: 'required',
           summary: '',
-          signature: 'width?: string | number | undefined;',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
     {
-      name: 'SkeletonOwnProps',
-      anchor: 'skeleton-own-props',
+      name: 'SwitchOwnProps',
+      anchor: 'switch-own-props',
       signature:
-        'SkeletonOwnProps: {\n  children?: unknown;\n  height?: string | number;\n  width?: string | number;\n}',
+        'SwitchOwnProps: {\n  children?: unknown;\n  checked?: boolean;\n  defaultChecked?: boolean;\n  onCheckedChange?: (checked: boolean) => void;\n  disabled?: boolean;\n  required?: boolean;\n  name?: string;\n  value?: string;\n}',
       typeOnly: true,
-      summary: 'Props shared by both {@link Skeleton } call signatures.',
+      summary:
+        'Own props for Switch, before merging with native element attributes.',
       members: [
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'height',
+          name: 'defaultChecked',
           summary: '',
-          signature: 'height?: string | number | undefined;',
+          signature: 'defaultChecked?: boolean | undefined;',
         },
         {
-          name: 'width',
+          name: 'disabled',
           summary: '',
-          signature: 'width?: string | number | undefined;',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'name',
+          summary: '',
+          signature: 'name?: string | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
+        },
+        {
+          name: 'required',
+          summary: '',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string | undefined;',
         },
       ],
     },
     {
-      name: 'SkeletonProps',
-      anchor: 'skeleton-props',
-      signature:
-        'SkeletonProps: Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & SkeletonOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}',
+      name: 'SwitchProps',
+      anchor: 'switch-props',
+      signature: 'SwitchProps: SwitchButtonProps | SwitchAsChildProps',
       typeOnly: true,
-      summary:
-        'Props for {@link Skeleton } rendered as its default `<div>` element.',
+      summary: 'Props for Switch.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'checked',
+          summary: '',
+          signature: 'checked?: boolean | undefined;',
         },
         {
           name: 'children',
@@ -38750,172 +48019,174 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'height',
+          name: 'defaultChecked',
           summary: '',
-          signature: 'height?: string | number | undefined;',
+          signature: 'defaultChecked?: boolean | undefined;',
+        },
+        {
+          name: 'onCheckedChange',
+          summary: '',
+          signature:
+            'onCheckedChange?: ((checked: boolean) => void) | undefined;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;',
         },
         {
-          name: 'width',
+          name: 'required',
           summary: '',
-          signature: 'width?: string | number | undefined;',
+          signature: 'required?: boolean | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
+  ],
+  symbols116: [
     {
-      name: 'Slider',
-      anchor: 'slider',
-      signature: 'Slider: (props: SliderProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the `slider` part of `slider`.',
-    },
-    {
-      name: 'SliderRange',
-      anchor: 'slider-range',
-      signature:
-        'SliderRange: { (props: SliderRangeProps): JSX.Element; (props: SliderRangeAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `slider-range` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'SliderThumb',
-      anchor: 'slider-thumb',
-      signature:
-        'SliderThumb: { (props: SliderThumbProps): JSX.Element; (props: SliderThumbAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `slider-thumb` part of `slider` with `role="slider"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'SliderTrack',
-      anchor: 'slider-track',
+      name: 'Table',
+      anchor: 'table',
       signature:
-        'SliderTrack: { (props: SliderTrackProps): JSX.Element; (props: SliderTrackAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `slider-track` part of `slider`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Sonner',
-      anchor: 'sonner',
-      signature: 'Sonner: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Alias of {@link Toaster} kept for shadcn/sonner API compatibility.',
-    },
-    {
-      name: 'Spinner',
-      anchor: 'spinner',
-      signature: 'Spinner: (props: SpinnerProps) => JSX.Element',
+        'Table: { (props: TableProps): JSX.Element; (props: TableAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Indeterminate loading spinner built on `ProgressCircle`, with an accessible label (defaults to `"Loading"`) and a `size` modifier.',
+        'Semantic table primitive family.\nRenders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'SpinnerOwnProps',
-      anchor: 'spinner-own-props',
-      signature:
-        'SpinnerOwnProps: Omit<ProgressCircleProps, "value" | "getValueLabel"> & {\n  label?: string;\n  size?: SpinnerSize;\n}',
+      name: 'TableAsChildProps',
+      anchor: 'table-as-child-props',
+      signature: 'TableAsChildProps: TableAsChildBaseProps',
       typeOnly: true,
-      summary:
-        'Props specific to {@link Spinner }, layered on top of `ProgressCircleProps`.',
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table.',
       members: [
         {
-          name: 'label',
+          name: 'asChild',
           summary: '',
-          signature: 'label?: string | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'size',
+          name: 'children',
           summary: '',
-          signature: 'size?: SpinnerSize | undefined;',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'SpinnerProps',
-      anchor: 'spinner-props',
-      signature: 'SpinnerProps: SpinnerOwnProps',
+      name: 'TableBody',
+      anchor: 'table-body',
+      signature:
+        'TableBody: { (props: TableBodyProps): JSX.Element; (props: TableBodyAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Props for the {@link Spinner } component.',
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableBodyAsChildProps',
+      anchor: 'table-body-as-child-props',
+      signature: 'TableBodyAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table Body.',
       members: [
         {
-          name: 'label',
+          name: 'asChild',
           summary: '',
-          signature: 'label?: string | undefined;',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'size',
+          name: 'ref',
           summary: '',
-          signature: 'size?: SpinnerSize | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'SpinnerSize',
-      anchor: 'spinner-size',
-      signature: 'SpinnerSize: "sm" | "md" | "lg"',
-      typeOnly: true,
-      summary: 'Size modifier for {@link Spinner }.',
-    },
-    {
-      name: 'Stack',
-      anchor: 'stack',
-      signature: 'Stack: (props: StackProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Vertical content flow with responsive, token-backed spacing.',
-    },
-    {
-      name: 'StackProps',
-      anchor: 'stack-props',
+      name: 'TableBodyProps',
+      anchor: 'table-body-props',
       signature:
-        'StackProps: WithoutOwnedLayout<BlockProps, "direction" | "rowFrom" | "gap" | "padding" | "wrap"> & {\n  direction?: never;\n  gap?: ResponsiveValue<StackSpace>;\n  p?: ResponsiveValue<StackSpace>;\n  padding?: ResponsiveValue<StackSpace>;\n  rowFrom?: never;\n  wrap?: ResponsiveValue<StackWrap>;\n}',
+        "TableBodyProps: TableNativeProps<'tbody', HTMLTableSectionElement> | TableBodyAsChildProps",
       typeOnly: true,
+      summary: 'Props for Table Body.',
       members: [
-        {
-          name: 'align',
-          summary: '',
-          signature: 'align?: unknown;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'background',
+          name: 'children',
           summary: '',
-          signature: 'background?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'border',
+          name: 'ref',
           summary: '',
-          signature: 'border?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableSectionElement | null) => void) | { current: HTMLTableSectionElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableCaption',
+      anchor: 'table-caption',
+      signature:
+        'TableCaption: { (props: TableCaptionProps): JSX.Element; (props: TableCaptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableCaptionAsChildProps',
+      anchor: 'table-caption-as-child-props',
+      signature: 'TableCaptionAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Table Caption.',
+      members: [
         {
-          name: 'borderBottom',
+          name: 'asChild',
           summary: '',
-          signature: 'borderBottom?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'borderRight',
+          name: 'children',
           summary: '',
-          signature: 'borderRight?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'borderTop',
+          name: 'ref',
           summary: '',
-          signature: 'borderTop?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'TableCaptionProps',
+      anchor: 'table-caption-props',
+      signature:
+        "TableCaptionProps: TableNativeProps<'caption', HTMLTableCaptionElement> | TableCaptionAsChildProps",
+      typeOnly: true,
+      summary: 'Props for Table Caption.',
+      members: [
         {
-          name: 'center',
+          name: 'asChild',
           summary: '',
-          signature: 'center?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
           name: 'children',
@@ -38923,251 +48194,276 @@ export const apiSymbolSets: Readonly<
           signature: 'children?: unknown;',
         },
         {
-          name: 'direction',
+          name: 'ref',
           summary: '',
-          signature: 'direction?: undefined;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableCaptionElement | null) => void) | { current: HTMLTableCaptionElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableCell',
+      anchor: 'table-cell',
+      signature:
+        'TableCell: { (props: TableCellProps): JSX.Element; (props: TableCellAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableCellAsChildProps',
+      anchor: 'table-cell-as-child-props',
+      signature: 'TableCellAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table Cell.',
+      members: [
         {
-          name: 'gap',
+          name: 'asChild',
           summary: '',
-          signature: 'gap?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'grow',
+          name: 'children',
           summary: '',
-          signature: 'grow?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'height',
+          name: 'ref',
           summary: '',
-          signature: 'height?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'TableCellProps',
+      anchor: 'table-cell-props',
+      signature:
+        "TableCellProps: TableNativeProps<'td', HTMLTableCellElement> | TableCellAsChildProps",
+      typeOnly: true,
+      summary: 'Props for Table Cell.',
+      members: [
         {
-          name: 'hide',
+          name: 'asChild',
           summary: '',
-          signature: 'hide?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'justify',
+          name: 'children',
           summary: '',
-          signature: 'justify?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'margin',
+          name: 'ref',
           summary: '',
-          signature: 'margin?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableCellElement | null) => void) | { current: HTMLTableCellElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableFoot',
+      anchor: 'table-foot',
+      signature:
+        'TableFoot: { (props: TableFootProps): JSX.Element; (props: TableFootAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableFootAsChildProps',
+      anchor: 'table-foot-as-child-props',
+      signature: 'TableFootAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table Foot.',
+      members: [
         {
-          name: 'marginX',
+          name: 'asChild',
           summary: '',
-          signature: 'marginX?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'marginY',
+          name: 'children',
           summary: '',
-          signature: 'marginY?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'maxHeight',
+          name: 'ref',
           summary: '',
-          signature: 'maxHeight?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'TableFootProps',
+      anchor: 'table-foot-props',
+      signature:
+        "TableFootProps: TableNativeProps<'tfoot', HTMLTableSectionElement> | TableFootAsChildProps",
+      typeOnly: true,
+      summary: 'Props for Table Foot.',
+      members: [
         {
-          name: 'maxWidth',
+          name: 'asChild',
           summary: '',
-          signature: 'maxWidth?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'minHeight',
+          name: 'children',
           summary: '',
-          signature: 'minHeight?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'minWidth',
+          name: 'ref',
           summary: '',
-          signature: 'minWidth?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableSectionElement | null) => void) | { current: HTMLTableSectionElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableHead',
+      anchor: 'table-head',
+      signature:
+        'TableHead: { (props: TableHeadProps): JSX.Element; (props: TableHeadAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableHeadAsChildProps',
+      anchor: 'table-head-as-child-props',
+      signature: 'TableHeadAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table Head.',
+      members: [
         {
-          name: 'p',
+          name: 'asChild',
           summary: '',
-          signature: 'p?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'padding',
+          name: 'children',
           summary: '',
-          signature: 'padding?: ResponsiveValue<BlockSpace> | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'paddingX',
+          name: 'ref',
           summary: '',
-          signature: 'paddingX?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'TableHeaderCell',
+      anchor: 'table-header-cell',
+      signature:
+        'TableHeaderCell: { (props: TableHeaderCellProps): JSX.Element; (props: TableHeaderCellAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TableHeaderCellAsChildProps',
+      anchor: 'table-header-cell-as-child-props',
+      signature: 'TableHeaderCellAsChildProps: TableAsChildBaseProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Table Header Cell.',
+      members: [
         {
-          name: 'paddingY',
+          name: 'asChild',
           summary: '',
-          signature: 'paddingY?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'radius',
+          name: 'children',
           summary: '',
-          signature: 'radius?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'TableHeaderCellProps',
+      anchor: 'table-header-cell-props',
+      signature:
+        "TableHeaderCellProps: TableNativeProps<'th', HTMLTableCellElement> | TableHeaderCellAsChildProps",
+      typeOnly: true,
+      summary: 'Props for Table Header Cell.',
+      members: [
         {
-          name: 'rowFrom',
+          name: 'asChild',
           summary: '',
-          signature: 'rowFrom?: undefined;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'shadow',
+          name: 'children',
           summary: '',
-          signature: 'shadow?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'shrink',
+          name: 'ref',
           summary: '',
-          signature: 'shrink?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableCellElement | null) => void) | { current: HTMLTableCellElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableHeadProps',
+      anchor: 'table-head-props',
+      signature:
+        "TableHeadProps: TableNativeProps<'thead', HTMLTableSectionElement> | TableHeadAsChildProps",
+      typeOnly: true,
+      summary: 'Props for Table Head.',
+      members: [
         {
-          name: 'sticky',
+          name: 'asChild',
           summary: '',
-          signature: 'sticky?: unknown;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'top',
+          name: 'children',
           summary: '',
-          signature: 'top?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'width',
+          name: 'ref',
           summary: '',
-          signature: 'width?: unknown;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableSectionElement | null) => void) | { current: HTMLTableSectionElement | null; } | null | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TableProps',
+      anchor: 'table-props',
+      signature:
+        "TableProps: TableNativeProps<'table', HTMLTableElement> | TableAsChildBaseProps",
+      typeOnly: true,
+      summary: 'Props for Table.',
+      members: [
         {
-          name: 'wrap',
+          name: 'asChild',
           summary: '',
-          signature: 'wrap?: ResponsiveValue<boolean> | undefined;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
-          name: 'zIndex',
+          name: 'children',
           summary: '',
-          signature: 'zIndex?: unknown;',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableElement | null) => void) | { current: HTMLTableElement | null; } | null | undefined;',
         },
       ],
     },
-    {
-      name: 'Stat',
-      anchor: 'stat',
-      signature: 'Stat: (props: StatProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Container for a labeled statistic (label, value, description).',
-    },
-    {
-      name: 'StatDescription',
-      anchor: 'stat-description',
-      signature:
-        'StatDescription: (props: StatDescriptionProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders supporting description text for a {@link Stat}.',
-    },
-    {
-      name: 'StatLabel',
-      anchor: 'stat-label',
-      signature: 'StatLabel: (props: StatLabelProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the label of a {@link Stat}.',
-    },
-    {
-      name: 'StatValue',
-      anchor: 'stat-value',
-      signature: 'StatValue: (props: StatValueProps) => JSX.Element',
-      typeOnly: true,
-      summary: 'Renders the primary value of a {@link Stat}.',
-    },
-    {
-      name: 'Switch',
-      anchor: 'switch',
-      signature:
-        'Switch: { (props: SwitchButtonProps): JSX.Element; (props: SwitchAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `switch` part of `switch` with `role="switch"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Tab',
-      anchor: 'tab',
-      signature: 'Tab: (props: TabProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'A router-aware link styled as a tab, auto-marked active by matching the current route (see {@link NavLinkProps.match}).',
-    },
-    {
-      name: 'Table',
-      anchor: 'table',
-      signature:
-        'Table: { (props: TableProps): JSX.Element; (props: TableAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Semantic table primitive family.\nRenders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableBody',
-      anchor: 'table-body',
-      signature:
-        'TableBody: { (props: TableBodyProps): JSX.Element; (props: TableBodyAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableCaption',
-      anchor: 'table-caption',
-      signature:
-        'TableCaption: { (props: TableCaptionProps): JSX.Element; (props: TableCaptionAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableCell',
-      anchor: 'table-cell',
-      signature:
-        'TableCell: { (props: TableCellProps): JSX.Element; (props: TableCellAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableFoot',
-      anchor: 'table-foot',
-      signature:
-        'TableFoot: { (props: TableFootProps): JSX.Element; (props: TableFootAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableHead',
-      anchor: 'table-head',
-      signature:
-        'TableHead: { (props: TableHeadProps): JSX.Element; (props: TableHeadAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TableHeaderCell',
-      anchor: 'table-header-cell',
-      signature:
-        'TableHeaderCell: { (props: TableHeaderCellProps): JSX.Element; (props: TableHeaderCellAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
     {
       name: 'TableRow',
       anchor: 'table-row',
@@ -39178,59 +48474,91 @@ export const apiSymbolSets: Readonly<
         'Renders a part of `table`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'TabProps',
-      anchor: 'tab-props',
-      signature: 'TabProps: LinkProps & NavLinkOwnProps',
+      name: 'TableRowAsChildProps',
+      anchor: 'table-row-as-child-props',
+      signature: 'TableRowAsChildProps: TableAsChildBaseProps',
       typeOnly: true,
-      summary: 'Props for the {@link Tab } component.',
+      summary: 'Props for the `asChild` (polymorphic) rendering of Table Row.',
       members: [
         {
-          name: 'active',
+          name: 'asChild',
           summary: '',
-          signature: 'active?: boolean | undefined;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'match',
+          name: 'children',
           summary: '',
-          signature: 'match?: NavLinkMatch | undefined;',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'Tabs',
-      anchor: 'tabs',
-      signature:
-        'Tabs: { (props: TabsProps): JSX.Element; (props: TabsAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Tab} links.',
-    },
-    {
-      name: 'TabsAsChildProps',
-      anchor: 'tabs-as-child-props',
+      name: 'TableRowProps',
+      anchor: 'table-row-props',
       signature:
-        'TabsAsChildProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<unknown>;\n}',
+        "TableRowProps: TableNativeProps<'tr', HTMLTableRowElement> | TableRowAsChildProps",
       typeOnly: true,
-      summary:
-        'Props for {@link Tabs } rendered with `asChild`, merging onto a single child element.',
+      summary: 'Props for Table Row.',
       members: [
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: boolean | undefined;',
         },
         {
           name: 'children',
           summary: '',
-          signature: 'children: JSXElement;',
+          signature: 'children?: unknown;',
         },
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<unknown>;',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTableRowElement | null) => void) | { current: HTMLTableRowElement | null; } | null | undefined;',
         },
       ],
     },
+  ],
+  symbols117: [
+    {
+      name: 'Pill',
+      anchor: 'pill',
+      signature: 'Pill: (props: PillProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A router-aware link styled as a pill, auto-marked active by matching the current route, with an active background highlight.',
+    },
+    {
+      name: 'Pills',
+      anchor: 'pills',
+      signature:
+        'Pills: { (props: PillsProps): JSX.Element; (props: PillsAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Pill} links.',
+    },
+    {
+      name: 'Tab',
+      anchor: 'tab',
+      signature: 'Tab: (props: TabProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'A router-aware link styled as a tab, auto-marked active by matching the current route (see {@link NavLinkProps.match}).',
+    },
+    {
+      name: 'Tabs',
+      anchor: 'tabs',
+      signature:
+        'Tabs: { (props: TabsProps): JSX.Element; (props: TabsAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders a `<nav>` wrapper (or, with `asChild`, merges onto a child) for a set of {@link Tab} links.',
+    },
     {
       name: 'TabsContent',
       anchor: 'tabs-content',
@@ -39247,32 +48575,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Styling-only tabs-list slot; it does not own tab selection, ARIA state, or keyboard behavior.',
     },
-    {
-      name: 'TabsProps',
-      anchor: 'tabs-props',
-      signature:
-        'TabsProps: Omit<JSX.IntrinsicElements["nav"], "children" | "ref"> & TabsOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLElement>;\n}',
-      typeOnly: true,
-      summary:
-        'Props for {@link Tabs } rendered as its default `<nav>` element.',
-      members: [
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: false | undefined;',
-        },
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
-        },
-      ],
-    },
     {
       name: 'TabsTrigger',
       anchor: 'tabs-trigger',
@@ -39282,6 +48584,8 @@ export const apiSymbolSets: Readonly<
       summary:
         'Styling-only trigger button; it does not select or associate a tab panel.',
     },
+  ],
+  symbols118: [
     {
       name: 'Text',
       anchor: 'text',
@@ -39291,15 +48595,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Typography primitive: renders any {@link TextElement} (default `<p>`) and turns `size`/`tone`/`weight`/`font`/`numeric`/`wrap`/`truncate` into data attributes for CSS styling.',
     },
-    {
-      name: 'Textarea',
-      anchor: 'textarea',
-      signature:
-        'Textarea: { (props: TextareaElementProps): JSX.Element; (props: TextareaAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `textarea` part of `textarea`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
     {
       name: 'TextElement',
       anchor: 'text-element',
@@ -39411,223 +48706,600 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'White-space wrapping behavior for {@link Text}.',
     },
+  ],
+  symbols119: [
     {
-      name: 'theme',
-      anchor: 'theme',
-      signature: 'theme: () => ThemeScopeValue',
+      name: 'Textarea',
+      anchor: 'textarea',
+      signature:
+        'Textarea: { (props: TextareaElementProps): JSX.Element; (props: TextareaAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Reads the current {@link ThemeScopeValue} from the nearest enclosing {@link ThemeScope}.',
+        'Renders the `textarea` part of `textarea`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'ThemeName',
-      anchor: 'theme-name',
+      name: 'TextareaAsChildProps',
+      anchor: 'textarea-as-child-props',
       signature:
-        'ThemeName: "light" | "dark" | "system" | CatThemeName | (string & {})',
+        'TextareaAsChildProps: TextareaOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n}',
+      typeOnly: true,
+      summary: 'Props for the `asChild` (polymorphic) rendering of Textarea.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'tabIndex',
+          summary: '',
+          signature: 'tabIndex?: number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'TextareaElementProps',
+      anchor: 'textarea-element-props',
+      signature:
+        "TextareaElementProps: Omit<JSX.IntrinsicElements['textarea'], 'children' | 'ref'> & TextareaOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLTextAreaElement>;\n}",
+      typeOnly: true,
+      summary: 'Props for Textarea Element.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLTextAreaElement>;',
+        },
+      ],
+    },
+    {
+      name: 'TextareaOwnProps',
+      anchor: 'textarea-own-props',
+      signature:
+        'TextareaOwnProps: {\n  children?: unknown;\n  disabled?: boolean;\n  tabIndex?: number;\n}',
       typeOnly: true,
       summary:
-        'Any theme identifier accepted by {@link ThemeScope}: `"light"`, `"dark"`, `"system"`, a {@link CatThemeName}, or a custom string.',
+        'Own props for Textarea, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'tabIndex',
+          summary: '',
+          signature: 'tabIndex?: number | undefined;',
+        },
+      ],
     },
     {
-      name: 'ThemeOption',
-      anchor: 'theme-option',
-      signature: 'ThemeOption: {\n  value: ThemeName;\n  label: string;\n}',
+      name: 'TextareaProps',
+      anchor: 'textarea-props',
+      signature: 'TextareaProps: TextareaElementProps | TextareaAsChildProps',
+      typeOnly: true,
+      summary: 'Props for Textarea.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLTextAreaElement | null) => void) | { current: HTMLTextAreaElement | null; } | null | undefined;',
+        },
+      ],
+    },
+  ],
+  symbols120: [
+    {
+      name: 'Toast',
+      anchor: 'toast',
+      signature: 'Toast: (props: ToastProps) => JSX.Element | null',
       typeOnly: true,
       summary:
-        'A theme choice offered by {@link ThemePicker}/{@link ThemeToggle}: a `value` paired with a display `label`.',
+        'Toast registers a notification entry with the host and returns no DOM on\nits own.',
     },
     {
-      name: 'ThemePicker',
-      anchor: 'theme-picker',
-      signature: 'ThemePicker: (props: ThemePickerProps) => JSX.Element',
+      name: 'ToastAction',
+      anchor: 'toast-action',
+      signature:
+        'ToastAction: { (props: ToastActionProps): JSX.Element; (props: ToastActionAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        "A `<select>` bound to the current {@link theme}, listing `themes` (defaults to the enclosing scope's options).",
+        'ToastAction closes the toast after handling a user-triggered action.\nRenders the `toast-action` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'ThemePickerProps',
-      anchor: 'theme-picker-props',
+      name: 'ToastActionAsChildProps',
+      anchor: 'toast-action-as-child-props',
+      signature: 'ToastActionAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Toast Action.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ToastActionProps',
+      anchor: 'toast-action-props',
       signature:
-        'ThemePickerProps: Omit<JSX.IntrinsicElements["select"], "children" | "value" | "defaultValue" | "onChange"> & {\n  themes?: readonly ThemeOption[];\n  label?: string;\n}',
+        "ToastActionProps: ButtonLikeProps<'button', HTMLButtonElement>",
       typeOnly: true,
-      summary: 'Props for the {@link ThemePicker} component.',
+      summary: 'Props for Toast Action.',
       members: [
         {
-          name: 'label',
+          name: 'asChild',
           summary: '',
-          signature: 'label?: string | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'themes',
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ToastClose',
+      anchor: 'toast-close',
+      signature:
+        'ToastClose: { (props: ToastCloseProps): JSX.Element; (props: ToastCloseAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastClose is the dedicated dismiss control for a toast entry.\nRenders the `toast-close` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ToastCloseAsChildProps',
+      anchor: 'toast-close-as-child-props',
+      signature: 'ToastCloseAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Toast Close.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ToastCloseProps',
+      anchor: 'toast-close-props',
+      signature:
+        "ToastCloseProps: ButtonLikeProps<'button', HTMLButtonElement>",
+      typeOnly: true,
+      summary: 'Props for Toast Close.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ToastDescription',
+      anchor: 'toast-description',
+      signature:
+        'ToastDescription: { (props: ToastDescriptionProps): JSX.Element; (props: ToastDescriptionAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'ToastDescription marks the accessible description slot for a toast entry.\nRenders the `toast-description` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'ToastDescriptionAsChildProps',
+      anchor: 'toast-description-as-child-props',
+      signature: 'ToastDescriptionAsChildProps: BoxAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Toast Description.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'ToastDescriptionProps',
+      anchor: 'toast-description-props',
+      signature: "ToastDescriptionProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Toast Description.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'ToastHost',
+      anchor: 'toast-host',
+      signature: 'ToastHost: (props: ToastHostProps) => JSX.Element',
+      typeOnly: true,
+      summary:
+        'ToastHost owns the registry of active toast entries and the default\ndisplay duration for the family.',
+    },
+    {
+      name: 'ToastHostOwnProps',
+      anchor: 'toast-host-own-props',
+      signature:
+        'ToastHostOwnProps: {\n  children?: unknown;\n  id?: string;\n  duration?: number;\n}',
+      typeOnly: true,
+      summary:
+        'Props for the host that owns toast timing defaults and the registry.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'duration',
+          summary: '',
+          signature: 'duration?: number | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'ToastHostProps',
+      anchor: 'toast-host-props',
+      signature:
+        "ToastHostProps: BoxProps<'div', HTMLDivElement> & ToastHostOwnProps",
+      typeOnly: true,
+      summary: 'Props for Toast Host.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'duration',
+          summary: '',
+          signature: 'duration?: number | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
+    },
+    {
+      name: 'ToastOwnProps',
+      anchor: 'toast-own-props',
+      signature:
+        'ToastOwnProps: {\n  children?: unknown;\n  id?: string;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n  duration?: number;\n  variant?: ToastVariant;\n}',
+      typeOnly: true,
+      summary: 'Props for a toast registration entry declared through Toast.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultOpen',
+          summary: '',
+          signature: 'defaultOpen?: boolean | undefined;',
+        },
+        {
+          name: 'duration',
+          summary: '',
+          signature: 'duration?: number | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+        {
+          name: 'variant',
           summary: '',
-          signature: 'themes?: readonly ThemeOption[] | undefined;',
+          signature: 'variant?: ToastVariant | undefined;',
         },
       ],
     },
     {
-      name: 'ThemeScope',
-      anchor: 'theme-scope',
-      signature: 'ThemeScope: (props: ThemeScopeProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Establishes a theme boundary: tracks the active theme (persisted to\n`localStorage` under `storageKey` and synced across tabs/scopes), resolves\nthe OS `"system"` preference, and reflects the choice onto the DOM via\n`data-theme`/`data-theme-choice` attributes. Nested scopes cooperate\nthrough a shared coordinator so the deepest explicitly-set scope wins.',
-    },
-    {
-      name: 'ThemeScopeProps',
-      anchor: 'theme-scope-props',
-      signature:
-        'ThemeScopeProps: {\n  children?: unknown;\n  defaultTheme?: ThemeName;\n  themes?: readonly ThemeOption[];\n  storageKey?: string;\n}',
+      name: 'ToastProps',
+      anchor: 'toast-props',
+      signature: "ToastProps: BoxProps<'div', HTMLDivElement> & ToastOwnProps",
       typeOnly: true,
-      summary: 'Props for the {@link ThemeScope} component.',
+      summary: 'Props for Toast.',
       members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
         {
           name: 'children',
           summary: '',
           signature: 'children?: unknown;',
         },
         {
-          name: 'defaultTheme',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'defaultTheme?: ThemeName | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'storageKey',
+          name: 'duration',
           summary: '',
-          signature: 'storageKey?: string | undefined;',
+          signature: 'duration?: number | undefined;',
         },
         {
-          name: 'themes',
+          name: 'id',
           summary: '',
-          signature: 'themes?: readonly ThemeOption[] | undefined;',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onOpenChange',
+          summary: '',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
+        },
+        {
+          name: 'open',
+          summary: '',
+          signature: 'open?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'variant',
+          summary: '',
+          signature: 'variant?: ToastVariant | undefined;',
         },
       ],
     },
     {
-      name: 'ThemeScopeValue',
-      anchor: 'theme-scope-value',
+      name: 'ToastTitle',
+      anchor: 'toast-title',
       signature:
-        'ThemeScopeValue: {\n  theme: () => ThemeName;\n  resolvedSystemTheme: () => "light" | "dark";\n  setTheme: (theme: ThemeName) => void;\n  themes: readonly ThemeOption[];\n  storageKey: string;\n}',
+        'ToastTitle: { (props: ToastTitleProps): JSX.Element; (props: ToastTitleAsChildProps): JSX.Element; }',
       typeOnly: true,
       summary:
-        'Value read from {@link theme}: the active theme, its resolved system value, a setter, and the available theme options.',
+        'ToastTitle marks the accessible title slot for a toast entry.\nRenders the `toast-title` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'ThemeToggle',
-      anchor: 'theme-toggle',
-      signature: 'ThemeToggle: (props: ThemeToggleProps) => JSX.Element',
+      name: 'ToastTitleAsChildProps',
+      anchor: 'toast-title-as-child-props',
+      signature: 'ToastTitleAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'A button that cycles through `themes` (defaults to `["light", "dark"]`) on\npress. Supports icon props per theme, or a function-as-children render\nprop receiving {@link ThemeToggleRenderContext}.',
-    },
-    {
-      name: 'ThemeToggleProps',
-      anchor: 'theme-toggle-props',
-      signature:
-        'ThemeToggleProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  children?: unknown | ((context: ThemeToggleRenderContext) => unknown);\n  lightIcon?: unknown;\n  darkIcon?: unknown;\n  systemIcon?: unknown;\n  themes?: readonly ThemeName[];\n  onPress?: (event: PressEvent) => void;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link ThemeToggle} component.',
+        'Props for the `asChild` (polymorphic) rendering of Toast Title.',
       members: [
         {
-          name: 'children',
+          name: 'asChild',
           summary: '',
-          signature: 'children?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'darkIcon',
+          name: 'children',
           summary: '',
-          signature: 'darkIcon?: unknown;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'lightIcon',
+          name: 'ref',
           summary: '',
-          signature: 'lightIcon?: unknown;',
+          signature: 'ref?: Ref<Element>;',
         },
+      ],
+    },
+    {
+      name: 'ToastTitleProps',
+      anchor: 'toast-title-props',
+      signature: "ToastTitleProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Toast Title.',
+      members: [
         {
-          name: 'onPress',
+          name: 'asChild',
           summary: '',
-          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'systemIcon',
+          name: 'children',
           summary: '',
-          signature: 'systemIcon?: unknown;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'themes',
+          name: 'ref',
           summary: '',
-          signature: 'themes?: readonly ThemeName[] | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
       ],
     },
-    {
-      name: 'ThemeToggleRenderContext',
-      anchor: 'theme-toggle-render-context',
-      signature:
-        'ThemeToggleRenderContext: {\n  theme: ThemeName;\n  nextTheme: ThemeName;\n}',
-      typeOnly: true,
-      summary:
-        'Render context passed to a function-as-children {@link ThemeToggleProps.children}.',
-    },
-    {
-      name: 'Toast',
-      anchor: 'toast',
-      signature: 'Toast: (props: ToastProps) => JSX.Element | null',
-      typeOnly: true,
-      summary:
-        'Toast registers a notification entry with the host and returns no DOM on\nits own.',
-    },
-    {
-      name: 'ToastAction',
-      anchor: 'toast-action',
-      signature:
-        'ToastAction: { (props: ToastActionProps): JSX.Element; (props: ToastActionAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'ToastAction closes the toast after handling a user-triggered action.\nRenders the `toast-action` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'ToastClose',
-      anchor: 'toast-close',
-      signature:
-        'ToastClose: { (props: ToastCloseProps): JSX.Element; (props: ToastCloseAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'ToastClose is the dedicated dismiss control for a toast entry.\nRenders the `toast-close` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'ToastDescription',
-      anchor: 'toast-description',
-      signature:
-        'ToastDescription: { (props: ToastDescriptionProps): JSX.Element; (props: ToastDescriptionAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'ToastDescription marks the accessible description slot for a toast entry.\nRenders the `toast-description` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Toaster',
-      anchor: 'toaster',
-      signature: 'Toaster: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `sonner` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'ToastHost',
-      anchor: 'toast-host',
-      signature: 'ToastHost: (props: ToastHostProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'ToastHost owns the registry of active toast entries and the default\ndisplay duration for the family.',
-    },
-    {
-      name: 'ToastTitle',
-      anchor: 'toast-title',
-      signature:
-        'ToastTitle: { (props: ToastTitleProps): JSX.Element; (props: ToastTitleAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'ToastTitle marks the accessible title slot for a toast entry.\nRenders the `toast-title` part of `toast`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
     {
       name: 'ToastViewport',
       anchor: 'toast-viewport',
@@ -39638,20 +49310,56 @@ export const apiSymbolSets: Readonly<
         'ToastViewport renders the live toast stack and the notification region.\nRenders the `toast-viewport` part of `toast` with `role="region"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'Toggle',
-      anchor: 'toggle',
-      signature:
-        'Toggle: { (props: ToggleButtonProps): JSX.Element; (props: ToggleAsChildProps): JSX.Element; }',
+      name: 'ToastViewportAsChildProps',
+      anchor: 'toast-viewport-as-child-props',
+      signature: 'ToastViewportAsChildProps: BoxAsChildProps',
       typeOnly: true,
       summary:
-        'Headless Toggle component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Apply aria-pressed for toggle state signaling\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- Role attribute application (for non-native elements)\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled or pressed props directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\n- pressed state is CONTROLLED (consumer manages state)\nRenders the `toggle` part of `toggle`.\n\nSupports polymorphic rendering via `asChild`.',
-      tags: {
-        example: [
-          'Native toggle button\n```tsx\nconst pressed = state(false);\n<Toggle pressed={pressed()} onPress={() => pressed.set(!pressed())}>\nMute\n</Toggle>\n```',
-          'Polymorphic rendering (asChild)\n```tsx\n<Toggle asChild pressed={muted} onPress={toggleMute}>\n<span>🔇</span>\n</Toggle>\n```',
-        ],
-      },
+        'Props for the `asChild` (polymorphic) rendering of Toast Viewport.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild: true;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children: JSXElement;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+      ],
+    },
+    {
+      name: 'ToastViewportProps',
+      anchor: 'toast-viewport-props',
+      signature: "ToastViewportProps: BoxProps<'div', HTMLDivElement>",
+      typeOnly: true,
+      summary: 'Props for Toast Viewport.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
+  ],
+  symbols121: [
     {
       name: 'ToggleGroup',
       anchor: 'toggle-group',
@@ -39670,420 +49378,546 @@ export const apiSymbolSets: Readonly<
         'Renders a part of `toggle-group`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'Toolbar',
-      anchor: 'toolbar',
-      signature: 'Toolbar: (props: ToolbarProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Titled toolbar row with an actions area, wrapping to a new line on small screens.',
-    },
-    {
-      name: 'ToolbarProps',
-      anchor: 'toolbar-props',
+      name: 'ToggleGroupItemAsChildProps',
+      anchor: 'toggle-group-item-as-child-props',
       signature:
-        'ToolbarProps: Omit<BlockDivProps, "direction" | "rowFrom"> & {\n  title: unknown;\n  actions?: unknown;\n  direction?: never;\n  rowFrom?: never;\n}',
+        'ToggleGroupItemAsChildProps: ButtonLikeAsChildProps & ToggleGroupItemOwnProps',
       typeOnly: true,
-      summary: 'Props for the {@link Toolbar } component.',
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Toggle Group Item.',
       members: [
         {
-          name: 'actions',
+          name: 'asChild',
           summary: '',
-          signature: 'actions?: unknown;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'direction',
+          name: 'children',
           summary: '',
-          signature: 'direction?: undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'rowFrom',
+          name: 'disabled',
           summary: '',
-          signature: 'rowFrom?: undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'title',
+          name: 'onPress',
           summary: '',
-          signature: 'title: unknown;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
         },
       ],
     },
     {
-      name: 'Tooltip',
-      anchor: 'tooltip',
-      signature:
-        'Tooltip: (props: TooltipProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
-      typeOnly: true,
-      summary: 'Renders a part of `tooltip`.',
-    },
-    {
-      name: 'TooltipContent',
-      anchor: 'tooltip-content',
-      signature:
-        'TooltipContent: { (props: TooltipContentProps): JSX.Element | null; (props: TooltipContentAsChildProps): JSX.Element | null; }',
-      typeOnly: true,
-      summary:
-        'Renders the `tooltip-content` part of `tooltip` with `role="tooltip"`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'TooltipPortal',
-      anchor: 'tooltip-portal',
-      signature:
-        'TooltipPortal: (props: TooltipPortalProps) => JSX.Element | null',
-      typeOnly: true,
-      summary: 'Renders a part of `tooltip`.',
-    },
-    {
-      name: 'TooltipTrigger',
-      anchor: 'tooltip-trigger',
-      signature:
-        'TooltipTrigger: { (props: TooltipTriggerProps): JSX.Element; (props: TooltipTriggerAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders the `tooltip-trigger` part of `tooltip`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
-    {
-      name: 'Typography',
-      anchor: 'typography',
-      signature: 'Typography: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyBlockquote',
-      anchor: 'typography-blockquote',
-      signature:
-        'TypographyBlockquote: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyH1',
-      anchor: 'typography-h1',
-      signature: 'TypographyH1: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-h1` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyH2',
-      anchor: 'typography-h2',
-      signature: 'TypographyH2: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-h2` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyH3',
-      anchor: 'typography-h3',
-      signature: 'TypographyH3: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-h3` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyH4',
-      anchor: 'typography-h4',
-      signature: 'TypographyH4: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-h4` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyLead',
-      anchor: 'typography-lead',
-      signature:
-        'TypographyLead: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-lead` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyList',
-      anchor: 'typography-list',
+      name: 'ToggleGroupItemOwnProps',
+      anchor: 'toggle-group-item-own-props',
       signature:
-        'TypographyList: (props: CatalogComponentProps) => JSX.Element',
+        'ToggleGroupItemOwnProps: {\n  value: string;\n  disabled?: boolean;\n  children?: unknown;\n}',
       typeOnly: true,
       summary:
-        'Renders the `typography-list` part of the shadcn-compatible catalog primitives.',
+        'Own props for Toggle Group Item, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value: string;',
+        },
+      ],
     },
     {
-      name: 'TypographyMuted',
-      anchor: 'typography-muted',
+      name: 'ToggleGroupItemProps',
+      anchor: 'toggle-group-item-props',
       signature:
-        'TypographyMuted: (props: CatalogComponentProps) => JSX.Element',
-      typeOnly: true,
-      summary:
-        'Renders the `typography-muted` part of the shadcn-compatible catalog primitives.',
-    },
-    {
-      name: 'TypographyP',
-      anchor: 'typography-p',
-      signature: 'TypographyP: (props: CatalogComponentProps) => JSX.Element',
+        "ToggleGroupItemProps: ButtonLikeProps<'button', HTMLButtonElement> & ToggleGroupItemOwnProps",
       typeOnly: true,
-      summary:
-        'Renders the `typography-p` part of the shadcn-compatible catalog primitives.',
+      summary: 'Props for Toggle Group Item.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
     },
     {
-      name: 'VirtualList',
-      anchor: 'virtual-list',
+      name: 'ToggleGroupMultipleProps',
+      anchor: 'toggle-group-multiple-props',
       signature:
-        'VirtualList: { <Item>(props: VirtualListProps<Item>): JSX.Element; <Item>(props: VirtualListAsChildProps<Item>): JSX.Element; }',
+        "ToggleGroupMultipleProps: BoxProps<'div', HTMLDivElement> & ToggleGroupSharedOwnProps & {\n  type: 'multiple';\n  value?: string[];\n  defaultValue?: string[];\n  onValueChange?: (value: string[]) => void;\n}",
       typeOnly: true,
-      summary:
-        'Renders a part of `virtual-list`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Props for Toggle Group Multiple.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'defaultValue',
+          summary: '',
+          signature: 'defaultValue?: string[] | undefined;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'loop',
+          summary: '',
+          signature: 'loop?: boolean | undefined;',
+        },
+        {
+          name: 'onValueChange',
+          summary: '',
+          signature: 'onValueChange?: ((value: string[]) => void) | undefined;',
+        },
+        {
+          name: 'orientation',
+          summary: '',
+          signature: 'orientation?: ToggleGroupOrientation | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type: "multiple";',
+        },
+        {
+          name: 'value',
+          summary: '',
+          signature: 'value?: string[] | undefined;',
+        },
+      ],
     },
     {
-      name: 'VirtualListApi',
-      anchor: 'virtual-list-api',
-      signature:
-        'VirtualListApi: {\n  scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;\n  scrollToTop: () => void;\n  scrollToBottom: () => void;\n  getState: () => VirtualListState;\n  getVisibleRange: () => VirtualRange;\n  getItemCount: () => number;\n  getScrollTop: () => number;\n  isAtTop: () => boolean;\n  isAtBottom: () => boolean;\n  isFollowingBottom: () => boolean;\n  getPendingUnseenCount: () => number;\n  setFollowBottom: (followBottom: boolean) => void;\n}',
+      name: 'ToggleGroupOrientation',
+      anchor: 'toggle-group-orientation',
+      signature: "ToggleGroupOrientation: 'horizontal' | 'vertical'",
       typeOnly: true,
-      summary: 'Virtual List Api.',
+      summary: 'Toggle Group Orientation.',
     },
     {
-      name: 'VirtualListAsChildProps',
-      anchor: 'virtual-list-as-child-props',
+      name: 'ToggleGroupProps',
+      anchor: 'toggle-group-props',
       signature:
-        "VirtualListAsChildProps: Omit<VirtualListRootProps, 'children'> & {\n  items: readonly Item[];\n  rowHeight: number;\n  /** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */\n  getRowHeight?: (item: Item, index: number) => number;\n  overscan?: VirtualOverscan;\n  getKey: (item: Item, index: number) => string | number;\n  rowComponent: VirtualListRowComponent<Item>;\n  followBottom?: boolean | {\n    threshold?: number;\n  };\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualListViewport;\n  apiRef?: Ref<VirtualListApi<Item> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild: true;\n  children: JSXElement;\n}",
+        'ToggleGroupProps: ToggleGroupSingleProps | ToggleGroupMultipleProps',
       typeOnly: true,
-      summary:
-        'Props for the `asChild` (polymorphic) rendering of Virtual List.',
+      summary: 'Props for Toggle Group.',
       members: [
-        {
-          name: 'apiRef',
-          summary: '',
-          signature: 'apiRef?: Ref<VirtualListApi<Item> | null>;',
-        },
         {
           name: 'asChild',
           summary: '',
-          signature: 'asChild: true;',
+          signature: 'asChild?: false | undefined;',
         },
         {
           name: 'children',
-          summary: '',
-          signature: 'children: JSXElement;',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'followBottom',
+          name: 'defaultValue',
           summary: '',
-          signature:
-            'followBottom?: boolean | { threshold?: number; } | undefined;',
+          signature: 'defaultValue?: string | string[] | undefined;',
         },
         {
-          name: 'getKey',
+          name: 'disabled',
           summary: '',
-          signature: 'getKey: (item: Item, index: number) => string | number;',
-        },
-        {
-          name: 'getRowHeight',
-          summary:
-            'Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.',
-          signature:
-            'getRowHeight?: ((item: Item, index: number) => number) | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'items',
+          name: 'id',
           summary: '',
-          signature: 'items: readonly Item[];',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'onScroll',
+          name: 'loop',
           summary: '',
-          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+          signature: 'loop?: boolean | undefined;',
         },
         {
-          name: 'overscan',
+          name: 'onValueChange',
           summary: '',
-          signature: 'overscan?: VirtualOverscan | undefined;',
+          signature:
+            'onValueChange?: ((value: string[]) => void) | ((value: string) => void) | undefined;',
         },
         {
-          name: 'ref',
+          name: 'orientation',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'orientation?: ToggleGroupOrientation | undefined;',
         },
         {
-          name: 'rowComponent',
+          name: 'ref',
           summary: '',
-          signature: 'rowComponent: VirtualListRowComponent<Item>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'rowHeight',
+          name: 'type',
           summary: '',
-          signature: 'rowHeight: number;',
+          signature: 'type?: "single" | "multiple" | undefined;',
         },
         {
-          name: 'viewport',
+          name: 'value',
           summary: '',
-          signature: 'viewport?: "lg" | undefined;',
+          signature: 'value?: string | string[] | undefined;',
         },
       ],
     },
     {
-      name: 'VirtualListProps',
-      anchor: 'virtual-list-props',
+      name: 'ToggleGroupSingleProps',
+      anchor: 'toggle-group-single-props',
       signature:
-        'VirtualListProps: VirtualListRootProps & {\n  items: readonly Item[];\n  rowHeight: number;\n  /** Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path. */\n  getRowHeight?: (item: Item, index: number) => number;\n  overscan?: VirtualOverscan;\n  getKey: (item: Item, index: number) => string | number;\n  rowComponent: VirtualListRowComponent<Item>;\n  followBottom?: boolean | {\n    threshold?: number;\n  };\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualListViewport;\n  apiRef?: Ref<VirtualListApi<Item> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild?: false;\n}',
+        "ToggleGroupSingleProps: BoxProps<'div', HTMLDivElement> & ToggleGroupSharedOwnProps & {\n  type?: 'single';\n  value?: string;\n  defaultValue?: string;\n  onValueChange?: (value: string) => void;\n}",
       typeOnly: true,
-      summary: 'Props for Virtual List.',
+      summary: 'Props for Toggle Group Single.',
       members: [
-        {
-          name: 'apiRef',
-          summary: '',
-          signature: 'apiRef?: Ref<VirtualListApi<Item> | null>;',
-        },
         {
           name: 'asChild',
           summary: '',
           signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'followBottom',
-          summary: '',
-          signature:
-            'followBottom?: boolean | { threshold?: number; } | undefined;',
+          name: 'children',
+          summary:
+            'Supports literal, nested, array-mapped, and `For`-rendered descendants.',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'getKey',
+          name: 'defaultValue',
           summary: '',
-          signature: 'getKey: (item: Item, index: number) => string | number;',
+          signature: 'defaultValue?: string | undefined;',
         },
         {
-          name: 'getRowHeight',
-          summary:
-            'Optional keyed row sizing. When omitted, VirtualList retains its fixed-height arithmetic path.',
-          signature:
-            'getRowHeight?: ((item: Item, index: number) => number) | undefined;',
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'items',
+          name: 'id',
           summary: '',
-          signature: 'items: readonly Item[];',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'onScroll',
+          name: 'loop',
           summary: '',
-          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+          signature: 'loop?: boolean | undefined;',
         },
         {
-          name: 'overscan',
+          name: 'onValueChange',
           summary: '',
-          signature: 'overscan?: VirtualOverscan | undefined;',
+          signature: 'onValueChange?: ((value: string) => void) | undefined;',
         },
         {
-          name: 'ref',
+          name: 'orientation',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'orientation?: ToggleGroupOrientation | undefined;',
         },
         {
-          name: 'rowComponent',
+          name: 'ref',
           summary: '',
-          signature: 'rowComponent: VirtualListRowComponent<Item>;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'rowHeight',
+          name: 'type',
           summary: '',
-          signature: 'rowHeight: number;',
+          signature: 'type?: "single" | undefined;',
         },
         {
-          name: 'viewport',
+          name: 'value',
           summary: '',
-          signature: 'viewport?: "lg" | undefined;',
+          signature: 'value?: string | undefined;',
         },
       ],
     },
+  ],
+  symbols122: [
     {
-      name: 'VirtualListRowComponent',
-      anchor: 'virtual-list-row-component',
+      name: 'PressEvent',
+      anchor: 'press-event',
       signature:
-        'VirtualListRowComponent: (props: VirtualListRowComponentProps<Item>) => VirtualListRowElement | null',
+        'PressEvent: {\n  preventDefault?: () => void;\n  stopPropagation?: () => void;\n  defaultPrevented?: boolean;\n}',
       typeOnly: true,
-      summary: 'Virtual List Row Component.',
+      summary:
+        "Press event passed to onPress handler\n\nCompatible with the pressable foundation's PressEvent type.",
     },
     {
-      name: 'VirtualListRowComponentProps',
-      anchor: 'virtual-list-row-component-props',
+      name: 'Toggle',
+      anchor: 'toggle',
       signature:
-        'VirtualListRowComponentProps: {\n  item: Item;\n  index: number;\n  rowKey: string;\n  isVisible: boolean;\n}',
+        'Toggle: { (props: ToggleButtonProps): JSX.Element; (props: ToggleAsChildProps): JSX.Element; }',
       typeOnly: true,
-      summary: 'Props for Virtual List Row Component.',
+      summary:
+        'Headless Toggle component\n\n## Responsibilities\n- Compose pressable foundation for interaction behavior\n- Apply aria-pressed for toggle state signaling\n- Enforce type="button" default to prevent accidental form submission\n- Forward props and refs to native button or child element\n\n## Non-Responsibilities (delegated to pressable foundation)\n- Keyboard event handling (Enter/Space)\n- Pointer event handling\n- Disabled state enforcement\n- Role attribute application (for non-native elements)\n\n## Invariants\n- MUST NOT contain any event handler logic\n- MUST NOT check disabled or pressed props directly\n- MUST use pressable() for ALL interaction behavior\n- MUST use mergeProps() for ALL prop composition\n- pressed state is CONTROLLED (consumer manages state)\nRenders the `toggle` part of `toggle`.\n\nSupports polymorphic rendering via `asChild`.',
+      tags: {
+        example: [
+          'Native toggle button\n```tsx\nconst pressed = state(false);\n<Toggle pressed={pressed()} onPress={() => pressed.set(!pressed())}>\nMute\n</Toggle>\n```',
+          'Polymorphic rendering (asChild)\n```tsx\n<Toggle asChild pressed={muted} onPress={toggleMute}>\n<span>🔇</span>\n</Toggle>\n```',
+        ],
+      },
+    },
+    {
+      name: 'ToggleAsChildProps',
+      anchor: 'toggle-as-child-props',
+      signature:
+        'ToggleAsChildProps: ToggleOwnProps & {\n  asChild: true;\n  children: JSXElement;\n  ref?: Ref<Element>;\n  type?: never;\n}',
+      typeOnly: true,
+      summary: 'Props when rendering via asChild',
       members: [
         {
-          name: 'index',
+          name: 'asChild',
           summary: '',
-          signature: 'index: number;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'isVisible',
+          name: 'children',
           summary: '',
-          signature: 'isVisible: boolean;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'item',
+          name: 'disabled',
           summary: '',
-          signature: 'item: Item;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'rowKey',
+          name: 'onPress',
           summary: '',
-          signature: 'rowKey: string;',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'pressed',
+          summary: '',
+          signature: 'pressed?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<Element>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: undefined;',
         },
       ],
     },
     {
-      name: 'VirtualListRowElement',
-      anchor: 'virtual-list-row-element',
-      signature: 'VirtualListRowElement: JSXElement | JSX.Element',
+      name: 'ToggleButtonProps',
+      anchor: 'toggle-button-props',
+      signature:
+        "ToggleButtonProps: Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick' | 'disabled' | 'type' | 'ref'> & ToggleOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLButtonElement>;\n  type?: 'button' | 'submit' | 'reset';\n}",
       typeOnly: true,
-      summary: 'Virtual List Row Element.',
+      summary: 'Props when rendering as a native <button> element',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'pressed',
+          summary: '',
+          signature: 'pressed?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
     },
     {
-      name: 'VirtualListState',
-      anchor: 'virtual-list-state',
+      name: 'ToggleOwnProps',
+      anchor: 'toggle-own-props',
       signature:
-        'VirtualListState: {\n  count: number;\n  scrollTop: number;\n  viewportHeight: number;\n  totalHeight: number;\n  visibleRange: VirtualRange;\n  isAtTop: boolean;\n  isAtBottom: boolean;\n  followBottom: boolean;\n  pendingUnseenCount: number;\n}',
+        'ToggleOwnProps: {\n  children?: unknown;\n  onPress?: (e: PressEvent) => void;\n  pressed?: boolean;\n  disabled?: boolean;\n}',
       typeOnly: true,
-      summary: 'Virtual List State.',
+      summary: 'Props shared by all Toggle variants',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'pressed',
+          summary: '',
+          signature: 'pressed?: boolean | undefined;',
+        },
+      ],
     },
     {
-      name: 'VirtualListViewport',
-      anchor: 'virtual-list-viewport',
-      signature: "VirtualListViewport: 'lg'",
+      name: 'ToggleProps',
+      anchor: 'toggle-props',
+      signature: 'ToggleProps: ToggleButtonProps | ToggleAsChildProps',
       typeOnly: true,
-      summary: 'Virtual List Viewport.',
+      summary: 'Discriminated union of Toggle prop types',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: boolean | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'onPress',
+          summary: '',
+          signature: 'onPress?: ((e: PressEvent) => void) | undefined;',
+        },
+        {
+          name: 'pressed',
+          summary: '',
+          signature: 'pressed?: boolean | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature:
+            'ref?: ((value: Element | null) => void) | { current: Element | null; } | ((value: HTMLButtonElement | null) => void) | { current: HTMLButtonElement | null; } | null | undefined;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
+        },
+      ],
     },
+  ],
+  symbols123: [
     {
-      name: 'VirtualTable',
-      anchor: 'virtual-table',
+      name: 'Tooltip',
+      anchor: 'tooltip',
       signature:
-        'VirtualTable: { <Row>(props: VirtualTableProps<Row>): JSX.Element; <Row>(props: VirtualTableAsChildProps<Row>): JSX.Element; }',
+        'Tooltip: (props: TooltipProps) => import("@askrjs/askr/jsx-runtime").JSX.Element',
       typeOnly: true,
-      summary:
-        'Renders a part of `virtual-table`.\n\nSupports polymorphic rendering via `asChild`.',
+      summary: 'Renders a part of `tooltip`.',
     },
     {
-      name: 'VirtualTableApi',
-      anchor: 'virtual-table-api',
+      name: 'TooltipContent',
+      anchor: 'tooltip-content',
       signature:
-        'VirtualTableApi: {\n  scrollToIndex: (index: number, alignment?: VirtualScrollAlignment) => void;\n  scrollToTop: () => void;\n  scrollToBottom: () => void;\n  getState: () => VirtualTableState;\n  getVisibleRange: () => VirtualRange;\n  getRowCount: () => number;\n  getScrollTop: () => number;\n  isAtTop: () => boolean;\n  isAtBottom: () => boolean;\n  getSelectedRowKey: () => string | null;\n  getSelectedRowIndex: () => number;\n  selectRowByKey: (rowKey: string) => void;\n  selectRowByIndex: (index: number) => void;\n  clearSelection: () => void;\n}',
+        'TooltipContent: { (props: TooltipContentProps): JSX.Element | null; (props: TooltipContentAsChildProps): JSX.Element | null; }',
       typeOnly: true,
-      summary: 'Virtual Table Api.',
+      summary:
+        'Renders the `tooltip-content` part of `tooltip` with `role="tooltip"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
     {
-      name: 'VirtualTableAsChildProps',
-      anchor: 'virtual-table-as-child-props',
+      name: 'TooltipContentAsChildProps',
+      anchor: 'tooltip-content-as-child-props',
       signature:
-        "VirtualTableAsChildProps: Omit<VirtualTableRootProps, 'children'> & {\n  rows: readonly Row[];\n  rowHeight: number;\n  headerHeight: number;\n  overscan?: VirtualOverscan;\n  getKey: (row: Row, index: number) => string | number;\n  columns: readonly VirtualTableColumn<Row>[];\n  selectedRowKey?: string | null;\n  defaultSelectedRowKey?: string | null;\n  onSelectedRowKeyChange?: (next: string | null) => void;\n  onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualTableViewport;\n  tableWidth?: VirtualTableWidth;\n  apiRef?: Ref<VirtualTableApi<Row> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild: true;\n  children: JSXElement;\n}",
+        'TooltipContentAsChildProps: BoxAsChildProps & TooltipContentOwnProps',
       typeOnly: true,
       summary:
-        'Props for the `asChild` (polymorphic) rendering of Virtual Table.',
+        'Props for the `asChild` (polymorphic) rendering of Tooltip Content.',
       members: [
         {
-          name: 'apiRef',
+          name: 'align',
           summary: '',
-          signature: 'apiRef?: Ref<VirtualTableApi<Row> | null>;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
           name: 'asChild',
@@ -40096,470 +49930,382 @@ export const apiSymbolSets: Readonly<
           signature: 'children: JSXElement;',
         },
         {
-          name: 'columns',
+          name: 'forceMount',
           summary: '',
-          signature: 'columns: readonly VirtualTableColumn<Row>[];',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'defaultSelectedRowKey',
+          name: 'ref',
           summary: '',
-          signature: 'defaultSelectedRowKey?: string | null | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'getKey',
+          name: 'side',
           summary: '',
-          signature: 'getKey: (row: Row, index: number) => string | number;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'headerHeight',
+          name: 'sideOffset',
           summary: '',
-          signature: 'headerHeight: number;',
+          signature: 'sideOffset?: number | undefined;',
+        },
+      ],
+    },
+    {
+      name: 'TooltipContentOwnProps',
+      anchor: 'tooltip-content-own-props',
+      signature:
+        'TooltipContentOwnProps: {\n  forceMount?: boolean;\n  side?: OverlaySide;\n  align?: OverlayAlign;\n  sideOffset?: number;\n}',
+      typeOnly: true,
+      summary:
+        'Own props for Tooltip Content, before merging with native element attributes.',
+      members: [
+        {
+          name: 'align',
+          summary: '',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'onRowClick',
+          name: 'forceMount',
           summary: '',
-          signature:
-            'onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'onScroll',
+          name: 'side',
           summary: '',
-          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'onSelectedRowKeyChange',
+          name: 'sideOffset',
           summary: '',
-          signature:
-            'onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TooltipContentProps',
+      anchor: 'tooltip-content-props',
+      signature:
+        "TooltipContentProps: BoxProps<'div', HTMLDivElement> & TooltipContentOwnProps",
+      typeOnly: true,
+      summary: 'Props for Tooltip Content.',
+      members: [
         {
-          name: 'overscan',
+          name: 'align',
           summary: '',
-          signature: 'overscan?: VirtualOverscan | undefined;',
+          signature: 'align?: OverlayAlign | undefined;',
         },
         {
-          name: 'ref',
+          name: 'asChild',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'rowHeight',
+          name: 'children',
           summary: '',
-          signature: 'rowHeight: number;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'rows',
+          name: 'forceMount',
           summary: '',
-          signature: 'rows: readonly Row[];',
+          signature: 'forceMount?: boolean | undefined;',
         },
         {
-          name: 'selectedRowKey',
+          name: 'ref',
           summary: '',
-          signature: 'selectedRowKey?: string | null | undefined;',
+          signature: 'ref?: Ref<HTMLDivElement>;',
         },
         {
-          name: 'tableWidth',
+          name: 'side',
           summary: '',
-          signature: 'tableWidth?: "compact" | undefined;',
+          signature: 'side?: OverlaySide | undefined;',
         },
         {
-          name: 'viewport',
+          name: 'sideOffset',
           summary: '',
-          signature: 'viewport?: "lg" | undefined;',
+          signature: 'sideOffset?: number | undefined;',
         },
       ],
     },
     {
-      name: 'VirtualTableCellComponent',
-      anchor: 'virtual-table-cell-component',
-      signature:
-        'VirtualTableCellComponent: (props: VirtualTableCellComponentProps<Row>) => VirtualTableCellElement | null',
-      typeOnly: true,
-      summary: 'Virtual Table Cell Component.',
-    },
-    {
-      name: 'VirtualTableCellComponentProps',
-      anchor: 'virtual-table-cell-component-props',
+      name: 'TooltipOwnProps',
+      anchor: 'tooltip-own-props',
       signature:
-        'VirtualTableCellComponentProps: {\n  row: Row;\n  rowIndex: number;\n  rowKey: string;\n  column: VirtualTableColumn<Row>;\n  selected: boolean;\n}',
+        'TooltipOwnProps: {\n  children?: unknown;\n  id?: string;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n}',
       typeOnly: true,
-      summary: 'Props for Virtual Table Cell Component.',
+      summary:
+        'Own props for Tooltip, before merging with native element attributes.',
       members: [
         {
-          name: 'column',
+          name: 'children',
           summary: '',
-          signature: 'column: VirtualTableColumn<Row>;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'row',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'row: Row;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'rowIndex',
+          name: 'id',
           summary: '',
-          signature: 'rowIndex: number;',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'rowKey',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'rowKey: string;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'selected',
+          name: 'open',
           summary: '',
-          signature: 'selected: boolean;',
+          signature: 'open?: boolean | undefined;',
         },
       ],
     },
     {
-      name: 'VirtualTableCellElement',
-      anchor: 'virtual-table-cell-element',
-      signature: 'VirtualTableCellElement: JSXElement | JSX.Element',
+      name: 'TooltipPortal',
+      anchor: 'tooltip-portal',
+      signature:
+        'TooltipPortal: (props: TooltipPortalProps) => JSX.Element | null',
       typeOnly: true,
-      summary: 'Virtual Table Cell Element.',
+      summary: 'Renders a part of `tooltip`.',
     },
     {
-      name: 'VirtualTableColumn',
-      anchor: 'virtual-table-column',
-      signature:
-        'VirtualTableColumn: {\n  id: string;\n  header: JSXElement | string;\n  width?: number | string;\n  cellComponent: VirtualTableCellComponent<Row>;\n}',
+      name: 'TooltipPortalProps',
+      anchor: 'tooltip-portal-props',
+      signature: 'TooltipPortalProps: {\n  children?: unknown;\n}',
       typeOnly: true,
-      summary: 'Virtual Table Column.',
+      summary: 'Props for Tooltip Portal.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+      ],
     },
-    {
-      name: 'VirtualTableProps',
-      anchor: 'virtual-table-props',
-      signature:
-        'VirtualTableProps: VirtualTableRootProps & {\n  rows: readonly Row[];\n  rowHeight: number;\n  headerHeight: number;\n  overscan?: VirtualOverscan;\n  getKey: (row: Row, index: number) => string | number;\n  columns: readonly VirtualTableColumn<Row>[];\n  selectedRowKey?: string | null;\n  defaultSelectedRowKey?: string | null;\n  onSelectedRowKeyChange?: (next: string | null) => void;\n  onRowClick?: (row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void;\n  onScroll?: (event: Event) => void;\n  viewport?: VirtualTableViewport;\n  tableWidth?: VirtualTableWidth;\n  apiRef?: Ref<VirtualTableApi<Row> | null>;\n  ref?: Ref<HTMLElement>;\n  asChild?: false;\n}',
+    {
+      name: 'TooltipProps',
+      anchor: 'tooltip-props',
+      signature: 'TooltipProps: TooltipOwnProps',
       typeOnly: true,
-      summary: 'Props for Virtual Table.',
+      summary: 'Props for Tooltip.',
       members: [
         {
-          name: 'apiRef',
+          name: 'children',
           summary: '',
-          signature: 'apiRef?: Ref<VirtualTableApi<Row> | null>;',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'asChild',
+          name: 'defaultOpen',
           summary: '',
-          signature: 'asChild?: false | undefined;',
+          signature: 'defaultOpen?: boolean | undefined;',
         },
         {
-          name: 'columns',
+          name: 'id',
           summary: '',
-          signature: 'columns: readonly VirtualTableColumn<Row>[];',
+          signature: 'id?: string | undefined;',
         },
         {
-          name: 'defaultSelectedRowKey',
+          name: 'onOpenChange',
           summary: '',
-          signature: 'defaultSelectedRowKey?: string | null | undefined;',
+          signature: 'onOpenChange?: ((open: boolean) => void) | undefined;',
         },
         {
-          name: 'getKey',
+          name: 'open',
           summary: '',
-          signature: 'getKey: (row: Row, index: number) => string | number;',
+          signature: 'open?: boolean | undefined;',
         },
+      ],
+    },
+    {
+      name: 'TooltipTrigger',
+      anchor: 'tooltip-trigger',
+      signature:
+        'TooltipTrigger: { (props: TooltipTriggerProps): JSX.Element; (props: TooltipTriggerAsChildProps): JSX.Element; }',
+      typeOnly: true,
+      summary:
+        'Renders the `tooltip-trigger` part of `tooltip`.\n\nSupports polymorphic rendering via `asChild`.',
+    },
+    {
+      name: 'TooltipTriggerAsChildProps',
+      anchor: 'tooltip-trigger-as-child-props',
+      signature: 'TooltipTriggerAsChildProps: ButtonLikeAsChildProps',
+      typeOnly: true,
+      summary:
+        'Props for the `asChild` (polymorphic) rendering of Tooltip Trigger.',
+      members: [
         {
-          name: 'headerHeight',
+          name: 'asChild',
           summary: '',
-          signature: 'headerHeight: number;',
+          signature: 'asChild: true;',
         },
         {
-          name: 'onRowClick',
+          name: 'children',
           summary: '',
-          signature:
-            'onRowClick?: ((row: Row, rowIndex: number, rowKey: string, event: MouseEvent) => void) | undefined;',
+          signature: 'children: JSXElement;',
         },
         {
-          name: 'onScroll',
+          name: 'disabled',
           summary: '',
-          signature: 'onScroll?: ((event: Event) => void) | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'onSelectedRowKeyChange',
+          name: 'onPress',
           summary: '',
-          signature:
-            'onSelectedRowKeyChange?: ((next: string | null) => void) | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'overscan',
+          name: 'ref',
           summary: '',
-          signature: 'overscan?: VirtualOverscan | undefined;',
+          signature: 'ref?: Ref<Element>;',
         },
         {
-          name: 'ref',
+          name: 'type',
           summary: '',
-          signature: 'ref?: Ref<HTMLElement>;',
+          signature: 'type?: undefined;',
         },
+      ],
+    },
+    {
+      name: 'TooltipTriggerProps',
+      anchor: 'tooltip-trigger-props',
+      signature:
+        "TooltipTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>",
+      typeOnly: true,
+      summary: 'Props for Tooltip Trigger.',
+      members: [
         {
-          name: 'rowHeight',
+          name: 'asChild',
           summary: '',
-          signature: 'rowHeight: number;',
+          signature: 'asChild?: false | undefined;',
         },
         {
-          name: 'rows',
+          name: 'children',
           summary: '',
-          signature: 'rows: readonly Row[];',
+          signature: 'children?: unknown;',
         },
         {
-          name: 'selectedRowKey',
+          name: 'disabled',
           summary: '',
-          signature: 'selectedRowKey?: string | null | undefined;',
+          signature: 'disabled?: boolean | undefined;',
         },
         {
-          name: 'tableWidth',
+          name: 'onPress',
           summary: '',
-          signature: 'tableWidth?: "compact" | undefined;',
+          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
         },
         {
-          name: 'viewport',
+          name: 'ref',
           summary: '',
-          signature: 'viewport?: "lg" | undefined;',
+          signature: 'ref?: Ref<HTMLButtonElement>;',
+        },
+        {
+          name: 'type',
+          summary: '',
+          signature: 'type?: "button" | "submit" | "reset" | undefined;',
         },
       ],
     },
-    {
-      name: 'VirtualTableState',
-      anchor: 'virtual-table-state',
-      signature:
-        'VirtualTableState: {\n  count: number;\n  rowHeight: number;\n  headerHeight: number;\n  scrollTop: number;\n  viewportHeight: number;\n  totalHeight: number;\n  visibleRange: VirtualRange;\n  isAtTop: boolean;\n  isAtBottom: boolean;\n  selectedRowKey: string | null;\n  selectedRowIndex: number;\n}',
-      typeOnly: true,
-      summary: 'Virtual Table State.',
-    },
-    {
-      name: 'VirtualTableViewport',
-      anchor: 'virtual-table-viewport',
-      signature: "VirtualTableViewport: 'lg'",
-      typeOnly: true,
-      summary: 'Virtual Table Viewport.',
-    },
-    {
-      name: 'VirtualTableWidth',
-      anchor: 'virtual-table-width',
-      signature: "VirtualTableWidth: 'compact'",
-      typeOnly: true,
-      summary: 'Virtual Table Width.',
-    },
-    {
-      name: 'VisuallyHidden',
-      anchor: 'visually-hidden',
-      signature:
-        'VisuallyHidden: { (props: VisuallyHiddenSpanProps): JSX.Element; (props: VisuallyHiddenAsChildProps): JSX.Element; }',
-      typeOnly: true,
-      summary:
-        'Renders a part of `visually-hidden`.\n\nSupports polymorphic rendering via `asChild`.',
-    },
   ],
-  symbols52: [
-    {
-      name: 'CAT_THEME_NAMES',
-      anchor: 'cat-theme-names',
-      signature:
-        'CAT_THEME_NAMES: readonly ["tabby", "ginger", "tuxedo", "calico", "torty"]',
-      typeOnly: true,
-      summary: 'Names of the built-in "cat" theme presets.',
-    },
+  symbols124: [
     {
-      name: 'CAT_THEME_OPTIONS',
-      anchor: 'cat-theme-options',
-      signature: 'CAT_THEME_OPTIONS: readonly ThemeOption[]',
+      name: 'Typography',
+      anchor: 'typography',
+      signature: 'Typography: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Theme options for the built-in "cat" theme presets, keyed to {@link CAT_THEME_NAMES}.',
-    },
-    {
-      name: 'CatThemeName',
-      anchor: 'cat-theme-name',
-      signature: 'CatThemeName: (typeof CAT_THEME_NAMES)[number]',
-      typeOnly: true,
-      summary: 'A built-in "cat" theme name, one of {@link CAT_THEME_NAMES}.',
+        'Renders the `typography` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'DEFAULT_THEME_OPTIONS',
-      anchor: 'default-theme-options',
-      signature: 'DEFAULT_THEME_OPTIONS: readonly ThemeOption[]',
+      name: 'TypographyBlockquote',
+      anchor: 'typography-blockquote',
+      signature:
+        'TypographyBlockquote: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Default light/dark/system theme options used by {@link ThemeScope} and {@link ThemePicker}.',
+        'Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'theme',
-      anchor: 'theme',
-      signature: 'theme: () => ThemeScopeValue',
+      name: 'TypographyH1',
+      anchor: 'typography-h1',
+      signature: 'TypographyH1: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Reads the current {@link ThemeScopeValue} from the nearest enclosing {@link ThemeScope}.',
+        'Renders the `typography-h1` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemeName',
-      anchor: 'theme-name',
-      signature:
-        'ThemeName: "light" | "dark" | "system" | CatThemeName | (string & {})',
+      name: 'TypographyH2',
+      anchor: 'typography-h2',
+      signature: 'TypographyH2: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Any theme identifier accepted by {@link ThemeScope}: `"light"`, `"dark"`, `"system"`, a {@link CatThemeName}, or a custom string.',
+        'Renders the `typography-h2` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemeOption',
-      anchor: 'theme-option',
-      signature: 'ThemeOption: {\n  value: ThemeName;\n  label: string;\n}',
+      name: 'TypographyH3',
+      anchor: 'typography-h3',
+      signature: 'TypographyH3: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'A theme choice offered by {@link ThemePicker}/{@link ThemeToggle}: a `value` paired with a display `label`.',
+        'Renders the `typography-h3` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemePicker',
-      anchor: 'theme-picker',
-      signature: 'ThemePicker: (props: ThemePickerProps) => JSX.Element',
+      name: 'TypographyH4',
+      anchor: 'typography-h4',
+      signature: 'TypographyH4: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        "A `<select>` bound to the current {@link theme}, listing `themes` (defaults to the enclosing scope's options).",
+        'Renders the `typography-h4` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemePickerProps',
-      anchor: 'theme-picker-props',
+      name: 'TypographyLead',
+      anchor: 'typography-lead',
       signature:
-        'ThemePickerProps: Omit<JSX.IntrinsicElements["select"], "children" | "value" | "defaultValue" | "onChange"> & {\n  themes?: readonly ThemeOption[];\n  label?: string;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link ThemePicker} component.',
-      members: [
-        {
-          name: 'label',
-          summary: '',
-          signature: 'label?: string | undefined;',
-        },
-        {
-          name: 'themes',
-          summary: '',
-          signature: 'themes?: readonly ThemeOption[] | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'ThemeScope',
-      anchor: 'theme-scope',
-      signature: 'ThemeScope: (props: ThemeScopeProps) => JSX.Element',
+        'TypographyLead: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Establishes a theme boundary: tracks the active theme (persisted to\n`localStorage` under `storageKey` and synced across tabs/scopes), resolves\nthe OS `"system"` preference, and reflects the choice onto the DOM via\n`data-theme`/`data-theme-choice` attributes. Nested scopes cooperate\nthrough a shared coordinator so the deepest explicitly-set scope wins.',
-    },
-    {
-      name: 'ThemeScopeProps',
-      anchor: 'theme-scope-props',
-      signature:
-        'ThemeScopeProps: {\n  children?: unknown;\n  defaultTheme?: ThemeName;\n  themes?: readonly ThemeOption[];\n  storageKey?: string;\n}',
-      typeOnly: true,
-      summary: 'Props for the {@link ThemeScope} component.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'defaultTheme',
-          summary: '',
-          signature: 'defaultTheme?: ThemeName | undefined;',
-        },
-        {
-          name: 'storageKey',
-          summary: '',
-          signature: 'storageKey?: string | undefined;',
-        },
-        {
-          name: 'themes',
-          summary: '',
-          signature: 'themes?: readonly ThemeOption[] | undefined;',
-        },
-      ],
+        'Renders the `typography-lead` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemeScopeValue',
-      anchor: 'theme-scope-value',
+      name: 'TypographyList',
+      anchor: 'typography-list',
       signature:
-        'ThemeScopeValue: {\n  theme: () => ThemeName;\n  resolvedSystemTheme: () => "light" | "dark";\n  setTheme: (theme: ThemeName) => void;\n  themes: readonly ThemeOption[];\n  storageKey: string;\n}',
-      typeOnly: true,
-      summary:
-        'Value read from {@link theme}: the active theme, its resolved system value, a setter, and the available theme options.',
-    },
-    {
-      name: 'ThemeToggle',
-      anchor: 'theme-toggle',
-      signature: 'ThemeToggle: (props: ThemeToggleProps) => JSX.Element',
+        'TypographyList: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'A button that cycles through `themes` (defaults to `["light", "dark"]`) on\npress. Supports icon props per theme, or a function-as-children render\nprop receiving {@link ThemeToggleRenderContext}.',
+        'Renders the `typography-list` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemeToggleProps',
-      anchor: 'theme-toggle-props',
+      name: 'TypographyMuted',
+      anchor: 'typography-muted',
       signature:
-        'ThemeToggleProps: Omit<ButtonNativeProps, "children" | "onPress"> & {\n  children?: unknown | ((context: ThemeToggleRenderContext) => unknown);\n  lightIcon?: unknown;\n  darkIcon?: unknown;\n  systemIcon?: unknown;\n  themes?: readonly ThemeName[];\n  onPress?: (event: PressEvent) => void;\n}',
+        'TypographyMuted: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Props for the {@link ThemeToggle} component.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'darkIcon',
-          summary: '',
-          signature: 'darkIcon?: unknown;',
-        },
-        {
-          name: 'lightIcon',
-          summary: '',
-          signature: 'lightIcon?: unknown;',
-        },
-        {
-          name: 'onPress',
-          summary: '',
-          signature: 'onPress?: ((event: PressEvent) => void) | undefined;',
-        },
-        {
-          name: 'systemIcon',
-          summary: '',
-          signature: 'systemIcon?: unknown;',
-        },
-        {
-          name: 'themes',
-          summary: '',
-          signature: 'themes?: readonly ThemeName[] | undefined;',
-        },
-      ],
+      summary:
+        'Renders the `typography-muted` part of the shadcn-compatible catalog primitives.',
     },
     {
-      name: 'ThemeToggleRenderContext',
-      anchor: 'theme-toggle-render-context',
-      signature:
-        'ThemeToggleRenderContext: {\n  theme: ThemeName;\n  nextTheme: ThemeName;\n}',
+      name: 'TypographyP',
+      anchor: 'typography-p',
+      signature: 'TypographyP: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'Render context passed to a function-as-children {@link ThemeToggleProps.children}.',
+        'Renders the `typography-p` part of the shadcn-compatible catalog primitives.',
     },
   ],
-  symbols53: [
+  symbols125: [
     {
-      name: 'DocumentRenderArgsLike',
-      anchor: 'document-render-args-like',
-      signature:
-        'DocumentRenderArgsLike: {\n  appHtml: string;\n  context: {\n    cspNonce?: string;\n    styles?: readonly {\n      id: string;\n      cssText: string;\n    }[];\n  };\n}',
+      name: 'Toaster',
+      anchor: 'toaster',
+      signature: 'Toaster: (props: CatalogComponentProps) => JSX.Element',
       typeOnly: true,
-    },
-    {
-      name: 'withThemeStyles',
-      anchor: 'with-theme-styles',
-      signature:
-        'withThemeStyles: <TArgs extends DocumentRenderArgsLike>(documentRenderer: (args: TArgs) => string) => (args: TArgs) => string',
-      typeOnly: false,
       summary:
-        'Wrap an Askr SSR/SSG document renderer so generated theme rules used by the\nrendered app are available before hydration.',
+        'Presentational Toaster host retaining the `sonner` styling slot.',
     },
   ],
-  symbols54: [
+  symbols126: [
     {
       name: 'Accordion',
       anchor: 'accordion',
@@ -40567,21 +50313,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `accordion`.',
     },
-    {
-      name: 'ACCORDION_A11Y_CONTRACT',
-      anchor: 'accordion-a11-y-contract',
-      signature:
-        'ACCORDION_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly CONTROLS_ATTRIBUTE: "aria-controls"; readonly PANEL_ROLE: "region"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA accordion/disclosure contract.',
-    },
-    {
-      name: 'AccordionA11yContract',
-      anchor: 'accordion-a11y-contract',
-      signature: 'AccordionA11yContract: typeof ACCORDION_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Accordion A11y Contract object.',
-    },
     {
       name: 'AccordionContent',
       anchor: 'accordion-content',
@@ -41088,14 +50819,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'ALERT_DIALOG_A11Y_CONTRACT',
-      anchor: 'alert-dialog-a11-y-contract',
-      signature:
-        'ALERT_DIALOG_A11Y_CONTRACT: { readonly CONTENT_ROLE: "alertdialog"; readonly LABELLED_BY_ATTRIBUTE: "aria-labelledby"; readonly DESCRIBED_BY_ATTRIBUTE: "aria-describedby"; readonly ACTION_REQUIREMENTS: { readonly hasPrimaryAction: true; readonly hasCancelAction: true; }; }',
-      typeOnly: true,
-      summary: 'Alert dialog accessibility contract.',
-    },
     {
       name: 'AlertDialog',
       anchor: 'alert-dialog',
@@ -41104,13 +50827,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `alert-dialog`.',
     },
-    {
-      name: 'AlertDialogA11yContract',
-      anchor: 'alert-dialog-a11y-contract',
-      signature: 'AlertDialogA11yContract: typeof ALERT_DIALOG_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Alert Dialog A11y Contract object.',
-    },
     {
       name: 'AlertDialogAction',
       anchor: 'alert-dialog-action',
@@ -41873,21 +51589,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `avatar` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'AVATAR_A11Y_CONTRACT',
-      anchor: 'avatar-a11-y-contract',
-      signature:
-        'AVATAR_A11Y_CONTRACT: { readonly ROOT: { readonly slot: "data-slot"; readonly marker: "data-avatar"; }; readonly IMAGE: { readonly slot: "data-slot"; readonly marker: "data-avatar-image"; readonly requiresAlt: true; }; readonly FALLBACK: { readonly slot: "data-slot"; readonly marker: "data-avatar-fallback"; readonly visibleBeforeImageLoad: true; }; }',
-      typeOnly: true,
-      summary: 'Accessibility contract for Avatar primitives.',
-    },
-    {
-      name: 'AvatarA11yContract',
-      anchor: 'avatar-a11y-contract',
-      signature: 'AvatarA11yContract: typeof AVATAR_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Avatar A11y Contract object.',
-    },
     {
       name: 'AvatarAsChildProps',
       anchor: 'avatar-as-child-props',
@@ -42130,22 +51831,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'BUTTON_A11Y_CONTRACT',
-      anchor: 'button-a11-y-contract',
-      signature:
-        'BUTTON_A11Y_CONTRACT: { readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly ROLE: "button"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "aria-disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "focusable"; readonly disabled: "not-focusable"; }; }',
-      typeOnly: true,
-      summary:
-        'Accessibility contract for Button component\n\nFollowing WAI-ARIA Button Pattern:\nhttps://www.w3.org/WAI/ARIA/apg/patterns/button/\n\n## Role\n- Native <button>: implicit role="button"\n- asChild: preserves child role (e.g., role="button" on <div>)\n\n## States\n- disabled (native): uses `disabled` attribute\n- disabled (asChild): uses `aria-disabled="true"` + `tabindex="-1"`\n\n## Keyboard\n- Space: Activates button (handled by pressable foundation)\n- Enter: Activates button (handled by pressable foundation)\n- Disabled buttons do not respond to interaction\n\n## Focus\n- Native buttons: focusable by default\n- asChild elements: receive tabindex if not naturally focusable\n- Disabled: removed from tab order (tabindex="-1" or native disabled)\n\n## Screen Reader\n- Announces role as "button"\n- Announces disabled state\n- Announces accessible name from text content or aria-label\n\n## Implementation Notes\n- All interaction behavior is delegated to `pressable` foundation\n- Button component does NOT implement keyboard handling directly\n- Button component does NOT check disabled prop directly\n- All ARIA attributes are applied by foundation, not component',
-    },
-    {
-      name: 'ButtonA11yContract',
-      anchor: 'button-a11y-contract',
-      signature: 'ButtonA11yContract: typeof BUTTON_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type-safe accessibility contract',
-    },
     {
       name: 'ButtonAsChildElement',
       anchor: 'button-as-child-element',
@@ -42397,22 +52082,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'CHECKBOX_A11Y_CONTRACT',
-      anchor: 'checkbox-a11-y-contract',
-      signature:
-        'CHECKBOX_A11Y_CONTRACT: { readonly ROLE: "checkbox"; readonly KEYBOARD_ACTIVATION: readonly ["Space"]; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly INDETERMINATE_VALUE: "mixed"; readonly DISABLED_ATTRIBUTES: { readonly nativeInput: { readonly disabled: true; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly DATA_ATTRIBUTES: { readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "tabIndex >= 0"; readonly disabled: "tabIndex = -1"; readonly visualIndicator: "required"; }; }',
-      typeOnly: true,
-      summary:
-        "WAI-ARIA Checkbox Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/checkbox/\n\nA checkbox is an input mechanism that allows users to select one or more items\nfrom a set. Unlike toggle buttons, checkboxes visually represent a checked state\nwith aria-checked (not aria-pressed).\n\n## Required ARIA\n- aria-checked: 'true' | 'false' | 'mixed' (indicates checkbox state)\n- role: 'checkbox' (when not native input)\n\n## Keyboard Support\n- Space: Activates checkbox\n- Enter: Does not activate checkbox\n\n## Focus Management\n- Checkbox is focusable when not disabled\n- Visual focus indicator required\n\n## Disabled State\n- aria-disabled when disabled=true (for non-native)\n- disabled attribute when native input\n- Removed from tab order\n- Visual disabled styling (consumer responsibility)\n\n## Indeterminate State\n- `asChild`: aria-checked='mixed'\n- native input: current host path omits aria-checked and keeps data-state='indeterminate'\n- Typically used for \"select all\" checkboxes when partial selection",
-    },
-    {
-      name: 'CheckboxA11yContract',
-      anchor: 'checkbox-a11y-contract',
-      signature: 'CheckboxA11yContract: typeof CHECKBOX_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Checkbox A11y Contract object.',
-    },
     {
       name: 'CheckboxAsChildProps',
       anchor: 'checkbox-as-child-props',
@@ -42685,15 +52354,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `collapsible`.',
     },
-    {
-      name: 'COLLAPSIBLE_A11Y_CONTRACT',
-      anchor: 'collapsible-a11-y-contract',
-      signature:
-        'COLLAPSIBLE_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly CONTROLS_ATTRIBUTE: "aria-controls"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly CONTENT_REQUIREMENTS: { readonly idAttribute: "required"; readonly defaultPresence: "unmounted when closed"; }; readonly FOCUS_RULES: { readonly afterActivation: "focus remains on trigger"; readonly contentFocusable: false; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Disclosure Pattern (Collapsible)\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n\nA disclosure (collapsible) shows and hides a region of content via a button.\nThe button indicates the visibility state of the content region.\n\n## Required ARIA\n- Trigger: role="button" (native or explicit)\n- Trigger: aria-expanded="true" | "false"\n- Trigger: aria-controls={contentId}\n- Content: id attribute for aria-controls reference\n\n## Keyboard Support\n- Enter: Toggles content visibility (on trigger)\n- Space: Toggles content visibility (on trigger)\n\n## Focus Management\n- Trigger is focusable when not disabled\n- Focus remains on trigger after activation\n- Content is not focusable by default\n\n## Disabled State\n- Trigger cannot be activated when disabled\n- Visual disabled styling (consumer responsibility)\n\n## Presence\n- Content unmounts when closed (default)\n- Can force mount for animation/transition control',
-    },
     {
       name: 'CollapsibleContent',
       anchor: 'collapsible-content',
@@ -42866,7 +52526,7 @@ export const apiSymbolSets: Readonly<
       signature: 'DebouncedInput: (props: DebouncedInputProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nThe debounced emitter is created once per mount and replaced only when\n`debounceMs` changes. A pending value is re-timed with the new delay (or\nemitted at once when the delay drops to zero), is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
+        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nOne component-owned timer is re-timed when `debounceMs` changes (or emits\nat once when the delay drops to zero). A pending value is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
     },
     {
       name: 'DebouncedInputProps',
@@ -42926,21 +52586,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'DIALOG_A11Y_CONTRACT',
-      anchor: 'dialog-a11-y-contract',
-      signature:
-        'DIALOG_A11Y_CONTRACT: { readonly CONTENT_ROLE: "dialog"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly MODAL_ATTRIBUTE: "aria-modal"; readonly LABELLED_BY_ATTRIBUTE: "aria-labelledby"; readonly DESCRIBED_BY_ATTRIBUTE: "aria-describedby"; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; }; }',
-      typeOnly: true,
-      summary: 'Dialog accessibility contract.',
-    },
-    {
-      name: 'DialogA11yContract',
-      anchor: 'dialog-a11y-contract',
-      signature: 'DialogA11yContract: typeof DIALOG_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Dialog A11y Contract object.',
-    },
     {
       name: 'DialogClose',
       anchor: 'dialog-close',
@@ -43613,14 +53258,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'DISMISSABLE_LAYER_A11Y_CONTRACT',
-      anchor: 'dismissable-layer-a11-y-contract',
-      signature:
-        'DISMISSABLE_LAYER_A11Y_CONTRACT: { readonly DISMISS_EVENTS: readonly ["escape-key", "outside-pointer"]; readonly INTERACTION_POLICY: "background-dismissable"; }',
-      typeOnly: true,
-      summary: 'Dismissable layer accessibility contract.',
-    },
     {
       name: 'DismissableLayer',
       anchor: 'dismissable-layer',
@@ -43630,14 +53267,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `dismissable-layer`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'DismissableLayerA11yContract',
-      anchor: 'dismissable-layer-a11y-contract',
-      signature:
-        'DismissableLayerA11yContract: typeof DISMISSABLE_LAYER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Dismissable Layer A11y Contract object.',
-    },
     {
       name: 'DismissableLayerAsChildProps',
       anchor: 'dismissable-layer-as-child-props',
@@ -43698,148 +53327,133 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<Element>;',
-        },
-      ],
-    },
-    {
-      name: 'DismissableLayerOwnProps',
-      anchor: 'dismissable-layer-own-props',
-      signature:
-        'DismissableLayerOwnProps: {\n  children?: unknown;\n  id?: string;\n  disabled?: boolean;\n  disableOutsidePointerEvents?: boolean;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onDismiss?: () => void;\n}',
-      typeOnly: true,
-      summary:
-        'Own props for Dismissable Layer, before merging with native element attributes.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'disabled',
-          summary: '',
-          signature: 'disabled?: boolean | undefined;',
-        },
-        {
-          name: 'disableOutsidePointerEvents',
-          summary: '',
-          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
-        },
-        {
-          name: 'id',
-          summary: '',
-          signature: 'id?: string | undefined;',
-        },
-        {
-          name: 'onDismiss',
-          summary: '',
-          signature: 'onDismiss?: (() => void) | undefined;',
-        },
-        {
-          name: 'onEscapeKeyDown',
-          summary: '',
-          signature:
-            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
-        },
-        {
-          name: 'onInteractOutside',
-          summary: '',
-          signature:
-            'onInteractOutside?: ((event: Event) => void) | undefined;',
-        },
-        {
-          name: 'onPointerDownOutside',
-          summary: '',
-          signature:
-            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'DismissableLayerProps',
-      anchor: 'dismissable-layer-props',
-      signature:
-        "DismissableLayerProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & DismissableLayerOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}",
-      typeOnly: true,
-      summary: 'Props for Dismissable Layer.',
-      members: [
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: false | undefined;',
-        },
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'disabled',
-          summary: '',
-          signature: 'disabled?: boolean | undefined;',
-        },
-        {
-          name: 'disableOutsidePointerEvents',
-          summary: '',
-          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
-        },
-        {
-          name: 'id',
-          summary: '',
-          signature: 'id?: string | undefined;',
-        },
-        {
-          name: 'onDismiss',
-          summary: '',
-          signature: 'onDismiss?: (() => void) | undefined;',
-        },
-        {
-          name: 'onEscapeKeyDown',
-          summary: '',
-          signature:
-            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
-        },
-        {
-          name: 'onInteractOutside',
-          summary: '',
-          signature:
-            'onInteractOutside?: ((event: Event) => void) | undefined;',
-        },
-        {
-          name: 'onPointerDownOutside',
-          summary: '',
-          signature:
-            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
     {
-      name: 'Dropdown',
-      anchor: 'dropdown',
-      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      name: 'DismissableLayerOwnProps',
+      anchor: 'dismissable-layer-own-props',
+      signature:
+        'DismissableLayerOwnProps: {\n  children?: unknown;\n  id?: string;\n  disabled?: boolean;\n  disableOutsidePointerEvents?: boolean;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onDismiss?: () => void;\n}',
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary:
+        'Own props for Dismissable Layer, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'disableOutsidePointerEvents',
+          summary: '',
+          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+      ],
     },
     {
-      name: 'DROPDOWN_A11Y_CONTRACT',
-      anchor: 'dropdown-a11-y-contract',
+      name: 'DismissableLayerProps',
+      anchor: 'dismissable-layer-props',
       signature:
-        'DROPDOWN_A11Y_CONTRACT: { readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; readonly hasPopup: "aria-haspopup"; }; }',
+        "DismissableLayerProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & DismissableLayerOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}",
       typeOnly: true,
-      summary: 'Dropdown accessibility contract.',
+      summary: 'Props for Dismissable Layer.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'disableOutsidePointerEvents',
+          summary: '',
+          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
     {
-      name: 'DropdownA11yContract',
-      anchor: 'dropdown-a11y-contract',
-      signature: 'DropdownA11yContract: typeof DROPDOWN_A11Y_CONTRACT',
+      name: 'Dropdown',
+      anchor: 'dropdown',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Type of the Dropdown A11y Contract object.',
+      summary: 'Renders a part of `dropdown`.',
     },
     {
       name: 'DropdownContent',
@@ -44546,14 +54160,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Dropdown Trigger Variant.',
     },
-    {
-      name: 'FOCUS_SCOPE_A11Y_CONTRACT',
-      anchor: 'focus-scope-a11-y-contract',
-      signature:
-        'FOCUS_SCOPE_A11Y_CONTRACT: { readonly FEATURES: { readonly trapped: true; readonly loop: true; readonly autoFocus: true; readonly restoreFocus: true; }; }',
-      typeOnly: true,
-      summary: 'Focus scope accessibility contract.',
-    },
     {
       name: 'FocusScope',
       anchor: 'focus-scope',
@@ -44563,13 +54169,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `focus-scope`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'FocusScopeA11yContract',
-      anchor: 'focus-scope-a11y-contract',
-      signature: 'FocusScopeA11yContract: typeof FOCUS_SCOPE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Focus Scope A11y Contract object.',
-    },
     {
       name: 'FocusScopeAsChildProps',
       anchor: 'focus-scope-as-child-props',
@@ -45172,21 +54771,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `input` part of `input`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'INPUT_A11Y_CONTRACT',
-      anchor: 'input-a11-y-contract',
-      signature:
-        'INPUT_A11Y_CONTRACT: { readonly HOST_ELEMENT: "input"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly defaultTabIndex: 0; readonly disabledTabIndex: -1; }; readonly LABELING: { readonly supportsLabelElement: true; readonly supportsAriaLabel: true; readonly supportsAriaLabelledBy: true; }; }',
-      typeOnly: true,
-      summary: 'Native input semantics wrapped by askr-ui Input.',
-    },
-    {
-      name: 'InputA11yContract',
-      anchor: 'input-a11y-contract',
-      signature: 'InputA11yContract: typeof INPUT_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Input A11y Contract object.',
-    },
     {
       name: 'InputAsChildProps',
       anchor: 'input-as-child-props',
@@ -45315,21 +54899,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `label` part of `label`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'LABEL_A11Y_CONTRACT',
-      anchor: 'label-a11-y-contract',
-      signature:
-        'LABEL_A11Y_CONTRACT: { readonly ELEMENT: "label"; readonly ASSOCIATION_ATTRIBUTE: "for"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; }; readonly NAME_SOURCE_PRIORITY: readonly ["aria-label", "textContent"]; readonly AS_CHILD: { readonly forwardsProps: true; readonly preservesChildElement: true; }; }',
-      typeOnly: true,
-      summary: 'Native label semantics for askr-ui Label.',
-    },
-    {
-      name: 'LabelA11yContract',
-      anchor: 'label-a11y-contract',
-      signature: 'LabelA11yContract: typeof LABEL_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Label A11y Contract object.',
-    },
     {
       name: 'LabelAsChildProps',
       anchor: 'label-as-child-props',
@@ -45432,21 +55001,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `menu`.',
     },
-    {
-      name: 'MENU_A11Y_CONTRACT',
-      anchor: 'menu-a11-y-contract',
-      signature:
-        'MENU_A11Y_CONTRACT: { readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Menu accessibility contract.',
-    },
-    {
-      name: 'MenuA11yContract',
-      anchor: 'menu-a11y-contract',
-      signature: 'MenuA11yContract: typeof MENU_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Menu A11y Contract object.',
-    },
     {
       name: 'Menubar',
       anchor: 'menubar',
@@ -45454,21 +55008,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `menubar`.',
     },
-    {
-      name: 'MENUBAR_A11Y_CONTRACT',
-      anchor: 'menubar-a11-y-contract',
-      signature:
-        'MENUBAR_A11Y_CONTRACT: { readonly ROOT_ROLE: "menubar"; readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly HAS_POPUP_ATTRIBUTE: "aria-haspopup"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA menubar contract.',
-    },
-    {
-      name: 'MenubarA11yContract',
-      anchor: 'menubar-a11y-contract',
-      signature: 'MenubarA11yContract: typeof MENUBAR_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Menubar A11y Contract object.',
-    },
     {
       name: 'MenubarContent',
       anchor: 'menubar-content',
@@ -46839,21 +56378,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `popover`.',
     },
-    {
-      name: 'POPOVER_A11Y_CONTRACT',
-      anchor: 'popover-a11-y-contract',
-      signature:
-        'POPOVER_A11Y_CONTRACT: { readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly popup: "aria-haspopup"; readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; }; readonly CONTENT_ATTRIBUTES: { readonly role: "dialog"; readonly labelledBy: "aria-labelledby"; readonly tabIndex: -1; }; readonly DEFAULT_LABELING: { readonly source: "trigger-id"; readonly override: "aria-label or aria-labelledby"; }; readonly FOCUS_RULES: { readonly trapScope: true; readonly restoreFocusOnClose: true; readonly dismissableLayer: true; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA dialog-style popover contract.',
-    },
-    {
-      name: 'PopoverA11yContract',
-      anchor: 'popover-a11y-contract',
-      signature: 'PopoverA11yContract: typeof POPOVER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Popover A11y Contract object.',
-    },
     {
       name: 'PopoverClose',
       anchor: 'popover-close',
@@ -47294,29 +56818,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `progress` part of `progress` with `role="progressbar"`.',
     },
-    {
-      name: 'PROGRESS_A11Y_CONTRACT',
-      anchor: 'progress-a11-y-contract',
-      signature:
-        'PROGRESS_A11Y_CONTRACT: { readonly ROLE: "progressbar"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly percentage: "data-percentage"; }; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly INDICATOR_MARKER: "data-progress-indicator"; readonly INDICATOR_PERCENTAGE_ATTRIBUTE: "data-percentage"; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA progressbar contract for linear progress.',
-    },
-    {
-      name: 'PROGRESS_CIRCLE_A11Y_CONTRACT',
-      anchor: 'progress-circle-a11-y-contract',
-      signature:
-        'PROGRESS_CIRCLE_A11Y_CONTRACT: { readonly ROLE: "progressbar"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly percentage: "data-percentage"; }; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly INDICATOR_MARKER: "data-progress-circle-indicator"; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA progressbar contract for circular progress.',
-    },
-    {
-      name: 'ProgressA11yContract',
-      anchor: 'progress-a11y-contract',
-      signature: 'ProgressA11yContract: typeof PROGRESS_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Progress A11y Contract object.',
-    },
     {
       name: 'ProgressCircle',
       anchor: 'progress-circle',
@@ -47325,14 +56826,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Headless circular progress indicator root.\n\nNormalizes value/max, computes percentage, exposes `--ak-progress-percentage`\nas a dynamically injected CSS custom property, and provides progress state\nto `ProgressCircleIndicator` via context.',
     },
-    {
-      name: 'ProgressCircleA11yContract',
-      anchor: 'progress-circle-a11y-contract',
-      signature:
-        'ProgressCircleA11yContract: typeof PROGRESS_CIRCLE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Progress Circle A11y Contract object.',
-    },
     {
       name: 'ProgressCircleIndicator',
       anchor: 'progress-circle-indicator',
@@ -47618,15 +57111,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'RADIO_GROUP_A11Y_CONTRACT',
-      anchor: 'radio-group-a11-y-contract',
-      signature:
-        'RADIO_GROUP_A11Y_CONTRACT: { readonly GROUP_ROLE: "radiogroup"; readonly ITEM_ROLE: "radio"; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; readonly KEYBOARD_NAVIGATION: readonly ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"]; readonly ROVING_FOCUS: { readonly activeItemTabIndex: 0; readonly inactiveItemTabIndex: -1; }; readonly FORM_INTEGRATION: { readonly hiddenInputType: "hidden"; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Radio Group Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/radio/',
-    },
     {
       name: 'RadioGroup',
       anchor: 'radio-group',
@@ -47635,13 +57119,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `radio-group`.',
     },
-    {
-      name: 'RadioGroupA11yContract',
-      anchor: 'radio-group-a11y-contract',
-      signature: 'RadioGroupA11yContract: typeof RADIO_GROUP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Radio Group A11y Contract object.',
-    },
     {
       name: 'RadioGroupItem',
       anchor: 'radio-group-item',
@@ -48092,21 +57569,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `select`.',
     },
-    {
-      name: 'SELECT_A11Y_CONTRACT',
-      anchor: 'select-a11-y-contract',
-      signature:
-        'SELECT_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly CONTENT_ROLE: "listbox"; readonly ITEM_ROLE: "option"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; readonly hasPopup: "aria-haspopup"; }; readonly ITEM_SELECTION_ATTRIBUTE: "aria-selected"; }',
-      typeOnly: true,
-      summary: 'Select accessibility contract.',
-    },
-    {
-      name: 'SelectA11yContract',
-      anchor: 'select-a11y-contract',
-      signature: 'SelectA11yContract: typeof SELECT_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Select A11y Contract object.',
-    },
     {
       name: 'SelectContent',
       anchor: 'select-content',
@@ -48960,21 +58422,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders the `slider` part of `slider`.',
     },
-    {
-      name: 'SLIDER_A11Y_CONTRACT',
-      anchor: 'slider-a11-y-contract',
-      signature:
-        'SLIDER_A11Y_CONTRACT: { readonly THUMB_ROLE: "slider"; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Slider accessibility contract.',
-    },
-    {
-      name: 'SliderA11yContract',
-      anchor: 'slider-a11y-contract',
-      signature: 'SliderA11yContract: typeof SLIDER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Slider A11y Contract object.',
-    },
     {
       name: 'SliderOrientation',
       anchor: 'slider-orientation',
@@ -49308,22 +58755,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `switch` part of `switch` with `role="switch"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'SWITCH_A11Y_CONTRACT',
-      anchor: 'switch-a11-y-contract',
-      signature:
-        'SWITCH_A11Y_CONTRACT: { readonly ROLE: "switch"; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly KEYBOARD_ACTIVATION: readonly ["Space"]; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly DISABLED_ATTRIBUTES: { readonly nativeButton: { readonly disabled: true; readonly "aria-disabled": "true"; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly FORM_INTEGRATION: { readonly host: "button"; readonly hiddenInputType: "checkbox"; readonly hiddenInputValue: "on"; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Switch Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/switch/',
-    },
-    {
-      name: 'SwitchA11yContract',
-      anchor: 'switch-a11y-contract',
-      signature: 'SwitchA11yContract: typeof SWITCH_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Switch A11y Contract object.',
-    },
     {
       name: 'SwitchAsChildProps',
       anchor: 'switch-as-child-props',
@@ -50027,21 +59458,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `textarea` part of `textarea`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'TEXTAREA_A11Y_CONTRACT',
-      anchor: 'textarea-a11-y-contract',
-      signature:
-        'TEXTAREA_A11Y_CONTRACT: { readonly HOST_ELEMENT: "textarea"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly defaultTabIndex: 0; readonly disabledTabIndex: -1; }; readonly LABELING: { readonly supportsLabelElement: true; readonly supportsAriaLabel: true; readonly supportsAriaLabelledBy: true; }; }',
-      typeOnly: true,
-      summary: 'Native textarea semantics wrapped by askr-ui Textarea.',
-    },
-    {
-      name: 'TextareaA11yContract',
-      anchor: 'textarea-a11y-contract',
-      signature: 'TextareaA11yContract: typeof TEXTAREA_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Textarea A11y Contract object.',
-    },
     {
       name: 'TextareaAsChildProps',
       anchor: 'textarea-as-child-props',
@@ -50161,21 +59577,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Toast registers a notification entry with the host and returns no DOM on\nits own.',
     },
-    {
-      name: 'TOAST_A11Y_CONTRACT',
-      anchor: 'toast-a11-y-contract',
-      signature:
-        'TOAST_A11Y_CONTRACT: { readonly ROOT_ROLE: "status"; readonly LIVE_REGION_ATTRIBUTE: "aria-live"; readonly LIVE_REGION_VALUE: "polite"; readonly VIEWPORT_LABEL: "Notifications"; readonly AUTO_DISMISS_PAUSE: "pointer-or-focus"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; }',
-      typeOnly: true,
-      summary: 'Toast accessibility contract.',
-    },
-    {
-      name: 'ToastA11yContract',
-      anchor: 'toast-a11y-contract',
-      signature: 'ToastA11yContract: typeof TOAST_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toast A11y Contract object.',
-    },
     {
       name: 'ToastAction',
       anchor: 'toast-action',
@@ -50711,30 +60112,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'TOGGLE_A11Y_CONTRACT',
-      anchor: 'toggle-a11-y-contract',
-      signature:
-        'TOGGLE_A11Y_CONTRACT: { readonly ROLE: "button"; readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly PRESSED_ATTRIBUTE: "aria-pressed"; readonly DISABLED_ATTRIBUTES: { readonly nativeButton: { readonly disabled: true; readonly "aria-disabled": "true"; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly DATA_ATTRIBUTES: { readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "tabIndex >= 0"; readonly disabled: "tabIndex = -1"; readonly visualIndicator: "required"; }; }',
-      typeOnly: true,
-      summary:
-        "WAI-ARIA Toggle Button Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/button/\n\nA toggle button is a two-state button that can be either on or off.\nUses aria-pressed to communicate toggle state to assistive technology.\n\n## Required ARIA\n- aria-pressed: 'true' | 'false' (indicates toggle state)\n- role: 'button' (when not native button)\n\n## Keyboard Support\n- Enter: Activates toggle (on native button and non-button elements)\n- Space: Activates toggle\n\n## Focus Management\n- Toggle is focusable when not disabled\n- Visual focus indicator required\n\n## Disabled State\n- aria-disabled when disabled=true\n- Removed from tab order\n- Visual disabled styling (consumer responsibility)",
-    },
-    {
-      name: 'TOGGLE_GROUP_A11Y_CONTRACT',
-      anchor: 'toggle-group-a11-y-contract',
-      signature:
-        'TOGGLE_GROUP_A11Y_CONTRACT: { readonly GROUP_ROLE: "group"; readonly ITEM_ROLE: "button"; readonly PRESSED_ATTRIBUTE: "aria-pressed"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Accessibility contract for toggle groups.',
-    },
-    {
-      name: 'ToggleA11yContract',
-      anchor: 'toggle-a11y-contract',
-      signature: 'ToggleA11yContract: typeof TOGGLE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toggle A11y Contract object.',
-    },
     {
       name: 'ToggleAsChildProps',
       anchor: 'toggle-as-child-props',
@@ -50833,13 +60210,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `toggle-group`.',
     },
-    {
-      name: 'ToggleGroupA11yContract',
-      anchor: 'toggle-group-a11y-contract',
-      signature: 'ToggleGroupA11yContract: typeof TOGGLE_GROUP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toggle Group A11y Contract object.',
-    },
     {
       name: 'ToggleGroupItem',
       anchor: 'toggle-group-item',
@@ -51250,21 +60620,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `tooltip`.',
     },
-    {
-      name: 'TOOLTIP_A11Y_CONTRACT',
-      anchor: 'tooltip-a11-y-contract',
-      signature:
-        'TOOLTIP_A11Y_CONTRACT: { readonly CONTENT_ROLE: "tooltip"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTE: "aria-describedby"; readonly OPEN_STATE_ATTRIBUTE: "data-state"; }',
-      typeOnly: true,
-      summary: 'Tooltip accessibility contract.',
-    },
-    {
-      name: 'TooltipA11yContract',
-      anchor: 'tooltip-a11y-contract',
-      signature: 'TooltipA11yContract: typeof TOOLTIP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Tooltip A11y Contract object.',
-    },
     {
       name: 'TooltipContent',
       anchor: 'tooltip-content',
@@ -52093,14 +61448,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Virtual Table Width.',
     },
-    {
-      name: 'VISUALLY_HIDDEN_A11Y_CONTRACT',
-      anchor: 'visually-hidden-a11-y-contract',
-      signature:
-        'VISUALLY_HIDDEN_A11Y_CONTRACT: { readonly STRATEGY: "visually-hidden-but-screen-reader-visible"; readonly HOST_ELEMENT: "span"; }',
-      typeOnly: true,
-      summary: 'Visually hidden content accessibility contract.',
-    },
     {
       name: 'VisuallyHidden',
       anchor: 'visually-hidden',
@@ -52110,14 +61457,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `visually-hidden`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'VisuallyHiddenA11yContract',
-      anchor: 'visually-hidden-a11y-contract',
-      signature:
-        'VisuallyHiddenA11yContract: typeof VISUALLY_HIDDEN_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Visually Hidden A11y Contract object.',
-    },
     {
       name: 'VisuallyHiddenAsChildProps',
       anchor: 'visually-hidden-as-child-props',
@@ -52211,7 +61550,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols55: [
+  symbols127: [
     {
       name: 'Avatar',
       anchor: 'avatar',
@@ -52221,21 +61560,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `avatar` part of `avatar`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'AVATAR_A11Y_CONTRACT',
-      anchor: 'avatar-a11-y-contract',
-      signature:
-        'AVATAR_A11Y_CONTRACT: { readonly ROOT: { readonly slot: "data-slot"; readonly marker: "data-avatar"; }; readonly IMAGE: { readonly slot: "data-slot"; readonly marker: "data-avatar-image"; readonly requiresAlt: true; }; readonly FALLBACK: { readonly slot: "data-slot"; readonly marker: "data-avatar-fallback"; readonly visibleBeforeImageLoad: true; }; }',
-      typeOnly: true,
-      summary: 'Accessibility contract for Avatar primitives.',
-    },
-    {
-      name: 'AvatarA11yContract',
-      anchor: 'avatar-a11y-contract',
-      signature: 'AvatarA11yContract: typeof AVATAR_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Avatar A11y Contract object.',
-    },
     {
       name: 'AvatarAsChildProps',
       anchor: 'avatar-as-child-props',
@@ -52463,7 +61787,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols56: [
+  symbols128: [
     {
       name: 'Button',
       anchor: 'button',
@@ -52480,22 +61804,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'BUTTON_A11Y_CONTRACT',
-      anchor: 'button-a11-y-contract',
-      signature:
-        'BUTTON_A11Y_CONTRACT: { readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly ROLE: "button"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "aria-disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "focusable"; readonly disabled: "not-focusable"; }; }',
-      typeOnly: true,
-      summary:
-        'Accessibility contract for Button component\n\nFollowing WAI-ARIA Button Pattern:\nhttps://www.w3.org/WAI/ARIA/apg/patterns/button/\n\n## Role\n- Native <button>: implicit role="button"\n- asChild: preserves child role (e.g., role="button" on <div>)\n\n## States\n- disabled (native): uses `disabled` attribute\n- disabled (asChild): uses `aria-disabled="true"` + `tabindex="-1"`\n\n## Keyboard\n- Space: Activates button (handled by pressable foundation)\n- Enter: Activates button (handled by pressable foundation)\n- Disabled buttons do not respond to interaction\n\n## Focus\n- Native buttons: focusable by default\n- asChild elements: receive tabindex if not naturally focusable\n- Disabled: removed from tab order (tabindex="-1" or native disabled)\n\n## Screen Reader\n- Announces role as "button"\n- Announces disabled state\n- Announces accessible name from text content or aria-label\n\n## Implementation Notes\n- All interaction behavior is delegated to `pressable` foundation\n- Button component does NOT implement keyboard handling directly\n- Button component does NOT check disabled prop directly\n- All ARIA attributes are applied by foundation, not component',
-    },
-    {
-      name: 'ButtonA11yContract',
-      anchor: 'button-a11y-contract',
-      signature: 'ButtonA11yContract: typeof BUTTON_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type-safe accessibility contract',
-    },
     {
       name: 'ButtonAsChildElement',
       anchor: 'button-as-child-element',
@@ -52732,7 +62040,7 @@ export const apiSymbolSets: Readonly<
       summary: 'Button Width.',
     },
   ],
-  symbols57: [
+  symbols129: [
     {
       name: 'Checkbox',
       anchor: 'checkbox',
@@ -52749,22 +62057,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'CHECKBOX_A11Y_CONTRACT',
-      anchor: 'checkbox-a11-y-contract',
-      signature:
-        'CHECKBOX_A11Y_CONTRACT: { readonly ROLE: "checkbox"; readonly KEYBOARD_ACTIVATION: readonly ["Space"]; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly INDETERMINATE_VALUE: "mixed"; readonly DISABLED_ATTRIBUTES: { readonly nativeInput: { readonly disabled: true; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly DATA_ATTRIBUTES: { readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "tabIndex >= 0"; readonly disabled: "tabIndex = -1"; readonly visualIndicator: "required"; }; }',
-      typeOnly: true,
-      summary:
-        "WAI-ARIA Checkbox Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/checkbox/\n\nA checkbox is an input mechanism that allows users to select one or more items\nfrom a set. Unlike toggle buttons, checkboxes visually represent a checked state\nwith aria-checked (not aria-pressed).\n\n## Required ARIA\n- aria-checked: 'true' | 'false' | 'mixed' (indicates checkbox state)\n- role: 'checkbox' (when not native input)\n\n## Keyboard Support\n- Space: Activates checkbox\n- Enter: Does not activate checkbox\n\n## Focus Management\n- Checkbox is focusable when not disabled\n- Visual focus indicator required\n\n## Disabled State\n- aria-disabled when disabled=true (for non-native)\n- disabled attribute when native input\n- Removed from tab order\n- Visual disabled styling (consumer responsibility)\n\n## Indeterminate State\n- `asChild`: aria-checked='mixed'\n- native input: current host path omits aria-checked and keeps data-state='indeterminate'\n- Typically used for \"select all\" checkboxes when partial selection",
-    },
-    {
-      name: 'CheckboxA11yContract',
-      anchor: 'checkbox-a11y-contract',
-      signature: 'CheckboxA11yContract: typeof CHECKBOX_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Checkbox A11y Contract object.',
-    },
     {
       name: 'CheckboxAsChildProps',
       anchor: 'checkbox-as-child-props',
@@ -53031,14 +62323,14 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols58: [
+  symbols130: [
     {
       name: 'DebouncedInput',
       anchor: 'debounced-input',
       signature: 'DebouncedInput: (props: DebouncedInputProps) => JSX.Element',
       typeOnly: true,
       summary:
-        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nThe debounced emitter is created once per mount and replaced only when\n`debounceMs` changes. A pending value is re-timed with the new delay (or\nemitted at once when the delay drops to zero), is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
+        'DebouncedInput is a convenience wrapper around Input that emits a settled\nvalue for search and filter surfaces.\n\nOne component-owned timer is re-timed when `debounceMs` changes (or emits\nat once when the delay drops to zero). A pending value is delivered to the latest\n`onDebouncedInput`, is dropped when `onDebouncedInput` is removed, and is\ncancelled on unmount.',
     },
     {
       name: 'DebouncedInputProps',
@@ -53095,21 +62387,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `input` part of `input`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'INPUT_A11Y_CONTRACT',
-      anchor: 'input-a11-y-contract',
-      signature:
-        'INPUT_A11Y_CONTRACT: { readonly HOST_ELEMENT: "input"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly defaultTabIndex: 0; readonly disabledTabIndex: -1; }; readonly LABELING: { readonly supportsLabelElement: true; readonly supportsAriaLabel: true; readonly supportsAriaLabelledBy: true; }; }',
-      typeOnly: true,
-      summary: 'Native input semantics wrapped by askr-ui Input.',
-    },
-    {
-      name: 'InputA11yContract',
-      anchor: 'input-a11y-contract',
-      signature: 'InputA11yContract: typeof INPUT_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Input A11y Contract object.',
-    },
     {
       name: 'InputAsChildProps',
       anchor: 'input-as-child-props',
@@ -53230,7 +62507,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols59: [
+  symbols131: [
     {
       name: 'Form',
       anchor: 'form',
@@ -53291,7 +62568,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols60: [
+  symbols132: [
     {
       name: 'Label',
       anchor: 'label',
@@ -53301,21 +62578,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `label` part of `label`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'LABEL_A11Y_CONTRACT',
-      anchor: 'label-a11-y-contract',
-      signature:
-        'LABEL_A11Y_CONTRACT: { readonly ELEMENT: "label"; readonly ASSOCIATION_ATTRIBUTE: "for"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; }; readonly NAME_SOURCE_PRIORITY: readonly ["aria-label", "textContent"]; readonly AS_CHILD: { readonly forwardsProps: true; readonly preservesChildElement: true; }; }',
-      typeOnly: true,
-      summary: 'Native label semantics for askr-ui Label.',
-    },
-    {
-      name: 'LabelA11yContract',
-      anchor: 'label-a11y-contract',
-      signature: 'LabelA11yContract: typeof LABEL_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Label A11y Contract object.',
-    },
     {
       name: 'LabelAsChildProps',
       anchor: 'label-as-child-props',
@@ -53412,7 +62674,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols61: [
+  symbols133: [
     {
       name: 'Progress',
       anchor: 'progress',
@@ -53421,21 +62683,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `progress` part of `progress` with `role="progressbar"`.',
     },
-    {
-      name: 'PROGRESS_A11Y_CONTRACT',
-      anchor: 'progress-a11-y-contract',
-      signature:
-        'PROGRESS_A11Y_CONTRACT: { readonly ROLE: "progressbar"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly percentage: "data-percentage"; }; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly INDICATOR_MARKER: "data-progress-indicator"; readonly INDICATOR_PERCENTAGE_ATTRIBUTE: "data-percentage"; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA progressbar contract for linear progress.',
-    },
-    {
-      name: 'ProgressA11yContract',
-      anchor: 'progress-a11y-contract',
-      signature: 'ProgressA11yContract: typeof PROGRESS_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Progress A11y Contract object.',
-    },
     {
       name: 'ProgressIndicator',
       anchor: 'progress-indicator',
@@ -53578,15 +62825,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols62: [
-    {
-      name: 'PROGRESS_CIRCLE_A11Y_CONTRACT',
-      anchor: 'progress-circle-a11-y-contract',
-      signature:
-        'PROGRESS_CIRCLE_A11Y_CONTRACT: { readonly ROLE: "progressbar"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly percentage: "data-percentage"; }; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly INDICATOR_MARKER: "data-progress-circle-indicator"; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA progressbar contract for circular progress.',
-    },
+  symbols134: [
     {
       name: 'ProgressCircle',
       anchor: 'progress-circle',
@@ -53595,14 +62834,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Headless circular progress indicator root.\n\nNormalizes value/max, computes percentage, exposes `--ak-progress-percentage`\nas a dynamically injected CSS custom property, and provides progress state\nto `ProgressCircleIndicator` via context.',
     },
-    {
-      name: 'ProgressCircleA11yContract',
-      anchor: 'progress-circle-a11y-contract',
-      signature:
-        'ProgressCircleA11yContract: typeof PROGRESS_CIRCLE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Progress Circle A11y Contract object.',
-    },
     {
       name: 'ProgressCircleIndicator',
       anchor: 'progress-circle-indicator',
@@ -53748,16 +62979,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols63: [
-    {
-      name: 'RADIO_GROUP_A11Y_CONTRACT',
-      anchor: 'radio-group-a11-y-contract',
-      signature:
-        'RADIO_GROUP_A11Y_CONTRACT: { readonly GROUP_ROLE: "radiogroup"; readonly ITEM_ROLE: "radio"; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; readonly KEYBOARD_NAVIGATION: readonly ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"]; readonly ROVING_FOCUS: { readonly activeItemTabIndex: 0; readonly inactiveItemTabIndex: -1; }; readonly FORM_INTEGRATION: { readonly hiddenInputType: "hidden"; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Radio Group Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/radio/',
-    },
+  symbols135: [
     {
       name: 'RadioGroup',
       anchor: 'radio-group',
@@ -53766,13 +62988,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `radio-group`.',
     },
-    {
-      name: 'RadioGroupA11yContract',
-      anchor: 'radio-group-a11y-contract',
-      signature: 'RadioGroupA11yContract: typeof RADIO_GROUP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Radio Group A11y Contract object.',
-    },
     {
       name: 'RadioGroupItem',
       anchor: 'radio-group-item',
@@ -53983,7 +63198,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols64: [
+  symbols136: [
     {
       name: 'Select',
       anchor: 'select',
@@ -53991,21 +63206,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `select`.',
     },
-    {
-      name: 'SELECT_A11Y_CONTRACT',
-      anchor: 'select-a11-y-contract',
-      signature:
-        'SELECT_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly CONTENT_ROLE: "listbox"; readonly ITEM_ROLE: "option"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; readonly hasPopup: "aria-haspopup"; }; readonly ITEM_SELECTION_ATTRIBUTE: "aria-selected"; }',
-      typeOnly: true,
-      summary: 'Select accessibility contract.',
-    },
-    {
-      name: 'SelectA11yContract',
-      anchor: 'select-a11y-contract',
-      signature: 'SelectA11yContract: typeof SELECT_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Select A11y Contract object.',
-    },
     {
       name: 'SelectContent',
       anchor: 'select-content',
@@ -54853,7 +64053,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols65: [
+  symbols137: [
     {
       name: 'Slider',
       anchor: 'slider',
@@ -54861,21 +64061,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders the `slider` part of `slider`.',
     },
-    {
-      name: 'SLIDER_A11Y_CONTRACT',
-      anchor: 'slider-a11-y-contract',
-      signature:
-        'SLIDER_A11Y_CONTRACT: { readonly THUMB_ROLE: "slider"; readonly VALUE_NOW_ATTRIBUTE: "aria-valuenow"; readonly VALUE_MIN_ATTRIBUTE: "aria-valuemin"; readonly VALUE_MAX_ATTRIBUTE: "aria-valuemax"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Slider accessibility contract.',
-    },
-    {
-      name: 'SliderA11yContract',
-      anchor: 'slider-a11y-contract',
-      signature: 'SliderA11yContract: typeof SLIDER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Slider A11y Contract object.',
-    },
     {
       name: 'SliderOrientation',
       anchor: 'slider-orientation',
@@ -55201,7 +64386,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols66: [
+  symbols138: [
     {
       name: 'Switch',
       anchor: 'switch',
@@ -55211,22 +64396,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `switch` part of `switch` with `role="switch"`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'SWITCH_A11Y_CONTRACT',
-      anchor: 'switch-a11-y-contract',
-      signature:
-        'SWITCH_A11Y_CONTRACT: { readonly ROLE: "switch"; readonly CHECKED_ATTRIBUTE: "aria-checked"; readonly KEYBOARD_ACTIVATION: readonly ["Space"]; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly DISABLED_ATTRIBUTES: { readonly nativeButton: { readonly disabled: true; readonly "aria-disabled": "true"; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly FORM_INTEGRATION: { readonly host: "button"; readonly hiddenInputType: "checkbox"; readonly hiddenInputValue: "on"; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Switch Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/switch/',
-    },
-    {
-      name: 'SwitchA11yContract',
-      anchor: 'switch-a11y-contract',
-      signature: 'SwitchA11yContract: typeof SWITCH_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Switch A11y Contract object.',
-    },
     {
       name: 'SwitchAsChildProps',
       anchor: 'switch-as-child-props',
@@ -55448,7 +64617,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols67: [
+  symbols139: [
     {
       name: 'Table',
       anchor: 'table',
@@ -55924,7 +65093,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols68: [
+  symbols140: [
     {
       name: 'VirtualList',
       anchor: 'virtual-list',
@@ -56155,7 +65324,7 @@ export const apiSymbolSets: Readonly<
       summary: 'Virtual List Viewport.',
     },
   ],
-  symbols69: [
+  symbols141: [
     {
       name: 'VirtualTable',
       anchor: 'virtual-table',
@@ -56444,7 +65613,7 @@ export const apiSymbolSets: Readonly<
       summary: 'Virtual Table Width.',
     },
   ],
-  symbols70: [
+  symbols142: [
     {
       name: 'Textarea',
       anchor: 'textarea',
@@ -56454,21 +65623,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders the `textarea` part of `textarea`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'TEXTAREA_A11Y_CONTRACT',
-      anchor: 'textarea-a11-y-contract',
-      signature:
-        'TEXTAREA_A11Y_CONTRACT: { readonly HOST_ELEMENT: "textarea"; readonly DISABLED_ATTRIBUTES: { readonly native: "disabled"; readonly asChild: "disabled"; }; readonly DATA_ATTRIBUTES: { readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly defaultTabIndex: 0; readonly disabledTabIndex: -1; }; readonly LABELING: { readonly supportsLabelElement: true; readonly supportsAriaLabel: true; readonly supportsAriaLabelledBy: true; }; }',
-      typeOnly: true,
-      summary: 'Native textarea semantics wrapped by askr-ui Textarea.',
-    },
-    {
-      name: 'TextareaA11yContract',
-      anchor: 'textarea-a11y-contract',
-      signature: 'TextareaA11yContract: typeof TEXTAREA_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Textarea A11y Contract object.',
-    },
     {
       name: 'TextareaAsChildProps',
       anchor: 'textarea-as-child-props',
@@ -56581,7 +65735,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols71: [
+  symbols143: [
     {
       name: 'PressEvent',
       anchor: 'press-event',
@@ -56606,22 +65760,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'TOGGLE_A11Y_CONTRACT',
-      anchor: 'toggle-a11-y-contract',
-      signature:
-        'TOGGLE_A11Y_CONTRACT: { readonly ROLE: "button"; readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly PRESSED_ATTRIBUTE: "aria-pressed"; readonly DISABLED_ATTRIBUTES: { readonly nativeButton: { readonly disabled: true; readonly "aria-disabled": "true"; }; readonly nonNative: { readonly "aria-disabled": "true"; readonly tabIndex: -1; }; }; readonly DATA_ATTRIBUTES: { readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly FOCUS_RULES: { readonly enabled: "tabIndex >= 0"; readonly disabled: "tabIndex = -1"; readonly visualIndicator: "required"; }; }',
-      typeOnly: true,
-      summary:
-        "WAI-ARIA Toggle Button Pattern\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/button/\n\nA toggle button is a two-state button that can be either on or off.\nUses aria-pressed to communicate toggle state to assistive technology.\n\n## Required ARIA\n- aria-pressed: 'true' | 'false' (indicates toggle state)\n- role: 'button' (when not native button)\n\n## Keyboard Support\n- Enter: Activates toggle (on native button and non-button elements)\n- Space: Activates toggle\n\n## Focus Management\n- Toggle is focusable when not disabled\n- Visual focus indicator required\n\n## Disabled State\n- aria-disabled when disabled=true\n- Removed from tab order\n- Visual disabled styling (consumer responsibility)",
-    },
-    {
-      name: 'ToggleA11yContract',
-      anchor: 'toggle-a11y-contract',
-      signature: 'ToggleA11yContract: typeof TOGGLE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toggle A11y Contract object.',
-    },
     {
       name: 'ToggleAsChildProps',
       anchor: 'toggle-as-child-props',
@@ -56788,15 +65926,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols72: [
-    {
-      name: 'TOGGLE_GROUP_A11Y_CONTRACT',
-      anchor: 'toggle-group-a11-y-contract',
-      signature:
-        'TOGGLE_GROUP_A11Y_CONTRACT: { readonly GROUP_ROLE: "group"; readonly ITEM_ROLE: "button"; readonly PRESSED_ATTRIBUTE: "aria-pressed"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Accessibility contract for toggle groups.',
-    },
+  symbols144: [
     {
       name: 'ToggleGroup',
       anchor: 'toggle-group',
@@ -56805,13 +65935,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `toggle-group`.',
     },
-    {
-      name: 'ToggleGroupA11yContract',
-      anchor: 'toggle-group-a11y-contract',
-      signature: 'ToggleGroupA11yContract: typeof TOGGLE_GROUP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toggle Group A11y Contract object.',
-    },
     {
       name: 'ToggleGroupItem',
       anchor: 'toggle-group-item',
@@ -57140,15 +66263,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols73: [
-    {
-      name: 'VISUALLY_HIDDEN_A11Y_CONTRACT',
-      anchor: 'visually-hidden-a11-y-contract',
-      signature:
-        'VISUALLY_HIDDEN_A11Y_CONTRACT: { readonly STRATEGY: "visually-hidden-but-screen-reader-visible"; readonly HOST_ELEMENT: "span"; }',
-      typeOnly: true,
-      summary: 'Visually hidden content accessibility contract.',
-    },
+  symbols145: [
     {
       name: 'VisuallyHidden',
       anchor: 'visually-hidden',
@@ -57158,14 +66273,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `visually-hidden`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'VisuallyHiddenA11yContract',
-      anchor: 'visually-hidden-a11y-contract',
-      signature:
-        'VisuallyHiddenA11yContract: typeof VISUALLY_HIDDEN_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Visually Hidden A11y Contract object.',
-    },
     {
       name: 'VisuallyHiddenAsChildProps',
       anchor: 'visually-hidden-as-child-props',
@@ -57259,7 +66366,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols74: [
+  symbols146: [
     {
       name: 'Accordion',
       anchor: 'accordion',
@@ -57267,21 +66374,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `accordion`.',
     },
-    {
-      name: 'ACCORDION_A11Y_CONTRACT',
-      anchor: 'accordion-a11-y-contract',
-      signature:
-        'ACCORDION_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly CONTROLS_ATTRIBUTE: "aria-controls"; readonly PANEL_ROLE: "region"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA accordion/disclosure contract.',
-    },
-    {
-      name: 'AccordionA11yContract',
-      anchor: 'accordion-a11y-contract',
-      signature: 'AccordionA11yContract: typeof ACCORDION_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Accordion A11y Contract object.',
-    },
     {
       name: 'AccordionContent',
       anchor: 'accordion-content',
@@ -57789,15 +66881,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols75: [
-    {
-      name: 'ALERT_DIALOG_A11Y_CONTRACT',
-      anchor: 'alert-dialog-a11-y-contract',
-      signature:
-        'ALERT_DIALOG_A11Y_CONTRACT: { readonly CONTENT_ROLE: "alertdialog"; readonly LABELLED_BY_ATTRIBUTE: "aria-labelledby"; readonly DESCRIBED_BY_ATTRIBUTE: "aria-describedby"; readonly ACTION_REQUIREMENTS: { readonly hasPrimaryAction: true; readonly hasCancelAction: true; }; }',
-      typeOnly: true,
-      summary: 'Alert dialog accessibility contract.',
-    },
+  symbols147: [
     {
       name: 'AlertDialog',
       anchor: 'alert-dialog',
@@ -57806,13 +66890,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `alert-dialog`.',
     },
-    {
-      name: 'AlertDialogA11yContract',
-      anchor: 'alert-dialog-a11y-contract',
-      signature: 'AlertDialogA11yContract: typeof ALERT_DIALOG_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Alert Dialog A11y Contract object.',
-    },
     {
       name: 'AlertDialogAction',
       anchor: 'alert-dialog-action',
@@ -58567,7 +67644,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols76: [
+  symbols148: [
     {
       name: 'Collapsible',
       anchor: 'collapsible',
@@ -58575,15 +67652,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `collapsible`.',
     },
-    {
-      name: 'COLLAPSIBLE_A11Y_CONTRACT',
-      anchor: 'collapsible-a11-y-contract',
-      signature:
-        'COLLAPSIBLE_A11Y_CONTRACT: { readonly TRIGGER_ROLE: "button"; readonly KEYBOARD_ACTIVATION: readonly ["Enter", "Space"]; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly CONTROLS_ATTRIBUTE: "aria-controls"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly CONTENT_REQUIREMENTS: { readonly idAttribute: "required"; readonly defaultPresence: "unmounted when closed"; }; readonly FOCUS_RULES: { readonly afterActivation: "focus remains on trigger"; readonly contentFocusable: false; }; }',
-      typeOnly: true,
-      summary:
-        'WAI-ARIA Disclosure Pattern (Collapsible)\n\nSpecification: https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n\nA disclosure (collapsible) shows and hides a region of content via a button.\nThe button indicates the visibility state of the content region.\n\n## Required ARIA\n- Trigger: role="button" (native or explicit)\n- Trigger: aria-expanded="true" | "false"\n- Trigger: aria-controls={contentId}\n- Content: id attribute for aria-controls reference\n\n## Keyboard Support\n- Enter: Toggles content visibility (on trigger)\n- Space: Toggles content visibility (on trigger)\n\n## Focus Management\n- Trigger is focusable when not disabled\n- Focus remains on trigger after activation\n- Content is not focusable by default\n\n## Disabled State\n- Trigger cannot be activated when disabled\n- Visual disabled styling (consumer responsibility)\n\n## Presence\n- Content unmounts when closed (default)\n- Can force mount for animation/transition control',
-    },
     {
       name: 'CollapsibleContent',
       anchor: 'collapsible-content',
@@ -58751,7 +67819,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols77: [
+  symbols149: [
     {
       name: 'Dialog',
       anchor: 'dialog',
@@ -58764,21 +67832,6 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'DIALOG_A11Y_CONTRACT',
-      anchor: 'dialog-a11-y-contract',
-      signature:
-        'DIALOG_A11Y_CONTRACT: { readonly CONTENT_ROLE: "dialog"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; readonly MODAL_ATTRIBUTE: "aria-modal"; readonly LABELLED_BY_ATTRIBUTE: "aria-labelledby"; readonly DESCRIBED_BY_ATTRIBUTE: "aria-describedby"; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; }; }',
-      typeOnly: true,
-      summary: 'Dialog accessibility contract.',
-    },
-    {
-      name: 'DialogA11yContract',
-      anchor: 'dialog-a11y-contract',
-      signature: 'DialogA11yContract: typeof DIALOG_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Dialog A11y Contract object.',
-    },
     {
       name: 'DialogClose',
       anchor: 'dialog-close',
@@ -59452,15 +68505,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols78: [
-    {
-      name: 'DISMISSABLE_LAYER_A11Y_CONTRACT',
-      anchor: 'dismissable-layer-a11-y-contract',
-      signature:
-        'DISMISSABLE_LAYER_A11Y_CONTRACT: { readonly DISMISS_EVENTS: readonly ["escape-key", "outside-pointer"]; readonly INTERACTION_POLICY: "background-dismissable"; }',
-      typeOnly: true,
-      summary: 'Dismissable layer accessibility contract.',
-    },
+  symbols150: [
     {
       name: 'DismissableLayer',
       anchor: 'dismissable-layer',
@@ -59470,14 +68515,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `dismissable-layer`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'DismissableLayerA11yContract',
-      anchor: 'dismissable-layer-a11y-contract',
-      signature:
-        'DismissableLayerA11yContract: typeof DISMISSABLE_LAYER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Dismissable Layer A11y Contract object.',
-    },
     {
       name: 'DismissableLayerAsChildProps',
       anchor: 'dismissable-layer-as-child-props',
@@ -59538,150 +68575,135 @@ export const apiSymbolSets: Readonly<
         {
           name: 'ref',
           summary: '',
-          signature: 'ref?: Ref<Element>;',
-        },
-      ],
-    },
-    {
-      name: 'DismissableLayerOwnProps',
-      anchor: 'dismissable-layer-own-props',
-      signature:
-        'DismissableLayerOwnProps: {\n  children?: unknown;\n  id?: string;\n  disabled?: boolean;\n  disableOutsidePointerEvents?: boolean;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onDismiss?: () => void;\n}',
-      typeOnly: true,
-      summary:
-        'Own props for Dismissable Layer, before merging with native element attributes.',
-      members: [
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'disabled',
-          summary: '',
-          signature: 'disabled?: boolean | undefined;',
-        },
-        {
-          name: 'disableOutsidePointerEvents',
-          summary: '',
-          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
-        },
-        {
-          name: 'id',
-          summary: '',
-          signature: 'id?: string | undefined;',
-        },
-        {
-          name: 'onDismiss',
-          summary: '',
-          signature: 'onDismiss?: (() => void) | undefined;',
-        },
-        {
-          name: 'onEscapeKeyDown',
-          summary: '',
-          signature:
-            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
-        },
-        {
-          name: 'onInteractOutside',
-          summary: '',
-          signature:
-            'onInteractOutside?: ((event: Event) => void) | undefined;',
-        },
-        {
-          name: 'onPointerDownOutside',
-          summary: '',
-          signature:
-            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
-        },
-      ],
-    },
-    {
-      name: 'DismissableLayerProps',
-      anchor: 'dismissable-layer-props',
-      signature:
-        "DismissableLayerProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & DismissableLayerOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}",
-      typeOnly: true,
-      summary: 'Props for Dismissable Layer.',
-      members: [
-        {
-          name: 'asChild',
-          summary: '',
-          signature: 'asChild?: false | undefined;',
-        },
-        {
-          name: 'children',
-          summary: '',
-          signature: 'children?: unknown;',
-        },
-        {
-          name: 'disabled',
-          summary: '',
-          signature: 'disabled?: boolean | undefined;',
-        },
-        {
-          name: 'disableOutsidePointerEvents',
-          summary: '',
-          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
-        },
-        {
-          name: 'id',
-          summary: '',
-          signature: 'id?: string | undefined;',
-        },
-        {
-          name: 'onDismiss',
-          summary: '',
-          signature: 'onDismiss?: (() => void) | undefined;',
-        },
-        {
-          name: 'onEscapeKeyDown',
-          summary: '',
-          signature:
-            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
-        },
-        {
-          name: 'onInteractOutside',
-          summary: '',
-          signature:
-            'onInteractOutside?: ((event: Event) => void) | undefined;',
-        },
-        {
-          name: 'onPointerDownOutside',
-          summary: '',
-          signature:
-            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
-        },
-        {
-          name: 'ref',
-          summary: '',
-          signature: 'ref?: Ref<HTMLDivElement>;',
+          signature: 'ref?: Ref<Element>;',
         },
       ],
     },
-  ],
-  symbols79: [
     {
-      name: 'Dropdown',
-      anchor: 'dropdown',
-      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
+      name: 'DismissableLayerOwnProps',
+      anchor: 'dismissable-layer-own-props',
+      signature:
+        'DismissableLayerOwnProps: {\n  children?: unknown;\n  id?: string;\n  disabled?: boolean;\n  disableOutsidePointerEvents?: boolean;\n  onEscapeKeyDown?: (event: KeyboardEvent) => void;\n  onPointerDownOutside?: (event: PointerEvent) => void;\n  onInteractOutside?: (event: Event) => void;\n  onDismiss?: () => void;\n}',
       typeOnly: true,
-      summary: 'Renders a part of `dropdown`.',
+      summary:
+        'Own props for Dismissable Layer, before merging with native element attributes.',
+      members: [
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'disableOutsidePointerEvents',
+          summary: '',
+          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+      ],
     },
     {
-      name: 'DROPDOWN_A11Y_CONTRACT',
-      anchor: 'dropdown-a11-y-contract',
+      name: 'DismissableLayerProps',
+      anchor: 'dismissable-layer-props',
       signature:
-        'DROPDOWN_A11Y_CONTRACT: { readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; readonly hasPopup: "aria-haspopup"; }; }',
+        "DismissableLayerProps: Omit<JSX.IntrinsicElements['div'], 'children' | 'ref'> & DismissableLayerOwnProps & {\n  asChild?: false;\n  ref?: Ref<HTMLDivElement>;\n}",
       typeOnly: true,
-      summary: 'Dropdown accessibility contract.',
+      summary: 'Props for Dismissable Layer.',
+      members: [
+        {
+          name: 'asChild',
+          summary: '',
+          signature: 'asChild?: false | undefined;',
+        },
+        {
+          name: 'children',
+          summary: '',
+          signature: 'children?: unknown;',
+        },
+        {
+          name: 'disabled',
+          summary: '',
+          signature: 'disabled?: boolean | undefined;',
+        },
+        {
+          name: 'disableOutsidePointerEvents',
+          summary: '',
+          signature: 'disableOutsidePointerEvents?: boolean | undefined;',
+        },
+        {
+          name: 'id',
+          summary: '',
+          signature: 'id?: string | undefined;',
+        },
+        {
+          name: 'onDismiss',
+          summary: '',
+          signature: 'onDismiss?: (() => void) | undefined;',
+        },
+        {
+          name: 'onEscapeKeyDown',
+          summary: '',
+          signature:
+            'onEscapeKeyDown?: ((event: KeyboardEvent) => void) | undefined;',
+        },
+        {
+          name: 'onInteractOutside',
+          summary: '',
+          signature:
+            'onInteractOutside?: ((event: Event) => void) | undefined;',
+        },
+        {
+          name: 'onPointerDownOutside',
+          summary: '',
+          signature:
+            'onPointerDownOutside?: ((event: PointerEvent) => void) | undefined;',
+        },
+        {
+          name: 'ref',
+          summary: '',
+          signature: 'ref?: Ref<HTMLDivElement>;',
+        },
+      ],
     },
+  ],
+  symbols151: [
     {
-      name: 'DropdownA11yContract',
-      anchor: 'dropdown-a11y-contract',
-      signature: 'DropdownA11yContract: typeof DROPDOWN_A11Y_CONTRACT',
+      name: 'Dropdown',
+      anchor: 'dropdown',
+      signature: 'Dropdown: (props: DropdownProps) => JSX.Element',
       typeOnly: true,
-      summary: 'Type of the Dropdown A11y Contract object.',
+      summary: 'Renders a part of `dropdown`.',
     },
     {
       name: 'DropdownContent',
@@ -60389,15 +69411,7 @@ export const apiSymbolSets: Readonly<
       summary: 'Dropdown Trigger Variant.',
     },
   ],
-  symbols80: [
-    {
-      name: 'FOCUS_SCOPE_A11Y_CONTRACT',
-      anchor: 'focus-scope-a11-y-contract',
-      signature:
-        'FOCUS_SCOPE_A11Y_CONTRACT: { readonly FEATURES: { readonly trapped: true; readonly loop: true; readonly autoFocus: true; readonly restoreFocus: true; }; }',
-      typeOnly: true,
-      summary: 'Focus scope accessibility contract.',
-    },
+  symbols152: [
     {
       name: 'FocusScope',
       anchor: 'focus-scope',
@@ -60407,13 +69421,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Renders a part of `focus-scope`.\n\nSupports polymorphic rendering via `asChild`.',
     },
-    {
-      name: 'FocusScopeA11yContract',
-      anchor: 'focus-scope-a11y-contract',
-      signature: 'FocusScopeA11yContract: typeof FOCUS_SCOPE_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Focus Scope A11y Contract object.',
-    },
     {
       name: 'FocusScopeAsChildProps',
       anchor: 'focus-scope-as-child-props',
@@ -60590,7 +69597,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols81: [
+  symbols153: [
     {
       name: 'HoverCard',
       anchor: 'hover-card',
@@ -60951,7 +69958,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols82: [
+  symbols154: [
     {
       name: 'Menu',
       anchor: 'menu',
@@ -60959,21 +69966,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `menu`.',
     },
-    {
-      name: 'MENU_A11Y_CONTRACT',
-      anchor: 'menu-a11-y-contract',
-      signature:
-        'MENU_A11Y_CONTRACT: { readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly ORIENTATION_ATTRIBUTE: "aria-orientation"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly disabled: "data-disabled"; readonly orientation: "data-orientation"; }; }',
-      typeOnly: true,
-      summary: 'Menu accessibility contract.',
-    },
-    {
-      name: 'MenuA11yContract',
-      anchor: 'menu-a11y-contract',
-      signature: 'MenuA11yContract: typeof MENU_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Menu A11y Contract object.',
-    },
     {
       name: 'MenuContent',
       anchor: 'menu-content',
@@ -61468,7 +70460,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols83: [
+  symbols155: [
     {
       name: 'Menubar',
       anchor: 'menubar',
@@ -61476,21 +70468,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `menubar`.',
     },
-    {
-      name: 'MENUBAR_A11Y_CONTRACT',
-      anchor: 'menubar-a11-y-contract',
-      signature:
-        'MENUBAR_A11Y_CONTRACT: { readonly ROOT_ROLE: "menubar"; readonly CONTENT_ROLE: "menu"; readonly ITEM_ROLE: "menuitem"; readonly EXPANDED_ATTRIBUTE: "aria-expanded"; readonly HAS_POPUP_ATTRIBUTE: "aria-haspopup"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA menubar contract.',
-    },
-    {
-      name: 'MenubarA11yContract',
-      anchor: 'menubar-a11y-contract',
-      signature: 'MenubarA11yContract: typeof MENUBAR_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Menubar A11y Contract object.',
-    },
     {
       name: 'MenubarContent',
       anchor: 'menubar-content',
@@ -62341,7 +71318,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols84: [
+  symbols156: [
     {
       name: 'OverlayHost',
       anchor: 'overlay-host',
@@ -62363,7 +71340,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols85: [
+  symbols157: [
     {
       name: 'Popover',
       anchor: 'popover',
@@ -62372,21 +71349,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `popover`.',
     },
-    {
-      name: 'POPOVER_A11Y_CONTRACT',
-      anchor: 'popover-a11-y-contract',
-      signature:
-        'POPOVER_A11Y_CONTRACT: { readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly popup: "aria-haspopup"; readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; }; readonly CONTENT_ATTRIBUTES: { readonly role: "dialog"; readonly labelledBy: "aria-labelledby"; readonly tabIndex: -1; }; readonly DEFAULT_LABELING: { readonly source: "trigger-id"; readonly override: "aria-label or aria-labelledby"; }; readonly FOCUS_RULES: { readonly trapScope: true; readonly restoreFocusOnClose: true; readonly dismissableLayer: true; }; }',
-      typeOnly: true,
-      summary: 'WAI-ARIA dialog-style popover contract.',
-    },
-    {
-      name: 'PopoverA11yContract',
-      anchor: 'popover-a11y-contract',
-      signature: 'PopoverA11yContract: typeof POPOVER_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Popover A11y Contract object.',
-    },
     {
       name: 'PopoverClose',
       anchor: 'popover-close',
@@ -62811,7 +71773,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols86: [
+  symbols158: [
     {
       name: 'ScrollArea',
       anchor: 'scroll-area',
@@ -63047,7 +72009,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols87: [
+  symbols159: [
     {
       name: 'Toast',
       anchor: 'toast',
@@ -63056,21 +72018,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Toast registers a notification entry with the host and returns no DOM on\nits own.',
     },
-    {
-      name: 'TOAST_A11Y_CONTRACT',
-      anchor: 'toast-a11-y-contract',
-      signature:
-        'TOAST_A11Y_CONTRACT: { readonly ROOT_ROLE: "status"; readonly LIVE_REGION_ATTRIBUTE: "aria-live"; readonly LIVE_REGION_VALUE: "polite"; readonly VIEWPORT_LABEL: "Notifications"; readonly AUTO_DISMISS_PAUSE: "pointer-or-focus"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; }; }',
-      typeOnly: true,
-      summary: 'Toast accessibility contract.',
-    },
-    {
-      name: 'ToastA11yContract',
-      anchor: 'toast-a11y-contract',
-      signature: 'ToastA11yContract: typeof TOAST_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Toast A11y Contract object.',
-    },
     {
       name: 'ToastAction',
       anchor: 'toast-action',
@@ -63592,7 +72539,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols88: [
+  symbols160: [
     {
       name: 'Tooltip',
       anchor: 'tooltip',
@@ -63601,21 +72548,6 @@ export const apiSymbolSets: Readonly<
       typeOnly: true,
       summary: 'Renders a part of `tooltip`.',
     },
-    {
-      name: 'TOOLTIP_A11Y_CONTRACT',
-      anchor: 'tooltip-a11-y-contract',
-      signature:
-        'TOOLTIP_A11Y_CONTRACT: { readonly CONTENT_ROLE: "tooltip"; readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTE: "aria-describedby"; readonly OPEN_STATE_ATTRIBUTE: "data-state"; }',
-      typeOnly: true,
-      summary: 'Tooltip accessibility contract.',
-    },
-    {
-      name: 'TooltipA11yContract',
-      anchor: 'tooltip-a11y-contract',
-      signature: 'TooltipA11yContract: typeof TOOLTIP_A11Y_CONTRACT',
-      typeOnly: true,
-      summary: 'Type of the Tooltip A11y Contract object.',
-    },
     {
       name: 'TooltipContent',
       anchor: 'tooltip-content',
@@ -63929,7 +72861,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols89: [
+  symbols161: [
     {
       name: 'askr',
       anchor: 'askr',
@@ -63945,24 +72877,9 @@ export const apiSymbolSets: Readonly<
         ],
       },
     },
-    {
-      name: 'askrVitePlugin',
-      anchor: 'askr-vite-plugin',
-      signature:
-        'askrVitePlugin: (options?: AskrVitePluginOptions) => AskrVitePlugin',
-      typeOnly: false,
-      summary:
-        'Create the Askr Vite plugin, which transforms Askr JSX/TSX with oxc, wires\nup dependency pre-bundling and aliasing for `@askrjs/askr`, and optionally\nruns the responsive image pipeline and template optimizer.\nJSX transform failures are reported through the active Vite/Rollup plugin\ncontext with the source file and original transform detail.',
-      tags: {
-        param: ['options Plugin configuration; all fields are optional.'],
-        returns: [
-          'A Vite-compatible plugin object exposing the `askr:vite` name.',
-        ],
-      },
-    },
     {
       name: 'AskrVitePlugin',
-      anchor: 'askr-vite-plugin-2',
+      anchor: 'askr-vite-plugin',
       signature: 'AskrVitePlugin: any',
       typeOnly: true,
       summary:
@@ -63994,11 +72911,6 @@ export const apiSymbolSets: Readonly<
             'Hoist repeated JSX class/style literals using parsed compiled output. Defaults to `false`.',
           signature: 'optimizeTemplates?: boolean;',
         },
-        {
-          name: 'ssrPrecompile',
-          summary: '',
-          signature: 'ssrPrecompile?: boolean;',
-        },
         {
           name: 'images',
           summary: 'Opt into declared responsive image transforms.',
@@ -64031,31 +72943,7 @@ export const apiSymbolSets: Readonly<
       ],
     },
   ],
-  symbols90: [
-    {
-      name: 'ASKR_APP_MARKER',
-      anchor: 'askr-app-marker',
-      signature: 'ASKR_APP_MARKER: "<!--askr-app-->"',
-      typeOnly: false,
-      summary:
-        'Placeholder marker in `index.html` replaced with the rendered app fragment.',
-    },
-    {
-      name: 'ASKR_HEAD_MARKER',
-      anchor: 'askr-head-marker',
-      signature: 'ASKR_HEAD_MARKER: "<!--askr-head-->"',
-      typeOnly: false,
-      summary:
-        'Placeholder marker in `index.html` replaced with rendered `<head>` content.',
-    },
-    {
-      name: 'ASKR_SERVER_MODULE_ID',
-      anchor: 'askr-server-module-id',
-      signature: 'ASKR_SERVER_MODULE_ID: "virtual:askr-server"',
-      typeOnly: false,
-      summary:
-        'Virtual module id that resolves to the generated server document app.',
-    },
+  symbols162: [
     {
       name: 'AskrDocumentOptions',
       anchor: 'askr-document-options',
@@ -64077,7 +72965,7 @@ export const apiSymbolSets: Readonly<
       signature: 'askrServer: (options: AskrServerOptions) => AskrServerPlugin',
       typeOnly: false,
       summary:
-        "Create the Vite plugin that serves Askr's server-rendered document during\ndevelopment and generates the {@link ASKR_SERVER_MODULE_ID} virtual module\nthat composes the built server app with the HTML document.",
+        "Create the Vite plugin that serves Askr's server-rendered document during\ndevelopment and generates the {@link ASKR_SERVER_MODULE_ID } virtual module\nthat composes the built server app with the HTML document.",
       tags: {
         param: ['options Server entry and document configuration.'],
         returns: [
@@ -64126,34 +73014,6 @@ export const apiSymbolSets: Readonly<
         },
       ],
     },
-    {
-      name: 'composeAskrDocumentResponse',
-      anchor: 'compose-askr-document-response',
-      signature:
-        'composeAskrDocumentResponse: (response: Response, transformedDocument: string, options?: AskrDocumentOptions) => Promise<Response>',
-      typeOnly: false,
-      summary:
-        "Compose an Askr fragment response into the full `transformedDocument` HTML,\nstreaming the fragment's body between the document prefix and suffix.\nNon-fragment responses are returned unchanged.",
-      tags: {
-        param: [
-          'response The upstream response, expected to be an Askr fragment.',
-          'transformedDocument The `index.html` document with app/head markers.',
-          'options Optional telemetry hook wrapping the compose work.',
-        ],
-        returns: [
-          'The composed full-document `Response`, or `response` unchanged.',
-        ],
-      },
-    },
-    {
-      name: 'composeAskrHead',
-      anchor: 'compose-askr-head',
-      signature:
-        'composeAskrHead: (document: string, head: string, lang?: string, dir?: string) => string',
-      typeOnly: false,
-      summary:
-        "Replace the {@link ASKR_HEAD_MARKER} in `document` with normalized `head`\nmarkup, and patch the `<html>` tag's `lang`/`dir` attributes when given.",
-    },
     {
       name: 'createDocumentApp',
       anchor: 'create-document-app',
@@ -64161,30 +73021,10 @@ export const apiSymbolSets: Readonly<
         'createDocumentApp: (app: ServerApp, transformedDocument: string, options?: AskrDocumentOptions) => ServerApp',
       typeOnly: false,
       summary:
-        'Wrap `app` so every response is composed into `transformedDocument` via\n{@link composeAskrDocumentResponse}.',
-    },
-    {
-      name: 'insertAskrFragment',
-      anchor: 'insert-askr-fragment',
-      signature:
-        'insertAskrFragment: (document: string, fragment: string) => string',
-      typeOnly: false,
-      summary:
-        'Replace the single {@link ASKR_APP_MARKER} in `document` with `fragment`.',
-      tags: {
-        throws: ['If `document` does not contain exactly one app marker.'],
-      },
-    },
-    {
-      name: 'isAskrFragment',
-      anchor: 'is-askr-fragment',
-      signature: 'isAskrFragment: (response: Response) => boolean',
-      typeOnly: false,
-      summary:
-        'Whether `response` carries the `askr-fragment=1` content-type marker.',
+        'Wrap `app` so every response is composed into `transformedDocument` via\n{@link composeAskrDocumentResponse }.',
     },
   ],
-  symbols91: [
+  symbols163: [
     {
       name: 'image',
       anchor: 'image',
@@ -64261,30 +73101,6 @@ export const apiSymbolSets: Readonly<
       summary:
         'Output image formats the pipeline can emit; `"source"` keeps the original format.',
     },
-    {
-      name: 'ImagePipelineOptions',
-      anchor: 'image-pipeline-options',
-      signature: 'ImagePipelineOptions: any',
-      typeOnly: true,
-      summary: 'Plugin-level defaults applied to every `image()` declaration.',
-      members: [
-        {
-          name: 'widths',
-          summary: '',
-          signature: 'widths?: readonly number[];',
-        },
-        {
-          name: 'formats',
-          summary: '',
-          signature: 'formats?: readonly ImageOutputFormat[];',
-        },
-        {
-          name: 'quality',
-          summary: '',
-          signature: 'quality?: ImageQualityOptions;',
-        },
-      ],
-    },
     {
       name: 'ImageProps',
       anchor: 'image-props',
diff --git a/src/pages/docs/catalog.ts b/src/pages/docs/catalog.ts
index 610c508..dc2ebb0 100644
--- a/src/pages/docs/catalog.ts
+++ b/src/pages/docs/catalog.ts
@@ -5,6 +5,7 @@ import {
 } from './content-overrides';
 import { docsPrimarySections } from './primary-sections';
 import { buildUsageGuide, routeExampleFor } from './usage-guide';
+import { componentPropNames } from './prop-index';
 import type {
   DocsHeadingDefinition,
   DocsPageDefinition,
@@ -1574,6 +1575,34 @@ const authoredPages = [
   ...integrations,
   ...tooling,
   ...guides,
+  definePage('Guides', 'Application recipes', 'guides', {
+    title: 'Contributing',
+    description:
+      'Help improve Askr with a focused issue, example, documentation change, or fix.',
+    keywords: ['contribute', 'GitHub', 'community', 'maintainers'],
+    headings: [
+      {
+        id: 'choose-a-project',
+        title: 'Choose a project',
+        body: 'Askr is open source under Apache 2.0. Start with the repository that owns the behavior you want to improve: askr for the runtime and router, askr-ui for interactions, askr-themes for visual styling, askr-server for HTTP applications, or website for these docs. Find the repositories on [GitHub](https://github.com/askrjs).',
+      },
+      {
+        id: 'start-with-a-small-change',
+        title: 'Start with a small change',
+        body: 'A reproducible bug report, a clearer example, or a focused fix is a useful first contribution. Describe the current behavior and the result you expect in an issue before taking on a large change. Include a small reproduction and your package versions when reporting a bug.',
+      },
+      {
+        id: 'verify-the-result',
+        title: 'Verify the result',
+        body: 'Follow the repository contribution instructions and run the checks relevant to your change. For UI work, check keyboard interaction, focus, light and dark themes, and narrow screens. For rendering changes, verify browser behavior and generated or server-rendered HTML.',
+      },
+      {
+        id: 'get-in-touch',
+        title: 'Get in touch',
+        body: 'Open an issue in the relevant GitHub repository, or [email the maintainers](mailto:contribute@askrjs.com) if you need help finding the right place. Share the problem or example you care about; you do not need a complete proposal to begin a discussion.',
+      },
+    ],
+  }),
   ...reference,
 ];
 
@@ -1637,6 +1666,18 @@ export function resolveDocsRoute(location: {
   return normalizeDocsRoute(location.matches[0]?.path ?? location.path);
 }
 
+function hasComponentProps(page: DocsPageDefinition): boolean {
+  const names = page.packages.flatMap((item) =>
+    item.importPath &&
+    (page.propTypes?.length || item.importPath.split('/').length > 2)
+      ? (componentPropNames[item.importPath] ?? [])
+      : []
+  );
+  return page.propTypes?.length
+    ? page.propTypes.some((name) => names.includes(name))
+    : names.length > 0;
+}
+
 export function docsTableOfContents(
   page: DocsPageDefinition
 ): readonly Pick<DocsHeadingDefinition, 'id' | 'title'>[] {
@@ -1653,6 +1694,9 @@ export function docsTableOfContents(
     ...(buildUsageGuide(page, routeExampleFor(page.route))
       ? [{ id: 'how-to-use', title: 'Example' }]
       : []),
+    ...(hasComponentProps(page)
+      ? [{ id: 'published-props', title: 'Published props' }]
+      : []),
     ...page.headings,
   ];
   if (page.route === '/docs') {
diff --git a/src/pages/docs/cli-snapshot.ts b/src/pages/docs/cli-snapshot.ts
index 2d20e6f..f863926 100644
--- a/src/pages/docs/cli-snapshot.ts
+++ b/src/pages/docs/cli-snapshot.ts
@@ -1,6 +1,6 @@
 // Generated from @askrjs/cli --help. Do not edit.
 export const cliSnapshot = {
-  version: '0.4.0',
+  version: '0.5.0',
   commands: [
     'add',
     'analyze',
@@ -21,5 +21,5 @@ export const cliSnapshot = {
   templates: ['startkit', 'spa', 'ssr', 'ssg', 'full-stack'],
   help: 'askr - Unified CLI for the Askr platform\n\nUsage:\n  askr <command> [args]\n\nCommands:\n  add        Generate pages or declared actions into an Askr project\n  analyze    Analyze Askr correctness and performance\n  check      Run the complete project validation path\n  create     Create a new Askr app from a template or product prompt\n  database   Generate, validate, and migrate project databases\n  docs       Check or snapshot consumer-visible API documentation\n  doctor     Diagnose environment and Askr project health\n  generate   Generate an @askrjs/fetch client from OpenAPI\n  openapi    Generate or check an OpenAPI YAML artifact\n  skills     Install or sync Askr agent skills\n  ssg        Run static-site generation\n  outdated   List available dependency updates\n  repair     Apply safe fixes and identify remaining semantic work\n  update     Apply safe dependency updates\n  upgrade    Apply latest peer-compatible dependency upgrades\n\nOptions:\n  --help, -h     Show help\n  --version, -v  Print CLI version\n\nExamples:\n  askr create startkit my-app\n  askr create --prompt "Agent workflow console with approvals"\n  askr add page audit-log\n  askr add action approve-request --route /requests/{id}\n  askr analyze --check\n  askr doctor\n  askr repair\n  askr check\n  askr database validate\n  askr skills install\n  askr openapi --check\n  askr skills review foundation --cwd ./candidate-app\n  askr ssg --config ./ssg.config.ts --output ./dist/static\n  askr outdated\n  askr update\n  askr upgrade',
   createHelp:
-    'askr create - Project scaffolding for Askr\n\nUsage:\n  askr create [template] <name> [--dir <path>] [--prompt <text>] [--no-install] [--no-skills]\n  askr create --prompt <text> [name] [--no-install] [--no-skills]\n\nTemplates:\n  startkit, spa, ssr, ssg, full-stack\n\nOptions:\n  --prompt <text>  Score prompt keywords to select a template and emit a builder blueprint\n                   An explicit positional template takes precedence; the prompt can still name the app\n  --dir <path>     Explicit output directory (defaults to ./<name>)\n  --no-install     Skip dependency installation\n  --no-skills      Skip bundled Askr skill installation into skills/\n  --help, -h       Show help\n\nExamples:\n  askr create startkit my-app\n  askr create full-stack my-app\n  askr create startkit acme-dashboard\n  askr create --prompt "Agent workflow console with approvals and analytics"',
+    'askr create - Project scaffolding for Askr\n\nUsage:\n  askr create [template] <name> [--dir <path>] [--prompt <text>] [--no-install] [--no-skills]\n  askr create --prompt <text> [name] [--no-install] [--no-skills]\n\nTemplates:\n  startkit, spa, ssr, ssg, full-stack\n\nOptions:\n  --prompt <text>  Score prompt keywords to select a template and emit a builder blueprint\n                   An explicit positional template takes precedence; the prompt can still name the app\n  --dir <path>     Explicit output directory (defaults to ./<name>)\n  --no-install     Skip dependency installation\n  --no-skills      Skip bundled Askr skill installation into skills/\n  --auth <name>    Configure auth0, microsoft, google, or apple using the same planner as add auth\n  --origin <url>   Exact HTTPS application origin; required with --auth, repeat for environments\n  --help, -h       Show help\n\nExamples:\n  askr create startkit my-app\n  askr create full-stack my-app\n  askr create startkit acme-dashboard\n  askr create --prompt "Agent workflow console with approvals and analytics"',
 } as const;
diff --git a/src/pages/docs/heading-bodies.ts b/src/pages/docs/heading-bodies.ts
index 0df46cb..8b3704b 100644
--- a/src/pages/docs/heading-bodies.ts
+++ b/src/pages/docs/heading-bodies.ts
@@ -10,11 +10,11 @@ export const headingOverrides: Readonly<
 > = {
   '/docs': {
     'application-modes':
-      '@askrjs/askr supports more than one way to run an app: createSPA from @askrjs/askr/boot boots a client-rendered single-page app using routes registered through @askrjs/askr/router, while createIsland mounts a single component into an existing page for partial hydration. The same runtime also exposes ssr and ssg subpaths, so the same components can render on the server for request-time HTML or be pre-rendered into static output ahead of time. Which mode you pick changes where routing and data-fetching code runs, but the core primitives — state(), derive(), resource() — behave the same regardless of the mode you choose.',
+      'Use a single-page application for browser-rendered interfaces, server rendering for request-time HTML, or static generation for pages you can build ahead of time. Each mode has its own startup and build configuration. Start with [application modes](/docs/getting-started/application-modes) to choose a template for your project.',
     'choose-a-path':
-      "If you're starting a new project, head to Getting Started and follow the installation and quick-start pages in order — they walk through installing @askrjs/askr and wiring up createSPA or createIsland. If you already have an app running and want to look something up, use the search bar or jump straight to the section that matches what you're doing: Fundamentals for state and reactivity, Routing for the router package, Data for resource() and query helpers, or Components for the UI library. The API Reference section is generated directly from each package's shipped .d.ts files, so it's the fastest place to check an exact export or type signature.",
+      'New to Askr? Follow [Getting Started](/docs/getting-started) to create an application, then read [Core Concepts](/docs/core-concepts) to learn how components, state, and lifecycle work fit together. For an existing project, use the section navigation or search to find a guide, component, or API.',
     'published-package-set':
-      'Askr ships as a set of independently versioned packages under the @askrjs scope rather than one monolith — @askrjs/askr is the core runtime (state, derive, boot, router, resources, SSR/SSG), and adjacent packages like @askrjs/ui, @askrjs/auth, @askrjs/charts, @askrjs/server, @askrjs/schema, @askrjs/fetch, @askrjs/i18n, and @askrjs/cli cover UI components, authentication, charting, server integration, validation, HTTP, localization, and tooling respectively. Install only the packages your application uses and keep the set aligned through the lockfile.',
+      'The core package, `@askrjs/askr`, provides components, state, routing, and rendering. Add `@askrjs/ui` for headless controls, `@askrjs/themes` for styled components, and `@askrjs/server` for HTTP applications. Install the packages your application uses. The [API reference](/docs/reference/api) lists their published entrypoints and signatures.',
   },
   '/docs/authentication': {
     'browser-and-api-clients':
@@ -1434,13 +1434,13 @@ export const headingOverrides: Readonly<
   },
   '/docs/getting-started': {
     overview:
-      'Askr is an actor-backed UI runtime for TypeScript: components are plain functions, state is read and written through explicit getter/setter pairs, and rendering is deterministic enough to run identically on the server and in the browser. This page gets you from zero to a running route in a few minutes using the `askr` CLI. Everything here uses the published `@askrjs/askr` and `@askrjs/cli` packages, not a local checkout.',
+      'Askr is a TypeScript application framework. Write function components, keep state with the component that owns it, and declare routes in an explicit registry. The CLI creates a project with development and build scripts so you can start with a working application.',
     prerequisites:
-      'You need Node.js 24.15.0 or later and npm on your PATH; the CLI is published as a global binary, `askr`, from `@askrjs/cli`. No other tooling is required to get a project running — the generated project brings its own dev server and build scripts. If you plan to deploy with SSR or SSG, make sure your host can run a Node process or serve static files, respectively.',
+      'Install Node.js 24 or later and npm. You can run the CLI with `npx`; a global installation is optional. Static output needs a static file host, while request-time server rendering needs a server runtime.',
     'the-shortest-path':
-      'Run `npx @askrjs/cli@latest create startkit my-app` — no global install needed to get going. `cd my-app && npm run dev` gets a live app in the browser. If you expect to scaffold often, `npm install -g @askrjs/cli` puts `askr` on your PATH so you can drop the `npx` prefix. If you\'d rather describe what you\'re building, `askr create --prompt "..."` picks a template for you and writes `.askr/blueprint.json` plus a `builder-brief.md` explaining the choice.',
+      'Run `npx @askrjs/cli@latest create startkit my-app`, then `cd my-app` and `npm run dev`. Open the address printed by the development server. When the starter is running, try `npm run build` to check the production build.',
     'where-to-go-next':
-      "Read Core Concepts for the mental model — functions, explicit state, and deterministic rendering — before you start wiring up routes. If you're choosing between SPA, SSR, SSG, or the full-stack/startkit templates, see Choosing an Application Mode. Once you have a route rendering, First Application walks through adding state and a second route.",
+      'Continue to [First Application](/docs/getting-started/first-application) to add state and a route. Read [Core Concepts](/docs/core-concepts) for the runtime model, or [Choose a Starter](/docs/getting-started/choose-a-starter) to compare project templates.',
   },
   '/docs/getting-started/application-modes': {
     'full-stack-and-startkit':
@@ -1475,7 +1475,7 @@ export const headingOverrides: Readonly<
     'install-packages-directly':
       "If you're adding Askr to an existing project instead of scaffolding a new one, install `@askrjs/askr` directly with `npm install @askrjs/askr` and import from its subpaths as needed — `@askrjs/askr` for state and JSX, `@askrjs/askr/boot` for startup, `@askrjs/askr/router` for routing. The CLI itself is consumed mostly as the `askr` binary, not imported into application code — the one exception is `@askrjs/cli/ssg`, a types-only subpath for typing an `ssg.config.ts` module.",
     'runtime-requirements':
-      'You need Node.js 24.15.0 or later and npm to install and run current Askr projects; the CLI\'s `dist/cli.js` is a Node binary invoked as `askr`. Generated projects are ES modules (`"type": "module"`) and expect a modern bundler-driven dev workflow, which the CLI templates already wire up for you.',
+      'You need Node.js 24 or later and npm to install and run current Askr projects; the CLI\'s `dist/cli.js` is a Node binary invoked as `askr`. Generated projects are ES modules (`"type": "module"`) and expect a modern bundler-driven dev workflow, which the CLI templates already wire up for you.',
     'verify-the-install':
       'Run `npm run dev` from a scaffolded project and confirm the dev server starts and the starter route renders in the browser. For a manual install, a quick sanity check is importing `state` from `@askrjs/askr` and calling it inside a component — if the getter and setter behave as expected, the runtime is wired correctly.',
   },
diff --git a/src/pages/docs/page.tsx b/src/pages/docs/page.tsx
index 8d9b28c..c173ddd 100644
--- a/src/pages/docs/page.tsx
+++ b/src/pages/docs/page.tsx
@@ -2,6 +2,7 @@ import { Link, currentRoute } from '@askrjs/askr/router';
 import { ArrowLeftIcon, ArrowRightIcon, CopyIcon } from '@askrjs/lucide';
 import { docsByRoute, docsSections, resolveDocsRoute } from './catalog';
 import { cliSnapshot } from './cli-snapshot';
+import { InlineProse } from './prose';
 import { componentDemoFor } from './component-demos';
 import { componentPropReferences } from './component-props';
 import { resolveHeadingBodies } from './heading-bodies';
@@ -114,7 +115,11 @@ function UsageGuide({ page }: { page: DocsPageDefinition }) {
       <h2 id="how-to-use" class="anchored-heading">
         <a href="#how-to-use">Example</a>
       </h2>
-      {guide.intro && <p>{guide.intro}</p>}
+      {guide.intro && (
+        <p>
+          <InlineProse text={guide.intro} />
+        </p>
+      )}
       <CodeBlock code={guide.code} />
     </section>
   );
@@ -200,7 +205,9 @@ function HeadingContent({
       <h2 id={item.id} class="anchored-heading">
         <a href={`#${item.id}`}>{item.title}</a>
       </h2>
-      <p>{item.body}</p>
+      <p>
+        <InlineProse text={item.body} />
+      </p>
       {item.code && <CodeBlock code={item.code} />}
       {page.navGroup === 'UI & Components' &&
         item.title === 'Keyboard and accessibility' && (
@@ -279,14 +286,6 @@ export default function DocsPage() {
         <h1>{page.title}</h1>
         <p>{page.description}</p>
       </header>
-      <aside class="docs-callout" data-tone="authority">
-        <strong>Published packages are authoritative</strong>
-        <p>
-          Examples may lag behind a published contract. When guidance differs,
-          verify the exports and TypeScript declarations in your installed
-          package, then file an issue so the example can be corrected.
-        </p>
-      </aside>
       {page.status !== 'stable' && (
         <aside class="docs-callout" data-tone="warning">
           <strong>
@@ -307,6 +306,14 @@ export default function DocsPage() {
       <HeadingContentList headings={resolveHeadingBodies(page)} page={page} />
       {page.route === '/docs' && <DocsLandingDetails />}
       {page.route === '/docs/tooling/cli-overview' && <CliReferenceSection />}
+      <aside class="docs-callout" data-tone="authority">
+        <strong>Published packages are authoritative</strong>
+        <p>
+          Examples may lag behind a published contract. When guidance differs,
+          verify the exports and TypeScript declarations in your installed
+          package, then file an issue so the example can be corrected.
+        </p>
+      </aside>
       <PreviousNext page={page} />
     </article>
   );
diff --git a/src/pages/docs/prop-index.ts b/src/pages/docs/prop-index.ts
new file mode 100644
index 0000000..dc90fea
--- /dev/null
+++ b/src/pages/docs/prop-index.ts
@@ -0,0 +1,1095 @@
+// Generated component prop names. Do not edit.
+export const componentPropNames: Readonly<Record<string, readonly string[]>> = {
+  '@askrjs/askr': ['Props'],
+  '@askrjs/askr/components': ['ErrorBoundaryProps'],
+  '@askrjs/askr/control': [
+    'CaseProps',
+    'ForGetterProps',
+    'ForProps',
+    'MatchProps',
+    'ShowProps',
+  ],
+  '@askrjs/askr/foundations': ['PortalProps', 'PresenceProps', 'SlotProps'],
+  '@askrjs/askr/foundations/structures': [
+    'PortalProps',
+    'PresenceProps',
+    'SlotProps',
+  ],
+  '@askrjs/askr/foundations/icon': ['IconOwnProps', 'IconProps'],
+  '@askrjs/askr/router': ['LinkProps', 'ResolveProps'],
+  '@askrjs/charts': [
+    'ArcProps',
+    'AreaProps',
+    'AxisProps',
+    'BarProps',
+    'BrushProps',
+    'CellProps',
+    'CrosshairProps',
+    'GridProps',
+    'LegendProps',
+    'LineProps',
+    'PointProps',
+    'RectProps',
+    'RootProps',
+    'RuleProps',
+    'ScaleProps',
+    'SelectProps',
+    'TextProps',
+    'TooltipProps',
+    'ZoomProps',
+  ],
+  '@askrjs/monaco': ['MonacoEditorProps'],
+  '@askrjs/themes/components': [
+    'AlertProps',
+    'AspectRatioAsChildProps',
+    'AspectRatioProps',
+    'BadgeAsChildProps',
+    'BadgeOwnProps',
+    'BadgeProps',
+    'BlockAsChildProps',
+    'BlockDivProps',
+    'BlockElementProps',
+    'BlockNativeProps',
+    'BlockOwnProps',
+    'BlockProps',
+    'BlockSpanProps',
+    'ButtonAsChildProps',
+    'ButtonGroupProps',
+    'ButtonNativeProps',
+    'ButtonProps',
+    'CardActionProps',
+    'CardContentProps',
+    'CardDescriptionProps',
+    'CardFooterProps',
+    'CardHeaderProps',
+    'CardProps',
+    'CardTitleProps',
+    'CatalogComponentProps',
+    'CenterProps',
+    'CloseNativeProps',
+    'CloseOwnProps',
+    'ClusterProps',
+    'CommandPaletteContentProps',
+    'CommandPaletteLinkProps',
+    'CommandPaletteListProps',
+    'ContainerProps',
+    'CopyButtonProps',
+    'DialogProps',
+    'EmptyStateProps',
+    'FieldErrorProps',
+    'FieldHintProps',
+    'FieldProps',
+    'FooterContentProps',
+    'FooterDescriptionProps',
+    'FooterLinkProps',
+    'FooterLinksProps',
+    'FooterSectionProps',
+    'FooterTitleProps',
+    'GridProps',
+    'HeaderProps',
+    'HeadingProps',
+    'InputGroupProps',
+    'InputGroupTextAsChildProps',
+    'InputGroupTextProps',
+    'MetaStripProps',
+    'NavbarProps',
+    'NavBrandProps',
+    'NavDropdownProps',
+    'NavGroupProps',
+    'NavItemAsChildProps',
+    'NavItemProps',
+    'NavLinkProps',
+    'PageHeaderProps',
+    'PillProps',
+    'PillsAsChildProps',
+    'PillsProps',
+    'SeparatorAsChildProps',
+    'SeparatorNativeProps',
+    'SeparatorOwnProps',
+    'SeparatorProps',
+    'SidebarButtonProps',
+    'SidebarPartProps',
+    'SidebarProps',
+    'SidebarRailProps',
+    'SkeletonAsChildProps',
+    'SkeletonOwnProps',
+    'SkeletonProps',
+    'SpinnerOwnProps',
+    'SpinnerProps',
+    'StackProps',
+    'TabProps',
+    'TabsAsChildProps',
+    'TabsProps',
+    'TextProps',
+    'ThemePickerProps',
+    'ThemeScopeProps',
+    'ThemeToggleProps',
+    'ToolbarProps',
+    'VirtualListAsChildProps',
+    'VirtualListProps',
+    'VirtualListRowComponentProps',
+    'VirtualTableAsChildProps',
+    'VirtualTableCellComponentProps',
+    'VirtualTableProps',
+  ],
+  '@askrjs/themes/theme': [
+    'ThemePickerProps',
+    'ThemeScopeProps',
+    'ThemeToggleProps',
+  ],
+  '@askrjs/themes/accordion': [
+    'AccordionContentAsChildProps',
+    'AccordionContentOwnProps',
+    'AccordionContentProps',
+    'AccordionHeaderAsChildProps',
+    'AccordionHeaderProps',
+    'AccordionItemOwnProps',
+    'AccordionItemProps',
+    'AccordionMultipleProps',
+    'AccordionProps',
+    'AccordionSingleProps',
+    'AccordionTriggerAsChildProps',
+    'AccordionTriggerProps',
+  ],
+  '@askrjs/themes/alert-dialog': [
+    'AlertDialogActionAsChildProps',
+    'AlertDialogActionProps',
+    'AlertDialogCancelAsChildProps',
+    'AlertDialogCancelProps',
+    'AlertDialogContentAsChildProps',
+    'AlertDialogContentOwnProps',
+    'AlertDialogContentProps',
+    'AlertDialogDescriptionAsChildProps',
+    'AlertDialogDescriptionProps',
+    'AlertDialogOverlayAsChildProps',
+    'AlertDialogOverlayOwnProps',
+    'AlertDialogOverlayProps',
+    'AlertDialogOwnProps',
+    'AlertDialogPortalProps',
+    'AlertDialogProps',
+    'AlertDialogTitleAsChildProps',
+    'AlertDialogTitleProps',
+    'AlertDialogTriggerAsChildProps',
+    'AlertDialogTriggerProps',
+  ],
+  '@askrjs/themes/alert': ['AlertProps'],
+  '@askrjs/themes/aspect-ratio': [
+    'AspectRatioAsChildProps',
+    'AspectRatioProps',
+  ],
+  '@askrjs/themes/avatar': [
+    'AvatarAsChildProps',
+    'AvatarFallbackAsChildProps',
+    'AvatarFallbackOwnProps',
+    'AvatarFallbackProps',
+    'AvatarImageOwnProps',
+    'AvatarImageProps',
+    'AvatarOwnProps',
+    'AvatarProps',
+  ],
+  '@askrjs/themes/badge': ['BadgeAsChildProps', 'BadgeOwnProps', 'BadgeProps'],
+  '@askrjs/themes/block': [
+    'BlockAsChildProps',
+    'BlockDivProps',
+    'BlockElementProps',
+    'BlockNativeProps',
+    'BlockOwnProps',
+    'BlockProps',
+    'BlockSpanProps',
+  ],
+  '@askrjs/themes/button-group': ['ButtonGroupProps'],
+  '@askrjs/themes/button': [
+    'ButtonAsChildProps',
+    'ButtonNativeProps',
+    'ButtonOwnProps',
+    'ButtonProps',
+  ],
+  '@askrjs/themes/card': [
+    'CardActionProps',
+    'CardContentProps',
+    'CardDescriptionProps',
+    'CardFooterProps',
+    'CardHeaderProps',
+    'CardProps',
+    'CardTitleProps',
+  ],
+  '@askrjs/themes/center': ['CenterProps'],
+  '@askrjs/themes/checkbox': [
+    'CheckboxAsChildProps',
+    'CheckboxInputProps',
+    'CheckboxOwnProps',
+    'CheckboxProps',
+  ],
+  '@askrjs/themes/cluster': ['ClusterProps'],
+  '@askrjs/themes/collapsible': [
+    'CollapsibleContentAsChildProps',
+    'CollapsibleContentProps',
+    'CollapsibleProps',
+    'CollapsibleTriggerAsChildProps',
+    'CollapsibleTriggerProps',
+  ],
+  '@askrjs/themes/command': [
+    'CommandPaletteContentProps',
+    'CommandPaletteLinkProps',
+    'CommandPaletteListProps',
+  ],
+  '@askrjs/themes/container': ['ContainerProps'],
+  '@askrjs/themes/dialog': [
+    'DialogCloseAsChildProps',
+    'DialogCloseProps',
+    'DialogContentAsChildProps',
+    'DialogContentOwnProps',
+    'DialogContentProps',
+    'DialogDescriptionAsChildProps',
+    'DialogDescriptionProps',
+    'DialogOverlayAsChildProps',
+    'DialogOverlayOwnProps',
+    'DialogOverlayProps',
+    'DialogOwnProps',
+    'DialogPortalProps',
+    'DialogProps',
+    'DialogTitleAsChildProps',
+    'DialogTitleProps',
+    'DialogTriggerAsChildProps',
+    'DialogTriggerProps',
+  ],
+  '@askrjs/themes/field': ['FieldErrorProps', 'FieldHintProps', 'FieldProps'],
+  '@askrjs/themes/form': ['FormAsChildProps', 'FormProps'],
+  '@askrjs/themes/grid': ['GridProps'],
+  '@askrjs/themes/heading': ['HeadingProps'],
+  '@askrjs/themes/hover-card': [
+    'HoverCardAsChildProps',
+    'HoverCardContentAsChildProps',
+    'HoverCardContentProps',
+    'HoverCardOwnProps',
+    'HoverCardPortalProps',
+    'HoverCardProps',
+    'HoverCardTriggerAsChildProps',
+    'HoverCardTriggerProps',
+  ],
+  '@askrjs/themes/input-group': [
+    'InputGroupProps',
+    'InputGroupTextAsChildProps',
+    'InputGroupTextProps',
+  ],
+  '@askrjs/themes/input': [
+    'DebouncedInputProps',
+    'InputAsChildProps',
+    'InputInputProps',
+    'InputOwnProps',
+    'InputProps',
+  ],
+  '@askrjs/themes/label': [
+    'LabelAsChildProps',
+    'LabelLabelProps',
+    'LabelOwnProps',
+    'LabelProps',
+  ],
+  '@askrjs/themes/menubar': [
+    'MenubarContentAsChildProps',
+    'MenubarContentOwnProps',
+    'MenubarContentProps',
+    'MenubarGroupAsChildProps',
+    'MenubarGroupProps',
+    'MenubarItemAsChildProps',
+    'MenubarItemProps',
+    'MenubarLabelAsChildProps',
+    'MenubarLabelProps',
+    'MenubarMenuProps',
+    'MenubarOwnProps',
+    'MenubarPortalProps',
+    'MenubarProps',
+    'MenubarSeparatorAsChildProps',
+    'MenubarSeparatorProps',
+    'MenubarSubContentAsChildProps',
+    'MenubarSubContentProps',
+    'MenubarSubProps',
+    'MenubarSubTriggerAsChildProps',
+    'MenubarSubTriggerProps',
+    'MenubarTriggerAsChildProps',
+    'MenubarTriggerProps',
+  ],
+  '@askrjs/themes/page-header': ['PageHeaderProps'],
+  '@askrjs/themes/popover': [
+    'PopoverCloseAsChildProps',
+    'PopoverCloseProps',
+    'PopoverContentAsChildProps',
+    'PopoverContentOwnProps',
+    'PopoverContentProps',
+    'PopoverOwnProps',
+    'PopoverPortalProps',
+    'PopoverProps',
+    'PopoverTriggerAsChildProps',
+    'PopoverTriggerProps',
+  ],
+  '@askrjs/themes/progress': [
+    'ProgressIndicatorAsChildProps',
+    'ProgressIndicatorProps',
+    'ProgressOwnProps',
+    'ProgressProps',
+  ],
+  '@askrjs/themes/radio-group': [
+    'RadioGroupItemAsChildProps',
+    'RadioGroupItemOwnProps',
+    'RadioGroupItemProps',
+    'RadioGroupOwnProps',
+    'RadioGroupProps',
+  ],
+  '@askrjs/themes/scroll-area': [
+    'ScrollAreaAsChildProps',
+    'ScrollAreaCornerProps',
+    'ScrollAreaOwnProps',
+    'ScrollAreaProps',
+    'ScrollAreaScrollbarProps',
+    'ScrollAreaThumbProps',
+    'ScrollAreaViewportAsChildProps',
+    'ScrollAreaViewportProps',
+  ],
+  '@askrjs/themes/select': [
+    'SelectContentAsChildProps',
+    'SelectContentOwnProps',
+    'SelectContentProps',
+    'SelectGroupAsChildProps',
+    'SelectGroupProps',
+    'SelectItemAsChildProps',
+    'SelectItemOwnProps',
+    'SelectItemProps',
+    'SelectItemTextAsChildProps',
+    'SelectItemTextProps',
+    'SelectLabelAsChildProps',
+    'SelectLabelProps',
+    'SelectOwnProps',
+    'SelectPortalProps',
+    'SelectProps',
+    'SelectSeparatorAsChildProps',
+    'SelectSeparatorProps',
+    'SelectTriggerAsChildProps',
+    'SelectTriggerOwnProps',
+    'SelectTriggerProps',
+    'SelectValueAsChildProps',
+    'SelectValueOwnProps',
+    'SelectValueProps',
+  ],
+  '@askrjs/themes/separator': [
+    'SeparatorAsChildProps',
+    'SeparatorNativeProps',
+    'SeparatorOwnProps',
+    'SeparatorProps',
+  ],
+  '@askrjs/themes/sidebar': [
+    'SidebarButtonProps',
+    'SidebarPartProps',
+    'SidebarProps',
+    'SidebarRailProps',
+  ],
+  '@askrjs/themes/skeleton': [
+    'SkeletonAsChildProps',
+    'SkeletonOwnProps',
+    'SkeletonProps',
+  ],
+  '@askrjs/themes/slider': [
+    'SliderOwnProps',
+    'SliderProps',
+    'SliderRangeAsChildProps',
+    'SliderRangeProps',
+    'SliderThumbAsChildProps',
+    'SliderThumbProps',
+    'SliderTrackAsChildProps',
+    'SliderTrackProps',
+  ],
+  '@askrjs/themes/spinner': ['SpinnerOwnProps', 'SpinnerProps'],
+  '@askrjs/themes/stack': ['StackProps'],
+  '@askrjs/themes/switch': [
+    'SwitchAsChildProps',
+    'SwitchButtonProps',
+    'SwitchOwnProps',
+    'SwitchProps',
+  ],
+  '@askrjs/themes/table': [
+    'TableAsChildProps',
+    'TableBodyAsChildProps',
+    'TableBodyProps',
+    'TableCaptionAsChildProps',
+    'TableCaptionProps',
+    'TableCellAsChildProps',
+    'TableCellProps',
+    'TableFootAsChildProps',
+    'TableFootProps',
+    'TableHeadAsChildProps',
+    'TableHeaderCellAsChildProps',
+    'TableHeaderCellProps',
+    'TableHeadProps',
+    'TableProps',
+    'TableRowAsChildProps',
+    'TableRowProps',
+  ],
+  '@askrjs/themes/text': ['TextProps'],
+  '@askrjs/themes/textarea': [
+    'TextareaAsChildProps',
+    'TextareaElementProps',
+    'TextareaOwnProps',
+    'TextareaProps',
+  ],
+  '@askrjs/themes/toast': [
+    'ToastActionAsChildProps',
+    'ToastActionProps',
+    'ToastCloseAsChildProps',
+    'ToastCloseProps',
+    'ToastDescriptionAsChildProps',
+    'ToastDescriptionProps',
+    'ToastHostOwnProps',
+    'ToastHostProps',
+    'ToastOwnProps',
+    'ToastProps',
+    'ToastTitleAsChildProps',
+    'ToastTitleProps',
+    'ToastViewportAsChildProps',
+    'ToastViewportProps',
+  ],
+  '@askrjs/themes/toggle-group': [
+    'ToggleGroupItemAsChildProps',
+    'ToggleGroupItemOwnProps',
+    'ToggleGroupItemProps',
+    'ToggleGroupMultipleProps',
+    'ToggleGroupProps',
+    'ToggleGroupSingleProps',
+  ],
+  '@askrjs/themes/toggle': [
+    'ToggleAsChildProps',
+    'ToggleButtonProps',
+    'ToggleOwnProps',
+    'ToggleProps',
+  ],
+  '@askrjs/themes/tooltip': [
+    'TooltipContentAsChildProps',
+    'TooltipContentOwnProps',
+    'TooltipContentProps',
+    'TooltipOwnProps',
+    'TooltipPortalProps',
+    'TooltipProps',
+    'TooltipTriggerAsChildProps',
+    'TooltipTriggerProps',
+  ],
+  '@askrjs/ui': [
+    'AccordionContentAsChildProps',
+    'AccordionContentOwnProps',
+    'AccordionContentProps',
+    'AccordionHeaderAsChildProps',
+    'AccordionHeaderProps',
+    'AccordionItemOwnProps',
+    'AccordionItemProps',
+    'AccordionMultipleProps',
+    'AccordionProps',
+    'AccordionSingleProps',
+    'AccordionTriggerAsChildProps',
+    'AccordionTriggerProps',
+    'AlertDialogActionAsChildProps',
+    'AlertDialogActionProps',
+    'AlertDialogCancelAsChildProps',
+    'AlertDialogCancelProps',
+    'AlertDialogContentAsChildProps',
+    'AlertDialogContentOwnProps',
+    'AlertDialogContentProps',
+    'AlertDialogDescriptionAsChildProps',
+    'AlertDialogDescriptionProps',
+    'AlertDialogOverlayAsChildProps',
+    'AlertDialogOverlayOwnProps',
+    'AlertDialogOverlayProps',
+    'AlertDialogOwnProps',
+    'AlertDialogPortalProps',
+    'AlertDialogProps',
+    'AlertDialogTitleAsChildProps',
+    'AlertDialogTitleProps',
+    'AlertDialogTriggerAsChildProps',
+    'AlertDialogTriggerProps',
+    'AvatarAsChildProps',
+    'AvatarFallbackAsChildProps',
+    'AvatarFallbackOwnProps',
+    'AvatarFallbackProps',
+    'AvatarImageOwnProps',
+    'AvatarImageProps',
+    'AvatarOwnProps',
+    'AvatarProps',
+    'ButtonAsChildProps',
+    'ButtonNativeProps',
+    'ButtonOwnProps',
+    'ButtonProps',
+    'CheckboxAsChildProps',
+    'CheckboxInputProps',
+    'CheckboxOwnProps',
+    'CheckboxProps',
+    'CollapsibleContentAsChildProps',
+    'CollapsibleContentProps',
+    'CollapsibleProps',
+    'CollapsibleTriggerAsChildProps',
+    'CollapsibleTriggerProps',
+    'DebouncedInputProps',
+    'DialogCloseAsChildProps',
+    'DialogCloseProps',
+    'DialogContentAsChildProps',
+    'DialogContentOwnProps',
+    'DialogContentProps',
+    'DialogDescriptionAsChildProps',
+    'DialogDescriptionProps',
+    'DialogOverlayAsChildProps',
+    'DialogOverlayOwnProps',
+    'DialogOverlayProps',
+    'DialogOwnProps',
+    'DialogPortalProps',
+    'DialogProps',
+    'DialogTitleAsChildProps',
+    'DialogTitleProps',
+    'DialogTriggerAsChildProps',
+    'DialogTriggerProps',
+    'DismissableLayerAsChildProps',
+    'DismissableLayerOwnProps',
+    'DismissableLayerProps',
+    'DropdownContentAsChildProps',
+    'DropdownContentOwnProps',
+    'DropdownContentProps',
+    'DropdownGroupAsChildProps',
+    'DropdownGroupProps',
+    'DropdownItemAsChildProps',
+    'DropdownItemOwnProps',
+    'DropdownItemProps',
+    'DropdownLabelAsChildProps',
+    'DropdownLabelProps',
+    'DropdownOwnProps',
+    'DropdownPortalProps',
+    'DropdownProps',
+    'DropdownSeparatorAsChildProps',
+    'DropdownSeparatorProps',
+    'DropdownTriggerAsChildProps',
+    'DropdownTriggerOwnProps',
+    'DropdownTriggerProps',
+    'FocusScopeAsChildProps',
+    'FocusScopeOwnProps',
+    'FocusScopeProps',
+    'FormAsChildProps',
+    'FormProps',
+    'HoverCardAsChildProps',
+    'HoverCardContentAsChildProps',
+    'HoverCardContentProps',
+    'HoverCardOwnProps',
+    'HoverCardPortalProps',
+    'HoverCardProps',
+    'HoverCardTriggerAsChildProps',
+    'HoverCardTriggerProps',
+    'InputAsChildProps',
+    'InputInputProps',
+    'InputOwnProps',
+    'InputProps',
+    'LabelAsChildProps',
+    'LabelLabelProps',
+    'LabelOwnProps',
+    'LabelProps',
+    'MenubarContentAsChildProps',
+    'MenubarContentOwnProps',
+    'MenubarContentProps',
+    'MenubarGroupAsChildProps',
+    'MenubarGroupProps',
+    'MenubarItemAsChildProps',
+    'MenubarItemProps',
+    'MenubarLabelAsChildProps',
+    'MenubarLabelProps',
+    'MenubarMenuProps',
+    'MenubarOwnProps',
+    'MenubarPortalProps',
+    'MenubarProps',
+    'MenubarSeparatorAsChildProps',
+    'MenubarSeparatorProps',
+    'MenubarSubContentAsChildProps',
+    'MenubarSubContentProps',
+    'MenubarSubProps',
+    'MenubarSubTriggerAsChildProps',
+    'MenubarSubTriggerProps',
+    'MenubarTriggerAsChildProps',
+    'MenubarTriggerProps',
+    'MenuContentAsChildProps',
+    'MenuContentProps',
+    'MenuGroupAsChildProps',
+    'MenuGroupProps',
+    'MenuItemAsChildProps',
+    'MenuItemOwnProps',
+    'MenuItemPartAsChildProps',
+    'MenuItemPartProps',
+    'MenuItemProps',
+    'MenuLabelAsChildProps',
+    'MenuLabelProps',
+    'MenuOwnProps',
+    'MenuProps',
+    'MenuSeparatorAsChildProps',
+    'MenuSeparatorProps',
+    'OverlayHostProps',
+    'PopoverCloseAsChildProps',
+    'PopoverCloseProps',
+    'PopoverContentAsChildProps',
+    'PopoverContentOwnProps',
+    'PopoverContentProps',
+    'PopoverOwnProps',
+    'PopoverPortalProps',
+    'PopoverProps',
+    'PopoverTriggerAsChildProps',
+    'PopoverTriggerProps',
+    'ProgressCircleIndicatorAsChildProps',
+    'ProgressCircleIndicatorProps',
+    'ProgressCircleOwnProps',
+    'ProgressCircleProps',
+    'ProgressIndicatorAsChildProps',
+    'ProgressIndicatorProps',
+    'ProgressOwnProps',
+    'ProgressProps',
+    'RadioGroupItemAsChildProps',
+    'RadioGroupItemOwnProps',
+    'RadioGroupItemProps',
+    'RadioGroupOwnProps',
+    'RadioGroupProps',
+    'ScrollAreaAsChildProps',
+    'ScrollAreaCornerProps',
+    'ScrollAreaOwnProps',
+    'ScrollAreaProps',
+    'ScrollAreaScrollbarProps',
+    'ScrollAreaThumbProps',
+    'ScrollAreaViewportAsChildProps',
+    'ScrollAreaViewportProps',
+    'SelectContentAsChildProps',
+    'SelectContentOwnProps',
+    'SelectContentProps',
+    'SelectGroupAsChildProps',
+    'SelectGroupProps',
+    'SelectItemAsChildProps',
+    'SelectItemOwnProps',
+    'SelectItemProps',
+    'SelectItemTextAsChildProps',
+    'SelectItemTextProps',
+    'SelectLabelAsChildProps',
+    'SelectLabelProps',
+    'SelectOwnProps',
+    'SelectPortalProps',
+    'SelectProps',
+    'SelectSeparatorAsChildProps',
+    'SelectSeparatorProps',
+    'SelectTriggerAsChildProps',
+    'SelectTriggerOwnProps',
+    'SelectTriggerProps',
+    'SelectValueAsChildProps',
+    'SelectValueOwnProps',
+    'SelectValueProps',
+    'SliderOwnProps',
+    'SliderProps',
+    'SliderRangeAsChildProps',
+    'SliderRangeProps',
+    'SliderThumbAsChildProps',
+    'SliderThumbProps',
+    'SliderTrackAsChildProps',
+    'SliderTrackProps',
+    'SwitchAsChildProps',
+    'SwitchButtonProps',
+    'SwitchOwnProps',
+    'SwitchProps',
+    'TableAsChildProps',
+    'TableBodyAsChildProps',
+    'TableBodyProps',
+    'TableCaptionAsChildProps',
+    'TableCaptionProps',
+    'TableCellAsChildProps',
+    'TableCellProps',
+    'TableFootAsChildProps',
+    'TableFootProps',
+    'TableHeadAsChildProps',
+    'TableHeaderCellAsChildProps',
+    'TableHeaderCellProps',
+    'TableHeadProps',
+    'TableProps',
+    'TableRowAsChildProps',
+    'TableRowProps',
+    'TextareaAsChildProps',
+    'TextareaElementProps',
+    'TextareaOwnProps',
+    'TextareaProps',
+    'ToastActionAsChildProps',
+    'ToastActionProps',
+    'ToastCloseAsChildProps',
+    'ToastCloseProps',
+    'ToastDescriptionAsChildProps',
+    'ToastDescriptionProps',
+    'ToastHostOwnProps',
+    'ToastHostProps',
+    'ToastOwnProps',
+    'ToastProps',
+    'ToastTitleAsChildProps',
+    'ToastTitleProps',
+    'ToastViewportAsChildProps',
+    'ToastViewportProps',
+    'ToggleAsChildProps',
+    'ToggleButtonProps',
+    'ToggleGroupItemAsChildProps',
+    'ToggleGroupItemOwnProps',
+    'ToggleGroupItemProps',
+    'ToggleGroupMultipleProps',
+    'ToggleGroupProps',
+    'ToggleGroupSingleProps',
+    'ToggleOwnProps',
+    'ToggleProps',
+    'TooltipContentAsChildProps',
+    'TooltipContentOwnProps',
+    'TooltipContentProps',
+    'TooltipOwnProps',
+    'TooltipPortalProps',
+    'TooltipProps',
+    'TooltipTriggerAsChildProps',
+    'TooltipTriggerProps',
+    'VirtualListAsChildProps',
+    'VirtualListProps',
+    'VirtualListRowComponentProps',
+    'VirtualTableAsChildProps',
+    'VirtualTableCellComponentProps',
+    'VirtualTableProps',
+    'VisuallyHiddenAsChildProps',
+    'VisuallyHiddenOwnProps',
+    'VisuallyHiddenProps',
+    'VisuallyHiddenSpanProps',
+  ],
+  '@askrjs/ui/avatar': [
+    'AvatarAsChildProps',
+    'AvatarFallbackAsChildProps',
+    'AvatarFallbackOwnProps',
+    'AvatarFallbackProps',
+    'AvatarImageOwnProps',
+    'AvatarImageProps',
+    'AvatarOwnProps',
+    'AvatarProps',
+  ],
+  '@askrjs/ui/button': [
+    'ButtonAsChildProps',
+    'ButtonNativeProps',
+    'ButtonOwnProps',
+    'ButtonProps',
+  ],
+  '@askrjs/ui/checkbox': [
+    'CheckboxAsChildProps',
+    'CheckboxInputProps',
+    'CheckboxOwnProps',
+    'CheckboxProps',
+  ],
+  '@askrjs/ui/input': [
+    'DebouncedInputProps',
+    'InputAsChildProps',
+    'InputInputProps',
+    'InputOwnProps',
+    'InputProps',
+  ],
+  '@askrjs/ui/form': ['FormAsChildProps', 'FormProps'],
+  '@askrjs/ui/label': [
+    'LabelAsChildProps',
+    'LabelLabelProps',
+    'LabelOwnProps',
+    'LabelProps',
+  ],
+  '@askrjs/ui/progress': [
+    'ProgressIndicatorAsChildProps',
+    'ProgressIndicatorProps',
+    'ProgressOwnProps',
+    'ProgressProps',
+  ],
+  '@askrjs/ui/progress-circle': [
+    'ProgressCircleIndicatorAsChildProps',
+    'ProgressCircleIndicatorProps',
+    'ProgressCircleOwnProps',
+    'ProgressCircleProps',
+  ],
+  '@askrjs/ui/radio-group': [
+    'RadioGroupItemAsChildProps',
+    'RadioGroupItemOwnProps',
+    'RadioGroupItemProps',
+    'RadioGroupOwnProps',
+    'RadioGroupProps',
+  ],
+  '@askrjs/ui/select': [
+    'SelectContentAsChildProps',
+    'SelectContentOwnProps',
+    'SelectContentProps',
+    'SelectGroupAsChildProps',
+    'SelectGroupProps',
+    'SelectItemAsChildProps',
+    'SelectItemOwnProps',
+    'SelectItemProps',
+    'SelectItemTextAsChildProps',
+    'SelectItemTextProps',
+    'SelectLabelAsChildProps',
+    'SelectLabelProps',
+    'SelectOwnProps',
+    'SelectPortalProps',
+    'SelectProps',
+    'SelectSeparatorAsChildProps',
+    'SelectSeparatorProps',
+    'SelectTriggerAsChildProps',
+    'SelectTriggerOwnProps',
+    'SelectTriggerProps',
+    'SelectValueAsChildProps',
+    'SelectValueOwnProps',
+    'SelectValueProps',
+  ],
+  '@askrjs/ui/slider': [
+    'SliderOwnProps',
+    'SliderProps',
+    'SliderRangeAsChildProps',
+    'SliderRangeProps',
+    'SliderThumbAsChildProps',
+    'SliderThumbProps',
+    'SliderTrackAsChildProps',
+    'SliderTrackProps',
+  ],
+  '@askrjs/ui/switch': [
+    'SwitchAsChildProps',
+    'SwitchButtonProps',
+    'SwitchOwnProps',
+    'SwitchProps',
+  ],
+  '@askrjs/ui/table': [
+    'TableAsChildProps',
+    'TableBodyAsChildProps',
+    'TableBodyProps',
+    'TableCaptionAsChildProps',
+    'TableCaptionProps',
+    'TableCellAsChildProps',
+    'TableCellProps',
+    'TableFootAsChildProps',
+    'TableFootProps',
+    'TableHeadAsChildProps',
+    'TableHeaderCellAsChildProps',
+    'TableHeaderCellProps',
+    'TableHeadProps',
+    'TableProps',
+    'TableRowAsChildProps',
+    'TableRowProps',
+  ],
+  '@askrjs/ui/virtual-list': [
+    'VirtualListAsChildProps',
+    'VirtualListProps',
+    'VirtualListRowComponentProps',
+  ],
+  '@askrjs/ui/virtual-table': [
+    'VirtualTableAsChildProps',
+    'VirtualTableCellComponentProps',
+    'VirtualTableProps',
+  ],
+  '@askrjs/ui/textarea': [
+    'TextareaAsChildProps',
+    'TextareaElementProps',
+    'TextareaOwnProps',
+    'TextareaProps',
+  ],
+  '@askrjs/ui/toggle': [
+    'ToggleAsChildProps',
+    'ToggleButtonProps',
+    'ToggleOwnProps',
+    'ToggleProps',
+  ],
+  '@askrjs/ui/toggle-group': [
+    'ToggleGroupItemAsChildProps',
+    'ToggleGroupItemOwnProps',
+    'ToggleGroupItemProps',
+    'ToggleGroupMultipleProps',
+    'ToggleGroupProps',
+    'ToggleGroupSingleProps',
+  ],
+  '@askrjs/ui/visually-hidden': [
+    'VisuallyHiddenAsChildProps',
+    'VisuallyHiddenOwnProps',
+    'VisuallyHiddenProps',
+    'VisuallyHiddenSpanProps',
+  ],
+  '@askrjs/ui/accordion': [
+    'AccordionContentAsChildProps',
+    'AccordionContentOwnProps',
+    'AccordionContentProps',
+    'AccordionHeaderAsChildProps',
+    'AccordionHeaderProps',
+    'AccordionItemOwnProps',
+    'AccordionItemProps',
+    'AccordionMultipleProps',
+    'AccordionProps',
+    'AccordionSingleProps',
+    'AccordionTriggerAsChildProps',
+    'AccordionTriggerProps',
+  ],
+  '@askrjs/ui/alert-dialog': [
+    'AlertDialogActionAsChildProps',
+    'AlertDialogActionProps',
+    'AlertDialogCancelAsChildProps',
+    'AlertDialogCancelProps',
+    'AlertDialogContentAsChildProps',
+    'AlertDialogContentOwnProps',
+    'AlertDialogContentProps',
+    'AlertDialogDescriptionAsChildProps',
+    'AlertDialogDescriptionProps',
+    'AlertDialogOverlayAsChildProps',
+    'AlertDialogOverlayOwnProps',
+    'AlertDialogOverlayProps',
+    'AlertDialogOwnProps',
+    'AlertDialogPortalProps',
+    'AlertDialogProps',
+    'AlertDialogTitleAsChildProps',
+    'AlertDialogTitleProps',
+    'AlertDialogTriggerAsChildProps',
+    'AlertDialogTriggerProps',
+  ],
+  '@askrjs/ui/collapsible': [
+    'CollapsibleContentAsChildProps',
+    'CollapsibleContentProps',
+    'CollapsibleProps',
+    'CollapsibleTriggerAsChildProps',
+    'CollapsibleTriggerProps',
+  ],
+  '@askrjs/ui/dialog': [
+    'DialogCloseAsChildProps',
+    'DialogCloseProps',
+    'DialogContentAsChildProps',
+    'DialogContentOwnProps',
+    'DialogContentProps',
+    'DialogDescriptionAsChildProps',
+    'DialogDescriptionProps',
+    'DialogOverlayAsChildProps',
+    'DialogOverlayOwnProps',
+    'DialogOverlayProps',
+    'DialogOwnProps',
+    'DialogPortalProps',
+    'DialogProps',
+    'DialogTitleAsChildProps',
+    'DialogTitleProps',
+    'DialogTriggerAsChildProps',
+    'DialogTriggerProps',
+  ],
+  '@askrjs/ui/dismissable-layer': [
+    'DismissableLayerAsChildProps',
+    'DismissableLayerOwnProps',
+    'DismissableLayerProps',
+  ],
+  '@askrjs/ui/dropdown': [
+    'DropdownContentAsChildProps',
+    'DropdownContentOwnProps',
+    'DropdownContentProps',
+    'DropdownGroupAsChildProps',
+    'DropdownGroupProps',
+    'DropdownItemAsChildProps',
+    'DropdownItemOwnProps',
+    'DropdownItemProps',
+    'DropdownLabelAsChildProps',
+    'DropdownLabelProps',
+    'DropdownOwnProps',
+    'DropdownPortalProps',
+    'DropdownProps',
+    'DropdownSeparatorAsChildProps',
+    'DropdownSeparatorProps',
+    'DropdownTriggerAsChildProps',
+    'DropdownTriggerOwnProps',
+    'DropdownTriggerProps',
+  ],
+  '@askrjs/ui/focus-scope': [
+    'FocusScopeAsChildProps',
+    'FocusScopeOwnProps',
+    'FocusScopeProps',
+  ],
+  '@askrjs/ui/hover-card': [
+    'HoverCardAsChildProps',
+    'HoverCardContentAsChildProps',
+    'HoverCardContentProps',
+    'HoverCardOwnProps',
+    'HoverCardPortalProps',
+    'HoverCardProps',
+    'HoverCardTriggerAsChildProps',
+    'HoverCardTriggerProps',
+  ],
+  '@askrjs/ui/menu': [
+    'MenuContentAsChildProps',
+    'MenuContentProps',
+    'MenuGroupAsChildProps',
+    'MenuGroupProps',
+    'MenuItemAsChildProps',
+    'MenuItemOwnProps',
+    'MenuItemPartAsChildProps',
+    'MenuItemPartProps',
+    'MenuItemProps',
+    'MenuLabelAsChildProps',
+    'MenuLabelProps',
+    'MenuOwnProps',
+    'MenuProps',
+    'MenuSeparatorAsChildProps',
+    'MenuSeparatorProps',
+  ],
+  '@askrjs/ui/menubar': [
+    'MenubarContentAsChildProps',
+    'MenubarContentOwnProps',
+    'MenubarContentProps',
+    'MenubarGroupAsChildProps',
+    'MenubarGroupProps',
+    'MenubarItemAsChildProps',
+    'MenubarItemProps',
+    'MenubarLabelAsChildProps',
+    'MenubarLabelProps',
+    'MenubarMenuProps',
+    'MenubarOwnProps',
+    'MenubarPortalProps',
+    'MenubarProps',
+    'MenubarSeparatorAsChildProps',
+    'MenubarSeparatorProps',
+    'MenubarSubContentAsChildProps',
+    'MenubarSubContentProps',
+    'MenubarSubProps',
+    'MenubarSubTriggerAsChildProps',
+    'MenubarSubTriggerProps',
+    'MenubarTriggerAsChildProps',
+    'MenubarTriggerProps',
+  ],
+  '@askrjs/ui/overlay-host': ['OverlayHostProps'],
+  '@askrjs/ui/popover': [
+    'PopoverCloseAsChildProps',
+    'PopoverCloseProps',
+    'PopoverContentAsChildProps',
+    'PopoverContentOwnProps',
+    'PopoverContentProps',
+    'PopoverOwnProps',
+    'PopoverPortalProps',
+    'PopoverProps',
+    'PopoverTriggerAsChildProps',
+    'PopoverTriggerProps',
+  ],
+  '@askrjs/ui/scroll-area': [
+    'ScrollAreaAsChildProps',
+    'ScrollAreaCornerProps',
+    'ScrollAreaOwnProps',
+    'ScrollAreaProps',
+    'ScrollAreaScrollbarProps',
+    'ScrollAreaThumbProps',
+    'ScrollAreaViewportAsChildProps',
+    'ScrollAreaViewportProps',
+  ],
+  '@askrjs/ui/toast': [
+    'ToastActionAsChildProps',
+    'ToastActionProps',
+    'ToastCloseAsChildProps',
+    'ToastCloseProps',
+    'ToastDescriptionAsChildProps',
+    'ToastDescriptionProps',
+    'ToastHostOwnProps',
+    'ToastHostProps',
+    'ToastOwnProps',
+    'ToastProps',
+    'ToastTitleAsChildProps',
+    'ToastTitleProps',
+    'ToastViewportAsChildProps',
+    'ToastViewportProps',
+  ],
+  '@askrjs/ui/tooltip': [
+    'TooltipContentAsChildProps',
+    'TooltipContentOwnProps',
+    'TooltipContentProps',
+    'TooltipOwnProps',
+    'TooltipPortalProps',
+    'TooltipProps',
+    'TooltipTriggerAsChildProps',
+    'TooltipTriggerProps',
+  ],
+  '@askrjs/vite/image': ['ImageProps'],
+};
diff --git a/src/pages/docs/prose.tsx b/src/pages/docs/prose.tsx
new file mode 100644
index 0000000..c917294
--- /dev/null
+++ b/src/pages/docs/prose.tsx
@@ -0,0 +1,26 @@
+/** Render the small inline Markdown vocabulary used by authored docs. */
+export function InlineProse({ text }: { text: string }) {
+  return (
+    <>
+      {text
+        .split(/(`[^`]+`|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\))/g)
+        .map((part, index) => {
+          if (part.startsWith('`') && part.endsWith('`')) {
+            return <code key={index}>{part.slice(1, -1)}</code>;
+          }
+          if (part.startsWith('**') && part.endsWith('**')) {
+            return <strong key={index}>{part.slice(2, -2)}</strong>;
+          }
+          const link = /^\[([^\]]+)\]\(([^)]+)\)$/.exec(part);
+          if (link && /^(?:\/(?!\/)|https?:\/\/|mailto:)/.test(link[2]!)) {
+            return (
+              <a key={index} href={link[2]}>
+                {link[1]}
+              </a>
+            );
+          }
+          return part;
+        })}
+    </>
+  );
+}
diff --git a/src/pages/docs/usage-guide.ts b/src/pages/docs/usage-guide.ts
index 8e6181f..e07b0d0 100644
--- a/src/pages/docs/usage-guide.ts
+++ b/src/pages/docs/usage-guide.ts
@@ -1431,10 +1431,12 @@ export function buildUsageGuide(
   const focusedGuide = topicGuide(page);
   if (focusedGuide) return focusedGuide;
 
+  if (page.route === '/docs/guides/contributing') return undefined;
+
   if (page.navGroup === 'Getting Started') {
     return {
       intro:
-        'Create a readable starter, run it unchanged, and make one small production build after the first route works.',
+        'Create a starter, start the development server, and verify the production build.',
       code: `npx ${cli} create startkit my-app
 cd my-app
 npm run dev
diff --git a/src/pages/marketing/_routes.tsx b/src/pages/marketing/_routes.tsx
index 0f1e0d4..7edab2e 100644
--- a/src/pages/marketing/_routes.tsx
+++ b/src/pages/marketing/_routes.tsx
@@ -1,71 +1,66 @@
-import { fallback, group, route } from '@askrjs/askr/router';
+import { fallback, group, Link, route } from '@askrjs/askr/router';
+import { task } from '@askrjs/askr/resources';
 import { MarketingLayout } from './_layout';
-import { marketingPages, type MarketingPath } from './catalog';
-import { ApplicationModelPage } from './application-model';
-import { ContributePage } from './contribute';
-import { FullStackPage } from './full-stack';
 import { HomePage } from './home';
 import { NotFoundPage } from './not-found';
-import { PlatformPage } from './platform';
-import { ProductionPage } from './production';
-import { RenderingPage } from './rendering';
-import { ThemesPage } from './themes';
-import { ToolingPage } from './tooling';
+import { legacyRedirects } from './redirects';
 
 export type RouteMetadata = {
   title: string;
   description: string;
-  links?: readonly {
-    rel: string;
-    href: string;
-    [key: string]: string;
-  }[];
+  links?: readonly { rel: string; href: string; [key: string]: string }[];
 };
 
 export const marketingRouteMetadata: Readonly<Record<string, RouteMetadata>> = {
   '/': {
-    title: 'Askr | Full-stack TypeScript with explicit routes',
+    title: 'Askr | TypeScript apps. Explicit by design.',
     description:
-      'Build TypeScript apps with one explicit route registry for browser, server, or static rendering.',
+      'Build TypeScript interfaces with function components and explicit state. Connect routes, data, and server code as your application grows.',
   },
   '/404': {
     title: 'Page not found | Askr',
     description:
       'We could not find this page. Return home or browse the Askr documentation.',
   },
-  '/contribute': {
-    title: 'Contribute to Askr | Askr',
-    description:
-      'Contribute to Askr themes, rendering, accessibility, documentation, and developer tooling.',
-  },
-  ...Object.fromEntries(
-    marketingPages.map(({ path, title, description }) => [
+};
+
+export const legacyRouteMetadata: Readonly<Record<string, RouteMetadata>> =
+  Object.fromEntries(
+    Object.entries(legacyRedirects).map(([path, destination]) => [
       path,
-      { title, description },
+      {
+        title: 'Continue to the Askr documentation',
+        description: 'This page is now part of the Askr documentation.',
+        links: [{ rel: 'canonical', href: `https://askrjs.com${destination}` }],
+      },
     ])
-  ),
-};
+  );
 
-const marketingRouteComponents: Record<MarketingPath, typeof PlatformPage> = {
-  '/platform': PlatformPage,
-  '/application-model': ApplicationModelPage,
-  '/rendering': RenderingPage,
-  '/full-stack': FullStackPage,
-  '/themes': ThemesPage,
-  '/tooling': ToolingPage,
-  '/production': ProductionPage,
-};
+function ForwardToDocs({ destination }: { destination: string }) {
+  task(() => {
+    if (typeof window !== 'undefined') {
+      window.location.replace(
+        `${destination}${window.location.search}${window.location.hash}`
+      );
+    }
+  });
+  return (
+    <section class="legacy-forward">
+      <h1>This page is now in the documentation.</h1>
+      <Link href={destination}>Continue to the documentation</Link>
+    </section>
+  );
+}
 
 export function registerMarketingRoutes() {
   group({ layout: MarketingLayout }, () => {
     route('/', HomePage, { meta: marketingRouteMetadata['/'] });
-    route('/contribute', ContributePage, {
-      meta: marketingRouteMetadata['/contribute'],
-    });
-    for (const page of marketingPages) {
-      route(page.path, marketingRouteComponents[page.path], { meta: page });
-    }
     route('/404', NotFoundPage, { meta: marketingRouteMetadata['/404'] });
     fallback(NotFoundPage);
   });
+  for (const [path, destination] of Object.entries(legacyRedirects)) {
+    route(path, () => <ForwardToDocs destination={destination} />, {
+      meta: legacyRouteMetadata[path],
+    });
+  }
 }
diff --git a/src/pages/marketing/application-model.tsx b/src/pages/marketing/application-model.tsx
deleted file mode 100644
index 59c0749..0000000
--- a/src/pages/marketing/application-model.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-  SequenceList,
-  type SequenceItem,
-} from './components';
-
-const ownership: readonly SequenceItem[] = [
-  {
-    title: 'State',
-    description: 'Store mutable facts where they are owned.',
-    meta: 'read · write',
-  },
-  {
-    title: 'Derived values',
-    description: 'Derived values track their source state.',
-    meta: 'depend · compute',
-  },
-  {
-    title: 'Resources',
-    description: 'Attach asynchronous work to the active lifecycle.',
-    meta: 'load · cancel',
-  },
-  {
-    title: 'Scopes',
-    description: 'Provide a typed value down the tree without a global store.',
-    meta: 'provide · read',
-  },
-];
-
-export function ApplicationModelPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Keep state and async work with the UI that owns it."
-        lede="Askr provides local state, derived values, lifecycle-bound resources, and typed scopes. Declare where each piece of work belongs."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Four things, and where each one lives</h2>
-          <p>
-            Keep mutable state near the component or scope that uses it. Derived
-            values track their source state. Resources can use the owning
-            component's lifecycle for cancellation and cleanup.
-          </p>
-        </div>
-        <SequenceList
-          label="Application ownership lifecycle"
-          items={ownership}
-        />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Declare routes in a typed registry</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            Declare paths, parameters, layouts, loaders, and actions in a typed
-            registry. The same registry is available to your app and its
-            tooling.
-          </p>
-          <p>
-            Resources receive an <code>AbortSignal</code> from their owner, so
-            cancellation-aware work can stop when that owner unmounts. When a
-            write invalidates a query, affected queries can refetch and update
-            the views that depend on them.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr">
-            View the core runtime
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="See how Askr models state and routes."
-        primaryHref="/docs/core-concepts"
-        primaryLabel="Read the fundamentals"
-        secondaryHref="/docs/getting-started"
-        secondaryLabel="Create an app"
-      />
-      <MarketingPageNavigation current="/application-model" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/catalog.ts b/src/pages/marketing/catalog.ts
deleted file mode 100644
index 3a79073..0000000
--- a/src/pages/marketing/catalog.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-export type MarketingPageDefinition = {
-  path: `/${string}`;
-  label: string;
-  homepageSummary: string;
-  title: string;
-  description: string;
-};
-
-export const marketingPages = [
-  {
-    path: '/platform',
-    label: 'Platform',
-    homepageSummary:
-      'Start with the runtime and add packages as you need them.',
-    title: 'Platform | Askr',
-    description:
-      'See how Askr packages cover routes, UI, server work, rendering, and production tooling.',
-  },
-  {
-    path: '/application-model',
-    label: 'Application model',
-    homepageSummary:
-      'Keep state and async work with the component or route that owns it.',
-    title: 'Application model | Askr',
-    description:
-      'Learn how Askr handles state, typed routes, lifecycle-bound resources, cancellation, and query invalidation.',
-  },
-  {
-    path: '/rendering',
-    label: 'Rendering',
-    homepageSummary:
-      'Reuse route definitions for browser, server, or static rendering.',
-    title: 'Rendering | Askr',
-    description:
-      'Use one route registry for client rendering, server rendering with hydration, or static generation.',
-  },
-  {
-    path: '/full-stack',
-    label: 'Full stack',
-    homepageSummary:
-      'Add page actions, HTTP APIs, schemas, and access policies.',
-    title: 'Full stack | Askr',
-    description:
-      'Build page actions and HTTP APIs with request validation, OpenAPI output, and route access policies.',
-  },
-  {
-    path: '/themes',
-    label: 'Themes',
-    homepageSummary:
-      'Change component styles without rewriting their interaction behavior.',
-    title: 'Themes | Askr',
-    description:
-      'Use headless interaction components with Askr themes, plus optional icons, logos, charts, and editor tools.',
-  },
-  {
-    path: '/tooling',
-    label: 'Tooling',
-    homepageSummary:
-      'Scaffold apps, generate files, and check OpenAPI contracts.',
-    title: 'Tooling | Askr',
-    description:
-      'Use the Askr CLI to create apps, generate pages and actions, check OpenAPI changes, and review dependency updates.',
-  },
-  {
-    path: '/production',
-    label: 'Production',
-    homepageSummary:
-      'Build static files or run request-time code with the Node adapter.',
-    title: 'Production | Askr',
-    description:
-      'Choose static output or a Node server, then configure probes, localization, and OpenTelemetry for your application.',
-  },
-] as const satisfies readonly MarketingPageDefinition[];
-
-export type MarketingPath = (typeof marketingPages)[number]['path'];
-
-export function marketingPage(path: MarketingPath) {
-  const page = marketingPages.find((candidate) => candidate.path === path);
-  if (!page) throw new Error(`Unknown marketing route: ${path}`);
-  return page;
-}
diff --git a/src/pages/marketing/components.tsx b/src/pages/marketing/components.tsx
deleted file mode 100644
index 316bf40..0000000
--- a/src/pages/marketing/components.tsx
+++ /dev/null
@@ -1,283 +0,0 @@
-import { type Props } from '@askrjs/askr';
-import { Link } from '@askrjs/askr/router';
-import { ArrowLeftIcon, ArrowRightIcon } from '@askrjs/lucide';
-import { Button, Container } from '@askrjs/themes/components';
-import { marketingPages, type MarketingPath } from './catalog';
-
-type HeroProps = {
-  title: string;
-  lede: string;
-};
-
-export function EditorialHero({ title, lede }: HeroProps) {
-  return (
-    <section class="editorial-hero" aria-labelledby="editorial-title">
-      <Container direction="column" size="xl">
-        <h1 id="editorial-title">{title}</h1>
-        <p class="editorial-hero__lede">{lede}</p>
-      </Container>
-    </section>
-  );
-}
-
-export function RuledSection({
-  children,
-  stacked = false,
-}: Props & { stacked?: boolean }) {
-  return (
-    <section class="editorial-section">
-      <Container
-        class={`editorial-section__inner${stacked ? ' editorial-section__inner--stacked' : ''}`}
-        size="xl"
-      >
-        {children}
-      </Container>
-    </section>
-  );
-}
-
-export function RepositoryLink({ href, children }: Props & { href: string }) {
-  return (
-    <a class="repository-link" href={href}>
-      <span>{children}</span>
-      <ArrowRightIcon size={16} aria-hidden="true" />
-    </a>
-  );
-}
-
-type CTAProps = {
-  title: string;
-  primaryHref: string;
-  primaryLabel: string;
-  secondaryHref?: string;
-  secondaryLabel?: string;
-};
-
-export function EditorialCTA({
-  title,
-  primaryHref,
-  primaryLabel,
-  secondaryHref,
-  secondaryLabel,
-}: CTAProps) {
-  return (
-    <section class="editorial-cta">
-      <Container class="editorial-cta__inner" size="xl">
-        <h2>{title}</h2>
-        <div class="editorial-cta__actions">
-          <Button asChild>
-            <Link href={primaryHref}>
-              {primaryLabel}
-              <ArrowRightIcon size={18} aria-hidden="true" />
-            </Link>
-          </Button>
-          {secondaryHref && secondaryLabel ? (
-            <Button asChild variant="outline">
-              <Link href={secondaryHref}>{secondaryLabel}</Link>
-            </Button>
-          ) : null}
-        </div>
-      </Container>
-    </section>
-  );
-}
-
-export function MarketingPageNavigation({
-  current,
-}: {
-  current: MarketingPath;
-}) {
-  const index = marketingPages.findIndex((page) => page.path === current);
-  const previous = index > 0 ? marketingPages[index - 1] : undefined;
-  const next =
-    index < marketingPages.length - 1 ? marketingPages[index + 1] : undefined;
-  if (index < 0) throw new Error(`Unknown marketing route: ${current}`);
-
-  return (
-    <nav class="page-navigation" aria-label="Marketing pages">
-      <Container class="page-navigation__inner" size="xl">
-        {previous ? (
-          <Link class="page-navigation__link" href={previous.path}>
-            <ArrowLeftIcon size={16} aria-hidden="true" />
-            <span>
-              <small>Previous</small>
-              {previous.label}
-            </span>
-          </Link>
-        ) : (
-          <span />
-        )}
-        {next ? (
-          <Link
-            class="page-navigation__link page-navigation__link--next"
-            href={next.path}
-          >
-            <span>
-              <small>Next</small>
-              {next.label}
-            </span>
-            <ArrowRightIcon size={16} aria-hidden="true" />
-          </Link>
-        ) : (
-          <span />
-        )}
-      </Container>
-    </nav>
-  );
-}
-
-export type SequenceItem = {
-  /** Optional eyebrow above the title. Mirrors FlowNode.label. */
-  label?: string;
-  title: string;
-  description: string;
-  /** Terse trailing line — package names, mode labels, verb pairs. */
-  meta?: string;
-};
-
-/**
- * An ordered progression: numbered steps read left to right.
- * Use when the items have a sequence. For a fan-out or a convergence,
- * reach for FlowMap instead.
- */
-export function SequenceList({
-  label,
-  items,
-}: {
-  label: string;
-  items: readonly SequenceItem[];
-}) {
-  return (
-    <ol class="sequence" aria-label={label} data-columns={items.length}>
-      {items.map((item, index) => (
-        <li key={item.title} class="sequence__item">
-          <span class="sequence__number">
-            {String(index + 1).padStart(2, '0')}
-          </span>
-          {item.label && <span class="sequence__label">{item.label}</span>}
-          <h3>{item.title}</h3>
-          <p>{item.description}</p>
-          {item.meta && <small>{item.meta}</small>}
-        </li>
-      ))}
-    </ol>
-  );
-}
-
-export type PackageRow = {
-  name: string;
-  purpose: string;
-  /** Other @askrjs packages this one requires, from its peerDependencies. */
-  peers: readonly string[];
-};
-
-function PeerList({ peers }: { peers: readonly string[] }) {
-  return (
-    <>
-      {peers.map((peer, index) => (
-        <>
-          {index > 0 && ' '}
-          <code>@askrjs/{peer}</code>
-        </>
-      ))}
-    </>
-  );
-}
-
-/**
- * The published package set, with what each one requires. Rows come from the
- * package catalog.
- */
-export function PackageTable({
-  label,
-  rows,
-}: {
-  label: string;
-  rows: readonly PackageRow[];
-}) {
-  return (
-    <div class="package-table-wrap">
-      <table class="package-table">
-        <caption class="visually-hidden">{label}</caption>
-        <thead>
-          <tr>
-            <th scope="col">Package</th>
-            <th scope="col">What it gives you</th>
-            <th scope="col">Requires</th>
-          </tr>
-        </thead>
-        <tbody>
-          {rows.map((row) => (
-            <tr key={row.name}>
-              <th scope="row">
-                <code>@askrjs/{row.name}</code>
-              </th>
-              <td>{row.purpose}</td>
-              <td>
-                {row.peers.length === 0 ? (
-                  <span class="package-table__standalone">Nothing</span>
-                ) : (
-                  <PeerList peers={row.peers} />
-                )}
-              </td>
-            </tr>
-          ))}
-        </tbody>
-      </table>
-    </div>
-  );
-}
-
-export type FlowNode = {
-  /** Optional eyebrow above the title. */
-  label?: string;
-  title: string;
-  description?: string;
-  meta?: string;
-};
-
-/**
- * A hub and the nodes it relates to. `fan-out` renders the hub first
- * (one input, several outputs); `converge` renders it last (several
- * inputs meeting at one root).
- */
-export function FlowMap({
-  label,
-  direction,
-  hub,
-  nodes,
-}: {
-  label: string;
-  direction: 'fan-out' | 'converge';
-  hub: FlowNode;
-  nodes: readonly FlowNode[];
-}) {
-  const hubBlock = (
-    <div class="flow-map__hub">
-      {hub.label && <span>{hub.label}</span>}
-      <h3>{hub.title}</h3>
-      {hub.description && <p>{hub.description}</p>}
-    </div>
-  );
-  return (
-    <div
-      class="flow-map"
-      role="group"
-      aria-label={label}
-      data-direction={direction}
-    >
-      {direction === 'fan-out' && hubBlock}
-      <ol class="flow-map__nodes" data-count={nodes.length}>
-        {nodes.map((node) => (
-          <li key={node.title}>
-            {node.label && <span>{node.label}</span>}
-            <h3>{node.title}</h3>
-            {node.description && <p>{node.description}</p>}
-            {node.meta && <small>{node.meta}</small>}
-          </li>
-        ))}
-      </ol>
-      {direction === 'converge' && hubBlock}
-    </div>
-  );
-}
diff --git a/src/pages/marketing/contribute.tsx b/src/pages/marketing/contribute.tsx
deleted file mode 100644
index db164eb..0000000
--- a/src/pages/marketing/contribute.tsx
+++ /dev/null
@@ -1,144 +0,0 @@
-import { ArrowRightIcon } from '@askrjs/lucide';
-import { Button, Container } from '@askrjs/themes/components';
-import {
-  EditorialHero,
-  RepositoryLink,
-  RuledSection,
-  SequenceList,
-  type SequenceItem,
-} from './components';
-
-const opportunities: readonly SequenceItem[] = [
-  {
-    label: 'CSS and design systems',
-    title: 'Improve themes across apps and browsers',
-    description:
-      'Refine theme tokens, responsive layouts, color schemes, and browser behavior. Check that styled components preserve the keyboard and focus behavior from @askrjs/ui.',
-    meta: '@askrjs/themes · @askrjs/ui',
-  },
-  {
-    label: 'Rendering',
-    title: 'Test server and static rendering in other apps',
-    description:
-      "Test server and static rendering in other applications. Add examples for dynamic metadata, hydration, performance, and deployment setups beyond this site's static build.",
-    meta: '@askrjs/askr · @askrjs/server · @askrjs/cli',
-  },
-  {
-    label: 'Technical SEO',
-    title: 'Improve search metadata and sitemaps',
-    description:
-      'Check canonical URLs, structured data, crawlability, sitemaps, and social previews. Improve the docs and examples for applications using server or static rendering.',
-    meta: 'SSG · SSR · documentation',
-  },
-];
-
-const firstContribution: readonly SequenceItem[] = [
-  {
-    title: 'Find a project area',
-    description:
-      'Choose a problem or small improvement from the themes, rendering, or developer tools listed above. You can ask questions before proposing a solution.',
-  },
-  {
-    title: 'Open an issue or send a note',
-    description:
-      'Use GitHub for a specific repository, or email us if you need help finding the right one.',
-  },
-  {
-    title: 'Review and verify the change',
-    description:
-      'Discuss tradeoffs, make the change, and check it against the agreed behavior.',
-  },
-];
-
-export function ContributePage() {
-  return (
-    <>
-      <EditorialHero
-        title="Help test Askr in more applications."
-        lede="Askr uses one explicit route registry for browser navigation, server rendering, and static builds. This site uses the static generator. Testing the other paths, themes, and developer tools in more applications can show us where the code and documentation need work."
-      />
-
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Where more testing would help</h2>
-          <p>
-            Focused reviews, prototypes, fixes, and documented findings can all
-            help. You do not need to take on a large project to make a useful
-            contribution.
-          </p>
-        </div>
-        <SequenceList
-          label="Contribution opportunities"
-          items={opportunities}
-        />
-      </RuledSection>
-
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Work directly with maintainers</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            Askr is an early project with a small maintainer team. You can
-            discuss a change with the people who maintain the code and hear the
-            reasoning behind it.
-          </p>
-          <p>
-            Askr supports more paths than this website can exercise. The docs
-            mark some areas <code>experimental</code> or <code>limited</code>.
-            Testing those areas in another application is a useful way to find
-            what needs better examples or implementation.
-          </p>
-          <p>
-            Contributions are volunteer open-source work. One useful change does
-            not create an ongoing commitment.
-          </p>
-        </div>
-      </RuledSection>
-
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Start with one focused change</h2>
-        </div>
-        <SequenceList
-          label="How to make a first contribution"
-          items={firstContribution}
-        />
-        <div class="contribute-repositories">
-          <RepositoryLink href="https://github.com/askrjs/askr-themes/issues">
-            Explore theme issues
-          </RepositoryLink>
-          <RepositoryLink href="https://github.com/askrjs/askr/issues">
-            Explore framework issues
-          </RepositoryLink>
-          <RepositoryLink href="https://github.com/askrjs/website/issues">
-            Explore website issues
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-
-      <section class="editorial-cta">
-        <Container class="editorial-cta__inner" size="xl">
-          <div>
-            <h2>Have an issue or an idea?</h2>
-            <p class="contribute-cta__copy">
-              Email us with the area you care about and one problem or example.
-              A rough description is enough to start.
-            </p>
-          </div>
-          <div class="editorial-cta__actions">
-            <Button asChild>
-              <a href="mailto:contribute@askrjs.com">
-                Email contribute@askrjs.com
-                <ArrowRightIcon size={18} aria-hidden="true" />
-              </a>
-            </Button>
-            <Button asChild variant="outline">
-              <a href="https://github.com/askrjs">Explore Askr on GitHub</a>
-            </Button>
-          </div>
-        </Container>
-      </section>
-    </>
-  );
-}
diff --git a/src/pages/marketing/full-stack.tsx b/src/pages/marketing/full-stack.tsx
deleted file mode 100644
index 938dfb2..0000000
--- a/src/pages/marketing/full-stack.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  FlowMap,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-} from './components';
-
-export function FullStackPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Add server routes to your TypeScript application."
-        lede="Define page actions and HTTP handlers alongside your routes. Add schemas, access policies, and services in code. Connect the identity system and infrastructure your app already uses."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Forms can submit to server actions</h2>
-          <p>
-            A page action handles a form POST and can return a redirect or
-            field-level errors, including when JavaScript is disabled. HTTP APIs
-            use the standard <code>Request</code> and <code>Response</code>
-            interfaces.
-          </p>
-        </div>
-        <FlowMap
-          label="Pages, actions, and APIs share application setup"
-          direction="converge"
-          hub={{
-            label: 'Application setup',
-            title: 'Schemas + services',
-            description:
-              'Validate requests, apply access policies, and connect services.',
-          }}
-          nodes={[
-            { title: 'Pages', description: 'Routes and loaders' },
-            { title: 'Actions', description: 'Forms and mutations' },
-            { title: 'APIs', description: 'Request and Response' },
-          ]}
-        />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Keep request validation and the API contract together</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            Define executable schemas for your routes. Askr can validate
-            requests and generate an OpenAPI document from those definitions.
-            Run <code>askr openapi --check</code> in CI to catch when the
-            generated document differs from the committed contract.
-          </p>
-          <p>
-            Access is a policy you attach to a route, plus an identity resolver
-            you provide. Askr does not include a user database or decide who is
-            logged in.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-server">
-            View the server foundation
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="Add server actions and APIs when routes need them."
-        primaryHref="/docs/server"
-        primaryLabel="Read the server docs"
-        secondaryHref="/docs/getting-started"
-        secondaryLabel="Create an app"
-      />
-      <MarketingPageNavigation current="/full-stack" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/home.tsx b/src/pages/marketing/home.tsx
index e038266..e14f149 100644
--- a/src/pages/marketing/home.tsx
+++ b/src/pages/marketing/home.tsx
@@ -1,185 +1,121 @@
 import { Link } from '@askrjs/askr/router';
 import { ArrowRightIcon } from '@askrjs/lucide';
 import { Button, Container } from '@askrjs/themes/components';
-import { marketingPages } from './catalog';
-import { RepositoryLink } from './components';
 
-const capabilities = marketingPages.slice(1);
-const routeSpecimen = `import {
-  createRouteRegistry,
-  fallback,
-  group,
-  route,
-} from '@askrjs/askr/router';
+const example = `import { state } from '@askrjs/askr';
+import { createSPA } from '@askrjs/askr/boot';
+import { createRouteRegistry, route } from '@askrjs/askr/router';
 
-export const pageRegistry = createRouteRegistry(() => {
-  group({ layout: AppLayout }, () => {
-    route('/', OverviewPage);
-    route('/activity', ActivityPage);
-    fallback(NotFoundPage);
-  });
-});`;
+function Counter() {
+  const [count, setCount] = state(0);
+  return (
+    <button onClick={() => setCount((value) => value + 1)}>
+      Count: {count()}
+    </button>
+  );
+}
+
+const registry = createRouteRegistry(() => route('/', Counter));
+await createSPA({ root: '#app', registry });`;
+
+const paths = [
+  {
+    title: 'Create your first app',
+    description:
+      'Install Askr, choose a starter, and build your first application.',
+    href: '/docs/getting-started',
+  },
+  {
+    title: 'Build your interface',
+    description: 'Explore components, interaction patterns, and themes.',
+    href: '/docs/components',
+  },
+  {
+    title: 'Connect the server',
+    description: 'Work with HTTP routes, validation, and authentication.',
+    href: '/docs/server',
+  },
+  {
+    title: 'Look up an API',
+    description:
+      'Find package exports, TypeScript signatures, and reference material.',
+    href: '/docs/reference',
+  },
+] as const;
 
 export function HomePage() {
   return (
     <>
-      <section class="hero" aria-labelledby="hero-title">
-        <Container class="hero__content" size="xl">
-          <h1 id="hero-title">
-            Build full-stack TypeScript apps with routes declared in code.
-          </h1>
-          <p class="hero__lede">
-            Routes, layouts, and loaders live in one explicit registry. Reuse it
-            for browser navigation, server rendering, or static generation.
-          </p>
-          <div class="hero__actions">
-            <Button asChild>
-              <Link href="/docs/getting-started">
-                Get started
-                <ArrowRightIcon size={18} aria-hidden="true" />
-              </Link>
-            </Button>
-            <Button asChild variant="outline">
-              <Link href="/platform">Explore the platform</Link>
-            </Button>
-          </div>
-          <div class="hero__code" aria-label="Install Askr">
-            <span>Start a project</span>
-            <code>npx @askrjs/cli@latest create startkit my-app</code>
-          </div>
-          <p class="hero__proof">
-            This site is built with Askr's static-site generator and served as
-            static files.
-          </p>
-        </Container>
-      </section>
-
-      <section class="differentiation" aria-labelledby="differentiation-title">
-        <Container class="differentiation__inner" direction="column" size="xl">
-          <div class="differentiation__heading">
-            <h2 id="differentiation-title">
-              Routes are explicit data you can inspect.
-            </h2>
-            <p>
-              Askr does not infer routes from folder names. You declare paths,
-              layouts, and route behavior in code, then pass that registry to
-              the browser, server renderer, or static generator.
+      <section class="landing-hero" aria-labelledby="hero-title">
+        <Container class="hero__content landing-hero__inner" size="xl">
+          <div class="landing-hero__copy">
+            <p class="landing-eyebrow">
+              Askr · TypeScript application framework
+            </p>
+            <h1 id="hero-title">
+              TypeScript apps.
+              <br />
+              Explicit by design.
+            </h1>
+            <p class="landing-hero__lede">
+              Build interfaces with function components and explicit state.
+              Connect routes, data, and server code as your application grows.
+            </p>
+            <div class="hero__actions">
+              <Button asChild>
+                <Link href="/docs/getting-started">
+                  Get started <ArrowRightIcon size={18} aria-hidden="true" />
+                </Link>
+              </Button>
+              <Button asChild variant="outline">
+                <Link href="/docs">Read the docs</Link>
+              </Button>
+            </div>
+            <div class="landing-install">
+              <span>Create an application</span>
+              <pre>
+                <code>npx @askrjs/cli@latest create startkit my-app</code>
+              </pre>
+            </div>
+            <p class="landing-hero__note">
+              Open source. Apache 2.0. Built with TypeScript.
             </p>
           </div>
-          <div class="differentiation__body">
-            <pre aria-label="An explicit Askr route registry">
-              <code>
-                <span>{routeSpecimen}</span>
-              </code>
+          <div class="landing-example">
+            <div class="landing-example__header">
+              <span>State and routes, in one file</span>
+              <span>app.tsx</span>
+            </div>
+            <pre aria-label="An Askr application with state and an explicit route registry">
+              <code>{example}</code>
             </pre>
-            <ol>
-              <li>
-                <span>01</span>
-                <div>
-                  <h3>Export the route table as a value</h3>
-                  <p>
-                    Define paths, layouts, and parameters in one registry, then
-                    pass it to the code that renders the app.
-                  </p>
-                </div>
-              </li>
-              <li>
-                <span>02</span>
-                <div>
-                  <h3>Reuse routes across rendering modes</h3>
-                  <p>
-                    Use the same route registry for a client-rendered app, a
-                    server-rendered page with hydration, or static output. Each
-                    mode has its own entry point and build setup.
-                  </p>
-                </div>
-              </li>
-              <li>
-                <span>03</span>
-                <div>
-                  <h3>Make server requirements explicit</h3>
-                  <p>
-                    Compose route policies, schemas, and services in code, so
-                    you can see what each server route needs.
-                  </p>
-                </div>
-              </li>
-              <li>
-                <span>04</span>
-                <div>
-                  <h3>Choose static files or a server</h3>
-                  <p>
-                    Build HTML and assets for static hosting, or use the Node
-                    adapter for request-time server code.
-                  </p>
-                </div>
-              </li>
-            </ol>
-          </div>
-          <div class="differentiation__links">
-            <RepositoryLink href="https://github.com/askrjs/askr">
-              Read the runtime source
-            </RepositoryLink>
-            <RepositoryLink href="https://github.com/askrjs/askr-examples">
-              Compare the example applications
-            </RepositoryLink>
+            <p>
+              Read the current value, update it on click, and register the page.
+            </p>
           </div>
         </Container>
       </section>
-
-      <section
-        class="capabilities"
-        id="platform"
-        aria-labelledby="capabilities-title"
-      >
-        <Container class="capabilities__inner" size="xl">
-          <div class="section-heading">
-            <h2 id="capabilities-title">
-              Add components, server code, and build tools as the app grows.
-            </h2>
-            <p>
-              A themed component library, a server, auth, and build tooling are
-              available to add as your application needs them.
-            </p>
-            <Link class="section-heading__link" href="/platform">
-              Explore the platform
-              <ArrowRightIcon size={16} aria-hidden="true" />
-            </Link>
+      <section class="landing-paths" aria-labelledby="landing-paths-title">
+        <Container direction="column" size="xl">
+          <div class="landing-paths__heading">
+            <h2 id="landing-paths-title">Start with the docs.</h2>
+            <p>Follow a guide, explore components, or look up an API.</p>
           </div>
-          <div class="capability-list">
-            {capabilities.map((capability, index) => (
-              <Link
-                key={capability.path}
-                class="capability-item"
-                href={capability.path}
-              >
-                <span class="capability-item__number">
-                  {String(index + 1).padStart(2, '0')}
-                </span>
-                <h3>{capability.label}</h3>
-                <p>{capability.homepageSummary}</p>
+          <div class="landing-paths__grid">
+            {paths.map((path) => (
+              <Link key={path.href} href={path.href} class="landing-path">
+                <h3>
+                  {path.title}
+                  <ArrowRightIcon size={17} aria-hidden="true" />
+                </h3>
+                <p>{path.description}</p>
               </Link>
             ))}
           </div>
-        </Container>
-      </section>
-
-      <section class="final-cta" id="get-started">
-        <Container class="final-cta__inner" size="xl">
-          <div>
-            <h2>Start with a project template.</h2>
-            <p>
-              Choose a starter, keep its generated files in your project, and
-              add rendering or server capabilities when your application needs
-              them. Your route registry stays explicit as the app grows.
-            </p>
-          </div>
-          <Button asChild>
-            <Link href="/docs/getting-started">
-              Create an app
-              <ArrowRightIcon size={18} aria-hidden="true" />
-            </Link>
-          </Button>
+          <p class="landing-proof">
+            This site is built with Askr's static-site generator and served as
+            static files.
+          </p>
         </Container>
       </section>
     </>
diff --git a/src/pages/marketing/platform.tsx b/src/pages/marketing/platform.tsx
deleted file mode 100644
index d47c30f..0000000
--- a/src/pages/marketing/platform.tsx
+++ /dev/null
@@ -1,163 +0,0 @@
-import { packagePeers } from '../docs/package-peers';
-import {
-  EditorialCTA,
-  EditorialHero,
-  MarketingPageNavigation,
-  PackageTable,
-  RepositoryLink,
-  RuledSection,
-  SequenceList,
-  type SequenceItem,
-} from './components';
-
-const packagePurpose: Record<string, string> = {
-  askr: 'Components, state, routing, resources, and the SSR/SSG renderers.',
-  cli: 'Scaffolding, generators, OpenAPI checks, and dependency updates.',
-  vite: 'The build plugin for JSX, SSR, and static generation.',
-  ui: 'Headless components: keyboard behavior, focus, and ARIA.',
-  themes: 'Styled components and design tokens on top of the headless layer.',
-  lucide: 'The Lucide icon set as Askr components.',
-  logos: 'A curated set of brand logo components.',
-  charts: 'Typed Canvas plots with SVG and data export.',
-  monaco: 'A Monaco editor wrapper for in-app code editing.',
-  server: 'Transport-neutral HTTP built on Request and Response.',
-  node: 'The adapter for running Askr HTTP handlers on Node.',
-  schema: 'Executable schemas that also project to OpenAPI.',
-  auth: 'Identity resolution and route access policies.',
-  fetch:
-    'Typed HTTP clients defined in code, or generated from an OpenAPI document via the CLI.',
-  i18n: 'Typed message keys that fail the build when a translation is missing.',
-  otel: 'OpenTelemetry instrumentation with an attribute allowlist.',
-  testing: 'Request injection and HTTP testing helpers.',
-};
-
-const packageOrder = [
-  'askr',
-  'cli',
-  'vite',
-  'ui',
-  'themes',
-  'lucide',
-  'logos',
-  'charts',
-  'monaco',
-  'server',
-  'node',
-  'schema',
-  'auth',
-  'fetch',
-  'i18n',
-  'otel',
-  'testing',
-] as const;
-
-const packageRows = packageOrder.map((name) => ({
-  name,
-  purpose: packagePurpose[name],
-  peers: packagePeers[name] ?? [],
-}));
-
-const packageCount = packageRows.length;
-// Packages other than the runtime itself that require no @askrjs peer at all.
-const standaloneCount = packageRows.filter(
-  (row) => row.name !== 'askr' && row.peers.length === 0
-).length;
-
-const journey: readonly SequenceItem[] = [
-  {
-    label: 'Build',
-    title: 'Start with a component',
-    description: 'Core runtime, CLI scaffolding, and the Vite build plugin.',
-    meta: '@askrjs/askr · @askrjs/cli · @askrjs/vite',
-  },
-  {
-    label: 'Compose',
-    title: 'Add state, data, and UI',
-    description:
-      'State, routes, data, headless components, themes, schemas, and an optional server.',
-    meta: '@askrjs/ui · @askrjs/themes · @askrjs/schema · @askrjs/server',
-  },
-  {
-    label: 'Deliver',
-    title: 'Choose a rendering mode',
-    description:
-      'Single Page Application, Server Side Rendering with hydration, Static Site Generation, or full-stack delivery.',
-    meta: 'SPA · SSR + hydration · SSG',
-  },
-  {
-    label: 'Operate',
-    title: 'Deploy the application',
-    description:
-      'Deploy static output or use the Node adapter for HTTP and health probes. Add separate packages for auth, typed localization, and OpenTelemetry.',
-    meta: '@askrjs/node · @askrjs/auth · @askrjs/i18n · @askrjs/otel',
-  },
-];
-
-export function PlatformPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Start with the runtime. Add packages when you need them."
-        lede="Askr is a set of TypeScript packages for routes, rendering, UI, and server work. Begin with the core runtime, then add the pieces your application calls for."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Choose rendering and server packages as the app grows</h2>
-          <p>
-            Add server and rendering packages later while keeping the route
-            registry and components you already wrote.
-          </p>
-        </div>
-        <SequenceList label="Askr application setup" items={journey} />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Keep routes as the application changes</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            A static site and a full-stack dashboard can use the same route
-            registry and component code. Moving between them still takes the
-            relevant browser, server, or static-build entry point and
-            configuration; your route declarations can stay in place.
-          </p>
-          <p>
-            If a route later needs request-time work, add the{' '}
-            <code>@askrjs/server</code> package, define a handler, and attach an
-            access policy. The route registry can stay in place as you add
-            server code.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-examples">
-            View the example applications
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>{packageCount} packages with clear dependencies</h2>
-          <p>
-            {standaloneCount} packages beyond the runtime have no Askr peer
-            requirement. Packages that compose with the runtime declare it
-            explicitly, and <code>@askrjs/themes</code> also declares its
-            headless <code>@askrjs/ui</code> layer. The “requires”
-            column lists peer dependencies for the installed package versions.
-          </p>
-          <p>
-            Askr packages are pre-1.0, so a minor release may include breaking
-            changes. Review the ranges proposed by <code>askr upgrade</code> and
-            check peer compatibility before installing them.
-          </p>
-        </div>
-        <PackageTable label="Published Askr packages" rows={packageRows} />
-      </RuledSection>
-      <EditorialCTA
-        title="Start with the core runtime."
-        primaryHref="/docs/getting-started"
-        primaryLabel="Create an app"
-        secondaryHref="/docs"
-        secondaryLabel="Browse the documentation"
-      />
-      <MarketingPageNavigation current="/platform" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/production.tsx b/src/pages/marketing/production.tsx
deleted file mode 100644
index 927e3a2..0000000
--- a/src/pages/marketing/production.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  FlowMap,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-} from './components';
-
-export function ProductionPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Build static HTML and assets with Askr."
-        lede="Deploy the output as static files, with no Node process to run. For routes that need request-time code, configure a server build and use the Node adapter."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>One application, two deployment paths</h2>
-          <p>
-            Reuse your route registry and components, then configure either an
-            SSG build for static hosting or a server entry and Node adapter for
-            request-time rendering.
-          </p>
-        </div>
-        <FlowMap
-          label="Askr production outputs"
-          direction="fan-out"
-          hub={{
-            label: 'Your application',
-            title: 'HTML document + routes',
-            description:
-              'Provide the document and registry to the selected renderer.',
-          }}
-          nodes={[
-            {
-              label: 'Static output',
-              title: 'Documents + hashed assets',
-              description: 'No server process required.',
-            },
-            {
-              label: 'Node output',
-              title: 'Adapter + HTTP handlers',
-              description: 'The Node process handles HTTP requests.',
-            },
-          ]}
-        />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Inspect the generated HTML</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            This website is built with <code>askr ssg</code>. Its generated
-            pages are HTML files you can inspect with view-source.
-          </p>
-        </div>
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Configure health checks and telemetry for your deployment</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            The Node adapter exposes separate liveness, readiness, and startup
-            probes. Keep liveness focused on whether the process is alive and
-            readiness focused on whether it can serve traffic; combining those
-            checks can cause avoidable restart loops.
-          </p>
-          <p>
-            Askr's localization package checks typed message keys so missing
-            translations surface during development or build. The OpenTelemetry
-            integration records allowlisted span attributes, not request bodies
-            or form values. You choose the provider and exporter; Askr sends no
-            telemetry on its own.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-node">
-            View the Node adapter
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="Deploy static files or run the Node adapter."
-        primaryHref="/docs/getting-started"
-        primaryLabel="Create an app"
-        secondaryHref="/docs/guides"
-        secondaryLabel="Read the guides"
-      />
-      <MarketingPageNavigation current="/production" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/redirects.ts b/src/pages/marketing/redirects.ts
new file mode 100644
index 0000000..62eaf13
--- /dev/null
+++ b/src/pages/marketing/redirects.ts
@@ -0,0 +1,11 @@
+/** Compatibility URLs for the retired marketing pages. */
+export const legacyRedirects = {
+  '/platform': '/docs',
+  '/application-model': '/docs/core-concepts',
+  '/rendering': '/docs/rendering',
+  '/full-stack': '/docs/server',
+  '/themes': '/docs/components',
+  '/tooling': '/docs/tooling',
+  '/production': '/docs/guides/production-readiness',
+  '/contribute': '/docs/guides/contributing',
+} as const;
diff --git a/src/pages/marketing/rendering.tsx b/src/pages/marketing/rendering.tsx
deleted file mode 100644
index 2a03603..0000000
--- a/src/pages/marketing/rendering.tsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  FlowMap,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-} from './components';
-
-export function RenderingPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Reuse your route registry across rendering modes."
-        lede="Askr can render an application in the browser, on a server before hydration, or at build time. Each mode needs its own entry point and setup, while the route registry and component code can stay shared."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>One route model, three ways to render it</h2>
-        </div>
-        <FlowMap
-          label="Shared route model outputs"
-          direction="fan-out"
-          hub={{
-            label: 'Shared input',
-            title: 'Routes + components',
-            description: 'One authored application model.',
-          }}
-          nodes={[
-            {
-              label: 'Browser',
-              title: 'Single Page Application',
-              meta: 'SPA',
-            },
-            {
-              label: 'Server, then browser',
-              title: 'Server Side Rendering',
-              meta: 'SSR + hydration',
-            },
-            {
-              label: 'Build',
-              title: 'Static Site Generation',
-              meta: 'SSG',
-            },
-          ]}
-        />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Keep route definitions; configure the new entry point</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            A client-only app starts with <code>createSPA</code>. For server
-            rendering, the server creates the initial document and the browser
-            uses <code>hydrateSPA</code> to take it over. The route registry and
-            components can be shared, but you still provide the server entry,
-            document, and initial data.
-          </p>
-          <p>
-            Mark non-blocking loader data with <code>defer</code> when you want
-            it to resolve after the initial render. You decide which data can
-            wait.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-examples">
-            View the rendering examples
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="See the SPA, SSR, and SSG setup."
-        primaryHref="/docs/rendering"
-        primaryLabel="Read the rendering docs"
-        secondaryHref="/docs/getting-started"
-        secondaryLabel="Create an app"
-      />
-      <MarketingPageNavigation current="/rendering" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/themes.tsx b/src/pages/marketing/themes.tsx
deleted file mode 100644
index 5e8c905..0000000
--- a/src/pages/marketing/themes.tsx
+++ /dev/null
@@ -1,77 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-  SequenceList,
-  type SequenceItem,
-} from './components';
-
-const layers: readonly SequenceItem[] = [
-  {
-    title: 'Headless components',
-    description:
-      'Keyboard, focus, labels, and component state without built-in visual styling.',
-    meta: '@askrjs/ui',
-  },
-  {
-    title: 'Themes',
-    description:
-      'Styled components with tokens for color, typography, spacing, radius, and motion.',
-    meta: '@askrjs/themes',
-  },
-];
-
-export function ThemesPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Change the look without rewriting component behavior."
-        lede="@askrjs/ui provides keyboard, focus, and ARIA behavior. @askrjs/themes adds styles and tokens. Your team supplies clear labels and tests the finished interface for focus order, contrast, and screen-reader use."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Interaction behavior and styling are separate</h2>
-          <p>
-            <code>@askrjs/ui</code> provides interaction behavior such as focus
-            management. <code>@askrjs/themes</code> supplies styled components
-            and design tokens. You can adjust a theme without rewriting the
-            underlying primitive.
-          </p>
-        </div>
-        <SequenceList label="Headless components to themes" items={layers} />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Use the default theme or customize its tokens</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            The default theme is ready to use. Change its color, spacing,
-            radius, and motion tokens to make the interface your own. Larger
-            structural changes may still call for custom CSS or different
-            component composition.
-          </p>
-          <p>
-            Icons, brand logos, charts, and a Monaco editor wrapper are separate
-            packages you can add when needed. Test labels, focus order, and
-            contrast in the finished interface; the component layer cannot
-            verify every composition.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-themes">
-            View the theme system
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="Customize the default theme."
-        primaryHref="/docs/components"
-        primaryLabel="Read the component docs"
-        secondaryHref="/docs/getting-started"
-        secondaryLabel="Create an app"
-      />
-      <MarketingPageNavigation current="/themes" />
-    </>
-  );
-}
diff --git a/src/pages/marketing/tooling.tsx b/src/pages/marketing/tooling.tsx
deleted file mode 100644
index 9b39609..0000000
--- a/src/pages/marketing/tooling.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import {
-  EditorialCTA,
-  EditorialHero,
-  MarketingPageNavigation,
-  RepositoryLink,
-  RuledSection,
-  SequenceList,
-  type SequenceItem,
-} from './components';
-
-const starters: readonly SequenceItem[] = [
-  {
-    title: 'Startkit',
-    description: 'Components, state, and routes.',
-    meta: 'startkit',
-  },
-  {
-    title: 'Single Page Application',
-    description: 'A browser-owned application.',
-    meta: 'spa',
-  },
-  {
-    title: 'Server Side Rendering',
-    description: 'Server HTML with hydration.',
-    meta: 'ssr',
-  },
-  {
-    title: 'Full Stack',
-    description: 'Pages, actions, APIs, and Node.',
-    meta: 'full-stack',
-  },
-  {
-    title: 'Static Site Generation',
-    description: 'HTML written at build time.',
-    meta: 'ssg',
-  },
-];
-
-export function ToolingPage() {
-  return (
-    <>
-      <EditorialHero
-        title="Scaffold files you can inspect and change."
-        lede="Askr CLI generators add ordinary source files to your project. Read and edit them with the same tools you use for the rest of your code."
-      />
-      <RuledSection stacked>
-        <div class="editorial-section__heading">
-          <h2>Choose an app starter</h2>
-        </div>
-        <SequenceList label="Askr application starters" items={starters} />
-      </RuledSection>
-      <RuledSection>
-        <div class="editorial-section__heading">
-          <h2>Generate app code and check your OpenAPI contract</h2>
-        </div>
-        <div class="editorial-prose">
-          <p>
-            <code>askr add page</code> and <code>askr add action</code> create
-            source files you can review before committing. Use{' '}
-            <code>askr openapi --check</code> in CI to compare your generated
-            OpenAPI document with the committed file, then use{' '}
-            <code>askr generate</code> to create an <code>@askrjs/fetch</code>
-            client from that contract.
-          </p>
-          <p>
-            Use <code>askr update</code> for peer-compatible changes.{' '}
-            <code>askr upgrade</code> proposes newer package ranges; review them
-            before installing. A forced upgrade may require compatible updates
-            across several packages. <code>askr skills</code> adds repository
-            instructions for AI coding tools.
-          </p>
-          <RepositoryLink href="https://github.com/askrjs/askr-cli">
-            View the CLI and starters
-          </RepositoryLink>
-        </div>
-      </RuledSection>
-      <EditorialCTA
-        title="Create a project from a starter."
-        primaryHref="/docs/tooling"
-        primaryLabel="Read the tooling docs"
-        secondaryHref="/docs/getting-started"
-        secondaryLabel="Create an app"
-      />
-      <MarketingPageNavigation current="/tooling" />
-    </>
-  );
-}
diff --git a/src/pages/site-footer.tsx b/src/pages/site-footer.tsx
index ba79739..cb086e4 100644
--- a/src/pages/site-footer.tsx
+++ b/src/pages/site-footer.tsx
@@ -10,7 +10,6 @@ import {
 } from '@askrjs/themes/components';
 import { Link } from '@askrjs/askr/router';
 import { BookOpenIcon, CompassIcon } from '@askrjs/lucide';
-import { marketingPages } from './marketing/catalog';
 import { docsPrimarySections } from './docs/primary-sections';
 import { GitHubMark } from './site-header';
 
@@ -26,27 +25,17 @@ export function SiteFooter() {
                 Explore
               </span>
             </FooterTitle>
-            <FooterLinks aria-label="Marketing links">
+            <FooterLinks aria-label="Site links">
               <Link class="footer-link" data-slot="footer-link" href="/">
                 Home
               </Link>
               <Link
                 class="footer-link"
                 data-slot="footer-link"
-                href="/contribute"
+                href="/docs/guides/contributing"
               >
                 Contribute
               </Link>
-              {marketingPages.map((page) => (
-                <Link
-                  key={page.path}
-                  class="footer-link"
-                  data-slot="footer-link"
-                  href={page.path}
-                >
-                  {page.label}
-                </Link>
-              ))}
             </FooterLinks>
           </FooterSection>
 
diff --git a/src/pages/site-header.tsx b/src/pages/site-header.tsx
index fbcd032..3a1e714 100644
--- a/src/pages/site-header.tsx
+++ b/src/pages/site-header.tsx
@@ -70,6 +70,11 @@ export function SiteHeader() {
             <AskrBrand />
           </NavBrand>
           <NavGroup align="end">
+            <Button asChild variant="ghost">
+              <Link class="site-docs-link" href="/docs">
+                Docs
+              </Link>
+            </Button>
             <DocsSearch />
             <Button asChild variant="ghost" size="icon">
               <a
diff --git a/src/styles.css b/src/styles.css
index 1de7f01..026b4f3 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -1,14 +1,7 @@
 @import '@askrjs/themes/default';
 
-/* Declared here rather than via @fontsource's own stylesheet so that
-   font-display can be `optional`. The hero <h1> is the LCP element on every
-   marketing route and it renders in Domine. With `swap`, a font arriving after
-   first paint re-lays out that heading into a taller box, and a larger paint
-   box registers a *second* LCP candidate -- which on throttled mobile landed
-   at ~4.9s against a 1.8s first paint. `optional` gives the font no swap
-   period: it is used if it is ready for the first layout and otherwise sits
-   out that page load entirely, so LCP can never be reset by typography.
-   The preload injected by ssg.config.ts is what makes it ready in time. */
+/* Optional serif type for the fallback page. The landing page and docs use
+   the shared sans-serif family, with no custom font needed for first paint. */
 @font-face {
   font-family: 'Domine Variable';
   font-style: normal;
@@ -106,6 +99,8 @@ canvas {
 }
 
 .site-shell {
+  --site-content-width: 90rem;
+  --site-gutter: clamp(1.25rem, 3vw, 1.75rem);
   --ak-font-family-quote: 'Domine Variable', serif;
   --docs-color-text-secondary: color-mix(
     in oklch,
@@ -126,10 +121,92 @@ canvas {
   flex-direction: column;
 }
 
-.site-shell[data-layout='docs'] .docs-channel {
+/* All page regions share one outer container and responsive gutter. */
+.site-header > [data-slot='container'],
+.site-footer > [data-slot='container'],
+.site-shell[data-layout='marketing']
+  .site-main
+  > section
+  > [data-slot='container'],
+.site-shell[data-layout='marketing'] .site-main > [data-slot='container'],
+.site-shell .docs-channel {
+  width: min(100%, var(--site-content-width));
+  max-width: var(--site-content-width);
+  margin-inline: auto;
+  padding-inline: var(--site-gutter);
+}
+
+/* Documentation has a second navigation level below the shared site header. */
+.docs-section-nav {
+  position: sticky;
+  z-index: 30;
+  top: 3.5rem;
+  border-bottom: 1px solid var(--ak-color-border);
+  background: var(--ak-color-bg);
+}
+
+.docs-section-nav__inner {
+  display: flex;
+  width: min(100%, var(--site-content-width));
+  margin-inline: auto;
+  padding-inline: var(--site-gutter);
+  gap: 1.5rem;
+  overflow-x: auto;
+  scrollbar-width: none;
+}
+
+.docs-section-nav a {
+  display: inline-flex;
+  min-height: 3rem;
+  align-items: center;
+  flex-shrink: 0;
+  border-bottom: 2px solid transparent;
+  color: var(--docs-color-text-secondary);
+  font-size: 0.85rem;
+  font-weight: 500;
+  white-space: nowrap;
+  text-decoration: none;
+}
+
+.docs-section-nav a:hover,
+.docs-section-nav a[aria-current='true'] {
+  color: var(--ak-color-text);
+}
+
+.docs-section-nav a[aria-current='true'] {
+  border-bottom-color: var(--ak-color-text);
+}
+
+.docs-nav-group {
+  margin-bottom: 0.5rem;
+}
+
+.docs-nav-group summary {
+  padding: 0.65rem 0.75rem;
+  border-radius: 0.5rem;
+  color: var(--ak-color-text);
+  font-size: 0.85rem;
+  font-weight: 500;
+  cursor: pointer;
+}
+
+.docs-nav-group summary:hover {
+  background: var(--ak-color-surface-muted);
+}
+
+.docs-nav-group [data-slot='sidebar-menu'] {
+  padding-inline-start: 0.5rem;
+}
+
+.docs-channel {
   flex: 1;
 }
 
+.site-shell[data-layout='docs'] .site-footer {
+  margin-top: 0;
+  border-top: 1px solid var(--ak-color-border);
+}
+
 .site-header {
   z-index: 40;
   box-shadow: none;
@@ -139,7 +216,18 @@ canvas {
   min-height: 3.5rem;
 }
 
+.site-docs-link {
+  flex-shrink: 0;
+  white-space: nowrap;
+}
+
+.site-header [data-slot='nav-group-body'] {
+  min-width: 0;
+  flex-wrap: nowrap;
+}
+
 .site-header .docs-search {
+  min-width: 0;
   width: min(18rem, 38vw);
   margin: 0;
 }
@@ -961,12 +1049,8 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
   color: var(--ak-color-text);
 }
 
-.docs-channel {
-  padding-inline: 0;
-}
-
 .docs-scope {
-  --docs-header-height: 3.5rem;
+  --docs-header-height: 6.5rem;
   min-width: 0;
   min-height: calc(100vh - var(--docs-header-height));
   background: transparent;
@@ -985,8 +1069,9 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .docs-scope [data-slot='sidebar-content'] {
-  padding-block: var(--ak-space-lg);
-  padding-inline-end: var(--ak-space-lg);
+  padding: 2.5rem 0.75rem 3rem;
+  scrollbar-width: thin;
+  scrollbar-color: var(--ak-color-border) transparent;
 }
 
 .docs-scope [data-slot='sidebar-group'] + [data-slot='sidebar-group'] {
@@ -1003,17 +1088,16 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .docs-scope [data-slot='sidebar-menu'] {
-  gap: 0;
-  margin-inline-start: var(--ak-space-sm);
-  padding-inline-start: var(--ak-space-sm);
-  border-inline-start: 1px solid var(--ak-color-border);
+  gap: 0.15rem;
+  margin: 0;
+  padding: 0;
 }
 
 .docs-scope [data-slot='sidebar-menu-button'] {
   height: auto;
-  min-height: 1.7rem;
-  padding-block: 0.28rem;
-  border-radius: var(--ak-radius-sm);
+  min-height: 2rem;
+  padding: 0.4rem 0.75rem;
+  border-radius: 0.5rem;
   color: var(--ak-color-text-muted);
   font-size: var(--ak-font-size-sm);
   font-weight: var(--ak-font-weight-normal);
@@ -1026,26 +1110,16 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .docs-scope [data-slot='sidebar-menu-button']:hover {
+  background: var(--ak-color-surface-muted);
   color: var(--ak-color-text);
 }
 
 .docs-scope [data-slot='sidebar-menu-button'][data-active='true'] {
-  position: relative;
-  background: transparent;
-  color: var(--ak-color-primary);
+  background: var(--ak-color-surface-muted);
+  color: var(--ak-color-text);
   font-weight: var(--ak-font-weight-semibold);
 }
 
-.docs-scope [data-slot='sidebar-menu-button'][data-active='true']::before {
-  position: absolute;
-  content: '';
-  inset-block: 0.15rem;
-  inset-inline-start: calc(var(--ak-space-sm) * -1 - 1px);
-  width: 2px;
-  border-radius: 1px;
-  background: var(--ak-color-primary);
-}
-
 .docs-mobile-bar {
   display: none;
   align-items: center;
@@ -1099,10 +1173,10 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .docs-content {
-  width: min(calc(100% - 4rem), 52rem);
+  width: min(calc(100% - 4rem), 46rem);
   min-width: 0;
   margin: 0 auto;
-  padding: clamp(3.5rem, 7vw, 6rem) 0 6rem;
+  padding: 2.5rem 0 5rem;
 }
 
 .docs-article {
@@ -1111,44 +1185,43 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 
 .docs-article__header {
   min-width: 0;
-  padding-bottom: 3rem;
-  border-bottom: 1px solid var(--ak-color-border);
+  padding-bottom: 0.5rem;
 }
 
 .docs-article h1 {
   margin: 0;
-  font-family: var(--ak-font-family-quote);
-  font-size: clamp(2.65rem, 7vw, 4.5rem);
-  font-weight: var(--ak-font-weight-regular);
-  letter-spacing: -0.055em;
-  line-height: 1;
+  font-family: var(--ak-font-family-body);
+  font-size: clamp(1.9rem, 3vw, 2.35rem);
+  font-weight: 650;
+  letter-spacing: -0.035em;
+  line-height: 1.2;
   overflow-wrap: anywhere;
 }
 
 .docs-article__header > p:last-child {
   max-width: 42rem;
-  margin: 1.4rem 0 0;
+  margin: 1.1rem 0 0;
   color: var(--ak-color-text-muted);
-  font-size: 1.12rem;
+  font-size: 1.05rem;
   line-height: 1.75;
 }
 
 .docs-article section {
-  margin-top: 3.5rem;
+  margin-top: 2.5rem;
 }
 
 .docs-article h2 {
   margin: 0 0 1rem;
-  font-family: var(--ak-font-family-quote);
-  font-size: 1.65rem;
-  font-weight: var(--ak-font-weight-regular);
-  letter-spacing: -0.03em;
+  font-family: var(--ak-font-family-body);
+  font-size: 1.4rem;
+  font-weight: 600;
+  letter-spacing: -0.025em;
 }
 
 .docs-article section > p {
-  max-width: 44rem;
+  max-width: 46rem;
   margin: 0;
-  color: var(--ak-color-text-muted);
+  color: var(--docs-color-text-secondary);
   line-height: 1.8;
 }
 
@@ -1451,25 +1524,23 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 
 .docs-toc {
   position: sticky;
-  top: 0;
+  top: var(--docs-header-height);
   box-sizing: border-box;
-  height: 100vh;
-  padding: 4.75rem 1.5rem 2rem 0;
+  max-height: calc(100vh - var(--docs-header-height));
+  padding: 2.5rem 1.5rem 2rem 0;
   overflow-y: auto;
 }
 
 .docs-toc > p {
-  margin: 0 0 0.7rem;
+  margin: 0 0 1rem;
   color: var(--ak-color-text);
-  font-size: 0.72rem;
-  font-weight: 700;
-  letter-spacing: 0.08em;
-  text-transform: uppercase;
+  font-size: 0.85rem;
+  font-weight: 600;
 }
 
 .docs-toc ul {
   display: grid;
-  gap: 0.55rem;
+  gap: 0.8rem;
   margin: 0;
   padding: 0;
   list-style: none;
@@ -1477,7 +1548,7 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 
 .docs-toc a {
   color: var(--docs-color-text-secondary);
-  font-size: 0.76rem;
+  font-size: 0.82rem;
   line-height: 1.35;
   text-decoration: none;
 }
@@ -1490,7 +1561,7 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
   display: flex;
   flex-wrap: wrap;
   gap: 0.45rem;
-  margin-bottom: 1.8rem;
+  margin-bottom: 1.25rem;
   color: var(--docs-color-text-secondary);
   font-size: 0.76rem;
   overflow-wrap: anywhere;
@@ -1503,12 +1574,10 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 .docs-eyebrow {
   display: flex;
   gap: 0.5rem;
-  margin-bottom: 0.9rem;
-  color: var(--docs-color-text-secondary);
-  font-size: 0.7rem;
-  font-weight: 700;
-  letter-spacing: 0.08em;
-  text-transform: uppercase;
+  margin-bottom: 0.65rem;
+  color: var(--ak-color-text);
+  font-size: 0.85rem;
+  font-weight: 600;
 }
 
 .docs-eyebrow [data-status] {
@@ -1516,7 +1585,7 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .anchored-heading {
-  scroll-margin-top: 1.5rem;
+  scroll-margin-top: 8rem;
 }
 
 .anchored-heading a {
@@ -1533,12 +1602,18 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 .docs-callout {
   margin: 1.5rem 0;
   padding: 1rem 1.1rem;
-  border-left: 3px solid var(--ak-color-primary);
-  background: var(--ak-color-primary-soft);
+  border: 1px solid var(--ak-color-border);
+  border-radius: 0.65rem;
+  background: var(--ak-color-surface);
+}
+
+.docs-callout[data-tone='authority'] {
+  margin-top: 3rem;
+  font-size: 0.85rem;
 }
 
 .docs-callout[data-tone='warning'] {
-  border-left-color: #c87916;
+  border-inline-start: 3px solid #c87916;
 }
 
 .docs-callout strong {
@@ -1601,6 +1676,9 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .docs-pagination a {
+  padding: 1rem;
+  border: 1px solid var(--ak-color-border);
+  border-radius: 0.65rem;
   display: flex;
   min-width: 0;
   align-items: center;
@@ -1657,7 +1735,7 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 }
 
 .api-symbol {
-  scroll-margin-top: 1rem;
+  scroll-margin-top: 8rem;
   min-width: 0;
   padding: 0.9rem;
   border: 1px solid var(--ak-color-border);
@@ -1680,6 +1758,21 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
   overflow-wrap: anywhere;
 }
 
+.api-symbol h3 code {
+  padding: 0;
+  border: 0;
+  background: transparent;
+  font-size: 0.9rem;
+}
+
+.api-symbol__summary,
+.api-symbol__remarks {
+  margin: 0.85rem 0 0;
+  color: var(--docs-color-text-secondary);
+  font-size: 0.9rem;
+  line-height: 1.75;
+}
+
 .api-symbol h3 span {
   padding: 0.12rem 0.35rem;
   border-radius: 0.25rem;
@@ -1692,10 +1785,20 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
 .api-symbol pre {
   margin: 0.75rem 0 0;
   max-width: 100%;
+  padding: 0.85rem;
   overflow-x: auto;
-  color: var(--docs-color-text-secondary);
-  font-size: 0.72rem;
-  line-height: 1.55;
+  border-radius: 0.4rem;
+  background: var(--ak-color-surface-muted);
+  color: var(--ak-color-text);
+  font-size: 0.8rem;
+  line-height: 1.65;
+}
+
+.api-symbol pre code {
+  padding: 0;
+  border: 0;
+  background: transparent;
+  font-size: inherit;
 }
 
 .component-demo {
@@ -1834,14 +1937,10 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
     max-height: calc(100dvh - 5rem);
   }
 
-  .docs-channel {
-    padding-inline: 0;
-  }
-
   .docs-scope [data-slot='sidebar-container'],
   .docs-scope [data-slot='sidebar'] {
-    top: 3.5rem;
-    height: calc(100vh - 3.5rem);
+    top: var(--docs-header-height);
+    height: calc(100vh - var(--docs-header-height));
   }
 
   .docs-desktop-sidebar {
@@ -1849,16 +1948,17 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
   }
 
   .docs-mobile-bar {
+    padding-inline: 0;
     display: flex;
   }
 
   .docs-content {
-    width: min(calc(100% - 2rem), 52rem);
-    padding: 2.5rem 0 4rem;
+    width: min(100%, 46rem);
+    padding: 1.5rem 0 4rem;
   }
 
   .docs-article h1 {
-    font-size: clamp(2.25rem, 11vw, 3.4rem);
+    font-size: clamp(1.75rem, 7vw, 2.1rem);
   }
 
   .docs-pagination {
@@ -1902,3 +2002,206 @@ html[data-theme='dark'] .github-mark img.github-mark__dark {
     width: 100%;
   }
 }
+
+/* One concise landing page leads directly into the documentation. */
+.landing-hero {
+  padding-block: clamp(3rem, 6vw, 5rem);
+}
+
+.landing-hero .landing-hero__inner {
+  display: grid;
+  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
+  align-items: center;
+  gap: clamp(2rem, 5vw, 5rem);
+}
+
+.landing-hero__copy {
+  min-width: 0;
+}
+
+.landing-eyebrow {
+  margin: 0 0 1.5rem;
+  color: var(--docs-color-text-secondary);
+  font-size: 0.85rem;
+  font-weight: 500;
+}
+
+.landing-hero h1 {
+  margin: 0;
+  font-family: var(--ak-font-family-body);
+  font-size: clamp(2.5rem, 4vw, 3.8rem);
+  font-weight: 650;
+  line-height: 1.1;
+  letter-spacing: -0.045em;
+}
+
+.landing-hero__lede {
+  max-width: 32rem;
+  margin: 1.5rem 0 0;
+  color: var(--docs-color-text-secondary);
+  font-size: 1.1rem;
+  line-height: 1.75;
+}
+
+.landing-install {
+  min-width: 0;
+  margin-top: 2.5rem;
+}
+
+.landing-install > span {
+  font-size: 0.8rem;
+  font-weight: 500;
+}
+
+.landing-install pre {
+  max-width: 100%;
+  margin: 0.65rem 0 0;
+  padding: 0.9rem 1rem;
+  overflow-x: auto;
+  border: 1px solid var(--ak-color-border);
+  border-radius: 0.5rem;
+  background: var(--ak-color-surface);
+  font-size: 0.8rem;
+}
+
+.landing-install code,
+.landing-example code {
+  padding: 0;
+  border: 0;
+  background: transparent;
+  font-family: var(--ak-font-family-mono);
+  font-size: inherit;
+}
+
+.landing-hero__note {
+  margin: 1rem 0 0;
+  color: var(--docs-color-text-secondary);
+  font-size: 0.8rem;
+}
+
+.landing-example {
+  min-width: 0;
+  width: 100%;
+  overflow: hidden;
+  border: 1px solid var(--ak-color-border);
+  border-radius: 0.8rem;
+  background: var(--ak-color-surface);
+}
+
+.landing-example__header {
+  display: flex;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  gap: 0.5rem;
+  padding: 1rem 1.25rem;
+  border-bottom: 1px solid var(--ak-color-border);
+  color: var(--docs-color-text-secondary);
+  font-size: 0.8rem;
+}
+
+.landing-example pre {
+  margin: 0;
+  padding: 1.5rem 1.25rem;
+  overflow-x: auto;
+  font-size: 0.8rem;
+  line-height: 1.85;
+}
+
+.landing-example > p {
+  margin: 0;
+  padding: 1rem 1.25rem;
+  border-top: 1px solid var(--ak-color-border);
+  color: var(--docs-color-text-secondary);
+  font-size: 0.8rem;
+  line-height: 1.6;
+}
+
+.landing-paths {
+  padding-block: 0 3rem;
+}
+
+.landing-paths__heading {
+  padding-top: 2.5rem;
+  border-top: 1px solid var(--ak-color-border);
+}
+
+.landing-paths h2 {
+  margin: 0;
+  font-size: 1.5rem;
+  font-weight: 600;
+  letter-spacing: -0.025em;
+}
+
+.landing-paths__heading > p {
+  margin: 0.75rem 0 0;
+  color: var(--docs-color-text-secondary);
+  line-height: 1.7;
+}
+
+.landing-paths__grid {
+  display: grid;
+  grid-template-columns: repeat(4, minmax(0, 1fr));
+  gap: 1rem;
+  margin-top: 1.5rem;
+}
+
+.landing-path {
+  display: block;
+  min-width: 0;
+  padding: 1.25rem;
+  border: 1px solid var(--ak-color-border);
+  border-radius: 0.65rem;
+  color: var(--ak-color-text);
+  text-decoration: none;
+}
+
+.landing-path:hover {
+  background: var(--ak-color-surface);
+  border-color: var(--ak-color-text-muted);
+}
+
+.landing-path h3 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  gap: 0.75rem;
+  margin: 0;
+  font-size: 0.95rem;
+  font-weight: 600;
+}
+
+.landing-path p,
+.landing-proof {
+  margin: 0.75rem 0 0;
+  color: var(--docs-color-text-secondary);
+  font-size: 0.85rem;
+  line-height: 1.75;
+}
+
+.landing-proof {
+  margin-top: 2rem;
+}
+
+.legacy-forward {
+  width: min(100%, var(--site-content-width));
+  margin-inline: auto;
+  padding: 3rem var(--site-gutter);
+  font-family: var(--ak-font-family-body);
+}
+
+@media (max-width: 64rem) {
+  .landing-hero .landing-hero__inner {
+    grid-template-columns: minmax(0, 1fr);
+    align-items: start;
+  }
+
+  .landing-paths__grid {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+}
+
+@media (max-width: 36rem) {
+  .landing-paths__grid {
+    grid-template-columns: minmax(0, 1fr);
+  }
+}
diff --git a/ssg.config.ts b/ssg.config.ts
index bcf15a1..e16bc7d 100644
--- a/ssg.config.ts
+++ b/ssg.config.ts
@@ -1,38 +1,15 @@
-import { readdirSync, readFileSync } from 'node:fs';
+import { readFileSync } from 'node:fs';
 import { resolve } from 'node:path';
 import { serializeRouteMeta } from '@askrjs/askr/router';
 import type { DocumentRenderArgs } from '@askrjs/askr/ssg';
 import { withThemeStyles } from '@askrjs/themes/ssr';
 import { routeMetadata, routeRegistry } from './src/pages/_routes';
+import { legacyRedirects } from './src/pages/marketing/redirects';
 
 export const registry = routeRegistry;
 export const outputDir = 'dist';
 
 let clientTemplate: string | undefined;
-let headExtras: string | undefined;
-
-/**
- * The hero <h1> is the LCP element on every marketing route and it renders in
- * Domine. The font is only discoverable after the render-blocking stylesheet
- * parses, so without a preload it is requested roughly a second late, swaps in
- * after first paint, and resizes the heading -- which registers a second,
- * larger LCP candidate. Preloading the latin subset (the only one English
- * content pulls) starts the request alongside the stylesheet instead.
- */
-function buildHeadExtras(): string {
-  const assetDir = resolve(process.cwd(), '.askr/client/assets');
-  const font = readdirSync(assetDir).find(
-    (name) =>
-      name.startsWith('domine-latin-wght-normal-') && name.endsWith('.woff2')
-  );
-  if (!font) {
-    throw new Error(
-      `Could not find the Domine latin woff2 in ${assetDir} to preload.`
-    );
-  }
-  return `<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/${font}" />`;
-}
-
 function renderDocument({ appHtml, context }: DocumentRenderArgs) {
   clientTemplate ??= readFileSync(
     resolve(process.cwd(), '.askr/client/index.html'),
@@ -43,11 +20,17 @@ function renderDocument({ appHtml, context }: DocumentRenderArgs) {
   if (!metadata) {
     throw new Error(`Missing metadata for route: ${context.route.path}`);
   }
-  headExtras ??= buildHeadExtras();
 
+  const redirect =
+    legacyRedirects[context.route.path as keyof typeof legacyRedirects];
+  // GitHub Pages serves static files: refresh + canonical provide a fallback
+  // without claiming an HTTP 301/308 response from the host.
+  const refresh = redirect
+    ? `<script>window.location.replace(${JSON.stringify(redirect)} + window.location.search + window.location.hash);</script><noscript><meta http-equiv="refresh" content="0;url=${redirect}"></noscript>`
+    : '';
   const document = clientTemplate
     .replace(/<title(?:\s[^>]*)?>.*?<\/title>/, serializeRouteMeta(metadata))
-    .replace('</head>', `${headExtras}</head>`);
+    .replace('</head>', `${refresh}</head>`);
 
   return document.replace(
     '<div id="app"></div>',
@@ -67,6 +50,11 @@ export const staticConfig = {
   siteUrl: 'https://askrjs.com',
   sitemap: {
     // 404 is a fallback document, not a crawlable page.
-    routes: { '/404': false },
+    routes: {
+      '/404': false,
+      ...Object.fromEntries(
+        Object.keys(legacyRedirects).map((path) => [path, false])
+      ),
+    },
   },
 };
diff --git a/tests/browser/docs-navigation.spec.ts b/tests/browser/docs-navigation.spec.ts
new file mode 100644
index 0000000..6dfc6f5
--- /dev/null
+++ b/tests/browser/docs-navigation.spec.ts
@@ -0,0 +1,154 @@
+import { expect, test } from '@playwright/test';
+
+test('docs sections scope the sidebar and preserve deep-link context', async ({
+  page,
+}) => {
+  await page.goto('/docs/getting-started');
+  const sections = page.getByRole('navigation', {
+    name: 'Documentation sections',
+    exact: true,
+  });
+  const sidebar = page.getByRole('navigation', {
+    name: 'Documentation navigation',
+    exact: true,
+  });
+  await expect(
+    sections.getByRole('link', { name: 'Getting Started', exact: true })
+  ).toHaveAttribute('aria-current', 'true');
+  await expect(
+    sidebar.getByRole('link', { name: 'Installation', exact: true })
+  ).toBeVisible();
+  await expect(
+    sidebar.getByRole('link', { name: 'Core Concepts', exact: true })
+  ).toHaveCount(0);
+
+  await sections
+    .getByRole('link', { name: 'UI & Components', exact: true })
+    .click();
+  await expect(page).toHaveURL(/\/docs\/components$/);
+  await expect(
+    sidebar.getByRole('link', { name: 'Installation', exact: true })
+  ).toHaveCount(0);
+  await sidebar
+    .locator('summary')
+    .filter({ hasText: /^Overlays$/ })
+    .click();
+  await sidebar.getByRole('link', { name: 'Dialog', exact: true }).click();
+  await expect(page).toHaveURL(/\/docs\/components\/dialog$/);
+  await page.reload();
+  await expect(
+    sections.getByRole('link', { name: 'UI & Components', exact: true })
+  ).toHaveAttribute('aria-current', 'true');
+  await expect(
+    sidebar.getByRole('link', { name: 'Dialog', exact: true })
+  ).toBeVisible();
+  await expect(
+    sidebar.getByRole('link', { name: 'Dialog', exact: true })
+  ).toHaveAttribute('aria-current', 'page');
+});
+
+test('marketing and docs share the header and outer content width', async ({
+  page,
+}) => {
+  await page.setViewportSize({ width: 1600, height: 1000 });
+  await page.goto('/');
+  const header = page.locator('.site-header');
+  await expect(
+    header.getByRole('button', { name: 'Search docs', exact: true })
+  ).toBeVisible();
+  const text = await header.innerText();
+  const width = await header
+    .locator('[data-slot="container"]')
+    .evaluate((element) => element.getBoundingClientRect().width);
+  const alignment = await header
+    .locator('[data-slot="container"]')
+    .evaluate((element) => ({
+      left: element.getBoundingClientRect().left,
+      width: element.getBoundingClientRect().width,
+      padding: getComputedStyle(element).paddingInline,
+    }));
+  const marketing = await page
+    .locator('.hero__content')
+    .evaluate((element) => ({
+      left: element.getBoundingClientRect().left,
+      width: element.getBoundingClientRect().width,
+      padding: getComputedStyle(element).paddingInline,
+    }));
+  expect(marketing).toEqual(alignment);
+  await page.goto('/docs/getting-started');
+  await expect(header).toHaveText(text, { useInnerText: true });
+  for (const selector of ['.docs-section-nav__inner', '.docs-channel']) {
+    const docs = await page.locator(selector).evaluate((element) => ({
+      left: element.getBoundingClientRect().left,
+      width: element.getBoundingClientRect().width,
+      padding: getComputedStyle(element).paddingInline,
+    }));
+    expect(docs).toEqual(alignment);
+  }
+  await expect(header.locator('[data-slot="container"]')).toHaveJSProperty(
+    'clientWidth',
+    width
+  );
+});
+
+test('mobile docs use the current section in the navigation sheet', async ({
+  page,
+}) => {
+  await page.setViewportSize({ width: 390, height: 844 });
+  await page.goto('/docs/getting-started/first-application');
+  const sections = page.getByRole('navigation', {
+    name: 'Documentation sections',
+    exact: true,
+  });
+  await expect(
+    sections.getByRole('link', { name: 'Getting Started', exact: true })
+  ).toHaveAttribute('aria-current', 'true');
+  await page
+    .getByRole('button', { name: 'Open documentation navigation' })
+    .click();
+  const dialog = page.getByRole('dialog');
+  await expect(
+    dialog.getByRole('link', { name: 'First Application', exact: true })
+  ).toHaveAttribute('aria-current', 'page');
+  await expect(
+    dialog.getByRole('link', { name: 'Core Concepts', exact: true })
+  ).toHaveCount(0);
+  await dialog.getByRole('link', { name: 'Installation', exact: true }).click();
+  await expect(page).toHaveURL(/\/docs\/getting-started\/installation$/);
+  await expect(dialog).not.toBeVisible();
+  await sections.getByRole('link', { name: 'Reference', exact: true }).click();
+  await expect(page).toHaveURL(/\/docs\/reference$/);
+  expect(
+    await page.evaluate(
+      () => document.documentElement.scrollWidth <= innerWidth
+    )
+  ).toBe(true);
+});
+
+test('docs prose renders inline code and the props outline reaches its section', async ({
+  page,
+}) => {
+  await page.goto('/docs/getting-started');
+  await expect(
+    page.locator('section[aria-labelledby="the-shortest-path"] code').first()
+  ).toHaveText('npx @askrjs/cli@latest create startkit my-app');
+  await expect(
+    page
+      .locator('.docs-article')
+      .getByRole('link', { name: 'First Application', exact: true })
+  ).toHaveAttribute('href', '/docs/getting-started/first-application');
+  await page.goto('/docs/components/dialog');
+  await page
+    .getByRole('complementary', { name: 'On this page' })
+    .getByRole('link', { name: 'Published props', exact: true })
+    .click();
+  const heading = page.locator('#published-props');
+  await expect(heading).toBeInViewport();
+  const top = await heading.evaluate(
+    (element) => element.getBoundingClientRect().top
+  );
+  const navBottom = await page
+    .locator('.docs-section-nav')
+    .evaluate((element) => element.getBoundingClientRect().bottom);
+  expect(top).toBeGreaterThanOrEqual(navBottom);
+});
diff --git a/tests/browser/landing.spec.ts b/tests/browser/landing.spec.ts
new file mode 100644
index 0000000..a452750
--- /dev/null
+++ b/tests/browser/landing.spec.ts
@@ -0,0 +1,32 @@
+import { expect, test } from '@playwright/test';
+import { legacyRedirects } from '../../src/pages/marketing/redirects';
+
+test('the landing page leads straight into docs', async ({ page }) => {
+  await page.goto('/');
+  await page
+    .getByRole('link', { name: 'Get started', exact: true })
+    .first()
+    .click();
+  await expect(page).toHaveURL(/\/docs\/getting-started$/);
+  await expect(
+    page.getByRole('navigation', {
+      name: 'Documentation sections',
+      exact: true,
+    })
+  ).toBeVisible();
+});
+
+for (const [path, destination] of Object.entries(legacyRedirects)) {
+  test(`${path} forwards to ${destination} and preserves the URL suffix`, async ({
+    page,
+  }) => {
+    await page.goto(`${path}?source=legacy#details`);
+    await expect(page).toHaveURL(
+      new RegExp(`${destination}\\?source=legacy#details$`)
+    );
+    await expect(page.locator('.site-shell')).toHaveAttribute(
+      'data-layout',
+      'docs'
+    );
+  });
+}
diff --git a/tests/browser/marketing-layout.spec.ts b/tests/browser/marketing-layout.spec.ts
index 521aee9..5d7b342 100644
--- a/tests/browser/marketing-layout.spec.ts
+++ b/tests/browser/marketing-layout.spec.ts
@@ -3,9 +3,6 @@ import type { Locator, Page } from '@playwright/test';
 import { marketingRouteMetadata } from '../../src/pages/marketing/_routes';
 
 const routes = Object.keys(marketingRouteMetadata);
-const editorialRoutes = routes.filter(
-  (route) => route !== '/' && route !== '/404'
-);
 const viewports = [
   { name: 'mobile', width: 390, height: 844 },
   { name: 'desktop', width: 1440, height: 1000 },
@@ -98,26 +95,25 @@ test.describe('marketing page layout', () => {
           expect(footerColumnCount).toBe(viewport.name === 'mobile' ? 1 : 3);
 
           if (route === '/') {
-            const differentiation = await requiredLocator(
-              page,
-              '.differentiation__inner'
+            await expect(page.getByRole('heading', { level: 1 })).toHaveText(
+              'TypeScript apps.Explicit by design.'
+            );
+            const bodyColumnCount = await gridColumnCount(
+              await requiredLocator(page, '.landing-hero__inner')
             );
-            await expectVerticalChildren(differentiation);
-
-            const body = await requiredLocator(page, '.differentiation__body');
-            const bodyColumnCount = await gridColumnCount(body);
             expect(bodyColumnCount).toBe(viewport.name === 'mobile' ? 1 : 2);
-          } else if (route === '/404') {
-            await expectVerticalChildren(
-              await requiredLocator(page, '.not-found__inner')
+            const pathsColumnCount = await gridColumnCount(
+              await requiredLocator(page, '.landing-paths__grid')
             );
+            expect(pathsColumnCount).toBe(viewport.name === 'mobile' ? 1 : 4);
+            const links = page.locator('.landing-paths__grid a');
+            await expect(links).toHaveCount(4);
+            for (const link of await links.all()) {
+              expect(await link.getAttribute('href')).toMatch(/^\/docs/);
+            }
           } else {
-            expect(editorialRoutes).toContain(route);
             await expectVerticalChildren(
-              await requiredLocator(
-                page,
-                '.editorial-hero > [data-slot="container"]'
-              )
+              await requiredLocator(page, '.not-found__inner')
             );
           }
         });
diff --git a/tests/docs-catalog.test.ts b/tests/docs-catalog.test.ts
index fa10ad9..ea6cbab 100644
--- a/tests/docs-catalog.test.ts
+++ b/tests/docs-catalog.test.ts
@@ -14,7 +14,10 @@ import { componentGuideRoute } from '../src/pages/docs/component-coverage';
 import { cliSnapshot } from '../src/pages/docs/cli-snapshot';
 import { lucideIcons } from '../src/pages/docs/lucide-icons';
 import { searchDocs } from '../src/pages/docs/search-index';
-import { buildUsageGuide } from '../src/pages/docs/usage-guide';
+import {
+  buildUsageGuide,
+  routeExampleFor,
+} from '../src/pages/docs/usage-guide';
 import { upgradeGuidance } from '../src/pages/docs/release-notes';
 import { headingOverrides } from '../src/pages/docs/heading-bodies';
 import { routeRegistry } from '../src/pages/_routes';
@@ -243,10 +246,19 @@ describe('documentation catalog', () => {
       } else if (page.route === '/docs/integrations/lucide-gallery') {
         expect(toc, page.route).toEqual(page.headings);
       } else {
-        expect(toc[0]?.id, page.route).toBe('how-to-use');
-        expect(toc.slice(1, 1 + page.headings.length), page.route).toEqual(
-          page.headings
-        );
+        const prefix = [
+          ...(buildUsageGuide(page, routeExampleFor(page.route))
+            ? [{ id: 'how-to-use', title: 'Example' }]
+            : []),
+          ...(componentPropReferences(page).length
+            ? [{ id: 'published-props', title: 'Published props' }]
+            : []),
+        ];
+        expect(toc.slice(0, prefix.length), page.route).toEqual(prefix);
+        expect(
+          toc.slice(prefix.length, prefix.length + page.headings.length),
+          page.route
+        ).toEqual(page.headings);
       }
     }
   });
@@ -321,7 +333,6 @@ describe('documentation catalog', () => {
       'docs/_layout.tsx',
       'docs/api-page.tsx',
       'docs/page.tsx',
-      'marketing/components.tsx',
       'marketing/home.tsx',
     ];
     for (const file of staticCollectionFiles) {
@@ -334,34 +345,6 @@ describe('documentation catalog', () => {
     }
   });
 
-  it('should keep audited marketing claims within shipped boundaries', () => {
-    const source = [
-      'home.tsx',
-      'platform.tsx',
-      'full-stack.tsx',
-      'themes.tsx',
-      'production.tsx',
-    ]
-      .map((file) =>
-        readFileSync(
-          new URL(`../src/pages/marketing/${file}`, import.meta.url),
-          'utf8'
-        )
-      )
-      .join('\n');
-
-    expect(source).not.toContain('Only <code>@askrjs/askr</code>');
-    expect(source).not.toContain('register on the same router');
-    expect(source).not.toContain('none of that has to be re-verified');
-    expect(source).not.toContain('Two outputs, one build');
-    expect(source).toContain('one explicit registry');
-    expect(source).toContain('own entry point and build setup.');
-    expect(source).toContain(
-      "This site is built with Askr's static-site generator"
-    );
-    expect(source).toContain('Askr does not include a user database');
-  });
-
   it('should keep the live shared layout mobile-safe', () => {
     const styles = readFileSync(
       new URL('../src/styles.css', import.meta.url),
diff --git a/tests/docs-prose.test.tsx b/tests/docs-prose.test.tsx
new file mode 100644
index 0000000..e5101bb
--- /dev/null
+++ b/tests/docs-prose.test.tsx
@@ -0,0 +1,31 @@
+import { renderToStringSync } from '@askrjs/askr/ssr';
+import { describe, expect, it } from 'vitest';
+import { InlineProse } from '../src/pages/docs/prose';
+
+describe('authored documentation prose', () => {
+  it('renders code, emphasis, and useful links in reading order', () => {
+    const html = renderToStringSync(() => (
+      <InlineProse text="Use `state()` for **local state**. Read [the guide](/docs/core-concepts) or [email us](mailto:contribute@askrjs.com)." />
+    ));
+    expect(html).toContain('<code>state()</code>');
+    expect(html).toContain('<strong>local state</strong>');
+    expect(html).toContain('href="/docs/core-concepts"');
+    expect(html).toContain('href="mailto:contribute@askrjs.com"');
+    expect(html.indexOf('<code>')).toBeLessThan(html.indexOf('<strong>'));
+  });
+
+  it('escapes HTML and leaves unsafe link schemes as text', () => {
+    const html = renderToStringSync(() => (
+      <InlineProse
+        text={
+          '<script>alert(1)</script> [unsafe](javascript:alert) [external](//example.com) `<img src=x>`'
+        }
+      />
+    ));
+    expect(html).not.toContain('<script>');
+    expect(html).not.toContain('<img');
+    expect(html).not.toContain('href=');
+    expect(html).toContain('<script>');
+    expect(html).toContain('<code><img src=x></code>');
+  });
+});
diff --git a/tests/generated-output-contract.test.ts b/tests/generated-output-contract.test.ts
index 031176b..7c47483 100644
--- a/tests/generated-output-contract.test.ts
+++ b/tests/generated-output-contract.test.ts
@@ -7,7 +7,8 @@ import {
   renderDocsPageMarkdown,
   renderLlmsFull,
 } from '../src/pages/docs/markdown';
-import { marketingRouteMetadata } from '../src/pages/marketing/_routes';
+import { routeMetadata } from '../src/pages/_routes';
+import { legacyRedirects } from '../src/pages/marketing/redirects';
 
 interface StaticMetadata {
   readonly totalRoutes: number;
@@ -74,12 +75,34 @@ describe('generated output', () => {
     }
   });
 
+  it('should keep retired URLs as static forwarding pages and out of the sitemap', () => {
+    const sitemap = readFileSync(resolve(dist, 'sitemap.xml'), 'utf8');
+    for (const [path, destination] of Object.entries(legacyRedirects)) {
+      expect(
+        docsCatalog.some((page) => page.route === destination),
+        destination
+      ).toBe(true);
+      const html = readFileSync(
+        resolve(dist, path.slice(1), 'index.html'),
+        'utf8'
+      );
+      expect(html).toContain(
+        `<meta http-equiv="refresh" content="0;url=${destination}">`
+      );
+      expect(html).toContain(
+        `rel="canonical" href="https://askrjs.com${destination}"`
+      );
+      expect(html).toContain(`href="${destination}"`);
+      expect(sitemap).not.toContain(`<loc>https://askrjs.com${path}</loc>`);
+      expect(sitemap).not.toContain(`<loc>https://askrjs.com${path}/</loc>`);
+    }
+  });
+
   it('should contain every route and the manual GA4 page-view configuration', () => {
     const metadata = JSON.parse(
       readFileSync(resolve(dist, 'metadata.json'), 'utf8')
     ) as StaticMetadata;
-    const expectedRoutes =
-      docsCatalog.length + Object.keys(marketingRouteMetadata).length;
+    const expectedRoutes = Object.keys(routeMetadata).length;
 
     expect(metadata.totalRoutes).toBe(expectedRoutes);
     expect(metadata.successful).toBe(expectedRoutes);
diff --git a/tests/package-snapshot-contract.test.ts b/tests/package-snapshot-contract.test.ts
index ae77642..ebbbd0b 100644
--- a/tests/package-snapshot-contract.test.ts
+++ b/tests/package-snapshot-contract.test.ts
@@ -6,6 +6,7 @@ import { beforeAll, describe, expect, it } from 'vitest';
 import { apiManifest } from '../src/pages/docs/api-manifest';
 import { apiSymbolSets } from '../src/pages/docs/api-snapshot';
 import { cliSnapshot } from '../src/pages/docs/cli-snapshot';
+import { componentPropNames } from '../src/pages/docs/prop-index';
 import { packagePeers } from '../src/pages/docs/package-peers';
 
 interface PackageLock {
@@ -422,9 +423,29 @@ function recordedContract(): MutableContract {
   ) as MutableContract;
 }
 
+function propIndex(contract: MutableContract): Record<string, string[]> {
+  return Object.fromEntries(
+    contract.apiManifest.flatMap((entrypoint) => {
+      const names = (contract.apiSymbolSets[entrypoint.symbolSet] ?? [])
+        .filter(
+          (symbol) => symbol.name.endsWith('Props') && symbol.members?.length
+        )
+        .map((symbol) => symbol.name);
+      return names.length ? [[entrypoint.importName, names]] : [];
+    })
+  );
+}
+
 function writeRecordedContract(contract: MutableContract): void {
   const root = process.cwd();
   const outputs = [
+    {
+      path: resolve(root, 'src/pages/docs/prop-index.ts'),
+      source:
+        '// Generated component prop names. Do not edit.\n' +
+        'export const componentPropNames: Readonly<Record<string, readonly string[]>> = ' +
+        `${JSON.stringify(propIndex(contract), null, 2)};\n`,
+    },
     {
       path: resolve(root, 'src/pages/docs/api-manifest.ts'),
       source:
@@ -554,6 +575,11 @@ describe('installed package snapshot contract', () => {
     if (updatePackageSnapshot) writeRecordedContract(installed);
   }, 30_000);
 
+  it('should keep the lightweight prop index aligned with published declarations', () => {
+    if (updatePackageSnapshot) return;
+    expect(componentPropNames).toEqual(propIndex(installed));
+  });
+
   it('should match entrypoints, versions, exported signatures, peers, and CLI help', () => {
     if (updatePackageSnapshot) return;
     expect(snapshotContractErrors(installed, recordedContract())).toEqual([]);