@gitbook/react-openapi 1.4.3 → 1.5.2

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 (263) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/InteractiveSection.js +59 -0
  3. package/dist/Markdown.js +10 -0
  4. package/dist/OpenAPICodeSample.js +219 -0
  5. package/dist/OpenAPICodeSampleInteractive.js +66 -0
  6. package/dist/OpenAPICodeSampleSelector.js +45 -0
  7. package/dist/OpenAPICopyButton.js +39 -0
  8. package/dist/OpenAPIDisclosure.js +30 -0
  9. package/dist/OpenAPIDisclosureGroup.js +75 -0
  10. package/dist/OpenAPIExample.js +41 -0
  11. package/dist/OpenAPIMediaType.js +58 -0
  12. package/dist/OpenAPIOperation.d.ts +12 -7
  13. package/dist/OpenAPIOperation.js +30 -0
  14. package/dist/OpenAPIOperationContext.d.ts +10 -6
  15. package/dist/OpenAPIOperationContext.js +30 -0
  16. package/dist/OpenAPIPath.js +51 -0
  17. package/dist/OpenAPIPrefillContextProvider.d.ts +11 -7
  18. package/dist/OpenAPIPrefillContextProvider.js +25 -0
  19. package/dist/OpenAPIRequestBody.js +28 -0
  20. package/dist/OpenAPIRequestBodyHeaderType.js +23 -0
  21. package/dist/OpenAPIResponse.js +39 -0
  22. package/dist/OpenAPIResponseExample.js +75 -0
  23. package/dist/OpenAPIResponseExampleContent.js +61 -0
  24. package/dist/OpenAPIResponses.js +61 -0
  25. package/dist/OpenAPISchema.js +373 -0
  26. package/dist/OpenAPISchemaName.js +45 -0
  27. package/dist/OpenAPISchemaServer.js +13 -0
  28. package/dist/OpenAPISecurities.js +124 -0
  29. package/dist/OpenAPISelect.js +45 -0
  30. package/dist/OpenAPISpec.js +73 -0
  31. package/dist/OpenAPIWebhook.d.ts +12 -7
  32. package/dist/OpenAPIWebhook.js +28 -0
  33. package/dist/OpenAPIWebhookExample.js +40 -0
  34. package/dist/ScalarApiButton.js +87 -0
  35. package/dist/StaticSection.js +37 -0
  36. package/dist/code-samples.js +267 -419
  37. package/dist/common/OpenAPIColumnSpec.js +23 -0
  38. package/dist/common/OpenAPIOperationDescription.js +18 -0
  39. package/dist/common/OpenAPIStability.js +17 -0
  40. package/dist/common/OpenAPISummary.js +27 -0
  41. package/dist/contentTypeChecks.js +24 -20
  42. package/dist/context.d.ts +68 -72
  43. package/dist/context.js +25 -39
  44. package/dist/decycle.js +39 -68
  45. package/dist/dereference.js +20 -64
  46. package/dist/generateSchemaExample.js +188 -332
  47. package/dist/getDisclosureLabel.js +15 -16
  48. package/dist/getOrCreateStoreByKey.js +20 -17
  49. package/dist/index.d.ts +12 -10
  50. package/dist/index.js +11 -8
  51. package/dist/json2xml.js +10 -5
  52. package/dist/resolveOpenAPIOperation.d.ts +11 -7
  53. package/dist/resolveOpenAPIOperation.js +88 -159
  54. package/dist/resolveOpenAPIWebhook.d.ts +11 -7
  55. package/dist/resolveOpenAPIWebhook.js +41 -116
  56. package/dist/schemas/OpenAPISchemaItem.js +26 -0
  57. package/dist/schemas/OpenAPISchemas.d.ts +16 -11
  58. package/dist/schemas/OpenAPISchemas.js +57 -0
  59. package/dist/schemas/resolveOpenAPISchemas.d.ts +9 -4
  60. package/dist/schemas/resolveOpenAPISchemas.js +15 -59
  61. package/dist/stringifyOpenAPI.js +12 -13
  62. package/dist/translate.js +43 -0
  63. package/dist/translations/de.js +47 -42
  64. package/dist/translations/en.d.ts +46 -42
  65. package/dist/translations/en.js +47 -42
  66. package/dist/translations/es.js +47 -42
  67. package/dist/translations/fr.js +47 -42
  68. package/dist/translations/index.d.ts +404 -391
  69. package/dist/translations/index.js +28 -24
  70. package/dist/translations/ja.js +47 -42
  71. package/dist/translations/nl.js +47 -42
  72. package/dist/translations/no.js +47 -42
  73. package/dist/translations/pt-br.js +47 -42
  74. package/dist/translations/types.d.ts +7 -5
  75. package/dist/translations/zh.js +47 -42
  76. package/dist/types.d.ts +30 -24
  77. package/dist/util/example.js +84 -0
  78. package/dist/util/server.js +32 -38
  79. package/dist/util/tryit-prefill.js +135 -121
  80. package/dist/utils.js +135 -196
  81. package/package.json +18 -11
  82. package/dist/InteractiveSection.d.ts +0 -33
  83. package/dist/InteractiveSection.jsx +0 -61
  84. package/dist/Markdown.d.ts +0 -4
  85. package/dist/Markdown.jsx +0 -5
  86. package/dist/OpenAPICodeSample.d.ts +0 -19
  87. package/dist/OpenAPICodeSample.jsx +0 -230
  88. package/dist/OpenAPICodeSampleInteractive.d.ts +0 -14
  89. package/dist/OpenAPICodeSampleInteractive.jsx +0 -73
  90. package/dist/OpenAPICodeSampleSelector.d.ts +0 -14
  91. package/dist/OpenAPICodeSampleSelector.jsx +0 -44
  92. package/dist/OpenAPICopyButton.d.ts +0 -13
  93. package/dist/OpenAPICopyButton.jsx +0 -35
  94. package/dist/OpenAPIDisclosure.d.ts +0 -11
  95. package/dist/OpenAPIDisclosure.jsx +0 -30
  96. package/dist/OpenAPIDisclosureGroup.d.ts +0 -23
  97. package/dist/OpenAPIDisclosureGroup.jsx +0 -83
  98. package/dist/OpenAPIExample.d.ts +0 -16
  99. package/dist/OpenAPIExample.jsx +0 -36
  100. package/dist/OpenAPIMediaType.d.ts +0 -21
  101. package/dist/OpenAPIMediaType.jsx +0 -61
  102. package/dist/OpenAPIOperation.jsx +0 -25
  103. package/dist/OpenAPIOperationContext.jsx +0 -26
  104. package/dist/OpenAPIOperationDescription.d.ts +0 -9
  105. package/dist/OpenAPIOperationDescription.jsx +0 -22
  106. package/dist/OpenAPIOperationStability.d.ts +0 -9
  107. package/dist/OpenAPIOperationStability.jsx +0 -27
  108. package/dist/OpenAPIPath.d.ts +0 -18
  109. package/dist/OpenAPIPath.jsx +0 -55
  110. package/dist/OpenAPIPrefillContextProvider.jsx +0 -19
  111. package/dist/OpenAPIRequestBody.d.ts +0 -11
  112. package/dist/OpenAPIRequestBody.jsx +0 -28
  113. package/dist/OpenAPIRequestBodyHeaderType.d.ts +0 -8
  114. package/dist/OpenAPIRequestBodyHeaderType.jsx +0 -25
  115. package/dist/OpenAPIResponse.d.ts +0 -10
  116. package/dist/OpenAPIResponse.jsx +0 -57
  117. package/dist/OpenAPIResponseExample.d.ts +0 -9
  118. package/dist/OpenAPIResponseExample.jsx +0 -105
  119. package/dist/OpenAPIResponseExampleContent.d.ts +0 -22
  120. package/dist/OpenAPIResponseExampleContent.jsx +0 -60
  121. package/dist/OpenAPIResponses.d.ts +0 -9
  122. package/dist/OpenAPIResponses.jsx +0 -77
  123. package/dist/OpenAPISchema.d.ts +0 -27
  124. package/dist/OpenAPISchema.jsx +0 -400
  125. package/dist/OpenAPISchemaName.d.ts +0 -16
  126. package/dist/OpenAPISchemaName.jsx +0 -43
  127. package/dist/OpenAPISchemaServer.d.ts +0 -12
  128. package/dist/OpenAPISchemaServer.jsx +0 -8
  129. package/dist/OpenAPISecurities.d.ts +0 -9
  130. package/dist/OpenAPISecurities.jsx +0 -114
  131. package/dist/OpenAPISelect.d.ts +0 -22
  132. package/dist/OpenAPISelect.jsx +0 -44
  133. package/dist/OpenAPISpec.d.ts +0 -6
  134. package/dist/OpenAPISpec.jsx +0 -80
  135. package/dist/OpenAPITabs.d.ts +0 -26
  136. package/dist/OpenAPITabs.jsx +0 -109
  137. package/dist/OpenAPIWebhook.jsx +0 -23
  138. package/dist/OpenAPIWebhookExample.d.ts +0 -6
  139. package/dist/OpenAPIWebhookExample.jsx +0 -41
  140. package/dist/ScalarApiButton.d.ts +0 -14
  141. package/dist/ScalarApiButton.jsx +0 -81
  142. package/dist/StaticSection.d.ts +0 -13
  143. package/dist/StaticSection.jsx +0 -32
  144. package/dist/code-samples.d.ts +0 -17
  145. package/dist/common/OpenAPIColumnSpec.d.ts +0 -6
  146. package/dist/common/OpenAPIColumnSpec.jsx +0 -20
  147. package/dist/common/OpenAPIOperationDescription.d.ts +0 -6
  148. package/dist/common/OpenAPIOperationDescription.jsx +0 -19
  149. package/dist/common/OpenAPIStability.d.ts +0 -4
  150. package/dist/common/OpenAPIStability.jsx +0 -15
  151. package/dist/common/OpenAPISummary.d.ts +0 -6
  152. package/dist/common/OpenAPISummary.jsx +0 -30
  153. package/dist/contentTypeChecks.d.ts +0 -10
  154. package/dist/decycle.d.ts +0 -2
  155. package/dist/dereference.d.ts +0 -5
  156. package/dist/generateSchemaExample.d.ts +0 -45
  157. package/dist/getDisclosureLabel.d.ts +0 -7
  158. package/dist/getOrCreateStoreByKey.d.ts +0 -10
  159. package/dist/json2xml.d.ts +0 -4
  160. package/dist/schemas/OpenAPISchemaItem.d.ts +0 -7
  161. package/dist/schemas/OpenAPISchemaItem.jsx +0 -16
  162. package/dist/schemas/OpenAPISchemas.jsx +0 -59
  163. package/dist/schemas/index.d.ts +0 -2
  164. package/dist/schemas/index.js +0 -2
  165. package/dist/stringifyOpenAPI.d.ts +0 -4
  166. package/dist/translate.d.ts +0 -10
  167. package/dist/translate.jsx +0 -75
  168. package/dist/translations/de.d.ts +0 -43
  169. package/dist/translations/es.d.ts +0 -43
  170. package/dist/translations/fr.d.ts +0 -43
  171. package/dist/translations/ja.d.ts +0 -43
  172. package/dist/translations/nl.d.ts +0 -43
  173. package/dist/translations/no.d.ts +0 -43
  174. package/dist/translations/pt-br.d.ts +0 -43
  175. package/dist/translations/types.js +0 -1
  176. package/dist/translations/zh.d.ts +0 -43
  177. package/dist/tsconfig.build.tsbuildinfo +0 -1
  178. package/dist/types.js +0 -1
  179. package/dist/util/example.d.ts +0 -35
  180. package/dist/util/example.jsx +0 -103
  181. package/dist/util/server.d.ts +0 -9
  182. package/dist/util/tryit-prefill.d.ts +0 -20
  183. package/dist/utils.d.ts +0 -50
  184. package/src/InteractiveSection.tsx +0 -147
  185. package/src/Markdown.tsx +0 -12
  186. package/src/OpenAPICodeSample.tsx +0 -330
  187. package/src/OpenAPICodeSampleInteractive.tsx +0 -136
  188. package/src/OpenAPICodeSampleSelector.tsx +0 -94
  189. package/src/OpenAPICopyButton.tsx +0 -72
  190. package/src/OpenAPIDisclosure.tsx +0 -46
  191. package/src/OpenAPIDisclosureGroup.tsx +0 -158
  192. package/src/OpenAPIExample.tsx +0 -55
  193. package/src/OpenAPIMediaType.tsx +0 -139
  194. package/src/OpenAPIOperation.tsx +0 -35
  195. package/src/OpenAPIOperationContext.tsx +0 -45
  196. package/src/OpenAPIOperationDescription.tsx +0 -34
  197. package/src/OpenAPIOperationStability.tsx +0 -39
  198. package/src/OpenAPIPath.tsx +0 -90
  199. package/src/OpenAPIPrefillContextProvider.tsx +0 -40
  200. package/src/OpenAPIRequestBody.tsx +0 -54
  201. package/src/OpenAPIRequestBodyHeaderType.tsx +0 -36
  202. package/src/OpenAPIResponse.tsx +0 -82
  203. package/src/OpenAPIResponseExample.tsx +0 -151
  204. package/src/OpenAPIResponseExampleContent.tsx +0 -125
  205. package/src/OpenAPIResponses.tsx +0 -125
  206. package/src/OpenAPISchema.test.ts +0 -172
  207. package/src/OpenAPISchema.tsx +0 -654
  208. package/src/OpenAPISchemaName.tsx +0 -80
  209. package/src/OpenAPISchemaServer.tsx +0 -34
  210. package/src/OpenAPISecurities.tsx +0 -231
  211. package/src/OpenAPISelect.tsx +0 -96
  212. package/src/OpenAPISpec.tsx +0 -138
  213. package/src/OpenAPITabs.tsx +0 -147
  214. package/src/OpenAPIWebhook.tsx +0 -33
  215. package/src/OpenAPIWebhookExample.tsx +0 -60
  216. package/src/ScalarApiButton.tsx +0 -132
  217. package/src/StaticSection.tsx +0 -91
  218. package/src/__snapshots__/json2xml.test.ts.snap +0 -18
  219. package/src/code-samples.test.ts +0 -714
  220. package/src/code-samples.ts +0 -448
  221. package/src/common/OpenAPIColumnSpec.tsx +0 -31
  222. package/src/common/OpenAPIOperationDescription.tsx +0 -31
  223. package/src/common/OpenAPIStability.tsx +0 -23
  224. package/src/common/OpenAPISummary.tsx +0 -45
  225. package/src/contentTypeChecks.ts +0 -39
  226. package/src/context.ts +0 -99
  227. package/src/decycle.ts +0 -68
  228. package/src/dereference.ts +0 -29
  229. package/src/generateSchemaExample.test.ts +0 -1040
  230. package/src/generateSchemaExample.ts +0 -530
  231. package/src/getDisclosureLabel.ts +0 -25
  232. package/src/getOrCreateStoreByKey.ts +0 -33
  233. package/src/index.ts +0 -10
  234. package/src/json2xml.test.ts +0 -46
  235. package/src/json2xml.ts +0 -8
  236. package/src/resolveOpenAPIOperation.test.ts +0 -177
  237. package/src/resolveOpenAPIOperation.ts +0 -151
  238. package/src/resolveOpenAPIWebhook.ts +0 -99
  239. package/src/schemas/OpenAPISchemaItem.tsx +0 -34
  240. package/src/schemas/OpenAPISchemas.tsx +0 -98
  241. package/src/schemas/index.ts +0 -2
  242. package/src/schemas/resolveOpenAPISchemas.test.ts +0 -174
  243. package/src/schemas/resolveOpenAPISchemas.ts +0 -28
  244. package/src/stringifyOpenAPI.ts +0 -25
  245. package/src/translate.tsx +0 -80
  246. package/src/translations/de.ts +0 -43
  247. package/src/translations/en.ts +0 -43
  248. package/src/translations/es.ts +0 -43
  249. package/src/translations/fr.ts +0 -43
  250. package/src/translations/index.ts +0 -33
  251. package/src/translations/ja.ts +0 -43
  252. package/src/translations/nl.ts +0 -43
  253. package/src/translations/no.ts +0 -43
  254. package/src/translations/pt-br.ts +0 -43
  255. package/src/translations/types.ts +0 -7
  256. package/src/translations/zh.ts +0 -43
  257. package/src/types.ts +0 -46
  258. package/src/util/example.tsx +0 -129
  259. package/src/util/server.test.ts +0 -58
  260. package/src/util/server.ts +0 -47
  261. package/src/util/tryit-prefill.test.ts +0 -311
  262. package/src/util/tryit-prefill.ts +0 -160
  263. package/src/utils.ts +0 -255
