@mintlify/msft-sdk 1.1.23 → 1.1.24

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 (331) hide show
  1. package/dist/api-playground/ApiPlayground/Request/BodySection.js +65 -0
  2. package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +1 -0
  3. package/dist/api-playground/ApiPlayground/Request/ParameterSection.js +33 -0
  4. package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +1 -0
  5. package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js +201 -0
  6. package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +1 -0
  7. package/dist/api-playground/ApiPlayground/Request/SecuritySection.js +147 -0
  8. package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +1 -0
  9. package/dist/api-playground/ApiPlayground/Request/ServerSection.js +31 -0
  10. package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +1 -0
  11. package/dist/api-playground/ApiPlayground/Request/index.js +44 -0
  12. package/dist/api-playground/ApiPlayground/Request/index.js.map +1 -0
  13. package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js +94 -0
  14. package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +1 -0
  15. package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js +91 -0
  16. package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js.map +1 -0
  17. package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js +63 -0
  18. package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +1 -0
  19. package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js +34 -0
  20. package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +1 -0
  21. package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js +62 -0
  22. package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +1 -0
  23. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js +110 -0
  24. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js.map +1 -0
  25. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js +88 -0
  26. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +1 -0
  27. package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js +62 -0
  28. package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +1 -0
  29. package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js +55 -0
  30. package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +1 -0
  31. package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js +68 -0
  32. package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +1 -0
  33. package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js +45 -0
  34. package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +1 -0
  35. package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js +7 -0
  36. package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +1 -0
  37. package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js +45 -0
  38. package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +1 -0
  39. package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js +54 -0
  40. package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +1 -0
  41. package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js +15 -0
  42. package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +1 -0
  43. package/dist/api-playground/ApiPlayground/Response/ResponseError.js +14 -0
  44. package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +1 -0
  45. package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js +12 -0
  46. package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +1 -0
  47. package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js +20 -0
  48. package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +1 -0
  49. package/dist/api-playground/ApiPlayground/Response/ResponseTable.js +21 -0
  50. package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +1 -0
  51. package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js +93 -0
  52. package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +1 -0
  53. package/dist/api-playground/ApiPlayground/Response/index.js +80 -0
  54. package/dist/api-playground/ApiPlayground/Response/index.js.map +1 -0
  55. package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js +24 -0
  56. package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js.map +1 -0
  57. package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js +45 -0
  58. package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +1 -0
  59. package/dist/api-playground/ApiPlayground/components/ArrayCount.js +18 -0
  60. package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +1 -0
  61. package/dist/api-playground/ApiPlayground/components/BasePathSelector.js +40 -0
  62. package/dist/api-playground/ApiPlayground/components/BasePathSelector.js.map +1 -0
  63. package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js +44 -0
  64. package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js.map +1 -0
  65. package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js +45 -0
  66. package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +1 -0
  67. package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js +39 -0
  68. package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js.map +1 -0
  69. package/dist/api-playground/ApiPlayground/components/InputContainer.js +129 -0
  70. package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +1 -0
  71. package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js +60 -0
  72. package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +1 -0
  73. package/dist/api-playground/ApiPlayground/components/ModalHeader.js +16 -0
  74. package/dist/api-playground/ApiPlayground/components/ModalHeader.js.map +1 -0
  75. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js +29 -0
  76. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +1 -0
  77. package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js +20 -0
  78. package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js.map +1 -0
  79. package/dist/api-playground/ApiPlayground/components/PathHeader.js +163 -0
  80. package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +1 -0
  81. package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js +59 -0
  82. package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +1 -0
  83. package/dist/api-playground/ApiPlayground/components/PrettyPath.js +50 -0
  84. package/dist/api-playground/ApiPlayground/components/PrettyPath.js.map +1 -0
  85. package/dist/api-playground/ApiPlayground/components/SendPill.js +40 -0
  86. package/dist/api-playground/ApiPlayground/components/SendPill.js.map +1 -0
  87. package/dist/api-playground/ApiPlayground/components/TrashButton.js +27 -0
  88. package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +1 -0
  89. package/dist/api-playground/ApiPlayground/components/TypeDropdown.js +53 -0
  90. package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +1 -0
  91. package/dist/api-playground/ApiPlayground/index.js +68 -0
  92. package/dist/api-playground/ApiPlayground/index.js.map +1 -0
  93. package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js +51 -0
  94. package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js.map +1 -0
  95. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js +20 -0
  96. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js.map +1 -0
  97. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js +19 -0
  98. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +1 -0
  99. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js +29 -0
  100. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +1 -0
  101. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js +6 -0
  102. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +1 -0
  103. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +13 -0
  104. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -0
  105. package/dist/api-playground/EndpointFields/components/Description.js +13 -0
  106. package/dist/api-playground/EndpointFields/components/Description.js.map +1 -0
  107. package/dist/api-playground/EndpointFields/components/OneOfDropdown.js +20 -0
  108. package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +1 -0
  109. package/dist/api-playground/EndpointFields/components/OptionDropdown.js +36 -0
  110. package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +1 -0
  111. package/dist/api-playground/EndpointFields/components/SectionHeading.js +44 -0
  112. package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +1 -0
  113. package/dist/api-playground/EndpointFields/index.js +7 -0
  114. package/dist/api-playground/EndpointFields/index.js.map +1 -0
  115. package/dist/api-playground-2/Api.js +13 -0
  116. package/dist/api-playground-2/Api.js.map +1 -0
  117. package/dist/api-playground-2/ApiExamples.js +19 -18
  118. package/dist/api-playground-2/ApiExamples.js.map +1 -1
  119. package/dist/api-playground-2/ApiFields.js +253 -0
  120. package/dist/api-playground-2/ApiFields.js.map +1 -0
  121. package/dist/api-playground-2/EndpointHeader.js +52 -0
  122. package/dist/api-playground-2/EndpointHeader.js.map +1 -0
  123. package/dist/api-playground-2/OperationPage.js +101 -0
  124. package/dist/api-playground-2/OperationPage.js.map +1 -0
  125. package/dist/api-playground-2/Playground.js +136 -0
  126. package/dist/api-playground-2/Playground.js.map +1 -0
  127. package/dist/api-playground-2/SchemaPage.js +14 -0
  128. package/dist/api-playground-2/SchemaPage.js.map +1 -0
  129. package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js +88 -0
  130. package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +1 -0
  131. package/dist/api-playground-2/components/EndpointFields/fields/Enum.js +16 -0
  132. package/dist/api-playground-2/components/EndpointFields/fields/Enum.js.map +1 -0
  133. package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js +21 -0
  134. package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +1 -0
  135. package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js +57 -0
  136. package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +1 -0
  137. package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js +90 -0
  138. package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +1 -0
  139. package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js +122 -0
  140. package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +1 -0
  141. package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js +75 -0
  142. package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +1 -0
  143. package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js +253 -0
  144. package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js.map +1 -0
  145. package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js +28 -0
  146. package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +1 -0
  147. package/dist/api-playground-2/components/Example/GeneratedRequestExample.js +101 -114
  148. package/dist/api-playground-2/components/Example/GeneratedRequestExample.js.map +1 -1
  149. package/dist/api-playground-2/components/Request/BodySection.js +41 -0
  150. package/dist/api-playground-2/components/Request/BodySection.js.map +1 -0
  151. package/dist/api-playground-2/components/Request/InputSectionContainer.js +66 -0
  152. package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +1 -0
  153. package/dist/api-playground-2/components/Request/ParameterSection.js +36 -0
  154. package/dist/api-playground-2/components/Request/ParameterSection.js.map +1 -0
  155. package/dist/api-playground-2/components/Request/SecuritySection.js +55 -0
  156. package/dist/api-playground-2/components/Request/SecuritySection.js.map +1 -0
  157. package/dist/api-playground-2/components/Request/ServerSection.js +33 -0
  158. package/dist/api-playground-2/components/Request/ServerSection.js.map +1 -0
  159. package/dist/api-playground-2/components/Request/inputs/ArrayInput.js +55 -0
  160. package/dist/api-playground-2/components/Request/inputs/ArrayInput.js.map +1 -0
  161. package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js +48 -0
  162. package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js.map +1 -0
  163. package/dist/api-playground-2/components/Request/inputs/FileInput.js +43 -0
  164. package/dist/api-playground-2/components/Request/inputs/FileInput.js.map +1 -0
  165. package/dist/api-playground-2/components/Request/inputs/InputContainer.js +127 -0
  166. package/dist/api-playground-2/components/Request/inputs/InputContainer.js.map +1 -0
  167. package/dist/api-playground-2/components/Request/inputs/NullInput.js +15 -0
  168. package/dist/api-playground-2/components/Request/inputs/NullInput.js.map +1 -0
  169. package/dist/api-playground-2/components/Request/inputs/NumberInput.js +46 -0
  170. package/dist/api-playground-2/components/Request/inputs/NumberInput.js.map +1 -0
  171. package/dist/api-playground-2/components/Request/inputs/ObjectInput.js +104 -0
  172. package/dist/api-playground-2/components/Request/inputs/ObjectInput.js.map +1 -0
  173. package/dist/api-playground-2/components/Request/inputs/OneOfInput.js +77 -0
  174. package/dist/api-playground-2/components/Request/inputs/OneOfInput.js.map +1 -0
  175. package/dist/api-playground-2/components/Request/inputs/SelectInput.js +54 -0
  176. package/dist/api-playground-2/components/Request/inputs/SelectInput.js.map +1 -0
  177. package/dist/api-playground-2/components/Request/inputs/StringInput.js +44 -0
  178. package/dist/api-playground-2/components/Request/inputs/StringInput.js.map +1 -0
  179. package/dist/api-playground-2/components/Request/inputs/TextInput.js +29 -0
  180. package/dist/api-playground-2/components/Request/inputs/TextInput.js.map +1 -0
  181. package/dist/api-playground-2/components/TypeDropdown.js +48 -0
  182. package/dist/api-playground-2/components/TypeDropdown.js.map +1 -0
  183. package/dist/api-playground-2/constants/index.js +6 -4
  184. package/dist/api-playground-2/constants/index.js.map +1 -1
  185. package/dist/api-playground-2/contexts/ApiPlaygroundContext.js +11 -0
  186. package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +1 -0
  187. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +6 -6
  188. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +1 -1
  189. package/dist/api-playground-2/generators/generateSnippet.js +187 -36
  190. package/dist/api-playground-2/generators/generateSnippet.js.map +1 -1
  191. package/dist/api-playground-2/hooks/useCopyPathWithInputs.js +14 -0
  192. package/dist/api-playground-2/hooks/useCopyPathWithInputs.js.map +1 -0
  193. package/dist/api-playground-2/hooks/useInitializeInputs.js +101 -0
  194. package/dist/api-playground-2/hooks/useInitializeInputs.js.map +1 -0
  195. package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js +156 -0
  196. package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +1 -0
  197. package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js +57 -0
  198. package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js.map +1 -0
  199. package/dist/api-playground-2/schemaGraph/processExamples.js +41 -8
  200. package/dist/api-playground-2/schemaGraph/processExamples.js.map +1 -1
  201. package/dist/api-playground-2/schemaGraph/processSecurityOptions.js +107 -0
  202. package/dist/api-playground-2/schemaGraph/processSecurityOptions.js.map +1 -0
  203. package/dist/api-playground-2/schemaGraph/utils.js +195 -43
  204. package/dist/api-playground-2/schemaGraph/utils.js.map +1 -1
  205. package/dist/api-playground-2/types/index.js +118 -0
  206. package/dist/api-playground-2/types/index.js.map +1 -0
  207. package/dist/common/guards.js +32 -6
  208. package/dist/common/guards.js.map +1 -1
  209. package/dist/common/potentiallyParseOpenApiString.js +25 -0
  210. package/dist/common/potentiallyParseOpenApiString.js.map +1 -0
  211. package/dist/common/replaceSlashIndex.js +7 -0
  212. package/dist/common/replaceSlashIndex.js.map +1 -0
  213. package/dist/common/slugToTitle.js +11 -0
  214. package/dist/common/slugToTitle.js.map +1 -0
  215. package/dist/components/Api/Expandable.js +119 -0
  216. package/dist/components/Api/Expandable.js.map +1 -0
  217. package/dist/components/Api/Markdown.js +66 -0
  218. package/dist/components/Api/Markdown.js.map +1 -0
  219. package/dist/components/Api/Param.js +191 -0
  220. package/dist/components/Api/Param.js.map +1 -0
  221. package/dist/components/content-components/code-block.js +68 -61
  222. package/dist/components/content-components/code-block.js.map +1 -1
  223. package/dist/components/content-components/code-group.js +36 -25
  224. package/dist/components/content-components/code-group.js.map +1 -1
  225. package/dist/components/content-components/getNodeText.js +5 -0
  226. package/dist/components/content-components/getNodeText.js.map +1 -0
  227. package/dist/constants/index.js +5 -0
  228. package/dist/constants/index.js.map +1 -0
  229. package/dist/constants/zIndex.js +7 -0
  230. package/dist/constants/zIndex.js.map +1 -0
  231. package/dist/contexts/ApiPlaygroundInputsContext.js +18 -0
  232. package/dist/contexts/ApiPlaygroundInputsContext.js.map +1 -0
  233. package/dist/contexts/ConfigContext.js +2 -3
  234. package/dist/contexts/ConfigContext.js.map +1 -1
  235. package/dist/contexts/EndpointLocationContext.js +18 -0
  236. package/dist/contexts/EndpointLocationContext.js.map +1 -0
  237. package/dist/contexts/MDXContentContext.js +19 -0
  238. package/dist/contexts/MDXContentContext.js.map +1 -0
  239. package/dist/env.js +6 -1
  240. package/dist/env.js.map +1 -1
  241. package/dist/hooks/useApiPlaygroundInputs.js +7 -0
  242. package/dist/hooks/useApiPlaygroundInputs.js.map +1 -0
  243. package/dist/hooks/useApiPlaygroundPrefillExamples.js +40 -0
  244. package/dist/hooks/useApiPlaygroundPrefillExamples.js.map +1 -0
  245. package/dist/hooks/useBaseUrlOptions.js +19 -0
  246. package/dist/hooks/useBaseUrlOptions.js.map +1 -0
  247. package/dist/hooks/useCheckHash.js +18 -0
  248. package/dist/hooks/useCheckHash.js.map +1 -0
  249. package/dist/hooks/useComponentSchemas.js +10 -0
  250. package/dist/hooks/useComponentSchemas.js.map +1 -0
  251. package/dist/hooks/useCurrentPath.js +17 -0
  252. package/dist/hooks/useCurrentPath.js.map +1 -0
  253. package/dist/hooks/useEndpoint.js +3 -3
  254. package/dist/hooks/useExpandableMemory.js +46 -0
  255. package/dist/hooks/useExpandableMemory.js.map +1 -0
  256. package/dist/hooks/useGenerateNextAdditionalProperties.js +12 -0
  257. package/dist/hooks/useGenerateNextAdditionalProperties.js.map +1 -0
  258. package/dist/hooks/useGenerateNextItems.js +12 -0
  259. package/dist/hooks/useGenerateNextItems.js.map +1 -0
  260. package/dist/hooks/useGenerateNextProperties.js +12 -0
  261. package/dist/hooks/useGenerateNextProperties.js.map +1 -0
  262. package/dist/hooks/useKeyboardShortcut.js +26 -0
  263. package/dist/hooks/useKeyboardShortcut.js.map +1 -0
  264. package/dist/hooks/useMDXContent.js +7 -0
  265. package/dist/hooks/useMDXContent.js.map +1 -0
  266. package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js +10 -0
  267. package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +1 -0
  268. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js +16 -0
  269. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +1 -0
  270. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js +16 -0
  271. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +1 -0
  272. package/dist/hooks/usePlaygroundSchemaOptions.js +43 -0
  273. package/dist/hooks/usePlaygroundSchemaOptions.js.map +1 -0
  274. package/dist/hooks/usePrefilledInputs/index.js +66 -0
  275. package/dist/hooks/usePrefilledInputs/index.js.map +1 -0
  276. package/dist/hooks/usePrefilledInputs/storedServerVariables.js +30 -0
  277. package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +1 -0
  278. package/dist/hooks/useSecurityOption.js +11 -0
  279. package/dist/hooks/useSecurityOption.js.map +1 -0
  280. package/dist/hooks/useSendPlaygroundRequest.js +146 -15
  281. package/dist/hooks/useSendPlaygroundRequest.js.map +1 -1
  282. package/dist/hooks/useSetDefaultValue.js +64 -0
  283. package/dist/hooks/useSetDefaultValue.js.map +1 -0
  284. package/dist/index.d.ts +281 -0
  285. package/dist/index.js +143 -108
  286. package/dist/index.js.map +1 -1
  287. package/dist/openapi/filterEnums.js +21 -0
  288. package/dist/openapi/filterEnums.js.map +1 -0
  289. package/dist/openapi/generateNextAdditionalProperties.js +8 -0
  290. package/dist/openapi/generateNextAdditionalProperties.js.map +1 -0
  291. package/dist/openapi/generateNextItems.js +8 -0
  292. package/dist/openapi/generateNextItems.js.map +1 -0
  293. package/dist/openapi/generateNextProperties.js +24 -0
  294. package/dist/openapi/generateNextProperties.js.map +1 -0
  295. package/dist/openapi/generateOptionLabels.js +21 -0
  296. package/dist/openapi/generateOptionLabels.js.map +1 -0
  297. package/dist/openapi/generateSimpleLabels.js +5 -0
  298. package/dist/openapi/generateSimpleLabels.js.map +1 -0
  299. package/dist/openapi/generateTypeStringFromSchema.js +34 -0
  300. package/dist/openapi/generateTypeStringFromSchema.js.map +1 -0
  301. package/dist/openapi/getAuthFilteredSchemaArray.js +19 -0
  302. package/dist/openapi/getAuthFilteredSchemaArray.js.map +1 -0
  303. package/dist/paths/isEqualIgnoringLeadingSlash.js +22 -0
  304. package/dist/paths/isEqualIgnoringLeadingSlash.js.map +1 -0
  305. package/dist/paths/optionallyRemoveLeadingSlash.js +7 -0
  306. package/dist/paths/optionallyRemoveLeadingSlash.js.map +1 -0
  307. package/dist/paths/optionallyRemoveTrailingSlash.js +7 -0
  308. package/dist/paths/optionallyRemoveTrailingSlash.js.map +1 -0
  309. package/dist/utils/api-playground/defaults.js +16 -0
  310. package/dist/utils/api-playground/defaults.js.map +1 -0
  311. package/dist/utils/api-playground/paramFieldDefaults.js +11 -0
  312. package/dist/utils/api-playground/paramFieldDefaults.js.map +1 -0
  313. package/dist/utils/api-reference/getFilteredSecurityOptions.js +5 -0
  314. package/dist/utils/api-reference/getFilteredSecurityOptions.js.map +1 -0
  315. package/dist/utils/api-reference/getNextPropertiesByType.js +6 -0
  316. package/dist/utils/api-reference/getNextPropertiesByType.js.map +1 -0
  317. package/dist/utils/containsMarkdownTable.js +5 -0
  318. package/dist/utils/containsMarkdownTable.js.map +1 -0
  319. package/dist/utils/copyToClipboard.js +12 -0
  320. package/dist/utils/copyToClipboard.js.map +1 -0
  321. package/dist/utils/decodeSlug.js +8 -0
  322. package/dist/utils/decodeSlug.js.map +1 -0
  323. package/dist/utils/flattenObject.js +11 -0
  324. package/dist/utils/flattenObject.js.map +1 -0
  325. package/dist/utils/formatJSON.js +39 -0
  326. package/dist/utils/formatJSON.js.map +1 -0
  327. package/dist/utils/optionallyAddLeadingSlash.js +7 -0
  328. package/dist/utils/optionallyAddLeadingSlash.js.map +1 -0
  329. package/dist/utils/scrollElementIntoView.js +21 -0
  330. package/dist/utils/scrollElementIntoView.js.map +1 -0
  331. package/package.json +10 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandableMemory.js","sources":["../../src/hooks/useExpandableMemory.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst USER_TOGGLED_EXPANDABLES_KEY = 'user_toggled_expandables';\n\nconst getManuallyToggledExpandables = (): Record<string, boolean> => {\n try {\n const manuallyToggledExpandables = sessionStorage.getItem(USER_TOGGLED_EXPANDABLES_KEY);\n return manuallyToggledExpandables ? JSON.parse(manuallyToggledExpandables) : {};\n } catch {\n return {};\n }\n};\n\nconst saveManuallyToggledState = (id: string, isExpanded: boolean) => {\n try {\n const current = getManuallyToggledExpandables();\n const updated = { ...current, [id]: isExpanded };\n sessionStorage.setItem(USER_TOGGLED_EXPANDABLES_KEY, JSON.stringify(updated));\n } catch {\n // silently fail if setItem() fails\n }\n};\n\nexport const useExpandableMemory = (id: string | undefined, defaultExpanded = false) => {\n const ref = useRef<HTMLDivElement>(null);\n\n // track if user manually clicked the expandable\n const [manuallyChanged, setManuallyChanged] = useState(false);\n\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n\n useEffect(() => {\n if (!id) return;\n\n const manuallyToggledExpandables = getManuallyToggledExpandables();\n if (id in manuallyToggledExpandables) {\n setIsExpanded(!!manuallyToggledExpandables[id]);\n setManuallyChanged(true);\n }\n }, [id]);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries[0]) {\n // Only auto-expand if the user hasn't manually clicked the expandable\n // Don't update visibility state constantly during scroll\n if (entries[0].isIntersecting && !manuallyChanged && defaultExpanded) {\n setIsExpanded((prev) => (!prev ? true : prev));\n }\n }\n },\n {\n rootMargin: '100px',\n threshold: 0,\n }\n );\n\n const currentRef = ref.current;\n if (currentRef) {\n observer.observe(currentRef);\n }\n\n return () => {\n if (currentRef) {\n observer.unobserve(currentRef);\n }\n };\n }, [manuallyChanged, defaultExpanded]);\n\n const onManualToggle = useCallback(\n (expanded: boolean) => {\n setIsExpanded(expanded);\n setManuallyChanged(true);\n\n if (id) {\n saveManuallyToggledState(id, expanded);\n }\n },\n [id]\n );\n\n return { ref, isExpanded, onManualToggle };\n};\n"],"names":["USER_TOGGLED_EXPANDABLES_KEY","getManuallyToggledExpandables","manuallyToggledExpandables","saveManuallyToggledState","id","isExpanded","updated","useExpandableMemory","defaultExpanded","ref","useRef","manuallyChanged","setManuallyChanged","useState","setIsExpanded","useEffect","observer","entries","prev","currentRef","onManualToggle","useCallback","expanded"],"mappings":";AAEA,MAAMA,IAA+B,4BAE/BC,IAAgC,MAA+B;AACnE,MAAI;AACF,UAAMC,IAA6B,eAAe,QAAQF,CAA4B;AACtF,WAAOE,IAA6B,KAAK,MAAMA,CAA0B,IAAI,CAAA;AAAA,EAC/E,QAAS;AACP,WAAO,CAAA;AAAA,EACT;AACF,GAEMC,IAA2B,CAACC,GAAYC,MAAwB;AACpE,MAAI;AAEF,UAAMC,IAAU,EAAE,GADFL,EAAA,GACc,CAACG,CAAE,GAAGC,EAAA;AACpC,mBAAe,QAAQL,GAA8B,KAAK,UAAUM,CAAO,CAAC;AAAA,EAC9E,QAAQ;AAAA,EAER;AACF,GAEaC,IAAsB,CAACH,GAAwBI,IAAkB,OAAU;AACtF,QAAMC,IAAMC,EAAuB,IAAI,GAGjC,CAACC,GAAiBC,CAAkB,IAAIC,EAAS,EAAK,GAEtD,CAACR,GAAYS,CAAa,IAAID,EAASL,CAAe;AAE5D,EAAAO,EAAU,MAAM;AACd,QAAI,CAACX,EAAI;AAET,UAAMF,IAA6BD,EAAA;AACnC,IAAIG,KAAMF,MACRY,EAAc,CAAC,CAACZ,EAA2BE,CAAE,CAAC,GAC9CQ,EAAmB,EAAI;AAAA,EAE3B,GAAG,CAACR,CAAE,CAAC,GAEPW,EAAU,MAAM;AACd,UAAMC,IAAW,IAAI;AAAA,MACnB,CAACC,MAAY;AACX,QAAIA,EAAQ,CAAC,KAGPA,EAAQ,CAAC,EAAE,kBAAkB,CAACN,KAAmBH,KACnDM,EAAc,CAACI,MAAWA,KAAO,EAAY;AAAA,MAGnD;AAAA,MACA;AAAA,QACE,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IACb,GAGIC,IAAaV,EAAI;AACvB,WAAIU,KACFH,EAAS,QAAQG,CAAU,GAGtB,MAAM;AACX,MAAIA,KACFH,EAAS,UAAUG,CAAU;AAAA,IAEjC;AAAA,EACF,GAAG,CAACR,GAAiBH,CAAe,CAAC;AAErC,QAAMY,IAAiBC;AAAA,IACrB,CAACC,MAAsB;AACrB,MAAAR,EAAcQ,CAAQ,GACtBV,EAAmB,EAAI,GAEnBR,KACFD,EAAyBC,GAAIkB,CAAQ;AAAA,IAEzC;AAAA,IACA,CAAClB,CAAE;AAAA,EAAA;AAGL,SAAO,EAAE,KAAAK,GAAK,YAAAJ,GAAY,gBAAAe,EAAA;AAC5B;"}
@@ -0,0 +1,12 @@
1
+ import { useMemo as r } from "react";
2
+ import { useEndpointLocation as n } from "../contexts/EndpointLocationContext.js";
3
+ import { generateNextAdditionalProperties as i } from "../openapi/generateNextAdditionalProperties.js";
4
+ import { useComponentSchemas as m } from "./useComponentSchemas.js";
5
+ function u(o) {
6
+ const e = m(), { location: t } = n();
7
+ return r(() => i(o, e, t), [o, e, t]);
8
+ }
9
+ export {
10
+ u as useGenerateNextAdditionalProperties
11
+ };
12
+ //# sourceMappingURL=useGenerateNextAdditionalProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGenerateNextAdditionalProperties.js","sources":["../../src/hooks/useGenerateNextAdditionalProperties.ts"],"sourcesContent":["import { IncrementalObjectSchema, ObjectSchema } from '@mintlify/validation';\nimport { useMemo } from 'react';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { generateNextAdditionalProperties } from '@/openapi/generateNextAdditionalProperties';\n\nimport { useComponentSchemas } from './useComponentSchemas';\n\nexport function useGenerateNextAdditionalProperties(\n schema: ObjectSchema | IncrementalObjectSchema\n) {\n const componentSchemas = useComponentSchemas();\n const { location } = useEndpointLocation();\n\n return useMemo(() => {\n return generateNextAdditionalProperties(schema, componentSchemas, location);\n }, [schema, componentSchemas, location]);\n}\n"],"names":["useGenerateNextAdditionalProperties","schema","componentSchemas","useComponentSchemas","location","useEndpointLocation","useMemo","generateNextAdditionalProperties"],"mappings":";;;;AAQO,SAASA,EACdC,GACA;AACA,QAAMC,IAAmBC,EAAA,GACnB,EAAE,UAAAC,EAAA,IAAaC,EAAA;AAErB,SAAOC,EAAQ,MACNC,EAAiCN,GAAQC,GAAkBE,CAAQ,GACzE,CAACH,GAAQC,GAAkBE,CAAQ,CAAC;AACzC;"}
@@ -0,0 +1,12 @@
1
+ import { useMemo as n } from "react";
2
+ import { useEndpointLocation as r } from "../contexts/EndpointLocationContext.js";
3
+ import { generateNextItems as m } from "../openapi/generateNextItems.js";
4
+ import { useComponentSchemas as s } from "./useComponentSchemas.js";
5
+ function a(o) {
6
+ const e = s(), { location: t } = r();
7
+ return n(() => m(o, e, t), [o, e, t]);
8
+ }
9
+ export {
10
+ a as useGenerateNextItems
11
+ };
12
+ //# sourceMappingURL=useGenerateNextItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGenerateNextItems.js","sources":["../../src/hooks/useGenerateNextItems.ts"],"sourcesContent":["import { ArraySchema, IncrementalArraySchema } from '@mintlify/validation';\nimport { useMemo } from 'react';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { generateNextItems } from '@/openapi/generateNextItems';\n\nimport { useComponentSchemas } from './useComponentSchemas';\n\nexport function useGenerateNextItems(schema: ArraySchema | IncrementalArraySchema) {\n const componentSchemas = useComponentSchemas();\n const { location } = useEndpointLocation();\n\n return useMemo(() => {\n return generateNextItems(schema, componentSchemas, location);\n }, [schema, componentSchemas, location]);\n}\n"],"names":["useGenerateNextItems","schema","componentSchemas","useComponentSchemas","location","useEndpointLocation","useMemo","generateNextItems"],"mappings":";;;;AAQO,SAASA,EAAqBC,GAA8C;AACjF,QAAMC,IAAmBC,EAAA,GACnB,EAAE,UAAAC,EAAA,IAAaC,EAAA;AAErB,SAAOC,EAAQ,MACNC,EAAkBN,GAAQC,GAAkBE,CAAQ,GAC1D,CAACH,GAAQC,GAAkBE,CAAQ,CAAC;AACzC;"}
@@ -0,0 +1,12 @@
1
+ import { useMemo as r } from "react";
2
+ import { useEndpointLocation as n } from "../contexts/EndpointLocationContext.js";
3
+ import { generateNextProperties as m } from "../openapi/generateNextProperties.js";
4
+ import { useComponentSchemas as i } from "./useComponentSchemas.js";
5
+ function a(o) {
6
+ const e = i(), { location: t } = n();
7
+ return r(() => m(o, e, t), [o, e, t]);
8
+ }
9
+ export {
10
+ a as useGenerateNextProperties
11
+ };
12
+ //# sourceMappingURL=useGenerateNextProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGenerateNextProperties.js","sources":["../../src/hooks/useGenerateNextProperties.ts"],"sourcesContent":["import { IncrementalObjectSchema, ObjectSchema } from '@mintlify/validation';\nimport { useMemo } from 'react';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { generateNextProperties } from '@/openapi/generateNextProperties';\n\nimport { useComponentSchemas } from './useComponentSchemas';\n\nexport function useGenerateNextProperties(schema: ObjectSchema | IncrementalObjectSchema) {\n const componentSchemas = useComponentSchemas();\n const { location } = useEndpointLocation();\n\n return useMemo(() => {\n return generateNextProperties(schema, componentSchemas, location);\n }, [schema, componentSchemas, location]);\n}\n"],"names":["useGenerateNextProperties","schema","componentSchemas","useComponentSchemas","location","useEndpointLocation","useMemo","generateNextProperties"],"mappings":";;;;AAQO,SAASA,EAA0BC,GAAgD;AACxF,QAAMC,IAAmBC,EAAA,GACnB,EAAE,UAAAC,EAAA,IAAaC,EAAA;AAErB,SAAOC,EAAQ,MACNC,EAAuBN,GAAQC,GAAkBE,CAAQ,GAC/D,CAACH,GAAQC,GAAkBE,CAAQ,CAAC;AACzC;"}
@@ -0,0 +1,26 @@
1
+ import { useCallback as p, useEffect as w } from "react";
2
+ const d = ({
3
+ key: y,
4
+ callback: r,
5
+ isSingleKey: h,
6
+ excludedActiveElementId: u,
7
+ excludedActiveElements: f,
8
+ isDisabled: i
9
+ }) => {
10
+ const n = p(
11
+ (s) => {
12
+ if (i) return;
13
+ let t = !1;
14
+ const o = document.activeElement;
15
+ u && (t = !!(o != null && o.id) && u.includes(o.id)), f && !t && (t = f.includes(
16
+ o == null ? void 0 : o.tagName.toLowerCase()
17
+ )), s.key === y && (h || s.metaKey || s.ctrlKey) && !t && (s.preventDefault(), r == null || r());
18
+ },
19
+ [r, y, h, u, f, i]
20
+ );
21
+ w(() => (addEventListener("keydown", n), () => removeEventListener("keydown", n)), [n]);
22
+ };
23
+ export {
24
+ d as useKeyboardShortcut
25
+ };
26
+ //# sourceMappingURL=useKeyboardShortcut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcut.js","sources":["../../src/hooks/useKeyboardShortcut.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect } from 'react';\n\ntype UseKeyboardShortcutType = {\n key: string;\n callback: (() => void) | (() => Promise<void>) | undefined;\n isSingleKey?: boolean;\n excludedActiveElementId?: string[];\n excludedActiveElements?: (keyof HTMLElementTagNameMap)[];\n isDisabled?: boolean;\n};\n\nexport const useKeyboardShortcut = ({\n key,\n callback,\n isSingleKey,\n excludedActiveElementId,\n excludedActiveElements,\n isDisabled,\n}: UseKeyboardShortcutType) => {\n const onKeypress = useCallback(\n (event: KeyboardEvent) => {\n if (isDisabled) return;\n\n let shouldExclude = false;\n const activeElement = document.activeElement;\n\n if (excludedActiveElementId) {\n shouldExclude = !!activeElement?.id && excludedActiveElementId.includes(activeElement.id);\n }\n\n if (excludedActiveElements && !shouldExclude) {\n shouldExclude = excludedActiveElements.includes(\n \n activeElement?.tagName.toLowerCase() as keyof HTMLElementTagNameMap\n );\n }\n\n const isShortcut = event.key === key && (isSingleKey || event.metaKey || event.ctrlKey);\n if (isShortcut && !shouldExclude) {\n event.preventDefault();\n void callback?.();\n }\n },\n [callback, key, isSingleKey, excludedActiveElementId, excludedActiveElements, isDisabled]\n );\n\n useEffect(() => {\n addEventListener('keydown', onKeypress);\n return () => removeEventListener('keydown', onKeypress);\n }, [onKeypress]);\n};\n"],"names":["useKeyboardShortcut","key","callback","isSingleKey","excludedActiveElementId","excludedActiveElements","isDisabled","onKeypress","useCallback","event","shouldExclude","activeElement","useEffect"],"mappings":";AAaO,MAAMA,IAAsB,CAAC;AAAA,EAClC,KAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,YAAAC;AACF,MAA+B;AAC7B,QAAMC,IAAaC;AAAA,IACjB,CAACC,MAAyB;AACxB,UAAIH,EAAY;AAEhB,UAAII,IAAgB;AACpB,YAAMC,IAAgB,SAAS;AAE/B,MAAIP,MACFM,IAAgB,CAAC,EAACC,KAAA,QAAAA,EAAe,OAAMP,EAAwB,SAASO,EAAc,EAAE,IAGtFN,KAA0B,CAACK,MAC7BA,IAAgBL,EAAuB;AAAA,QAErCM,KAAA,gBAAAA,EAAe,QAAQ;AAAA,MAAY,IAIpBF,EAAM,QAAQR,MAAQE,KAAeM,EAAM,WAAWA,EAAM,YAC7D,CAACC,MACjBD,EAAM,eAAA,GACDP,KAAA,QAAAA;AAAA,IAET;AAAA,IACA,CAACA,GAAUD,GAAKE,GAAaC,GAAyBC,GAAwBC,CAAU;AAAA,EAAA;AAG1F,EAAAM,EAAU,OACR,iBAAiB,WAAWL,CAAU,GAC/B,MAAM,oBAAoB,WAAWA,CAAU,IACrD,CAACA,CAAU,CAAC;AACjB;"}
@@ -0,0 +1,7 @@
1
+ import { useContext as t } from "react";
2
+ import { MDXContentContext as o } from "../contexts/MDXContentContext.js";
3
+ const r = () => t(o);
4
+ export {
5
+ r as useMDXContent
6
+ };
7
+ //# sourceMappingURL=useMDXContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMDXContent.js","sources":["../../src/hooks/useMDXContent.ts"],"sourcesContent":["'use client';\n\nimport { useContext } from 'react';\n\nimport { MDXContentContext } from '../contexts/MDXContentContext';\n\nexport const useMDXContent = () => useContext(MDXContentContext);\n"],"names":["useMDXContent","useContext","MDXContentContext"],"mappings":";;AAMO,MAAMA,IAAgB,MAAMC,EAAWC,CAAiB;"}
@@ -0,0 +1,10 @@
1
+ import { useMemo as r } from "react";
2
+ import { useApiPlaygroundInputs as t } from "../useApiPlaygroundInputs.js";
3
+ const s = () => {
4
+ const [o] = t();
5
+ return r(() => o, [o]);
6
+ };
7
+ export {
8
+ s as useApiPlaygroundInputs
9
+ };
10
+ //# sourceMappingURL=useApiPlaygroundInputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiPlaygroundInputs.js","sources":["../../../src/hooks/useMDXContentController/useApiPlaygroundInputs.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { useApiPlaygroundInputs as useApiPlaygroundInputsCtx } from '@/hooks/useApiPlaygroundInputs';\n\nexport const useApiPlaygroundInputs = () => {\n const [context] = useApiPlaygroundInputsCtx();\n return useMemo(() => {\n return context;\n }, [context]);\n};\n"],"names":["useApiPlaygroundInputs","context","useApiPlaygroundInputsCtx","useMemo"],"mappings":";;AAMO,MAAMA,IAAyB,MAAM;AAC1C,QAAM,CAACC,CAAO,IAAIC,EAAA;AAClB,SAAOC,EAAQ,MACNF,GACN,CAACA,CAAO,CAAC;AACd;"}
@@ -0,0 +1,16 @@
1
+ import { useCallback as a } from "react";
2
+ import { useMDXContent as o } from "../../useMDXContent.js";
3
+ const n = () => {
4
+ const [, e] = o();
5
+ return a(
6
+ (t) => e({
7
+ type: "set_api_base_index",
8
+ payload: t
9
+ }),
10
+ [e]
11
+ );
12
+ };
13
+ export {
14
+ n as useSetApiBaseIndexCallback
15
+ };
16
+ //# sourceMappingURL=useSetApiBaseIndexCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSetApiBaseIndexCallback.js","sources":["../../../../src/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.ts"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { useMDXContent } from '@/hooks/useMDXContent';\n\nexport const useSetApiBaseIndexCallback = () => {\n const [, dispatch] = useMDXContent();\n return useCallback(\n (x: number) =>\n dispatch({\n type: 'set_api_base_index',\n payload: x,\n }),\n [dispatch]\n );\n};\n"],"names":["useSetApiBaseIndexCallback","dispatch","useMDXContent","useCallback","x"],"mappings":";;AAMO,MAAMA,IAA6B,MAAM;AAC9C,QAAM,CAAA,EAAGC,CAAQ,IAAIC,EAAA;AACrB,SAAOC;AAAA,IACL,CAACC,MACCH,EAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASG;AAAA,IAAA,CACV;AAAA,IACH,CAACH,CAAQ;AAAA,EAAA;AAEb;"}
@@ -0,0 +1,16 @@
1
+ import { useCallback as a } from "react";
2
+ import { useApiPlaygroundInputs as o } from "../../useApiPlaygroundInputs.js";
3
+ const u = () => {
4
+ const [, p] = o();
5
+ return a(
6
+ (t) => p({
7
+ type: "set_api_playground_inputs",
8
+ payload: t
9
+ }),
10
+ [p]
11
+ );
12
+ };
13
+ export {
14
+ u as useSetApiPlaygroundInputsCallback
15
+ };
16
+ //# sourceMappingURL=useSetApiPlaygroundInputsCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSetApiPlaygroundInputsCallback.js","sources":["../../../../src/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.ts"],"sourcesContent":["'use client';\n\nimport { ApiPlaygroundInputs } from '@mintlify/validation';\nimport { useCallback } from 'react';\n\nimport { useApiPlaygroundInputs } from '@/hooks/useApiPlaygroundInputs';\n\nexport const useSetApiPlaygroundInputsCallback = () => {\n const [, dispatch] = useApiPlaygroundInputs();\n return useCallback(\n (inputs: ApiPlaygroundInputs) =>\n dispatch({\n type: 'set_api_playground_inputs',\n payload: inputs,\n }),\n [dispatch]\n );\n};\n"],"names":["useSetApiPlaygroundInputsCallback","dispatch","useApiPlaygroundInputs","useCallback","inputs"],"mappings":";;AAOO,MAAMA,IAAoC,MAAM;AACrD,QAAM,CAAA,EAAGC,CAAQ,IAAIC,EAAA;AACrB,SAAOC;AAAA,IACL,CAACC,MACCH,EAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASG;AAAA,IAAA,CACV;AAAA,IACH,CAACH,CAAQ;AAAA,EAAA;AAEb;"}
@@ -0,0 +1,43 @@
1
+ import { useMemo as c } from "react";
2
+ import { generateOptionLabels as u } from "../openapi/generateOptionLabels.js";
3
+ import { useComponentSchemas as m } from "./useComponentSchemas.js";
4
+ const g = (t) => {
5
+ const n = m();
6
+ return c(() => t ? f(t, n, void 0) : [], [t, n]);
7
+ }, f = (t, n, s) => {
8
+ const i = t.some((e) => e.type === "null"), l = t.every((e) => e.type === "object"), a = u(
9
+ t,
10
+ n,
11
+ l,
12
+ i,
13
+ s
14
+ );
15
+ let o;
16
+ const r = [], p = [];
17
+ for (const e of t)
18
+ e.type === "any" ? o = o ?? e : r.push(e);
19
+ for (const e of a)
20
+ e === "any" ? p.push(null) : p.push(e);
21
+ if (o !== void 0) {
22
+ const e = {
23
+ description: o.description,
24
+ required: o.required
25
+ };
26
+ r.push(
27
+ { ...e, type: "string" },
28
+ { ...e, type: "number" },
29
+ { ...e, type: "boolean" },
30
+ { ...e, type: "object", properties: {} },
31
+ { ...e, type: "array", items: [{ type: "any" }] },
32
+ { ...e, type: "null" }
33
+ );
34
+ }
35
+ return r.map((e, y) => ({
36
+ schema: e,
37
+ label: p[y] ?? e.type
38
+ }));
39
+ };
40
+ export {
41
+ g as usePlaygroundSchemaOptions
42
+ };
43
+ //# sourceMappingURL=usePlaygroundSchemaOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePlaygroundSchemaOptions.js","sources":["../../src/hooks/usePlaygroundSchemaOptions.ts"],"sourcesContent":["'use client';\n\nimport {\n AnySchema,\n DataSchema,\n DataSchemaArray,\n IncrementalDataSchema,\n IncrementalDataSchemaArray,\n} from '@mintlify/validation';\nimport { useMemo } from 'react';\n\nimport { generateOptionLabels } from '@/openapi/generateOptionLabels';\nimport { ComponentSchemas } from '@/utils/api-reference/getApiReferenceData';\n\nimport { useComponentSchemas } from './useComponentSchemas';\n\nexport type NoAnyDataSchema = Exclude<DataSchema | IncrementalDataSchema, AnySchema>;\nexport type SchemaWithLabelInfo = {\n schema: NoAnyDataSchema;\n label: string;\n};\n\nexport const usePlaygroundSchemaOptions = (\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray | null\n) => {\n const componentSchemas = useComponentSchemas();\n return useMemo(() => {\n if (!schemaArray) return [];\n return getCleanSchemaArray(schemaArray, componentSchemas, undefined);\n }, [schemaArray, componentSchemas]);\n};\n\nconst getCleanSchemaArray = (\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray,\n componentSchemas: ComponentSchemas | undefined,\n userGroups: string[] | undefined\n): SchemaWithLabelInfo[] => {\n const nullable = schemaArray.some((schema) => schema.type === 'null');\n const allObjects = schemaArray.every((schema) => schema.type === 'object');\n\n const typeStrings = generateOptionLabels(\n schemaArray,\n componentSchemas,\n allObjects,\n nullable,\n userGroups,\n true\n );\n\n let firstAnySchema: AnySchema | undefined = undefined;\n\n // filter out all schemas with type `any`, while saving the first instance for meta info\n const filteredSchemaArray: NoAnyDataSchema[] = [];\n const filteredTypeStringArray: (string | null)[] = [];\n for (const schema of schemaArray) {\n if (schema.type === 'any') {\n firstAnySchema = firstAnySchema ?? schema;\n } else {\n filteredSchemaArray.push(schema);\n }\n }\n\n for (const typeString of typeStrings) {\n if (typeString === 'any') {\n filteredTypeStringArray.push(null);\n } else {\n filteredTypeStringArray.push(typeString);\n }\n }\n\n // push a bunch of schemas to represent the `any`\n if (firstAnySchema !== undefined) {\n const baseSchema: Pick<DataSchema, 'description' | 'required'> = {\n description: firstAnySchema.description,\n required: firstAnySchema.required,\n };\n\n // all schemas that aren't added here are subsets of these schemas (eg, integer is just a more restrictive number input)\n filteredSchemaArray.push(\n { ...baseSchema, type: 'string' },\n { ...baseSchema, type: 'number' },\n { ...baseSchema, type: 'boolean' },\n { ...baseSchema, type: 'object', properties: {} },\n { ...baseSchema, type: 'array', items: [{ type: 'any' }] },\n { ...baseSchema, type: 'null' }\n );\n }\n\n const typeLabelMappedSchemaArray = filteredSchemaArray.map((schema, i) => ({\n schema,\n label: filteredTypeStringArray[i] ?? schema.type,\n }));\n\n // return each schema-label pair, just using the type for schemas generated from the `any`\n return typeLabelMappedSchemaArray;\n};\n"],"names":["usePlaygroundSchemaOptions","schemaArray","componentSchemas","useComponentSchemas","useMemo","getCleanSchemaArray","userGroups","nullable","schema","allObjects","typeStrings","generateOptionLabels","firstAnySchema","filteredSchemaArray","filteredTypeStringArray","typeString","baseSchema","i"],"mappings":";;;AAsBO,MAAMA,IAA6B,CACxCC,MACG;AACH,QAAMC,IAAmBC,EAAA;AACzB,SAAOC,EAAQ,MACRH,IACEI,EAAoBJ,GAAaC,GAAkB,MAAS,IAD1C,CAAA,GAExB,CAACD,GAAaC,CAAgB,CAAC;AACpC,GAEMG,IAAsB,CAC1BJ,GACAC,GACAI,MAC0B;AAC1B,QAAMC,IAAWN,EAAY,KAAK,CAACO,MAAWA,EAAO,SAAS,MAAM,GAC9DC,IAAaR,EAAY,MAAM,CAACO,MAAWA,EAAO,SAAS,QAAQ,GAEnEE,IAAcC;AAAA,IAClBV;AAAA,IACAC;AAAA,IACAO;AAAA,IACAF;AAAA,IACAD;AAAA,EAEF;AAEA,MAAIM;AAGJ,QAAMC,IAAyC,CAAA,GACzCC,IAA6C,CAAA;AACnD,aAAWN,KAAUP;AACnB,IAAIO,EAAO,SAAS,QAClBI,IAAiBA,KAAkBJ,IAEnCK,EAAoB,KAAKL,CAAM;AAInC,aAAWO,KAAcL;AACvB,IAAIK,MAAe,QACjBD,EAAwB,KAAK,IAAI,IAEjCA,EAAwB,KAAKC,CAAU;AAK3C,MAAIH,MAAmB,QAAW;AAChC,UAAMI,IAA2D;AAAA,MAC/D,aAAaJ,EAAe;AAAA,MAC5B,UAAUA,EAAe;AAAA,IAAA;AAI3B,IAAAC,EAAoB;AAAA,MAClB,EAAE,GAAGG,GAAY,MAAM,SAAA;AAAA,MACvB,EAAE,GAAGA,GAAY,MAAM,SAAA;AAAA,MACvB,EAAE,GAAGA,GAAY,MAAM,UAAA;AAAA,MACvB,EAAE,GAAGA,GAAY,MAAM,UAAU,YAAY,CAAA,EAAC;AAAA,MAC9C,EAAE,GAAGA,GAAY,MAAM,SAAS,OAAO,CAAC,EAAE,MAAM,MAAA,CAAO,EAAA;AAAA,MACvD,EAAE,GAAGA,GAAY,MAAM,OAAA;AAAA,IAAO;AAAA,EAElC;AAQA,SANmCH,EAAoB,IAAI,CAACL,GAAQS,OAAO;AAAA,IACzE,QAAAT;AAAA,IACA,OAAOM,EAAwBG,CAAC,KAAKT,EAAO;AAAA,EAAA,EAC5C;AAIJ;"}
@@ -0,0 +1,66 @@
1
+ import { useState as S, useEffect as h } from "react";
2
+ import { loadServerVariableStore as n, storeServerVariables as f } from "./storedServerVariables.js";
3
+ function k({
4
+ inputs: e,
5
+ setInputs: a,
6
+ baseUrl: r,
7
+ securityOption: t,
8
+ userInfoInputs: o
9
+ }) {
10
+ const [v, s] = S();
11
+ h(() => {
12
+ s(n());
13
+ }, []), h(() => {
14
+ const c = d(t, void 0, o), m = i(r, v, o);
15
+ a({
16
+ ...c,
17
+ server: m,
18
+ path: e.path,
19
+ body: e.body
20
+ });
21
+ }, [v, o]), h(() => {
22
+ const c = d(t, void 0, o);
23
+ a({ ...e, ...c });
24
+ }, [t]), h(() => {
25
+ const c = i(r, v, o);
26
+ a({ ...e, server: c });
27
+ }, [r]), h(() => {
28
+ r && f(r, e.server, o);
29
+ }, [e.server]);
30
+ }
31
+ const d = (e, a, r) => {
32
+ const t = {
33
+ query: {},
34
+ header: {},
35
+ cookie: {}
36
+ };
37
+ if (!e)
38
+ return t;
39
+ for (const o of ["query", "header", "cookie"])
40
+ Object.entries(e.parameters[o]).forEach(([v, s]) => {
41
+ var c;
42
+ t[o][v] = l((c = r == null ? void 0 : r[o]) == null ? void 0 : c[v]);
43
+ });
44
+ return t;
45
+ }, l = (e, a) => e, i = (e, a, r) => {
46
+ const t = r == null ? void 0 : r.server, o = a && e ? a[e] : void 0;
47
+ return { ...t, ...o };
48
+ }, q = (e, a) => {
49
+ const r = {
50
+ query: {},
51
+ header: {},
52
+ cookie: {}
53
+ };
54
+ if (!e)
55
+ return r;
56
+ for (const t of ["query", "header", "cookie"])
57
+ Object.entries(e.parameters[t]).forEach(([o, v]) => {
58
+ });
59
+ return r;
60
+ };
61
+ export {
62
+ d as parseAuthInputs,
63
+ q as parseAuthInputsFromUserInfo,
64
+ k as usePrefilledInputs
65
+ };
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/usePrefilledInputs/index.ts"],"sourcesContent":["'use client';\n\nimport {\n ApiPlaygroundInputs,\n UserInfoInputs,\n SecurityOption,\n SecurityParameterSchema,\n} from '@mintlify/validation';\nimport { useEffect, useState } from 'react';\n\nimport {\n ServerVariableStore,\n loadServerVariableStore,\n storeServerVariables,\n} from './storedServerVariables';\n\nexport type SecurityInputs = Pick<ApiPlaygroundInputs, 'query' | 'header' | 'cookie'>;\n\ntype UsePrefilledInputsParams = {\n inputs: ApiPlaygroundInputs;\n setInputs: (inputs: ApiPlaygroundInputs) => void;\n baseUrl?: string;\n securityOption?: SecurityOption;\n userInfoInputs?: UserInfoInputs;\n};\n\nexport function usePrefilledInputs({\n inputs,\n setInputs,\n baseUrl,\n securityOption,\n userInfoInputs,\n}: UsePrefilledInputsParams) {\n const [serverVariableStore, setServerVariableStore] = useState<ServerVariableStore>();\n\n useEffect(() => {\n setServerVariableStore(loadServerVariableStore());\n }, []);\n\n useEffect(() => {\n const authInputs = parseAuthInputs(securityOption, undefined, userInfoInputs);\n const serverInputs = parseServerInputs(baseUrl, serverVariableStore, userInfoInputs);\n\n setInputs({\n ...authInputs,\n server: serverInputs,\n path: inputs.path,\n body: inputs.body,\n });\n // these values should only ever change on page load\n }, [serverVariableStore, userInfoInputs]);\n\n // load security variables\n useEffect(() => {\n const authInputs = parseAuthInputs(securityOption, undefined, userInfoInputs);\n setInputs({ ...inputs, ...authInputs });\n // we only want to update the security variables when the security option changes\n }, [securityOption]);\n\n\n\n // load server variables\n useEffect(() => {\n const serverInputs = parseServerInputs(baseUrl, serverVariableStore, userInfoInputs);\n setInputs({ ...inputs, server: serverInputs });\n // we only want to update the server variables when the base url changes\n }, [baseUrl]);\n\n // store server variables\n useEffect(() => {\n if (!baseUrl) return;\n storeServerVariables(baseUrl, inputs.server, userInfoInputs);\n // we only want to store the server variables when their values change\n }, [inputs.server]);\n}\n\nexport const parseAuthInputs = (\n securityOption: SecurityOption | undefined,\n credentialStore: SecurityInputs | undefined,\n userInfoInputs: UserInfoInputs | undefined\n): SecurityInputs => {\n const inputs: SecurityInputs = {\n query: {},\n header: {},\n cookie: {},\n };\n\n if (!securityOption) {\n return inputs;\n }\n\n for (const section of ['query', 'header', 'cookie'] as const) {\n Object.entries(securityOption.parameters[section]).forEach(([name, schema]) => {\n inputs[section][name] =\n credentialStore?.[section][name] ??\n cleanUserInfoValue(userInfoInputs?.[section]?.[name], schema);\n });\n }\n return inputs;\n};\n\n// do a bit of preprocessing for common auth types\nconst cleanUserInfoValue = (value: unknown, schema: SecurityParameterSchema) => {\n if (!value) return value;\n\n if (schema.type === 'http' && schema.scheme === 'basic') {\n if (typeof value === 'object') {\n const username =\n 'username' in value && typeof value.username === 'string' ? value.username : '';\n const password =\n 'password' in value && typeof value.password === 'string' ? value.password : '';\n return `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`;\n }\n return undefined;\n }\n\n if (schema.type === 'http' && schema.scheme === 'bearer') {\n if (typeof value === 'string') {\n return value.startsWith('Bearer ') ? value : `Bearer ${value}`;\n }\n return undefined;\n }\n\n return value;\n};\n\nconst parseServerInputs = (\n baseUrl: string | undefined,\n serverVariableStore: ServerVariableStore | undefined,\n userInfoInputs: UserInfoInputs | undefined\n): Record<string, string> => {\n const userInfoServerVariables = userInfoInputs?.server;\n const storedServerVariables =\n serverVariableStore && baseUrl ? serverVariableStore[baseUrl] : undefined;\n\n return { ...userInfoServerVariables, ...storedServerVariables };\n};\n\nexport const parseAuthInputsFromUserInfo = (\n securityOption: SecurityOption | undefined,\n userInfoInputs: UserInfoInputs | undefined\n): Pick<ApiPlaygroundInputs, 'query' | 'header' | 'cookie'> => {\n const inputs: Pick<ApiPlaygroundInputs, 'query' | 'header' | 'cookie'> = {\n query: {},\n header: {},\n cookie: {},\n };\n\n if (!securityOption) {\n return inputs;\n }\n\n for (const section of ['query', 'header', 'cookie'] as const) {\n Object.entries(securityOption.parameters[section]).forEach(([name, schema]) => {\n const userInfoValue = userInfoInputs?.[section]?.[name];\n if (userInfoValue !== undefined) {\n inputs[section][name] = cleanUserInfoValue(userInfoValue, schema);\n }\n });\n }\n return inputs;\n};\n"],"names":["usePrefilledInputs","inputs","setInputs","baseUrl","securityOption","userInfoInputs","serverVariableStore","setServerVariableStore","useState","useEffect","loadServerVariableStore","authInputs","parseAuthInputs","serverInputs","parseServerInputs","storeServerVariables","credentialStore","section","name","schema","cleanUserInfoValue","_a","value","userInfoServerVariables","storedServerVariables","parseAuthInputsFromUserInfo"],"mappings":";;AA0BO,SAASA,EAAmB;AAAA,EACjC,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,GAA6B;AAC3B,QAAM,CAACC,GAAqBC,CAAsB,IAAIC,EAAA;AAEtD,EAAAC,EAAU,MAAM;AACd,IAAAF,EAAuBG,GAAyB;AAAA,EAClD,GAAG,CAAA,CAAE,GAELD,EAAU,MAAM;AACd,UAAME,IAAaC,EAAgBR,GAAgB,QAAWC,CAAc,GACtEQ,IAAeC,EAAkBX,GAASG,GAAqBD,CAAc;AAEnF,IAAAH,EAAU;AAAA,MACR,GAAGS;AAAA,MACH,QAAQE;AAAA,MACR,MAAMZ,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,IAAA,CACd;AAAA,EAEH,GAAG,CAACK,GAAqBD,CAAc,CAAC,GAGxCI,EAAU,MAAM;AACd,UAAME,IAAaC,EAAgBR,GAAgB,QAAWC,CAAc;AAC5E,IAAAH,EAAU,EAAE,GAAGD,GAAQ,GAAGU,GAAY;AAAA,EAExC,GAAG,CAACP,CAAc,CAAC,GAKnBK,EAAU,MAAM;AACd,UAAMI,IAAeC,EAAkBX,GAASG,GAAqBD,CAAc;AACnF,IAAAH,EAAU,EAAE,GAAGD,GAAQ,QAAQY,GAAc;AAAA,EAE/C,GAAG,CAACV,CAAO,CAAC,GAGZM,EAAU,MAAM;AACd,IAAKN,KACLY,EAAqBZ,GAASF,EAAO,QAAQI,CAAc;AAAA,EAE7D,GAAG,CAACJ,EAAO,MAAM,CAAC;AACpB;AAEO,MAAMW,IAAkB,CAC7BR,GACAY,GACAX,MACmB;AACnB,QAAMJ,IAAyB;AAAA,IAC7B,OAAO,CAAA;AAAA,IACP,QAAQ,CAAA;AAAA,IACR,QAAQ,CAAA;AAAA,EAAC;AAGX,MAAI,CAACG;AACH,WAAOH;AAGT,aAAWgB,KAAW,CAAC,SAAS,UAAU,QAAQ;AAChD,WAAO,QAAQb,EAAe,WAAWa,CAAO,CAAC,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAM,MAAM;;AAC7E,MAAAlB,EAAOgB,CAAO,EAAEC,CAAI,IAElBE,GAAmBC,IAAAhB,KAAA,gBAAAA,EAAiBY,OAAjB,gBAAAI,EAA4BH,EAAa;AAAA,IAChE,CAAC;AAEH,SAAOjB;AACT,GAGMmB,IAAqB,CAACE,GAAgBH,MACvBG,GAuBfR,IAAoB,CACxBX,GACAG,GACAD,MAC2B;AAC3B,QAAMkB,IAA0BlB,KAAA,gBAAAA,EAAgB,QAC1CmB,IACJlB,KAAuBH,IAAUG,EAAoBH,CAAO,IAAI;AAElE,SAAO,EAAE,GAAGoB,GAAyB,GAAGC,EAAA;AAC1C,GAEaC,IAA8B,CACzCrB,GACAC,MAC6D;AAC7D,QAAMJ,IAAmE;AAAA,IACvE,OAAO,CAAA;AAAA,IACP,QAAQ,CAAA;AAAA,IACR,QAAQ,CAAA;AAAA,EAAC;AAGX,MAAI,CAACG;AACH,WAAOH;AAGT,aAAWgB,KAAW,CAAC,SAAS,UAAU,QAAQ;AAChD,WAAO,QAAQb,EAAe,WAAWa,CAAO,CAAC,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAM,MAAM;AAAA,IAK/E,CAAC;AAEH,SAAOlB;AACT;"}
@@ -0,0 +1,30 @@
1
+ const l = "mintlify-server-variables", S = (e) => typeof e != "object" || e == null ? !1 : Object.values(e).every(
2
+ (t) => typeof t == "object" && t !== null && Object.values(t).every((a) => typeof a == "string")
3
+ ), b = () => {
4
+ const e = localStorage.getItem(l);
5
+ if (e)
6
+ try {
7
+ const r = JSON.parse(e);
8
+ if (S(r))
9
+ return r;
10
+ } catch (r) {
11
+ console.log(`unable to parse stored server variables: ${r}`);
12
+ }
13
+ return {};
14
+ }, g = (e, r, t) => {
15
+ const a = Object.fromEntries(
16
+ Object.entries(r).filter(([c, i]) => {
17
+ var o;
18
+ return i && ((o = t == null ? void 0 : t.server) == null ? void 0 : o[c]) !== i;
19
+ })
20
+ ), s = {
21
+ ...b(),
22
+ [e]: a
23
+ }, n = JSON.stringify(s);
24
+ localStorage.setItem(l, n);
25
+ };
26
+ export {
27
+ b as loadServerVariableStore,
28
+ g as storeServerVariables
29
+ };
30
+ //# sourceMappingURL=storedServerVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storedServerVariables.js","sources":["../../../src/hooks/usePrefilledInputs/storedServerVariables.ts"],"sourcesContent":["'use client';\n\nimport { UserInfoInputs } from '@mintlify/validation';\n\nconst SERVERVARS_LOCALSTORAGE_KEY = 'mintlify-server-variables';\n\nexport type ServerVariableStore = Record<string, Record<string, string>>;\n\nconst isValidServerVariableStore = (info: unknown): info is ServerVariableStore => {\n if (typeof info !== 'object' || info == null) {\n return false;\n }\n\n const infoObj = info as Record<string, unknown>;\n return Object.values(infoObj).every(\n (inputMap) =>\n typeof inputMap === 'object' &&\n inputMap !== null &&\n Object.values(inputMap).every((input) => typeof input === 'string')\n );\n};\n\nexport const loadServerVariableStore = (): ServerVariableStore => {\n const inputString = localStorage.getItem(SERVERVARS_LOCALSTORAGE_KEY);\n\n if (inputString) {\n try {\n const inputs = JSON.parse(inputString);\n if (isValidServerVariableStore(inputs)) {\n return inputs;\n }\n } catch (e) {\n console.log(`unable to parse stored server variables: ${e}`);\n }\n }\n\n return {};\n};\n\nexport const storeServerVariables = (\n baseUrl: string,\n serverVariables: Record<string, string>,\n userInfoInputs: UserInfoInputs | undefined\n) => {\n // only store the variables that differ from those in user info\n const meaningfulServerVariables = Object.fromEntries(\n Object.entries(serverVariables).filter(([name, value]) => {\n return value && userInfoInputs?.server?.[name] !== value;\n })\n );\n\n const existingServerVariableStore = loadServerVariableStore();\n const newServerVariableStore = {\n ...existingServerVariableStore,\n [baseUrl]: meaningfulServerVariables,\n };\n const serverVariableString = JSON.stringify(newServerVariableStore);\n localStorage.setItem(SERVERVARS_LOCALSTORAGE_KEY, serverVariableString);\n};\n"],"names":["SERVERVARS_LOCALSTORAGE_KEY","isValidServerVariableStore","info","inputMap","input","loadServerVariableStore","inputString","inputs","e","storeServerVariables","baseUrl","serverVariables","userInfoInputs","meaningfulServerVariables","name","value","_a","newServerVariableStore","serverVariableString"],"mappings":"AAIA,MAAMA,IAA8B,6BAI9BC,IAA6B,CAACC,MAC9B,OAAOA,KAAS,YAAYA,KAAQ,OAC/B,KAIF,OAAO,OADEA,CACY,EAAE;AAAA,EAC5B,CAACC,MACC,OAAOA,KAAa,YACpBA,MAAa,QACb,OAAO,OAAOA,CAAQ,EAAE,MAAM,CAACC,MAAU,OAAOA,KAAU,QAAQ;AAAA,GAI3DC,IAA0B,MAA2B;AAChE,QAAMC,IAAc,aAAa,QAAQN,CAA2B;AAEpE,MAAIM;AACF,QAAI;AACF,YAAMC,IAAS,KAAK,MAAMD,CAAW;AACrC,UAAIL,EAA2BM,CAAM;AACnC,eAAOA;AAAA,IAEX,SAASC,GAAG;AACV,cAAQ,IAAI,4CAA4CA,CAAC,EAAE;AAAA,IAC7D;AAGF,SAAO,CAAA;AACT,GAEaC,IAAuB,CAClCC,GACAC,GACAC,MACG;AAEH,QAAMC,IAA4B,OAAO;AAAA,IACvC,OAAO,QAAQF,CAAe,EAAE,OAAO,CAAC,CAACG,GAAMC,CAAK,MAAM;AA1C9D,UAAAC;AA2CM,aAAOD,OAASC,IAAAJ,KAAA,gBAAAA,EAAgB,WAAhB,gBAAAI,EAAyBF,QAAUC;AAAA,IACrD,CAAC;AAAA,EAAA,GAIGE,IAAyB;AAAA,IAC7B,GAFkCZ,EAAA;AAAA,IAGlC,CAACK,CAAO,GAAGG;AAAA,EAAA,GAEPK,IAAuB,KAAK,UAAUD,CAAsB;AAClE,eAAa,QAAQjB,GAA6BkB,CAAoB;AACxE;"}
@@ -0,0 +1,11 @@
1
+ import { useState as c } from "react";
2
+ function u(e) {
3
+ const [t, o] = c(0);
4
+ return e.filter(
5
+ (n) => Object.values(n.parameters).some((s) => Object.keys(s).length > 0)
6
+ )[t];
7
+ }
8
+ export {
9
+ u as useSecurityOption
10
+ };
11
+ //# sourceMappingURL=useSecurityOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSecurityOption.js","sources":["../../src/hooks/useSecurityOption.ts"],"sourcesContent":["'use client';\n\nimport { SecurityOption } from '@mintlify/validation';\nimport { useState } from 'react';\n\n\nexport function useSecurityOption(baseOptions: SecurityOption[]) {\n const [selectedIndex, _setSelectedIndex] = useState(0);\n\n const nonemptyOptions = baseOptions.filter((option) =>\n Object.values(option.parameters).some((section) => Object.keys(section).length > 0)\n );\n\n const selectedSecurity = nonemptyOptions[selectedIndex];\n return selectedSecurity;\n}\n"],"names":["useSecurityOption","baseOptions","selectedIndex","_setSelectedIndex","useState","option","section"],"mappings":";AAMO,SAASA,EAAkBC,GAA+B;AAC/D,QAAM,CAACC,GAAeC,CAAiB,IAAIC,EAAS,CAAC;AAOrD,SALwBH,EAAY;AAAA,IAAO,CAACI,MACxC,OAAO,OAAOA,EAAO,UAAU,EAAE,KAAK,CAACC,MAAY,OAAO,KAAKA,CAAO,EAAE,SAAS,CAAC;AAAA,EAAA,EAG7CJ,CAAa;AAExD;"}
@@ -1,18 +1,149 @@
1
- import "react";
2
- import "../contexts/ConfigContext.js";
3
- import "../env.js";
4
- const l = (r, t) => Object.entries(t).reduce((e, [o, n]) => n == null ? e : e.replace(
5
- `{${o}}`,
6
- encodeURIComponent(n.toString())
7
- ), r), s = (r, t) => {
8
- let e = r;
9
- return Object.entries(t).forEach(([o, n]) => {
10
- n && (e = e.replace(`{${o}}`, n));
11
- }), e;
12
- }, d = (r, t) => r.replace(/\/$/, "") + "/" + t.replace(/^\//, "");
1
+ import { useContext as b, useCallback as S } from "react";
2
+ import { DocsConfigContext as g } from "../contexts/ConfigContext.js";
3
+ import { NEXT_PUBLIC as l } from "../env.js";
4
+ import { useApiPlaygroundInputs as j } from "./useMDXContentController/useApiPlaygroundInputs.js";
5
+ const _ = ({
6
+ endpoint: t,
7
+ baseUrl: n,
8
+ contentType: r,
9
+ setResult: s,
10
+ setIsFetching: o
11
+ }) => {
12
+ var f, p;
13
+ const e = j(), { docsConfig: a } = b(g), d = ((p = (f = a == null ? void 0 : a.api) == null ? void 0 : f.playground) == null ? void 0 : p.proxy) === !1;
14
+ return S(async () => {
15
+ o(!0);
16
+ const y = await import("axios").then((i) => i.default), u = w(t.path, e.path), h = O(
17
+ x(n, e.server),
18
+ u
19
+ ), m = A(e.header, r), c = {
20
+ method: t.method,
21
+ url: h,
22
+ header: m,
23
+ body: e.body,
24
+ cookie: e.cookie,
25
+ query: e.query
26
+ };
27
+ try {
28
+ if (d) {
29
+ const i = await C(c);
30
+ s({
31
+ error: !1,
32
+ response: {
33
+ status: i.status,
34
+ statusText: i.statusText,
35
+ headers: i.headers,
36
+ data: i.data
37
+ }
38
+ });
39
+ } else if (r.includes("multipart/form-data")) {
40
+ const i = await D(c);
41
+ s(i);
42
+ } else {
43
+ const { data: i } = await y.post(`${l.BASE_PATH}/_mintlify/api/request`, c);
44
+ s(i);
45
+ }
46
+ } catch (i) {
47
+ s({
48
+ error: !0,
49
+ errorMessage: "unable to complete request"
50
+ }), console.error(i);
51
+ }
52
+ o(!1);
53
+ }, [
54
+ o,
55
+ t,
56
+ e,
57
+ n,
58
+ r,
59
+ d,
60
+ s
61
+ ]);
62
+ }, w = (t, n) => Object.entries(n).reduce((r, [s, o]) => o == null ? r : r.replace(
63
+ `{${s}}`,
64
+ encodeURIComponent(o.toString())
65
+ ), t), x = (t, n) => {
66
+ let r = t;
67
+ return Object.entries(n).forEach(([s, o]) => {
68
+ o && (r = r.replace(`{${s}}`, o));
69
+ }), r;
70
+ }, O = (t, n) => t.replace(/\/$/, "") + "/" + n.replace(/^\//, ""), A = (t, n) => Object.keys(t).some((r) => r.toLowerCase() === "content-type") ? t : {
71
+ ...t,
72
+ "content-type": n
73
+ }, C = async (t) => {
74
+ const n = await import("axios").then((e) => e.default), r = Object.keys(t.header).find(
75
+ (e) => e.toLowerCase() === "content-type"
76
+ );
77
+ let s = t.body, o = t.header;
78
+ if (r != null && r.includes("multipart/form-data")) {
79
+ const { data: e, headers: a } = E(t);
80
+ s = e, o = a;
81
+ }
82
+ return n({
83
+ url: t.url,
84
+ method: t.method,
85
+ params: t.query,
86
+ data: s,
87
+ headers: o,
88
+ // prevent axios from adding [] after array query params
89
+ paramsSerializer: {
90
+ indexes: null
91
+ },
92
+ responseType: "arraybuffer",
93
+ // prevent axios from erroring on bad status codes
94
+ validateStatus: () => !0,
95
+ // prevent axios from parsing json, losing whitespace information, and using default utf-8 encoding
96
+ // we can't use `responseEncoding` as it's ignored client-side
97
+ transformResponse: (e) => Buffer.from(e).toString("base64")
98
+ });
99
+ }, D = async (t) => {
100
+ const n = await import("axios").then((o) => o.default), r = new FormData();
101
+ r.append(
102
+ "requestInfo",
103
+ JSON.stringify({
104
+ method: t.method,
105
+ url: t.url,
106
+ header: t.header,
107
+ query: t.query,
108
+ cookie: t.cookie
109
+ })
110
+ ), typeof t.body == "object" && t.body !== null && Object.entries(t.body).forEach(([o, e]) => {
111
+ e instanceof File ? r.append(o, e) : Array.isArray(e) ? e.forEach((a) => {
112
+ a instanceof File ? r.append(o, a) : a != null && r.append(
113
+ o,
114
+ typeof a == "object" ? JSON.stringify(a) : a.toString()
115
+ );
116
+ }) : e != null && r.append(
117
+ o,
118
+ typeof e == "object" ? JSON.stringify(e) : e.toString()
119
+ );
120
+ });
121
+ const { data: s } = await n.post(`${l.BASE_PATH}/_mintlify/api/file-request`, r);
122
+ return s;
123
+ }, E = (t) => {
124
+ var s;
125
+ let n = t.body;
126
+ const r = t.header;
127
+ if ((s = r["content-type"]) != null && s.includes("multipart/form-data")) {
128
+ const o = new FormData();
129
+ typeof n == "object" && n !== null && (Object.entries(n).forEach(([e, a]) => {
130
+ a instanceof File ? o.append(e, a) : Array.isArray(a) ? a.forEach((d) => {
131
+ d instanceof File ? o.append(e, d) : d != null && o.append(
132
+ e,
133
+ typeof d == "object" ? JSON.stringify(d) : d.toString()
134
+ );
135
+ }) : a != null && o.append(
136
+ e,
137
+ typeof a == "object" ? JSON.stringify(a) : a.toString()
138
+ );
139
+ }), n = o, delete r["content-type"]);
140
+ }
141
+ return { data: n, headers: r };
142
+ };
13
143
  export {
14
- l as addPathParams,
15
- s as addServerVariables,
16
- d as joinWithSingleSlash
144
+ w as addPathParams,
145
+ x as addServerVariables,
146
+ O as joinWithSingleSlash,
147
+ _ as useSendPlaygroundRequest
17
148
  };
18
149
  //# sourceMappingURL=useSendPlaygroundRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendPlaygroundRequest.js","sources":["../../src/hooks/useSendPlaygroundRequest.ts"],"sourcesContent":["\"use client\";\n\nimport { ApiPlaygroundResultType } from \"@mintlify/models\";\nimport { Endpoint, HttpMethod } from \"@mintlify/validation\";\nimport { AxiosResponse } from \"axios\";\nimport { useCallback, useContext } from \"react\";\n\nimport { DocsConfigContext } from \"@/contexts/ConfigContext\";\nimport { NEXT_PUBLIC } from \"@/env\";\n\nimport { useApiPlaygroundInputs } from \"./useMDXContentController/useApiPlaygroundInputs\";\n\nexport type UseSendPlaygroundRequestProps = {\n endpoint: Endpoint;\n baseUrl: string;\n contentType: string;\n setResult: (result: ApiPlaygroundResultType) => void;\n setIsFetching: (isFetching: boolean) => void;\n};\n\nexport type RequestInfo = {\n method: HttpMethod;\n url: string;\n header: Record<string, unknown>;\n query: Record<string, unknown>;\n cookie: Record<string, unknown>;\n body: unknown;\n};\n\nexport const useSendPlaygroundRequest = ({\n endpoint,\n baseUrl,\n contentType,\n setResult,\n setIsFetching,\n}: UseSendPlaygroundRequestProps) => {\n const inputs = useApiPlaygroundInputs();\n const { docsConfig } = useContext(DocsConfigContext);\n\n // TODO: Move to JS pre-processing script\n const disableProxy = docsConfig?.api?.playground?.proxy === false;\n\n return useCallback(async () => {\n setIsFetching(true);\n const axios = await import(\"axios\").then((x) => x.default);\n\n const pathWithInputs = addPathParams(endpoint.path, inputs.path);\n\n const url = joinWithSingleSlash(\n addServerVariables(baseUrl, inputs.server),\n pathWithInputs\n );\n\n const headers = addContentType(inputs.header, contentType);\n\n const request: RequestInfo = {\n method: endpoint.method,\n url,\n header: headers,\n body: inputs.body,\n cookie: inputs.cookie,\n query: inputs.query,\n };\n\n try {\n if (disableProxy) {\n const response = await performDirectRequest(request);\n setResult({\n error: false,\n response: {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data: response.data,\n },\n });\n } else {\n if (contentType.includes(\"multipart/form-data\")) {\n const data = await performFileRequest(request);\n\n setResult(data);\n } else {\n const { data } = await axios.post<\n unknown,\n AxiosResponse<ApiPlaygroundResultType>\n >(`${NEXT_PUBLIC.BASE_PATH}/_mintlify/api/request`, request);\n\n setResult(data);\n }\n }\n } catch (err) {\n setResult({\n error: true,\n errorMessage: \"unable to complete request\",\n });\n console.error(err);\n }\n setIsFetching(false);\n }, [\n setIsFetching,\n endpoint,\n inputs,\n baseUrl,\n contentType,\n disableProxy,\n setResult,\n ]);\n};\n\nexport const addPathParams = (\n path: string,\n pathInputs: Record<string, unknown>\n) => {\n return Object.entries(pathInputs).reduce((path, [inputName, inputValue]) => {\n if (inputValue == undefined) return path;\n return path.replace(\n `{${inputName}}`,\n encodeURIComponent(inputValue.toString())\n );\n }, path);\n};\n\nexport const addServerVariables = (\n baseUrl: string,\n variables: Record<string, string>\n): string => {\n let url = baseUrl;\n Object.entries(variables).forEach(([key, input]) => {\n if (input) url = url.replace(`{${key}}`, input);\n });\n return url;\n};\n\nexport const joinWithSingleSlash = (baseUrl: string, path: string): string => {\n // remove the last slash of the baseUrl and the first slash of the path, and join with slash\n return baseUrl.replace(/\\/$/, \"\") + \"/\" + path.replace(/^\\//, \"\");\n};\n\nconst addContentType = (\n headers: Record<string, unknown>,\n contentType: string\n) => {\n if (\n Object.keys(headers).some((name) => name.toLowerCase() === \"content-type\")\n ) {\n return headers;\n }\n\n return {\n ...headers,\n [\"content-type\"]: contentType,\n };\n};\n\nconst performDirectRequest = async (request: RequestInfo) => {\n const axios = await import(\"axios\").then((it) => it.default);\n\n const contentType = Object.keys(request.header).find(\n (key) => key.toLowerCase() === \"content-type\"\n );\n let data = request.body;\n \n let headers = request.header as Record<string, string>;\n if (contentType?.includes(\"multipart/form-data\")) {\n const { data: formData, headers: formHeaders } = handleFormData(request);\n data = formData;\n headers = formHeaders;\n }\n\n return axios({\n url: request.url,\n method: request.method,\n params: request.query,\n data,\n headers,\n // prevent axios from adding [] after array query params\n paramsSerializer: {\n indexes: null,\n },\n responseType: \"arraybuffer\",\n // prevent axios from erroring on bad status codes\n validateStatus: () => true,\n // prevent axios from parsing json, losing whitespace information, and using default utf-8 encoding\n // we can't use `responseEncoding` as it's ignored client-side\n transformResponse: (data) => {\n return Buffer.from(data).toString(\"base64\");\n },\n });\n};\n\nconst performFileRequest = async (request: RequestInfo) => {\n const axios = await import(\"axios\").then((it) => it.default);\n const formData = new FormData();\n formData.append(\n \"requestInfo\",\n JSON.stringify({\n method: request.method,\n url: request.url,\n header: request.header,\n query: request.query,\n cookie: request.cookie,\n })\n );\n if (typeof request.body === \"object\" && request.body !== null) {\n Object.entries(request.body).forEach(([key, value]) => {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(key, item);\n } else if (item !== undefined && item !== null) {\n formData.append(\n key,\n typeof item === \"object\" ? JSON.stringify(item) : item.toString()\n );\n }\n });\n } else if (value !== undefined && value !== null) {\n formData.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : value.toString()\n );\n }\n });\n }\n\n const { data } = await axios.post<\n unknown,\n AxiosResponse<ApiPlaygroundResultType>\n >(`${NEXT_PUBLIC.BASE_PATH}/_mintlify/api/file-request`, formData);\n return data;\n};\n\nconst handleFormData = (request: RequestInfo) => {\n let data = request.body;\n \n const headers = request.header as Record<string, string>;\n\n if (headers[\"content-type\"]?.includes(\"multipart/form-data\")) {\n const formData = new FormData();\n if (typeof data === \"object\" && data !== null) {\n Object.entries(data).forEach(([key, value]) => {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(key, item);\n } else if (item !== undefined && item !== null) {\n formData.append(\n key,\n typeof item === \"object\"\n ? JSON.stringify(item)\n : item.toString()\n );\n }\n });\n } else if (value !== undefined && value !== null) {\n formData.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : value.toString()\n );\n }\n });\n data = formData;\n delete headers[\"content-type\"];\n }\n }\n return { data, headers };\n};\n"],"names":["addPathParams","path","pathInputs","inputName","inputValue","addServerVariables","baseUrl","variables","url","key","input","joinWithSingleSlash"],"mappings":";;;AA6GO,MAAMA,IAAgB,CAC3BC,GACAC,MAEO,OAAO,QAAQA,CAAU,EAAE,OAAO,CAACD,GAAM,CAACE,GAAWC,CAAU,MAChEA,KAAc,OAAkBH,IAC7BA,EAAK;AAAA,EACV,IAAIE,CAAS;AAAA,EACb,mBAAmBC,EAAW,SAAA,CAAU;AAAA,GAEzCH,CAAI,GAGII,IAAqB,CAChCC,GACAC,MACW;AACX,MAAIC,IAAMF;AACV,gBAAO,QAAQC,CAAS,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAAM;AAClD,IAAIA,MAAOF,IAAMA,EAAI,QAAQ,IAAIC,CAAG,KAAKC,CAAK;AAAA,EAChD,CAAC,GACMF;AACT,GAEaG,IAAsB,CAACL,GAAiBL,MAE5CK,EAAQ,QAAQ,OAAO,EAAE,IAAI,MAAML,EAAK,QAAQ,OAAO,EAAE;"}
1
+ {"version":3,"file":"useSendPlaygroundRequest.js","sources":["../../src/hooks/useSendPlaygroundRequest.ts"],"sourcesContent":["\"use client\";\n\nimport { ApiPlaygroundResultType } from \"@mintlify/models\";\nimport { Endpoint, HttpMethod } from \"@mintlify/validation\";\nimport { AxiosResponse } from \"axios\";\nimport { useCallback, useContext } from \"react\";\n\nimport { DocsConfigContext } from \"@/contexts/ConfigContext\";\nimport { NEXT_PUBLIC } from \"@/env\";\n\nimport { useApiPlaygroundInputs } from \"./useMDXContentController/useApiPlaygroundInputs\";\n\nexport type UseSendPlaygroundRequestProps = {\n endpoint: Endpoint;\n baseUrl: string;\n contentType: string;\n setResult: (result: ApiPlaygroundResultType) => void;\n setIsFetching: (isFetching: boolean) => void;\n};\n\nexport type RequestInfo = {\n method: HttpMethod;\n url: string;\n header: Record<string, unknown>;\n query: Record<string, unknown>;\n cookie: Record<string, unknown>;\n body: unknown;\n};\n\nexport const useSendPlaygroundRequest = ({\n endpoint,\n baseUrl,\n contentType,\n setResult,\n setIsFetching,\n}: UseSendPlaygroundRequestProps) => {\n const inputs = useApiPlaygroundInputs();\n const { docsConfig } = useContext(DocsConfigContext);\n\n // TODO: Move to JS pre-processing script\n const disableProxy = docsConfig?.api?.playground?.proxy === false;\n\n return useCallback(async () => {\n setIsFetching(true);\n const axios = await import(\"axios\").then((x) => x.default);\n\n const pathWithInputs = addPathParams(endpoint.path, inputs.path);\n\n const url = joinWithSingleSlash(\n addServerVariables(baseUrl, inputs.server),\n pathWithInputs\n );\n\n const headers = addContentType(inputs.header, contentType);\n\n const request: RequestInfo = {\n method: endpoint.method,\n url,\n header: headers,\n body: inputs.body,\n cookie: inputs.cookie,\n query: inputs.query,\n };\n\n try {\n if (disableProxy) {\n const response = await performDirectRequest(request);\n setResult({\n error: false,\n response: {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data: response.data,\n },\n });\n } else {\n if (contentType.includes(\"multipart/form-data\")) {\n const data = await performFileRequest(request);\n\n setResult(data);\n } else {\n const { data } = await axios.post<\n unknown,\n AxiosResponse<ApiPlaygroundResultType>\n >(`${NEXT_PUBLIC.BASE_PATH}/_mintlify/api/request`, request);\n\n setResult(data);\n }\n }\n } catch (err) {\n setResult({\n error: true,\n errorMessage: \"unable to complete request\",\n });\n console.error(err);\n }\n setIsFetching(false);\n }, [\n setIsFetching,\n endpoint,\n inputs,\n baseUrl,\n contentType,\n disableProxy,\n setResult,\n ]);\n};\n\nexport const addPathParams = (\n path: string,\n pathInputs: Record<string, unknown>\n) => {\n return Object.entries(pathInputs).reduce((path, [inputName, inputValue]) => {\n if (inputValue == undefined) return path;\n return path.replace(\n `{${inputName}}`,\n encodeURIComponent(inputValue.toString())\n );\n }, path);\n};\n\nexport const addServerVariables = (\n baseUrl: string,\n variables: Record<string, string>\n): string => {\n let url = baseUrl;\n Object.entries(variables).forEach(([key, input]) => {\n if (input) url = url.replace(`{${key}}`, input);\n });\n return url;\n};\n\nexport const joinWithSingleSlash = (baseUrl: string, path: string): string => {\n // remove the last slash of the baseUrl and the first slash of the path, and join with slash\n return baseUrl.replace(/\\/$/, \"\") + \"/\" + path.replace(/^\\//, \"\");\n};\n\nconst addContentType = (\n headers: Record<string, unknown>,\n contentType: string\n) => {\n if (\n Object.keys(headers).some((name) => name.toLowerCase() === \"content-type\")\n ) {\n return headers;\n }\n\n return {\n ...headers,\n [\"content-type\"]: contentType,\n };\n};\n\nconst performDirectRequest = async (request: RequestInfo) => {\n const axios = await import(\"axios\").then((it) => it.default);\n\n const contentType = Object.keys(request.header).find(\n (key) => key.toLowerCase() === \"content-type\"\n );\n let data = request.body;\n \n let headers = request.header as Record<string, string>;\n if (contentType?.includes(\"multipart/form-data\")) {\n const { data: formData, headers: formHeaders } = handleFormData(request);\n data = formData;\n headers = formHeaders;\n }\n\n return axios({\n url: request.url,\n method: request.method,\n params: request.query,\n data,\n headers,\n // prevent axios from adding [] after array query params\n paramsSerializer: {\n indexes: null,\n },\n responseType: \"arraybuffer\",\n // prevent axios from erroring on bad status codes\n validateStatus: () => true,\n // prevent axios from parsing json, losing whitespace information, and using default utf-8 encoding\n // we can't use `responseEncoding` as it's ignored client-side\n transformResponse: (data) => {\n return Buffer.from(data).toString(\"base64\");\n },\n });\n};\n\nconst performFileRequest = async (request: RequestInfo) => {\n const axios = await import(\"axios\").then((it) => it.default);\n const formData = new FormData();\n formData.append(\n \"requestInfo\",\n JSON.stringify({\n method: request.method,\n url: request.url,\n header: request.header,\n query: request.query,\n cookie: request.cookie,\n })\n );\n if (typeof request.body === \"object\" && request.body !== null) {\n Object.entries(request.body).forEach(([key, value]) => {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(key, item);\n } else if (item !== undefined && item !== null) {\n formData.append(\n key,\n typeof item === \"object\" ? JSON.stringify(item) : item.toString()\n );\n }\n });\n } else if (value !== undefined && value !== null) {\n formData.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : value.toString()\n );\n }\n });\n }\n\n const { data } = await axios.post<\n unknown,\n AxiosResponse<ApiPlaygroundResultType>\n >(`${NEXT_PUBLIC.BASE_PATH}/_mintlify/api/file-request`, formData);\n return data;\n};\n\nconst handleFormData = (request: RequestInfo) => {\n let data = request.body;\n \n const headers = request.header as Record<string, string>;\n\n if (headers[\"content-type\"]?.includes(\"multipart/form-data\")) {\n const formData = new FormData();\n if (typeof data === \"object\" && data !== null) {\n Object.entries(data).forEach(([key, value]) => {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(key, item);\n } else if (item !== undefined && item !== null) {\n formData.append(\n key,\n typeof item === \"object\"\n ? JSON.stringify(item)\n : item.toString()\n );\n }\n });\n } else if (value !== undefined && value !== null) {\n formData.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : value.toString()\n );\n }\n });\n data = formData;\n delete headers[\"content-type\"];\n }\n }\n return { data, headers };\n};\n"],"names":["useSendPlaygroundRequest","endpoint","baseUrl","contentType","setResult","setIsFetching","inputs","useApiPlaygroundInputs","docsConfig","useContext","DocsConfigContext","disableProxy","_b","_a","useCallback","axios","x","pathWithInputs","addPathParams","url","joinWithSingleSlash","addServerVariables","headers","addContentType","request","response","performDirectRequest","data","performFileRequest","NEXT_PUBLIC","err","path","pathInputs","inputName","inputValue","variables","key","input","name","it","formData","formHeaders","handleFormData","value","item"],"mappings":"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"}