@farthershore/farthershore-js 0.8.7 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/README.md +125 -159
  3. package/dist/bootstrap.d.ts.map +1 -1
  4. package/dist/bootstrap.js +2 -2
  5. package/dist/bootstrap.js.map +1 -1
  6. package/dist/components/chrome.d.ts.map +1 -1
  7. package/dist/components/chrome.js +1 -1
  8. package/dist/components/chrome.js.map +1 -1
  9. package/dist/components/docs-chrome/language-context.d.ts +4 -0
  10. package/dist/components/docs-chrome/language-context.d.ts.map +1 -1
  11. package/dist/components/docs-chrome/language-context.js +9 -1
  12. package/dist/components/docs-chrome/language-context.js.map +1 -1
  13. package/dist/components/docs-chrome/language.d.ts +18 -4
  14. package/dist/components/docs-chrome/language.d.ts.map +1 -1
  15. package/dist/components/docs-chrome/language.js +34 -11
  16. package/dist/components/docs-chrome/language.js.map +1 -1
  17. package/dist/components/docs.css +11 -4
  18. package/dist/components/index.d.ts +2 -2
  19. package/dist/components/index.d.ts.map +1 -1
  20. package/dist/components/index.js +2 -1
  21. package/dist/components/index.js.map +1 -1
  22. package/dist/components/monogram.d.ts +0 -1
  23. package/dist/components/monogram.d.ts.map +1 -1
  24. package/dist/components/monogram.js +1 -1
  25. package/dist/components/monogram.js.map +1 -1
  26. package/dist/components/product-docs/markdown.d.ts +14 -0
  27. package/dist/components/product-docs/markdown.d.ts.map +1 -1
  28. package/dist/components/product-docs/markdown.js +16 -0
  29. package/dist/components/product-docs/markdown.js.map +1 -1
  30. package/dist/components/product-docs/product-docs-customize.d.ts +4 -6
  31. package/dist/components/product-docs/product-docs-customize.d.ts.map +1 -1
  32. package/dist/components/product-docs/product-docs-customize.js +3 -5
  33. package/dist/components/product-docs/product-docs-customize.js.map +1 -1
  34. package/dist/components/product-docs/product-docs-mdx.d.ts +4 -3
  35. package/dist/components/product-docs/product-docs-mdx.d.ts.map +1 -1
  36. package/dist/components/product-docs/product-docs-mdx.js +97 -27
  37. package/dist/components/product-docs/product-docs-mdx.js.map +1 -1
  38. package/dist/components/product-docs/product-docs-shell.d.ts +1 -3
  39. package/dist/components/product-docs/product-docs-shell.d.ts.map +1 -1
  40. package/dist/components/product-docs/product-docs-shell.js +2 -9
  41. package/dist/components/product-docs/product-docs-shell.js.map +1 -1
  42. package/dist/components/product-docs/product-docs-view.d.ts +2 -3
  43. package/dist/components/product-docs/product-docs-view.d.ts.map +1 -1
  44. package/dist/components/product-docs/product-docs-view.js +5 -11
  45. package/dist/components/product-docs/product-docs-view.js.map +1 -1
  46. package/dist/components/product-docs/product-docs.d.ts +1 -2
  47. package/dist/components/product-docs/product-docs.d.ts.map +1 -1
  48. package/dist/components/product-docs/product-docs.js +1 -3
  49. package/dist/components/product-docs/product-docs.js.map +1 -1
  50. package/dist/components/root.d.ts +2 -2
  51. package/dist/components/root.d.ts.map +1 -1
  52. package/dist/components/root.js +1 -7
  53. package/dist/components/root.js.map +1 -1
  54. package/dist/components/theme.d.ts +1 -13
  55. package/dist/components/theme.d.ts.map +1 -1
  56. package/dist/components/theme.js +1 -87
  57. package/dist/components/theme.js.map +1 -1
  58. package/dist/generated/version.d.ts +2 -2
  59. package/dist/generated/version.js +2 -2
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/types.d.ts +5 -13
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js.map +1 -1
  66. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -3,7 +3,36 @@
3
3
  All notable changes to `@farthershore/farthershore-js` are documented here.
4
4
  This project adheres to Semantic Versioning (pre-1.0: minors may break).
5
5
 