@@ -1,10 +1,15 @@
1
- import { type OpenAPIContextInput } from './context';
2
- import type { OpenAPIWebhookData } from './types';
1
+ import { OpenAPIContextInput } from "./context.js";
2
+ import { OpenAPIWebhookData } from "./types.js";
3
+ import * as react0 from "react";
4
+
5
+ //#region src/OpenAPIWebhook.d.ts
3
6
  /**
4
7
  * Display an interactive OpenAPI webhook.
5
8
  */
6
- export declare function OpenAPIWebhook(props: {
7
- className?: string;
8
- data: OpenAPIWebhookData;
9
- context: OpenAPIContextInput;
10
- }): import("react").JSX.Element;
9
+ declare function OpenAPIWebhook(props: {
10
+ className?: string;
11
+ data: OpenAPIWebhookData;
12
+ context: OpenAPIContextInput;
13
+ }): react0.JSX.Element;
14
+ //#endregion
15
+ export { OpenAPIWebhook };
@@ -0,0 +1,28 @@
1
+ import { resolveOpenAPIContext } from "./context.js";
2
+ import { OpenAPIColumnSpec } from "./common/OpenAPIColumnSpec.js";
3
+ import { OpenAPISummary } from "./common/OpenAPISummary.js";
4
+ import { OpenAPIWebhookExample } from "./OpenAPIWebhookExample.js";
5
+ import clsx from "classnames";
6
+
7
+ //#region src/OpenAPIWebhook.tsx
8
+ /**
9
+ * Display an interactive OpenAPI webhook.
10
+ */
11
+ function OpenAPIWebhook(props) {
12
+ const { className, data, context: contextInput } = props;
13
+ const context = resolveOpenAPIContext(contextInput);
14
+ return <div className={clsx("openapi-webhook", className)}>
15
+ <OpenAPISummary data={data} context={context} />
16
+ <div className="openapi-columns">
17
+ <OpenAPIColumnSpec data={data} context={context} />
18
+ <div className="openapi-column-preview">
19
+ <div className="openapi-column-preview-body">
20
+ <OpenAPIWebhookExample data={data} context={context} />
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>;
25
+ }
26
+
27
+ //#endregion
28
+ export { OpenAPIWebhook };
@@ -0,0 +1,40 @@
1
+ import { OpenAPIEmptyExample } from "./OpenAPIExample.js";
2
+ import { createStateKey } from "./utils.js";
3
+ import { getOpenAPIClientContext } from "./context.js";
4
+ import { getExamples } from "./util/example.js";
5
+ import { OpenAPIMediaTypeContent } from "./OpenAPIMediaType.js";
6
+
7
+ //#region src/OpenAPIWebhookExample.tsx
8
+ function OpenAPIWebhookExample(props) {
9
+ const { data, context } = props;
10
+ const { operation } = data;
11
+ const items = (() => {
12
+ if (!operation.requestBody) return [];
13
+ return Object.entries(operation.requestBody.content).map(([key, value]) => {
14
+ if (!value?.schema) return {
15
+ key,
16
+ label: key,
17
+ body: <OpenAPIEmptyExample context={context} />
18
+ };
19
+ return {
20
+ key,
21
+ label: key,
22
+ body: <></>,
23
+ examples: getExamples({
24
+ mediaTypeObject: value,
25
+ mediaType: key,
26
+ context
27
+ })
28
+ };
29
+ });
30
+ })();
31
+ return <div className="openapi-panel">
32
+ <h4 className="openapi-panel-heading">Payload</h4>
33
+ <div className="openapi-panel-body">
34
+ <OpenAPIMediaTypeContent selectIcon={context.icons.chevronDown} stateKey={createStateKey("request-body-media-type", context.blockKey)} items={items} context={getOpenAPIClientContext(context)} />
35
+ </div>
36
+ </div>;
37
+ }
38
+
39
+ //#endregion
40
+ export { OpenAPIWebhookExample };
@@ -0,0 +1,87 @@
1
+ 'use client';
2
+
3
+
4
+ import { t } from "./translate.js";
5
+ import { useOpenAPIOperationContext } from "./OpenAPIOperationContext.js";
6
+ import { useOpenAPIPrefillContext } from "./OpenAPIPrefillContextProvider.js";
7
+ import { resolveTryItPrefillForOperation } from "./util/tryit-prefill.js";
8
+ import { Suspense, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
9
+ import { ApiClientModalProvider, useApiClientModal } from "@scalar/api-client-react";
10
+ import { createPortal } from "react-dom";
11
+
12
+ //#region src/ScalarApiButton.tsx
13
+ /**
14
+ * Button which launches the Scalar API Client
15
+ */
16
+ function ScalarApiButton(props) {
17
+ const { method, path, securities, servers, specUrl, context } = props;
18
+ const [isOpen, setIsOpen] = useState(false);
19
+ const controllerRef = useRef(null);
20
+ return <div className="scalar scalar-activate">
21
+ <button className="scalar-activate-button button" onClick={() => {
22
+ controllerRef.current?.openClient?.();
23
+ setIsOpen(true);
24
+ }}>
25
+ {t(context.translation, "test_it")}
26
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 12" fill="currentColor">
27
+ <path stroke="currentColor" strokeWidth="1.5" d="M1 10.05V1.43c0-.2.2-.31.37-.22l7.26 4.08c.17.1.17.33.01.43l-7.26 4.54a.25.25 0 0 1-.38-.21Z" />
28
+ </svg>
29
+ </button>
30
+
31
+ {isOpen && createPortal(<Suspense fallback={null}>
32
+ <ScalarModal controllerRef={controllerRef} method={method} path={path} securities={securities} servers={servers} specUrl={specUrl} />
33
+ </Suspense>, document.body)}
34
+ </div>;
35
+ }
36
+ function ScalarModal(props) {
37
+ const { method, path, securities, servers, specUrl, controllerRef } = props;
38
+ const prefillInputContext = useOpenAPIPrefillContext()();
39
+ const prefillConfig = resolveTryItPrefillForOperation({
40
+ operation: {
41
+ securities,
42
+ servers
43
+ },
44
+ prefillInputContext
45
+ });
46
+ return <ApiClientModalProvider configuration={{
47
+ url: specUrl,
48
+ ...prefillConfig
49
+ }} initialRequest={{
50
+ method,
51
+ path
52
+ }}>
53
+ <ScalarModalController method={method} path={path} controllerRef={controllerRef} />
54
+ </ApiClientModalProvider>;
55
+ }
56
+ function ScalarModalController(props) {
57
+ const { method, path, controllerRef } = props;
58
+ const openScalarClient = useApiClientModal()?.open;
59
+ const { onOpenClient: trackClientOpening } = useOpenAPIOperationContext();
60
+ const openClient = useMemo(() => {
61
+ if (openScalarClient) return () => {
62
+ openScalarClient({
63
+ method,
64
+ path,
65
+ _source: "gitbook"
66
+ });
67
+ trackClientOpening({
68
+ method,
69
+ path
70
+ });
71
+ };
72
+ return null;
73
+ }, [
74
+ openScalarClient,
75
+ method,
76
+ path,
77
+ trackClientOpening
78
+ ]);
79
+ useImperativeHandle(controllerRef, () => ({ openClient: openClient ? () => openClient() : void 0 }), [openClient]);
80
+ useEffect(() => {
81
+ openClient?.();
82
+ }, [openClient]);
83
+ return null;
84
+ }
85
+
86
+ //#endregion
87
+ export { ScalarApiButton };
@@ -0,0 +1,37 @@
1
+ import clsx from "classnames";
2
+ import { forwardRef } from "react";
3
+
4
+ //#region src/StaticSection.tsx
5
+ function Section(props) {
6
+ return <div {...props} className={clsx("openapi-section", props.className)} />;
7
+ }
8
+ function SectionHeader(props) {
9
+ return <div {...props} className={clsx("openapi-section-header", props.className ? `${props.className}-header` : void 0)} />;
10
+ }
11
+ function SectionHeaderContent(props) {
12
+ return <div {...props} className={clsx("openapi-section-header-content", props.className && `${props.className}-header-content`)} />;
13
+ }
14
+ const SectionBody = forwardRef(function SectionBody$1(props, ref) {
15
+ return <div ref={ref} {...props} className={clsx("openapi-section-body", props.className && `${props.className}-body`)} />;
16
+ });
17
+ function SectionFooter(props) {
18
+ return <div {...props} className={clsx("openapi-section-footer", props.className && `${props.className}-footer`)} />;
19
+ }
20
+ function SectionFooterContent(props) {
21
+ return <div {...props} className={clsx("openapi-section-footer-content", props.className && `${props.className}-footer-content`)} />;
22
+ }
23
+ function StaticSection(props) {
24
+ const { className, header, children, footer } = props;
25
+ return <Section className={className}>
26
+ {header ? <SectionHeader className={className}>
27
+ <SectionHeaderContent className={className}>{header}</SectionHeaderContent>
28
+ </SectionHeader> : null}
29
+ <SectionBody className={className}>{children}</SectionBody>
30
+ {footer ? <SectionFooter className={className}>
31
+ <SectionFooterContent className={className}>{footer}</SectionFooterContent>
32
+ </SectionFooter> : null}
33
+ </Section>;
34
+ }
35
+
36
+ //#endregion
37
+ export { Section, SectionBody, SectionHeader, SectionHeaderContent, StaticSection };