fumadocs-openapi 9.1.10 → 9.1.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"api-example.d.ts","sourceRoot":"","sources":["../../../src/render/operation/api-example.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AA6B5B,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAYA;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,aAAa,GACjB,eAAe,EAAE,CA0CnB;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC3C,GAAG,EAAE,aAAa,CAAC;CACpB,oDAmCA"}
1
+ {"version":3,"file":"api-example.d.ts","sourceRoot":"","sources":["../../../src/render/operation/api-example.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAG5B,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAYA;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,aAAa,GACjB,eAAe,EAAE,CA0CnB;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC3C,GAAG,EAAE,aAAa,CAAC;CACpB,oDAmCA"}
@@ -6,32 +6,7 @@ import { getPreferredType } from '../../utils/schema.js';
6
6
  import { getRequestData } from '../../render/operation/get-request-data.js';
7
7
  import { sample } from 'openapi-sampler';
8
8
  import { encodeRequestData, } from '../../requests/_shared.js';
9
- const defaultSamples = [
10
- {
11
- label: 'cURL',
12
- lang: 'bash',
13
- },
14
- {
15
- label: 'JavaScript',
16
- lang: 'js',
17
- },
18
- {
19
- label: 'Go',
20
- lang: 'go',
21
- },
22
- {
23
- label: 'Python',
24
- lang: 'python',
25
- },
26
- {
27
- label: 'Java',
28
- lang: 'java',
29
- },
30
- {
31
- label: 'C#',
32
- lang: 'csharp',
33
- },
34
- ];
9
+ import { defaultSamples } from '../../requests/index.js';
35
10
  export function APIExampleProvider({ examples, method, children, route, }) {
36
11
  const exclusiveSampleKey = method['x-exclusiveCodeSample'];
37
12
  return (_jsx(CodeExampleProvider, { initialKey: exclusiveSampleKey, route: route, examples: examples, children: children }));
@@ -1,10 +1,20 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { MethodInformation, RenderContext } from '../../types.js';
3
3
  import { type SampleGenerator } from '../../requests/_shared.js';
4
- export interface CodeSample {
4
+ export interface CodeSample<T = unknown> {
5
5
  lang: string;
6
6
  label?: string;
7
- source?: string | SampleGenerator | false;
7
+ /**
8
+ * either:
9
+ * - code
10
+ * - a function imported from a file with "use client" directive
11
+ * - false (disabled)
12
+ */
13
+ source?: string | SampleGenerator<T> | false;
14
+ /**
15
+ * Pass extra context to client-side source generator
16
+ */
17
+ serverContext?: T;
8
18
  }
9
19
  export declare function Operation({ type, path, method, ctx, hasHead, headingLevel, }: {
10
20
  type?: 'webhook' | 'operation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/operation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAEV,iBAAiB,EACjB,aAAa,EAEd,MAAM,SAAS,CAAC;AAcjB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAY1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,KAAK,CAAC;CAC3C;AASD,wBAAgB,SAAS,CAAC,EACxB,IAAkB,EAClB,IAAI,EACJ,MAAM,EACN,GAAG,EACH,OAAO,EACP,YAAgB,GACjB,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,YAAY,CAgNf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/operation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAEV,iBAAiB,EACjB,aAAa,EAEd,MAAM,SAAS,CAAC;AAcjB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAY1D,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC;CACnB;AASD,wBAAgB,SAAS,CAAC,EACxB,IAAkB,EAClB,IAAI,EACJ,MAAM,EACN,GAAG,EACH,OAAO,EACP,YAAgB,GACjB,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,YAAY,CAgNf"}
@@ -1,8 +1,9 @@
1
1
  import type { MediaAdapter } from '../media/adapter.js';
2
2
  import type { NoReference } from '../utils/schema.js';
3
3
  import type { ParameterObject } from '../types.js';
4
- export type SampleGenerator = (url: string, data: RequestData, context: {
4
+ export type SampleGenerator<ServerContext = unknown> = (url: string, data: RequestData, context: {
5
5
  mediaAdapters: Record<string, MediaAdapter>;
6
+ server: ServerContext;
6
7
  }) => string;
7
8
  export interface RawRequestData {
8
9
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/requests/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAYD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,UAKlD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACtC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,GACzC,WAAW,CAyIb"}
1
+ {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/requests/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,aAAa,GAAG,OAAO,IAAI,CACrD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC;CACvB,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAYD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,UAKlD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACtC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,GACzC,WAAW,CAyIb"}
@@ -1,9 +1,11 @@
1
1
  import type { ApiPageProps } from '../render/api-page.js';
2
2
  import { createProxy } from '../server/proxy.js';
3
+ import type { CodeSample } from '../render/operation/index.js';
3
4
  export type OpenAPIOptions = Omit<Partial<ApiPageProps>, 'document'>;
4
5
  export interface OpenAPIServer {
5
6
  getAPIPageProps: (from: ApiPageProps) => ApiPageProps;
6
7
  createProxy: typeof createProxy;
7
8
  }
8
9
  export declare function createOpenAPI(options?: OpenAPIOptions): OpenAPIServer;
10
+ export declare function createCodeSample<T>(options: CodeSample<T>): CodeSample;
9
11
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,YAAY,CAAC;IACtD,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAUzE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,YAAY,CAAC;IACtD,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAUzE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAEtE"}
@@ -10,3 +10,6 @@ export function createOpenAPI(options = {}) {
10
10
  },
11
11
  };
12
12
  }
13
+ export function createCodeSample(options) {
14
+ return options;
15
+ }
@@ -12,7 +12,7 @@ export declare function CodeExampleProvider({ route, examples, initialKey, child
12
12
  initialKey?: string;
13
13
  children: ReactNode;
14
14
  }): import("react/jsx-runtime").JSX.Element;
15
- export declare function CodeExample(props: CodeSample): import("react/jsx-runtime").JSX.Element | null;
15
+ export declare function CodeExample(sample: CodeSample): import("react/jsx-runtime").JSX.Element | null;
16
16
  export declare function CodeExampleSelector({ items }: SamplesProps): import("react/jsx-runtime").JSX.Element;
17
17
  export declare function useRequestInitialData(): RawRequestData;
18
18
  export declare function useRequestDataUpdater(): {
@@ -1 +1 @@
1
- {"version":3,"file":"code-example.d.ts","sourceRoot":"","sources":["../../../src/ui/contexts/code-example.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsBtE,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,cAAc,CAAC;QACrB,OAAO,EAAE,WAAW,CAAC;KACtB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CA6DA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,kDAgD5C;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,2CAoB1D;AAgBD,wBAAgB,qBAAqB,mBAOpC;AAED,wBAAgB,qBAAqB;oBAlLnB,cAAc,WAAW,WAAW,KAAK,IAAI;EAqL9D"}
1
+ {"version":3,"file":"code-example.d.ts","sourceRoot":"","sources":["../../../src/ui/contexts/code-example.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBtE,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,cAAc,CAAC;QACrB,OAAO,EAAE,WAAW,CAAC;KACtB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CA6DA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,kDA6C7C;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,2CAoB1D;AAgBD,wBAAgB,qBAAqB,mBAOpC;AAED,wBAAgB,qBAAqB;oBA/KnB,cAAc,WAAW,WAAW,KAAK,IAAI;EAkL9D"}
@@ -6,7 +6,6 @@ import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock';
6
6
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../ui/components/select.js';
7
7
  import { useEffectEvent } from 'fumadocs-core/utils/use-effect-event';
8
8
  import { joinURL, resolveRequestData, resolveServerUrl, withBase, } from '../../utils/url.js';
9
- import { defaultSamples } from '../../requests/index.js';
10
9
  const CodeExampleContext = createContext(null);
11
10
  export function CodeExampleProvider({ route, examples, initialKey, children, }) {
12
11
  const [key, setKey] = useState(initialKey ?? examples[0].key);
@@ -53,16 +52,13 @@ export function CodeExampleProvider({ route, examples, initialKey, children, })
53
52
  addListener,
54
53
  }), [addListener, examples, key, removeListener, route, setData, updateKey]), children: children }));
55
54
  }
56
- export function CodeExample(props) {
55
+ export function CodeExample(sample) {
57
56
  const { shikiOptions, mediaAdapters } = useApiContext();
58
57
  const { examples, key, route, addListener, removeListener } = useContext(CodeExampleContext);
59
58
  const { server } = useServerSelectContext();
60
59
  const [data, setData] = useState(() => {
61
60
  return examples.find((example) => example.key === key).encoded;
62
61
  });
63
- const sample = props.source
64
- ? props
65
- : defaultSamples.find((item) => item.label === props.label);
66
62
  useEffect(() => {
67
63
  const listener = (_, encoded) => setData(encoded);
68
64
  addListener(listener);
@@ -71,13 +67,14 @@ export function CodeExample(props) {
71
67
  };
72
68
  }, [addListener, removeListener]);
73
69
  const code = useMemo(() => {
74
- if (!sample?.source)
70
+ if (!sample.source)
75
71
  return;
76
72
  if (typeof sample.source === 'string')
77
73
  return sample.source;
78
74
  return sample.source(joinURL(withBase(server ? resolveServerUrl(server.url, server.variables) : '/', typeof window !== 'undefined'
79
75
  ? window.location.origin
80
76
  : 'https://loading'), resolveRequestData(route, data)), data, {
77
+ server: sample.serverContext,
81
78
  mediaAdapters,
82
79
  });
83
80
  }, [mediaAdapters, sample, server, route, data]);
package/dist/ui/lazy.d.ts CHANGED
@@ -9,7 +9,7 @@ export declare const CodeExampleProvider: (props: {
9
9
  initialKey?: string;
10
10
  children: import("react").ReactNode;
11
11
  }) => JSX.Element;
12
- export declare const CodeExample: (props: import("../render/operation/index.js").CodeSample) => JSX.Element;
12
+ export declare const CodeExample: (props: import("../render/operation/index.js").CodeSample<unknown>) => JSX.Element;
13
13
  export declare const CodeExampleSelector: (props: import("../render/renderer.js").SamplesProps) => JSX.Element;
14
14
  export declare const ClientLazy: (props: import("../playground/client.js").ClientProps) => JSX.Element;
15
15
  export declare const ApiProvider: (props: import("./contexts/api.js").ApiProviderProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/ui/lazy.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAW7C,eAAO,MAAM,mBAAmB;;;;;;;;;iBAM/B,CAAC;AAEF,eAAO,MAAM,WAAW,kEAMvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,mEAM/B,CAAC;AAEF,eAAO,MAAM,UAAU,mEAAkD,CAAC;AAE1E,eAAO,MAAM,WAAW,mEAIvB,CAAC"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/ui/lazy.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAW7C,eAAO,MAAM,mBAAmB;;;;;;;;;iBAM/B,CAAC;AAEF,eAAO,MAAM,WAAW,2EAMvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,mEAM/B,CAAC;AAEF,eAAO,MAAM,UAAU,mEAAkD,CAAC;AAE1E,eAAO,MAAM,WAAW,mEAIvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fumadocs-openapi",
3
- "version": "9.1.10",
3
+ "version": "9.1.12",
4
4
  "description": "Generate MDX docs for your OpenAPI spec",
5
5
  "keywords": [
6
6
  "NextJs",
@@ -64,15 +64,15 @@
64
64
  "shiki": "^3.9.2",
65
65
  "tinyglobby": "^0.2.14",
66
66
  "xml-js": "^1.6.11",
67
- "fumadocs-core": "15.6.9",
68
- "fumadocs-ui": "15.6.9"
67
+ "fumadocs-ui": "15.6.10",
68
+ "fumadocs-core": "15.6.10"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@scalar/api-client-react": "^1.3.27",
72
72
  "@types/js-yaml": "^4.0.9",
73
- "@types/node": "24.2.0",
73
+ "@types/node": "24.2.1",
74
74
  "@types/openapi-sampler": "^1.0.3",
75
- "@types/react": "^19.1.9",
75
+ "@types/react": "^19.1.10",
76
76
  "json-schema-typed": "^8.0.1",
77
77
  "openapi-types": "^12.1.3",
78
78
  "tailwindcss": "^4.1.11",