6
- ## [Unreleased]
6
+ ## [0.9.0] - 2026-06-29
7
+
8
+ ### Changed (BREAKING)
9
+
10
+ - Removed the no-code theming surface as part of the platform/repo branding
11
+ separation: `FsAppearance` is trimmed to `{ theme, brandColor, variables }`
12
+ (the `fontFamily`/`radius`/`density`/`colorScheme` dimensions and the
13
+ `FsFontFamily`/`FsRadius`/`FsDensity`/`FsColorScheme` types are gone), and
14
+ `BusinessAppearance` + `primaryColor` are dropped from the branding/bootstrap
15
+ types. Theme color is now the hardcoded base token `--fs-color-brand: #6366f1`;
16
+ fonts/radius/density are editable template CSS. Light/dark mode + the
17
+ `variables` escape hatch are unchanged.
18
+
19
+ ### Added
20
+
21
+ - `<CodeGroup>` component: a tabbed code block container for the docs surface.
22
+ - Open-languages docs boot: the SDK now accepts and forwards an
23
+ `openLanguages` hint to the docs primitives so the builder's configured
24
+ language tabs open on first load.
25
+ - `docsEnabled` boot bit: bootstrapped `Business` now carries a `docsEnabled`
26
+ flag; the docs surface renders only when this is `true`.
27
+
28
+ ## [0.8.7] - 2026-06-28
29
+
30
+ ### Fixed
31
+
32
+ - Best-effort authenticated reads (`/me/*` etc.) no longer trip the
33
+ `onUnauthorized` redirect on a transient 401: a `recoverAuth` transport flag
34
+ lets those reads fail soft instead of bouncing the portal through sign-in
35
+ (fixes the dev-portal `/docs` auth loop).
7
36
 
8
37
  ## [0.8.6] - 2026-06-28
9
38
 
package/README.md CHANGED
@@ -1,49 +1,36 @@
1
1
  # @farthershore/farthershore-js
2
2
 
3
- The **Farther Shore Frontend SDK** — the canonical browser integration layer
4
- between a static frontend artifact (the default dev-portal template, generated
5
- frontends, managed components, custom frontends) and the Farther Shore platform.
6
-
7
- > **Status: `0.8.6`.** Published to npm. Versions independently from
8
- > `@farthershore/business` and `@farthershore/backend`. Pre-1.0, so minor
9
- > versions may include breaking changes while the API stabilizes against the dev
10
- > portal, managed template, and real builder features; pin this package exactly
11
- > or use a patch-only range. See [`PUBLISHING.md`](./PUBLISHING.md) for the gates
12
- > to `1.0.0` (wire-contract lock, browser token exchange, gateway CORS, stage
13
- > e2e).
14
- > The `@stripe/stripe-js` analog to the upstream runtime package
15
- > `@farthershore/backend`.
3
+ The **Farther Shore Frontend SDK** — the browser + React integration layer for
4
+ your product's subscriber portal.
5
+
6
+ > **Status: `0.9.0`.** Pre-1.0 (`0.x`): a minor bump (e.g. `0.8.x` → `0.9.0`)
7
+ > may include breaking changes, so a caret range is unsafe — **pin this package
8
+ > exactly** (`0.9.0`) or use a patch-only tilde (`~0.9.0`). Changes are recorded
9
+ > in [`CHANGELOG.md`](./CHANGELOG.md).
16
10
 
17
11
  ```bash
18
12
  pnpm add @farthershore/farthershore-js # React is an optional peer (for /react)
19
13
  ```
20
14
 
21
- ## Philosophy
15
+ ## What this is
22
16
 
23
- Frontend code never sees Core URLs, Gateway URLs, product backend URLs, auth
24
- endpoints, or routing rules. It **expresses intent**:
17
+ When you build a software business on Farther Shore, your subscribers get a
18
+ portal where they sign in, pick a plan, manage API keys, watch their usage, and
19
+ handle billing — and where you can surface your own product features. This SDK is
20
+ how a frontend talks to that portal.
25
21
 
26
- ```ts
27
- import { createFartherShoreClient } from "@farthershore/farthershore-js";
28
-
29
- const fs = createFartherShoreClient({
30
- coreUrl: "https://core.farthershore.com",
31
- });
32
-
33
- const { product } = await fs.bootstrap(); // discover the product for this host
34
- const keys = await fs.keys.list(); // → Core (platform)
35
- const forecast = await fs.feature("weather").json("/forecast?city=NYC"); // → Gateway
36
- ```
22
+ Your frontend code never deals with Core URLs, Gateway URLs, auth endpoints, or
23
+ routing rules. It **expresses intent** — "list my API keys", "subscribe to this
24
+ plan", "call my `weather` feature" — and the SDK decides **where** each request
25
+ goes (Core for platform concerns like auth, plans, usage, and billing; the
26
+ Gateway for your product's own features), **how** it's authenticated, and which
27
+ host/environment scoping headers to attach.
37
28
 
38
- The SDK decides **where** each request goes (Core for platform concerns, the
39
- Gateway for builder features), **how** it's authenticated, and the host/env
40
- scoping headers Core needs.
29
+ You can use it two ways: a framework-agnostic client (`createFartherShoreClient`)
30
+ for any frontend, or the `react` subpath + the managed component kit
31
+ (zero-config UI for plans, usage, billing, keys, docs, and more).
41
32
 
42
- ## Getting started
43
-
44
- ```bash
45
- pnpm add @farthershore/farthershore-js
46
- ```
33
+ ## Quickstart
47
34
 
48
35
  ```ts
49
36
  import { createFartherShoreClient } from "@farthershore/farthershore-js";
@@ -54,56 +41,60 @@ const fs = createFartherShoreClient({
54
41
  coreUrl: "https://core.farthershore.com",
55
42
  });
56
43
 
57
- // 2. Discover the product/env/plans for this host (memoized; safe to re-call).
58
- const { product, plans } = await fs.bootstrap();
44
+ // 2. Discover the business / environment / plans for this host
45
+ // (memoized; safe to re-call).
46
+ const { business, plans } = await fs.bootstrap();
59
47
 
60
- // 3. Authenticate. In a preview/test env, exchange a persona access key for a
61
- // session (Clerk envs instead pass `getToken` to the config / `setToken`).
48
+ // 3. Authenticate. In a preview/test environment, exchange a persona access key
49
+ // for a session. (Clerk environments instead pass `getToken` in the config,
50
+ // or call `fs.auth.setToken(token)`.)
62
51
  await fs.auth.signIn({ apiKey: "fsk_test_…" });
63
52
 
64
53
  // 4. Read platform state through the typed resources (→ Core).
65
54
  const keys = await fs.keys.list(); // ApiKey[]
66
55
  const usage = await fs.usage.snapshot(); // { summary, events, billingBasis }
67
- usage.summary.tokens_used; // product-defined meters are exposed by key
68
- usage.events[0]?.dimensions; // per-event meter values
69
56
 
70
- // 5. Call a builder-defined feature (→ Gateway). Set the consumer API key once,
71
- // then express intent by feature name + path — no Gateway URL in app code.
57
+ // 5. Call one of YOUR product features (→ Gateway). Set the consumer API key
58
+ // once, then express intent by feature name + path — no Gateway URL in app
59
+ // code.
72
60
  fs.setApiKey("fsk_live_…");
73
61
  const forecast = await fs.feature("weather").json("/forecast?city=NYC");
74
62
  ```
75
63
 
76
- In React, the same calls are hooks that return `{ data, loading, error, refresh }`
77
- (plus mutations) — see [React](#react-farthershorefarthershore-jsreact) below:
78
-
79
- ```tsx
80
- const { data, loading, error, refresh } = useApiKeys();
81
- ```
82
-
83
64
  ## Surface
84
65
 
85
- | Namespace | Routes to | Methods |
86
- | -------------------------------------- | --------------------- | ----------------------------------------------------------------------- |
87
- | `fs.bootstrap()` | Core (public resolve) | discover product/env/gateway/capabilities |
88
- | `fs.business` | (bootstrap) | `get()` |
89
- | `fs.auth` | Core | `getSession()`, `signIn({apiKey})` (persona), `signOut()`, `setToken()` |
90
- | `fs.keys` | Core | `list()`, `create()`, `revoke()`, `rotate()` |
91
- | `fs.usage` | Core | `summary()`, `events()`, `snapshot()` |
92
- | `fs.billing` | Core | `subscription()`, `openBillingPortal()`, `creditBalance()` |
93
- | `fs.plans` | Core / (bootstrap) | `list()`, `subscribe()` |
94
- | `fs.feature(name)` / `fs.invoke(path)` | **Gateway** | `fetch(path)`, `json(path)` |
66
+ | Namespace | Routes to | Methods |
67
+ | --------------------------------------------------------- | --------------------- | ----------------------------------------------------------------------- |
68
+ | `fs.bootstrap()` | Core (public resolve) | discover business / environment / plans / branding |
69
+ | `fs.business` | (bootstrap) | `get()` |
70
+ | `fs.auth` | Core | `getSession()`, `signIn({apiKey})` (persona), `signOut()`, `setToken()` |
71
+ | `fs.keys` | Core | `list()`, `create()`, `revoke()`, `rotate()` |
72
+ | `fs.usage` | Core | `summary()`, `events()`, `snapshot()` |
73
+ | `fs.billing` | Core | `subscription()`, `openBillingPortal()`, `creditBalance()` |
74
+ | `fs.plans` | Core / (bootstrap) | `list()`, `subscribe()` |
75
+ | `fs.entitlements` / `fs.features` | Core | plan entitlements + capability/feature gating |
76
+ | `fs.me` / `fs.organizations` / `fs.team` / `fs.auditLogs` | Core | subscriber, org, team, and audit-log reads |
77
+ | `fs.feature(name)` / `fs.invoke(path)` | **Gateway** | `fetch(path)`, `json(path)` |
78
+
79
+ The package also ships typed domain models (`Business`, `Plan`, `Subscription`,
80
+ `UsageSnapshot`, `ApiKey`, …), the gateway error/deny taxonomy
81
+ (`FartherShoreApiError`, `LimitExceededError`, `FS_DENY_CODES`,
82
+ `retryWhileThrottled`, …), and pure display helpers (`formatPlanPrice`,
83
+ `estimateBill`, `usageToCsv`, …) so every frontend renders the catalog and usage
84
+ identically.
95
85
 
96
86
  ## Auth
97
87
 
98
- - **Core** calls use the consumer **session token** as `Authorization: Bearer`.
99
- The host app owns the session:
100
- - _Clerk envs:_ pass `getToken` (from the Clerk browser SDK) in the config, or
101
- call `fs.auth.setToken(token)`.
102
- - _Persona/preview envs:_ `fs.auth.signIn({ apiKey: "fsk_test_…" })` — the SDK
103
- exchanges the key for a session and manages the token itself.
88
+ - **Core** calls use the subscriber's **session token** as
89
+ `Authorization: Bearer`. The host app owns the session:
90
+ - _Clerk environments:_ pass `getToken` (from the Clerk browser SDK) in the
91
+ config, or call `fs.auth.setToken(token)`.
92
+ - _Persona / preview environments:_
93
+ `fs.auth.signIn({ apiKey: "fsk_test_…" })` — the SDK exchanges the key for a
94
+ session and manages the token itself.
104
95
  - **Gateway** (feature) calls use the consumer **API key** (`fsk_…`):
105
- `fs.setApiKey(key)` (or `fs.feature(name).fetch(path, { apiKey })`). The gateway
106
- host is discovered at bootstrap (the product's `runtimeHostname`).
96
+ `fs.setApiKey(key)` (or `fs.feature(name).fetch(path, { apiKey })`). The
97
+ gateway host is discovered at bootstrap (the business's `gatewayHost`).
107
98
 
108
99
  ## Configuration
109
100
 
@@ -114,7 +105,7 @@ createFartherShoreClient({
114
105
  productId, // optional — bootstrap() discovers it
115
106
  environmentId, // ephemeral/preview env scoping
116
107
  organizationId, // org-owned subscriptions
117
- gatewayUrl, // override (else derived from the product runtimeHostname)
108
+ gatewayUrl, // override (else derived from the business gatewayHost)
118
109
  apiKey, // consumer key for Gateway calls
119
110
  getToken, // () => session bearer (Clerk) | null
120
111
  fetch, // injectable (tests / SSR)
@@ -122,30 +113,23 @@ createFartherShoreClient({
122
113
  ```
123
114
 
124
115
  Portals served through the Farther Shore edge need **no config at all** —
125
- `createFartherShoreClient()` works: the edge injects `window.__FS_CONFIG__`
126
- (the environment's `coreUrl` plus the Clerk connection for `<FartherShoreRoot>`)
116
+ `createFartherShoreClient()` works on its own: the edge injects
117
+ `window.__FS_CONFIG__` (the environment's `coreUrl` plus the Clerk connection)
127
118
  into the served HTML, and the SDK falls back to it. Explicit config always wins,
128
119
  and everywhere else (local dev, SSR, self-hosting) `coreUrl` is required.
129
120
 
130
- On Clerk **satellite** portals (the portal host is a different domain than the
121
+ On Clerk **satellite** portals (the portal is on a different domain than the
131
122
  platform's sign-in domain), the managed auth layer also owns the cross-domain
132
- session handshake: public visits never redirect (the SDK pre-marks the URL
133
- `__clerk_synced=true` so clerk-js skips its auto-sync), and a `#fs-sso` URL
134
- fragment — appended by trusted platform surfaces like the dashboard's "Open
135
- portal" links — triggers an immediate pre-paint redirect through the primary
136
- domain that lands back signed in. `useFsAuth().pendingSsoRedirect` is true
137
- while that navigation is in flight (keep a splash up). See
138
- `src/components/satellite-boot.ts` for the exact decision table.
123
+ session handshake: public visits never redirect, and a `#fs-sso` URL fragment
124
+ (appended by trusted surfaces like the dashboard's "Open portal" links) triggers
125
+ an immediate redirect through the primary domain that lands back signed in.
139
126
 
140
- ## SSR / server usage
127
+ ### SSR / server usage
141
128
 
142
129
  On a server there is no `window`/`location` to infer the portal host from and no
143
- ambient browser session — so use `createServerClient`, a documented alias for
144
- `createFartherShoreClient` that makes that contract explicit. Pass `portalHost`
145
- and `fetch` instead of relying on globals, and resolve the per-request session
146
- via `getToken` (each request authenticates as a different user). Behaviour is
147
- identical to the browser client — the config already guards `globalThis.location`
148
- and requires an injectable `fetch` — so this is purely a discoverable entry point.
130
+ ambient browser session — so use `createServerClient`, an explicit alias for
131
+ `createFartherShoreClient`. Pass `portalHost` and `fetch` instead of relying on
132
+ globals, and resolve the per-request session via `getToken`.
149
133
 
150
134
  ```ts
151
135
  import { createServerClient } from "@farthershore/farthershore-js";
@@ -154,7 +138,7 @@ const fs = createServerClient({
154
138
  coreUrl: process.env.FS_CORE_URL!,
155
139
  portalHost: "weather.farthershore.com", // no window.location on the server
156
140
  getToken: () => sessionTokenForThisRequest, // per-request bearer
157
- fetch, // Node 18+ global, or an injected impl
141
+ fetch, // Node global, or an injected impl
158
142
  });
159
143
 
160
144
  const sub = await fs.billing.subscription();
@@ -164,7 +148,7 @@ const sub = await fs.billing.subscription();
164
148
 
165
149
  The hooks live in a **subpath** of the same package — `react` is an _optional_
166
150
  peer dependency, so the core stays framework-agnostic and only React apps pull it
167
- in. (No second package to version.)
151
+ in (no second package to version).
168
152
 
169
153
  ```tsx
170
154
  import { createFartherShoreClient } from "@farthershore/farthershore-js";
@@ -189,54 +173,63 @@ function App() {
189
173
  }
190
174
 
191
175
  function ApiKeys() {
192
- const { data, loading, create, revoke } = useApiKeys();
193
- // …each hook is { data, loading, error, refresh } plus its mutations.
176
+ const { data, loading, error, create, revoke } = useApiKeys();
177
+ // …each read hook is { data, loading, error, refresh } plus its mutations.
194
178
  }
195
179
  ```
196
180
 
197
- Hooks: `useBootstrap`, `useBusiness`, `useSession` (+ `signIn`/`signOut`),
181
+ Read hooks return `{ data, loading, error, refresh }` and include their
182
+ mutations: `useBootstrap`, `useBusiness`, `useSession` (+ `signIn`/`signOut`),
198
183
  `useApiKeys` (+ `create`/`revoke`/`rotate`), `useUsage`, `useBilling` (+
199
- `openBillingPortal`), `useFeature(name)`, plus `useFartherShore()` for the raw
200
- client. They're thin wrappers over the client — no duplicated logic.
201
-
202
- ## Customizing the portal (the fork model)
184
+ `openBillingPortal`), `usePlans`, `useEntitlements`, `useFeature(name)`, plus
185
+ team/org/audit/limit hooks and `useFartherShore()` for the raw client.
203
186
 
204
- Every product ships with a generic managed portal by default. To customize it,
205
- **edit the product repo's `frontend/` tree** (what `farthershore init` / platform
206
- provisioning scaffolds): change the components, layout, and styles, then push —
207
- the platform rebuilds `frontend/` into a custom release and serves it instead of
208
- the default. Your product's _contract_ (plans, pricing, routes, meters) lives in
209
- `business/` and is managed as code; the UI lives in `frontend/`.
187
+ ## Managed components
210
188
 
211
- The scaffold is already SDK-wired: one `createFartherShoreClient.fromEnv()`
212
- client (coreUrl from the bundler env in dev, edge-injected `window.__FS_CONFIG__`
213
- in prod — env stays automatic) under one `<FartherShoreRoot>`, rendering the
214
- zero-prop data components (`<PlansTable/>`, `<UsageCard/>`, `<BillingSummary/>`,
215
- `<ApiKeysPanel/>`, …).
216
-
217
- ### Rendering a product-authored nav after a fork — `<FsManifestNav>`
218
-
219
- A product can author a `frontendManifest` (nav + pages) in `business.config.ts`.
220
- The managed default template renders it, but a **fork that replaces the template
221
- silently drops it**. `<FsManifestNav>` is the opt-in fix: it maps the manifest's
222
- `nav` entries to links so the authored nav survives a fork with one import. It's
223
- zero-prop, accessible (a `<nav aria-label>` of links with `aria-current` on the
224
- active path), and renders nothing when no manifest was authored.
189
+ Every product ships with a generic managed portal by default. The component kit
190
+ is the same set of building blocks that portal is made of, available à la carte —
191
+ every component works with **zero props** under `<FartherShoreRoot>` (it reads
192
+ its data through the SDK; props are optional overrides).
225
193
 
226
194
  ```tsx
227
- import { FsManifestNav } from "@farthershore/farthershore-js/components";
228
-
229
- // Renders boot.frontendManifest.nav; swap in a router <Link> via linkComponent.
230
- <FsManifestNav activePath={location.pathname} />;
195
+ import {
196
+ FartherShoreRoot,
197
+ PlansTable,
198
+ UsageCard,
199
+ BillingSummary,
200
+ ApiKeysPanel,
201
+ } from "@farthershore/farthershore-js/components";
202
+ import "@farthershore/farthershore-js/components/styles.css";
203
+
204
+ <FartherShoreRoot client={fs}>
205
+ <PlansTable />
206
+ <UsageCard />
207
+ <BillingSummary />
208
+ <ApiKeysPanel />
209
+ </FartherShoreRoot>;
231
210
  ```
232
211
 
212
+ `<FartherShoreRoot>` is one wrapper: provider + bootstrap gate + theme + managed
213
+ auth (Clerk satellite or persona, picked from the environment), with no host
214
+ glue. Theming is a single `appearance` prop —
215
+ `{ theme, brandColor, variables }` — that resolves to `--fs-*` CSS variables, so
216
+ retheming (including dark ↔ light) is a state update with no rebuild.
217
+
218
+ To **customize** the portal, edit the product repo's `frontend/` tree (what the
219
+ platform scaffolds) and push — the platform rebuilds it into a custom release and
220
+ serves it instead of the default. Your product's _contract_ (plans, pricing,
221
+ routes, meters) lives in `business/` and is managed as code; the UI lives in
222
+ `frontend/`.
223
+
233
224
  ### Docs and API reference
234
225
 
235
- The docs kit is split the same way durable developer portals are usually split:
236
- prose docs and endpoint reference are separate primitives. `<BusinessDocs/>`
237
- renders the product-authored Markdown/MDX docs bundle. `<BusinessApiReference/>`
238
- renders an OpenAPI 3.x document or compatible subset as a docs-styled API
239
- reference.
226
+ The docs kit renders a developer portal for your product. `<BusinessDocs/>` is
227
+ the whole experience in one tag; it's composed from public primitives
228
+ (sidebar/nav, search, version selector, markdown renderers, code cards) you can
229
+ re-compose for a custom docs site, with a headless `useBusinessDocs()` underneath.
230
+ `<BusinessApiReference/>` renders an OpenAPI 3.x document as a docs-styled API
231
+ reference. `<CodeGroup>` is the multi-language fenced-code block used inside docs
232
+ pages.
240
233
 
241
234
  ```tsx
242
235
  import {
@@ -265,40 +258,13 @@ const spec = {
265
258
  <BusinessApiReference document={spec} />;
266
259
  ```
267
260
 
268
- ## Deferred (no platform endpoint yet)
269
-
270
- - **Clerk browser sign-in** is host-app-driven (pass `getToken`); the SDK doesn't
271
- bundle `@clerk/clerk-js`.
272
- - A browser-safe **short-lived gateway token** (vs. a long-lived `fsk_` key in the
273
- page) — the platform's `fsc_` context token is server-minted today.
261
+ The docs components are SSR-safe and host-agnostic (they run on apps not served
262
+ by the platform too); `react-markdown` / `remark-gfm` are optional peers
263
+ (lazy-loaded, with a plain-text fallback when absent), and the docs stylesheet
264
+ ships separately as `@farthershore/farthershore-js/components/docs.css`.
274
265
 
275
- ## Versioning & stability
266
+ ## Learn more
276
267
 
277
- This package is **pre-1.0 (`0.x`)** and versions independently from
278
- `@farthershore/business` and `@farthershore/backend`. Under SemVer's 0.x rules a
279
- **minor** bump (`0.8.x` → `0.9.0`) may include **breaking changes**, so the usual
280
- caret range is unsafe here:
281
-
282
- - ❌ `^0.8` / `^0.8.6` — caret does **not** lock the minor across `0.x`; it would
283
- silently accept a breaking `0.9.0`.
284
- - ✅ Pin **exact** (`0.8.6`) or use a patch-only tilde (`~0.8.6`) until `1.0.0`.
285
-
286
- Breaking changes within `0.x` are recorded in [`CHANGELOG.md`](./CHANGELOG.md)
287
- (Keep a Changelog format) — read it before bumping.
288
-
289
- **Path to `1.0.0`:** the API graduates to a stable major once the
290
- [`PUBLISHING.md`](./PUBLISHING.md) gates clear — wire-contract lock (generated
291
- from / pinned to `@farthershore/contracts`), the browser-safe gateway token
292
- exchange, gateway CORS for product origins, and a live-stage e2e. At `1.0.0`,
293
- caret ranges become safe again.
294
-
295
- The `/react` subpath ships in the same package and version; **`react` is an
296
- _optional_ peer dependency**, so non-React consumers never pull it in.
297
-
298
- ## Scripts
299
-
300
- ```bash
301
- pnpm --filter @farthershore/farthershore-js build # tsc → dist/
302
- pnpm --filter @farthershore/farthershore-js test # vitest
303
- pnpm --filter @farthershore/farthershore-js typecheck
304
- ```
268
+ See the platform docs for the full guide to building, publishing, and operating a
269
+ product on Farther Shore. Breaking changes within `0.x` are recorded in
270
+ [`CHANGELOG.md`](./CHANGELOG.md) — read it before bumping.
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAEV,SAAS,EAMT,IAAI,EAKL,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,8BAA8B,CAAC;AAiDtC,KAAK,YAAY,GAAG,aAAa,CAAC;AAClC,KAAK,YAAY,GAAG,aAAa,CAAC;AAQlC,KAAK,aAAa,GAAG,IAAI,CACvB,cAAc,EACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,yBAAyB,GACzB,yBAAyB,CAC5B,GAAG;IACF,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,CAAC;AAoFF;;uEAEuE;AACvE,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAqB9C;AAsED;kDACkD;AAClD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CA+C7E"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAEV,SAAS,EAMT,IAAI,EAIL,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,8BAA8B,CAAC;AAiDtC,KAAK,YAAY,GAAG,aAAa,CAAC;AAClC,KAAK,YAAY,GAAG,aAAa,CAAC;AAQlC,KAAK,aAAa,GAAG,IAAI,CACvB,cAAc,EACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,yBAAyB,GACzB,yBAAyB,CAC5B,GAAG;IACF,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,CAAC;AAoFF;;uEAEuE;AACvE,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAqB9C;AAsED;kDACkD;AAClD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CA+C7E"}
package/dist/bootstrap.js CHANGED
@@ -28,7 +28,6 @@ function mapBranding(p) {
28
28
  displayName: p.displayName ?? p.name,
29
29
  iconUrl: p.iconUrl ?? null,
30
30
  logoUrl: p.logoUrl ?? null,
31
- primaryColor: p.primaryColor ?? null,
32
31
  description: p.description ?? null,
33
32
  };
34
33
  }
@@ -46,9 +45,10 @@ function mapBusiness(p) {
46
45
  portalHost: p.portalHostname,
47
46
  docsBaseUrl: p.docsBaseUrl ?? null,
48
47
  legalBaseUrl: p.legalBaseUrl ?? null,
48
+ // Absent on older Core payloads — default true (backward-compatible).
49
+ docsEnabled: p.docsEnabled ?? true,
49
50
  featuredCompiledPlanId: p.featuredCompiledPlanId ?? null,
50
51
  meters,
51
- appearance: p.appearance ?? null,
52
52
  };
53
53
  }
54
54
  function mapEnv(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAgB,EAChB,SAAS,GACV,GAAE,eAAoB,kDAqCtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAE,kBAAuB,2CAuCnE;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,YAAY,EAClB,SAAS,GACV,GAAE,aAAkB,kDAkBpB"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAgB,EAChB,SAAS,GACV,GAAE,eAAoB,kDAgCtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAE,kBAAuB,2CAuCnE;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,YAAY,EAClB,SAAS,GACV,GAAE,aAAkB,kDAkBpB"}
@@ -15,7 +15,7 @@ export function FsBranding({ variant = "full", className, } = {}) {
15
15
  const brand = boot.data?.branding;
16
16
  if (!brand)
17
17
  return null;
18
- const mark = brand.iconUrl ? (_jsx("img", { className: "fs-brand__logo", src: brand.iconUrl, alt: variant === "mark" ? brand.displayName : "" })) : (_jsx("span", { className: "fs-brand__dot", style: brand.primaryColor ? { background: brand.primaryColor } : undefined }));
18
+ const mark = brand.iconUrl ? (_jsx("img", { className: "fs-brand__logo", src: brand.iconUrl, alt: variant === "mark" ? brand.displayName : "" })) : (_jsx("span", { className: "fs-brand__dot" }));
19
19
  if (variant === "mark") {
20
20
  return (_jsx("span", { className: cx("fs-brand fs-brand--mark", className), children: mark }));
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"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"}
@@ -39,6 +39,10 @@ export type DocsLanguageSelectorProps = {
39
39
  * version selector. Hidden entirely when there are ≤1 languages (a
40
40
  * single-language doc shows no control). Reads/writes through the docs language
41
41
  * context, so it is a drop-in once a `<DocsLanguageProvider>` is in scope.
42
+ *
43
+ * When any language declares an `icon`, the selector renders a custom
44
+ * button-list so the icon can appear alongside the label. When no icons are
45
+ * declared the native `<select>` is used (lighter, more accessible on mobile).
42
46
  */
43
47
  export declare function DocsLanguageSelector({ className, }?: DocsLanguageSelectorProps): import("react/jsx-runtime").JSX.Element | null;
44
48
  export type LangBlockProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"language-context.d.ts","sourceRoot":"","sources":["../../../src/components/docs-chrome/language-context.tsx"],"names":[],"mappings":"AASA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,kFAAkF;IAClF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wEAAwE;IACxE,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,sEAAsE;IACtE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAaF,eAAO,MAAM,oBAAoB,oDAA2B,CAAC;AAE7D,iFAAiF;AACjF,wBAAgB,eAAe,IAAI,wBAAwB,CAE1D;AAgDD,MAAM,MAAM,2BAA2B,GAAG;IACxC,oCAAoC;IACpC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,wBAAwB,CAiC1B;AAID,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,GACV,GAAE,yBAA8B,kDAiBhC;AAID,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,kDAS3D"}
1
+ {"version":3,"file":"language-context.d.ts","sourceRoot":"","sources":["../../../src/components/docs-chrome/language-context.tsx"],"names":[],"mappings":"AASA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,kFAAkF;IAClF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wEAAwE;IACxE,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,sEAAsE;IACtE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAaF,eAAO,MAAM,oBAAoB,oDAA2B,CAAC;AAE7D,iFAAiF;AACjF,wBAAgB,eAAe,IAAI,wBAAwB,CAE1D;AAgDD,MAAM,MAAM,2BAA2B,GAAG;IACxC,oCAAoC;IACpC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,wBAAwB,CAiC1B;AAID,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,GACV,GAAE,yBAA8B,kDA4ChC;AAID,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,kDAS3D"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  // Docs language context + the selector/state pieces that drive multi-language
4
4
  // docs. Mirrors the `DocsNavProvider`/`useDocsNav` seam in
5
5
  // product-docs/navigation.tsx: a consumer rendered WITHOUT a provider gets a
@@ -108,11 +108,19 @@ export function useDocsLanguageState(options) {
108
108
  * version selector. Hidden entirely when there are ≤1 languages (a
109
109
  * single-language doc shows no control). Reads/writes through the docs language
110
110
  * context, so it is a drop-in once a `<DocsLanguageProvider>` is in scope.
111
+ *
112
+ * When any language declares an `icon`, the selector renders a custom
113
+ * button-list so the icon can appear alongside the label. When no icons are
114
+ * declared the native `<select>` is used (lighter, more accessible on mobile).
111
115
  */
112
116
  export function DocsLanguageSelector({ className, } = {}) {
113
117
  const { activeLanguage, languages, setLanguage } = useDocsLanguage();
114
118
  if (languages.length <= 1)
115
119
  return null;
120
+ const hasIcons = languages.some((language) => language.icon);
121
+ if (hasIcons) {
122
+ return (_jsx("div", { className: className, role: "group", "aria-label": "Documentation language", children: languages.map((language) => (_jsxs("button", { type: "button", "aria-pressed": language.id === (activeLanguage ?? languages[0]?.id), onClick: () => setLanguage(language.id), children: [language.icon && (_jsx("img", { src: language.icon, alt: "", "aria-hidden": "true" })), language.label] }, language.id))) }));
123
+ }
116
124
  return (_jsx("select", { className: className, value: activeLanguage ?? languages[0]?.id ?? "", "aria-label": "Documentation language", onChange: (event) => setLanguage(event.target.value), children: languages.map((language) => (_jsx("option", { value: language.id, children: language.label }, language.id))) }));
117
125
  }
118
126
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"language-context.js","sourceRoot":"","sources":["../../../src/components/docs-chrome/language-context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,8EAA8E;AAC9E,2DAA2D;AAC3D,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,yCAAyC;AAEzC,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAqB,MAAM,eAAe,CAAC;AAazE,MAAM,wBAAwB,GAA6B;IACzD,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,EAAE;IACb,mEAAmE;IACnE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;CACtB,CAAC;AAEF,MAAM,eAAe,GAAG,aAAa,CACnC,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC;AAE7D,iFAAiF;AACjF,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC;AAED,0EAA0E;AAE1E,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,SAAS,UAAU,CAAC,QAAwB;IAC1C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB;IAC9C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAmC,EAAE,EAAU;IACtE,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,EAAU;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY;QAAE,OAAO;IAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO;IAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC;AAWD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEzD,4EAA4E;IAC5E,2CAA2C;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE,CACvD,qBAAqB,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CACtD,CAAC;IAEF,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,qBAAqB,CAAC;YACrC,QAAQ,EAAE,gBAAgB,EAAE;YAC5B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;YAChC,eAAe;YACf,SAAS;SACV,CAAC,CAAC;QACH,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,EAAU,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;gBAAE,OAAO;YAC9D,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9B,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAC1D,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CACjC,CAAC;AACJ,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,SAAS,MACoB,EAAE;IAC/B,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;IACrE,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CACL,iBACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,gBACpC,wBAAwB,EACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAEnD,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC3B,iBAA0B,KAAK,EAAE,QAAQ,CAAC,EAAE,YACzC,QAAQ,CAAC,KAAK,IADJ,QAAQ,CAAC,EAAE,CAEf,CACV,CAAC,GACK,CACV,CAAC;AACJ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAkB;IAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7C,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"language-context.js","sourceRoot":"","sources":["../../../src/components/docs-chrome/language-context.tsx"],"names":[],"mappings":"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"}