@mintlify/msft-sdk 1.1.57 → 1.1.59

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 (520) hide show
  1. package/dist/api-playground/ApiPlayground/ApiPlaygroundContext.js +0 -1
  2. package/dist/api-playground/ApiPlayground/Request/BodySection.js +0 -1
  3. package/dist/api-playground/ApiPlayground/Request/ParameterSection.js +0 -1
  4. package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js +0 -1
  5. package/dist/api-playground/ApiPlayground/Request/SecuritySection.js +0 -1
  6. package/dist/api-playground/ApiPlayground/Request/ServerSection.js +0 -1
  7. package/dist/api-playground/ApiPlayground/Request/index.js +0 -1
  8. package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js +0 -1
  9. package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js +0 -1
  10. package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js +0 -1
  11. package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js +0 -1
  12. package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js +0 -1
  13. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js +0 -1
  14. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js +0 -1
  15. package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js +0 -1
  16. package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js +0 -1
  17. package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js +0 -1
  18. package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js +0 -1
  19. package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js +0 -1
  20. package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js +0 -1
  21. package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js +0 -1
  22. package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js +0 -1
  23. package/dist/api-playground/ApiPlayground/Response/ResponseError.js +0 -1
  24. package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js +0 -1
  25. package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js +0 -1
  26. package/dist/api-playground/ApiPlayground/Response/ResponseTable.js +0 -1
  27. package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js +0 -1
  28. package/dist/api-playground/ApiPlayground/Response/index.js +0 -1
  29. package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js +0 -1
  30. package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js +0 -1
  31. package/dist/api-playground/ApiPlayground/components/ArrayCount.js +0 -1
  32. package/dist/api-playground/ApiPlayground/components/BasePathSelector.js +0 -1
  33. package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js +0 -1
  34. package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js +0 -1
  35. package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js +0 -1
  36. package/dist/api-playground/ApiPlayground/components/InputContainer.js +0 -1
  37. package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js +0 -1
  38. package/dist/api-playground/ApiPlayground/components/ModalHeader.js +0 -1
  39. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js +0 -1
  40. package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js +0 -1
  41. package/dist/api-playground/ApiPlayground/components/PathHeader.js +0 -1
  42. package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js +0 -1
  43. package/dist/api-playground/ApiPlayground/components/PrettyPath.js +0 -1
  44. package/dist/api-playground/ApiPlayground/components/SendPill.js +0 -1
  45. package/dist/api-playground/ApiPlayground/components/TrashButton.js +0 -1
  46. package/dist/api-playground/ApiPlayground/components/TypeDropdown.js +0 -1
  47. package/dist/api-playground/ApiPlayground/index.js +0 -1
  48. package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js +0 -1
  49. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js +0 -1
  50. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js +0 -1
  51. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js +0 -1
  52. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js +0 -1
  53. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +0 -1
  54. package/dist/api-playground/EndpointFields/components/Description.js +0 -1
  55. package/dist/api-playground/EndpointFields/components/OneOfDropdown.js +0 -1
  56. package/dist/api-playground/EndpointFields/components/OptionDropdown.js +0 -1
  57. package/dist/api-playground/EndpointFields/components/SectionHeading.js +0 -1
  58. package/dist/api-playground/EndpointFields/index.js +0 -1
  59. package/dist/api-playground-2/Api.js +0 -1
  60. package/dist/api-playground-2/ApiExamples.js +0 -1
  61. package/dist/api-playground-2/ApiFields.js +0 -1
  62. package/dist/api-playground-2/EndpointHeader.js +0 -1
  63. package/dist/api-playground-2/OperationPage.js +0 -1
  64. package/dist/api-playground-2/Playground.js +0 -1
  65. package/dist/api-playground-2/SchemaPage.js +0 -1
  66. package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js +0 -1
  67. package/dist/api-playground-2/components/EndpointFields/fields/Enum.js +0 -1
  68. package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js +0 -1
  69. package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js +0 -1
  70. package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js +0 -1
  71. package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js +0 -1
  72. package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js +0 -1
  73. package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js +0 -1
  74. package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js +0 -1
  75. package/dist/api-playground-2/components/Example/GeneratedRequestExample.js +0 -1
  76. package/dist/api-playground-2/components/Example/GeneratedResponseExample.js +0 -1
  77. package/dist/api-playground-2/components/Example/RequestExample.js +0 -1
  78. package/dist/api-playground-2/components/Example/ResponseExample.js +0 -1
  79. package/dist/api-playground-2/components/Request/BodySection.js +0 -1
  80. package/dist/api-playground-2/components/Request/InputSectionContainer.js +0 -1
  81. package/dist/api-playground-2/components/Request/ParameterSection.js +0 -1
  82. package/dist/api-playground-2/components/Request/SecuritySection.js +0 -1
  83. package/dist/api-playground-2/components/Request/ServerSection.js +0 -1
  84. package/dist/api-playground-2/components/Request/inputs/ArrayInput.js +0 -1
  85. package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js +0 -1
  86. package/dist/api-playground-2/components/Request/inputs/FileInput.js +0 -1
  87. package/dist/api-playground-2/components/Request/inputs/InputContainer.js +0 -1
  88. package/dist/api-playground-2/components/Request/inputs/NullInput.js +0 -1
  89. package/dist/api-playground-2/components/Request/inputs/NumberInput.js +0 -1
  90. package/dist/api-playground-2/components/Request/inputs/ObjectInput.js +0 -1
  91. package/dist/api-playground-2/components/Request/inputs/OneOfInput.js +0 -1
  92. package/dist/api-playground-2/components/Request/inputs/SelectInput.js +0 -1
  93. package/dist/api-playground-2/components/Request/inputs/StringInput.js +0 -1
  94. package/dist/api-playground-2/components/Request/inputs/TextInput.js +0 -1
  95. package/dist/api-playground-2/components/TypeDropdown.js +0 -1
  96. package/dist/api-playground-2/constants/index.js +0 -1
  97. package/dist/api-playground-2/contexts/ApiPlaygroundContext.js +0 -1
  98. package/dist/api-playground-2/generators/createBodyData.js +0 -1
  99. package/dist/api-playground-2/generators/createHeaders.js +0 -1
  100. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +0 -1
  101. package/dist/api-playground-2/generators/generateRequest.js +0 -1
  102. package/dist/api-playground-2/generators/generateResponseExampleMap.js +0 -1
  103. package/dist/api-playground-2/generators/generateSnippet.js +0 -1
  104. package/dist/api-playground-2/generators/generateSnippetMap.js +0 -1
  105. package/dist/api-playground-2/generators/getFileProperties.js +0 -1
  106. package/dist/api-playground-2/hooks/useCopyPathWithInputs.js +0 -1
  107. package/dist/api-playground-2/hooks/useInitializeInputs.js +0 -1
  108. package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js +0 -1
  109. package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js +0 -1
  110. package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js +0 -1
  111. package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js +0 -1
  112. package/dist/api-playground-2/schemaGraph/errors.js +0 -1
  113. package/dist/api-playground-2/schemaGraph/getAllRequiredProperties.js +0 -1
  114. package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js +0 -1
  115. package/dist/api-playground-2/schemaGraph/getDocumentProperties.js +0 -1
  116. package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js +0 -1
  117. package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js +0 -1
  118. package/dist/api-playground-2/schemaGraph/processExamples.js +0 -1
  119. package/dist/api-playground-2/schemaGraph/processSecurityOptions.js +0 -1
  120. package/dist/api-playground-2/schemaGraph/reduceCompositions.js +0 -1
  121. package/dist/api-playground-2/schemaGraph/resolveGraphNode.js +0 -1
  122. package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js +0 -1
  123. package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js +0 -1
  124. package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js +0 -1
  125. package/dist/api-playground-2/schemaGraph/utils.js +0 -1
  126. package/dist/api-playground-2/types/index.js +0 -1
  127. package/dist/common/guards.js +0 -1
  128. package/dist/common/parseApiTargetFromMetadata.js +0 -1
  129. package/dist/common/parseOpenApiString.js +0 -1
  130. package/dist/common/potentiallyParseOpenApiString.js +0 -1
  131. package/dist/common/replaceSlashIndex.js +0 -1
  132. package/dist/common/slugToTitle.js +0 -1
  133. package/dist/components/Api/ApiReferenceProvider.js +0 -1
  134. package/dist/components/Api/ErrorBoundary.js +0 -1
  135. package/dist/components/Api/Expandable.js +0 -1
  136. package/dist/components/Api/Markdown.js +0 -1
  137. package/dist/components/Api/MethodPill.js +0 -1
  138. package/dist/components/Api/Param.js +0 -1
  139. package/dist/components/Api/colors.js +0 -1
  140. package/dist/components/Api/dropdown-menu.js +0 -1
  141. package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js +0 -1
  142. package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js +0 -1
  143. package/dist/components/content-components/CodeGroupSelect/index.js +0 -1
  144. package/dist/components/content-components/all-components.js +0 -1
  145. package/dist/components/content-components/callouts.js +0 -1
  146. package/dist/components/content-components/code-block.js +0 -1
  147. package/dist/components/content-components/code-group.js +0 -1
  148. package/dist/components/content-components/code-snippet.js +0 -1
  149. package/dist/components/content-components/code-snippets.js +0 -1
  150. package/dist/components/content-components/default-components.js +0 -1
  151. package/dist/components/content-components/details/details.js +0 -1
  152. package/dist/components/content-components/getNodeText.js +0 -1
  153. package/dist/components/content-components/heading.js +0 -1
  154. package/dist/components/content-components/home.js +0 -1
  155. package/dist/components/content-components/image.js +0 -1
  156. package/dist/components/content-components/latex.js +0 -1
  157. package/dist/components/content-components/link.js +0 -1
  158. package/dist/components/content-components/param-name.js +0 -1
  159. package/dist/components/content-components/table/index.js +0 -1
  160. package/dist/components/content-components/table/table-modal.js +0 -1
  161. package/dist/components/content-components/tabs/tab.js +0 -1
  162. package/dist/components/content-components/tabs/tabs.js +0 -1
  163. package/dist/components/content-components/zone-pivots/zone-pivot-context.js +0 -1
  164. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +0 -1
  165. package/dist/components/content-components/zone-pivots/zone-pivot.js +0 -1
  166. package/dist/components/content-components/zone-pivots/zone-target.js +0 -1
  167. package/dist/components/docsLayout.js +1 -1
  168. package/dist/components/docsPage.js +1 -1
  169. package/dist/components/mdx-renderer.js +0 -1
  170. package/dist/components/nav-tree/index.js +0 -1
  171. package/dist/components/nav-tree/mobile-nav.js +0 -1
  172. package/dist/components/page-context-menu.js +0 -1
  173. package/dist/components/plain-text-page.js +4 -4
  174. package/dist/components/toc/index.js +0 -1
  175. package/dist/components/toc/pivot-aware-toc.js +0 -1
  176. package/dist/constants/index.js +0 -1
  177. package/dist/constants/initialRequest.js +0 -1
  178. package/dist/constants/prism-languages.js +0 -1
  179. package/dist/constants/snippetPresets.js +0 -1
  180. package/dist/constants/zIndex.js +0 -1
  181. package/dist/context/components-context.js +0 -1
  182. package/dist/contexts/ApiPlaygroundInputsContext.js +0 -1
  183. package/dist/contexts/CodeExampleLabelContext.js +0 -1
  184. package/dist/contexts/ConfigContext.js +0 -1
  185. package/dist/contexts/EndpointLocationContext.js +0 -1
  186. package/dist/contexts/MDXContentContext.js +0 -1
  187. package/dist/env.js +0 -1
  188. package/dist/hooks/useApiPlaygroundDisplay.js +0 -1
  189. package/dist/hooks/useApiPlaygroundInputs.js +0 -1
  190. package/dist/hooks/useApiPlaygroundPrefillExamples.js +0 -1
  191. package/dist/hooks/useBaseUrlOptions.js +0 -1
  192. package/dist/hooks/useCheckHash.js +0 -1
  193. package/dist/hooks/useComponentSchemas.js +0 -1
  194. package/dist/hooks/useEndpoint.js +0 -1
  195. package/dist/hooks/useExpandableMemory.js +0 -1
  196. package/dist/hooks/useGenerateNextAdditionalProperties.js +0 -1
  197. package/dist/hooks/useGenerateNextItems.js +0 -1
  198. package/dist/hooks/useGenerateNextProperties.js +0 -1
  199. package/dist/hooks/useKeyboardShortcut.js +0 -1
  200. package/dist/hooks/useMDXContent.js +0 -1
  201. package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js +0 -1
  202. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js +0 -1
  203. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js +0 -1
  204. package/dist/hooks/useMarkdownCopy.js +0 -1
  205. package/dist/hooks/usePlaygroundSchemaOptions.js +0 -1
  206. package/dist/hooks/usePrefilledInputs/index.js +0 -1
  207. package/dist/hooks/usePrefilledInputs/storedServerVariables.js +0 -1
  208. package/dist/hooks/useSecurityOption.js +0 -1
  209. package/dist/hooks/useSendPlaygroundRequest.js +0 -1
  210. package/dist/hooks/useSetDefaultValue.js +0 -1
  211. package/dist/index.js +0 -1
  212. package/dist/openapi/filterEnums.js +0 -1
  213. package/dist/openapi/generateNextAdditionalProperties.js +0 -1
  214. package/dist/openapi/generateNextItems.js +0 -1
  215. package/dist/openapi/generateNextProperties.js +0 -1
  216. package/dist/openapi/generateOptionLabels.js +0 -1
  217. package/dist/openapi/generateSimpleLabels.js +0 -1
  218. package/dist/openapi/generateTypeStringFromSchema.js +0 -1
  219. package/dist/openapi/getAuthFilteredSchemaArray.js +0 -1
  220. package/dist/parser/convert-html-to-mdx.js +0 -1
  221. package/dist/parser/serialize-mdx.js +0 -1
  222. package/dist/paths/isEqualIgnoringLeadingSlash.js +0 -1
  223. package/dist/paths/optionallyRemoveLeadingSlash.js +0 -1
  224. package/dist/paths/optionallyRemoveTrailingSlash.js +0 -1
  225. package/dist/plugins/extract-headings.js +0 -1
  226. package/dist/plugins/rehype/rehype-code-blocks.js +0 -1
  227. package/dist/plugins/remark/remark-heading-ids.js +0 -1
  228. package/dist/plugins/sanitize/rehype-callouts.js +0 -1
  229. package/dist/plugins/sanitize/rehype-details.js +0 -1
  230. package/dist/plugins/sanitize/rehype-heading-ids.js +0 -1
  231. package/dist/plugins/sanitize/rehype-image-urls.js +0 -1
  232. package/dist/plugins/sanitize/rehype-latex.js +0 -1
  233. package/dist/plugins/sanitize/rehype-param-name.js +0 -1
  234. package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js +0 -1
  235. package/dist/plugins/sanitize/rehype-remark.js +0 -1
  236. package/dist/plugins/sanitize/rehype-table-align.js +0 -1
  237. package/dist/plugins/sanitize/rehype-tabs.js +0 -1
  238. package/dist/plugins/sanitize/rehype-unwrap-image-links.js +0 -1
  239. package/dist/plugins/sanitize/rehype-zone-pivots.js +0 -1
  240. package/dist/plugins/sanitize/remove-html-comments.js +0 -1
  241. package/dist/styles.css +1 -1
  242. package/dist/utils/api-playground/defaults.js +0 -1
  243. package/dist/utils/api-playground/paramFieldDefaults.js +0 -1
  244. package/dist/utils/api-reference/getFilteredSecurityOptions.js +0 -1
  245. package/dist/utils/api-reference/getNextPropertiesByType.js +0 -1
  246. package/dist/utils/clean-title.js +0 -1
  247. package/dist/utils/cn.js +0 -1
  248. package/dist/utils/containsMarkdownTable.js +0 -1
  249. package/dist/utils/copyToClipboard.js +0 -1
  250. package/dist/utils/flattenObject.js +0 -1
  251. package/dist/utils/formatJSON.js +0 -1
  252. package/dist/utils/generate-llms-txt.js +0 -1
  253. package/dist/utils/get-node-text.js +0 -1
  254. package/dist/utils/getScrollbarClassname.js +0 -1
  255. package/dist/utils/locales/en.js +0 -1
  256. package/dist/utils/locales/index.js +0 -1
  257. package/dist/utils/rehype.js +0 -1
  258. package/dist/utils/scrollElementIntoView.js +0 -1
  259. package/dist/utils/string.js +0 -1
  260. package/dist/utils/uuid.js +0 -1
  261. package/package.json +1 -1
  262. package/dist/api-playground/ApiPlayground/ApiPlaygroundContext.js.map +0 -1
  263. package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +0 -1
  264. package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +0 -1
  265. package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +0 -1
  266. package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +0 -1
  267. package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +0 -1
  268. package/dist/api-playground/ApiPlayground/Request/index.js.map +0 -1
  269. package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +0 -1
  270. package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js.map +0 -1
  271. package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +0 -1
  272. package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +0 -1
  273. package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +0 -1
  274. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js.map +0 -1
  275. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +0 -1
  276. package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +0 -1
  277. package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +0 -1
  278. package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +0 -1
  279. package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +0 -1
  280. package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +0 -1
  281. package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +0 -1
  282. package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +0 -1
  283. package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +0 -1
  284. package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +0 -1
  285. package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +0 -1
  286. package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +0 -1
  287. package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +0 -1
  288. package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +0 -1
  289. package/dist/api-playground/ApiPlayground/Response/index.js.map +0 -1
  290. package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js.map +0 -1
  291. package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +0 -1
  292. package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +0 -1
  293. package/dist/api-playground/ApiPlayground/components/BasePathSelector.js.map +0 -1
  294. package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js.map +0 -1
  295. package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +0 -1
  296. package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js.map +0 -1
  297. package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +0 -1
  298. package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +0 -1
  299. package/dist/api-playground/ApiPlayground/components/ModalHeader.js.map +0 -1
  300. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +0 -1
  301. package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js.map +0 -1
  302. package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +0 -1
  303. package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +0 -1
  304. package/dist/api-playground/ApiPlayground/components/PrettyPath.js.map +0 -1
  305. package/dist/api-playground/ApiPlayground/components/SendPill.js.map +0 -1
  306. package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +0 -1
  307. package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +0 -1
  308. package/dist/api-playground/ApiPlayground/index.js.map +0 -1
  309. package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js.map +0 -1
  310. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js.map +0 -1
  311. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +0 -1
  312. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +0 -1
  313. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +0 -1
  314. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +0 -1
  315. package/dist/api-playground/EndpointFields/components/Description.js.map +0 -1
  316. package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +0 -1
  317. package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +0 -1
  318. package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +0 -1
  319. package/dist/api-playground/EndpointFields/index.js.map +0 -1
  320. package/dist/api-playground-2/Api.js.map +0 -1
  321. package/dist/api-playground-2/ApiExamples.js.map +0 -1
  322. package/dist/api-playground-2/ApiFields.js.map +0 -1
  323. package/dist/api-playground-2/EndpointHeader.js.map +0 -1
  324. package/dist/api-playground-2/OperationPage.js.map +0 -1
  325. package/dist/api-playground-2/Playground.js.map +0 -1
  326. package/dist/api-playground-2/SchemaPage.js.map +0 -1
  327. package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +0 -1
  328. package/dist/api-playground-2/components/EndpointFields/fields/Enum.js.map +0 -1
  329. package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +0 -1
  330. package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +0 -1
  331. package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +0 -1
  332. package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +0 -1
  333. package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +0 -1
  334. package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js.map +0 -1
  335. package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +0 -1
  336. package/dist/api-playground-2/components/Example/GeneratedRequestExample.js.map +0 -1
  337. package/dist/api-playground-2/components/Example/GeneratedResponseExample.js.map +0 -1
  338. package/dist/api-playground-2/components/Example/RequestExample.js.map +0 -1
  339. package/dist/api-playground-2/components/Example/ResponseExample.js.map +0 -1
  340. package/dist/api-playground-2/components/Request/BodySection.js.map +0 -1
  341. package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +0 -1
  342. package/dist/api-playground-2/components/Request/ParameterSection.js.map +0 -1
  343. package/dist/api-playground-2/components/Request/SecuritySection.js.map +0 -1
  344. package/dist/api-playground-2/components/Request/ServerSection.js.map +0 -1
  345. package/dist/api-playground-2/components/Request/inputs/ArrayInput.js.map +0 -1
  346. package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js.map +0 -1
  347. package/dist/api-playground-2/components/Request/inputs/FileInput.js.map +0 -1
  348. package/dist/api-playground-2/components/Request/inputs/InputContainer.js.map +0 -1
  349. package/dist/api-playground-2/components/Request/inputs/NullInput.js.map +0 -1
  350. package/dist/api-playground-2/components/Request/inputs/NumberInput.js.map +0 -1
  351. package/dist/api-playground-2/components/Request/inputs/ObjectInput.js.map +0 -1
  352. package/dist/api-playground-2/components/Request/inputs/OneOfInput.js.map +0 -1
  353. package/dist/api-playground-2/components/Request/inputs/SelectInput.js.map +0 -1
  354. package/dist/api-playground-2/components/Request/inputs/StringInput.js.map +0 -1
  355. package/dist/api-playground-2/components/Request/inputs/TextInput.js.map +0 -1
  356. package/dist/api-playground-2/components/TypeDropdown.js.map +0 -1
  357. package/dist/api-playground-2/constants/index.js.map +0 -1
  358. package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +0 -1
  359. package/dist/api-playground-2/generators/createBodyData.js.map +0 -1
  360. package/dist/api-playground-2/generators/createHeaders.js.map +0 -1
  361. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +0 -1
  362. package/dist/api-playground-2/generators/generateRequest.js.map +0 -1
  363. package/dist/api-playground-2/generators/generateResponseExampleMap.js.map +0 -1
  364. package/dist/api-playground-2/generators/generateSnippet.js.map +0 -1
  365. package/dist/api-playground-2/generators/generateSnippetMap.js.map +0 -1
  366. package/dist/api-playground-2/generators/getFileProperties.js.map +0 -1
  367. package/dist/api-playground-2/hooks/useCopyPathWithInputs.js.map +0 -1
  368. package/dist/api-playground-2/hooks/useInitializeInputs.js.map +0 -1
  369. package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js.map +0 -1
  370. package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +0 -1
  371. package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js.map +0 -1
  372. package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js.map +0 -1
  373. package/dist/api-playground-2/schemaGraph/errors.js.map +0 -1
  374. package/dist/api-playground-2/schemaGraph/getAllRequiredProperties.js.map +0 -1
  375. package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js.map +0 -1
  376. package/dist/api-playground-2/schemaGraph/getDocumentProperties.js.map +0 -1
  377. package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js.map +0 -1
  378. package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js.map +0 -1
  379. package/dist/api-playground-2/schemaGraph/processExamples.js.map +0 -1
  380. package/dist/api-playground-2/schemaGraph/processSecurityOptions.js.map +0 -1
  381. package/dist/api-playground-2/schemaGraph/reduceCompositions.js.map +0 -1
  382. package/dist/api-playground-2/schemaGraph/resolveGraphNode.js.map +0 -1
  383. package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js.map +0 -1
  384. package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js.map +0 -1
  385. package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js.map +0 -1
  386. package/dist/api-playground-2/schemaGraph/utils.js.map +0 -1
  387. package/dist/api-playground-2/types/index.js.map +0 -1
  388. package/dist/common/guards.js.map +0 -1
  389. package/dist/common/parseApiTargetFromMetadata.js.map +0 -1
  390. package/dist/common/parseOpenApiString.js.map +0 -1
  391. package/dist/common/potentiallyParseOpenApiString.js.map +0 -1
  392. package/dist/common/replaceSlashIndex.js.map +0 -1
  393. package/dist/common/slugToTitle.js.map +0 -1
  394. package/dist/components/Api/ApiReferenceProvider.js.map +0 -1
  395. package/dist/components/Api/ErrorBoundary.js.map +0 -1
  396. package/dist/components/Api/Expandable.js.map +0 -1
  397. package/dist/components/Api/Markdown.js.map +0 -1
  398. package/dist/components/Api/MethodPill.js.map +0 -1
  399. package/dist/components/Api/Param.js.map +0 -1
  400. package/dist/components/Api/colors.js.map +0 -1
  401. package/dist/components/Api/dropdown-menu.js.map +0 -1
  402. package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js.map +0 -1
  403. package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js.map +0 -1
  404. package/dist/components/content-components/CodeGroupSelect/index.js.map +0 -1
  405. package/dist/components/content-components/all-components.js.map +0 -1
  406. package/dist/components/content-components/callouts.js.map +0 -1
  407. package/dist/components/content-components/code-block.js.map +0 -1
  408. package/dist/components/content-components/code-group.js.map +0 -1
  409. package/dist/components/content-components/code-snippet.js.map +0 -1
  410. package/dist/components/content-components/code-snippets.js.map +0 -1
  411. package/dist/components/content-components/default-components.js.map +0 -1
  412. package/dist/components/content-components/details/details.js.map +0 -1
  413. package/dist/components/content-components/getNodeText.js.map +0 -1
  414. package/dist/components/content-components/heading.js.map +0 -1
  415. package/dist/components/content-components/home.js.map +0 -1
  416. package/dist/components/content-components/image.js.map +0 -1
  417. package/dist/components/content-components/latex.js.map +0 -1
  418. package/dist/components/content-components/link.js.map +0 -1
  419. package/dist/components/content-components/param-name.js.map +0 -1
  420. package/dist/components/content-components/table/index.js.map +0 -1
  421. package/dist/components/content-components/table/table-modal.js.map +0 -1
  422. package/dist/components/content-components/tabs/tab.js.map +0 -1
  423. package/dist/components/content-components/tabs/tabs.js.map +0 -1
  424. package/dist/components/content-components/zone-pivots/zone-pivot-context.js.map +0 -1
  425. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +0 -1
  426. package/dist/components/content-components/zone-pivots/zone-pivot.js.map +0 -1
  427. package/dist/components/content-components/zone-pivots/zone-target.js.map +0 -1
  428. package/dist/components/docsLayout.js.map +0 -1
  429. package/dist/components/docsPage.js.map +0 -1
  430. package/dist/components/mdx-renderer.js.map +0 -1
  431. package/dist/components/nav-tree/index.js.map +0 -1
  432. package/dist/components/nav-tree/mobile-nav.js.map +0 -1
  433. package/dist/components/page-context-menu.js.map +0 -1
  434. package/dist/components/plain-text-page.js.map +0 -1
  435. package/dist/components/toc/index.js.map +0 -1
  436. package/dist/components/toc/pivot-aware-toc.js.map +0 -1
  437. package/dist/constants/index.js.map +0 -1
  438. package/dist/constants/initialRequest.js.map +0 -1
  439. package/dist/constants/prism-languages.js.map +0 -1
  440. package/dist/constants/snippetPresets.js.map +0 -1
  441. package/dist/constants/zIndex.js.map +0 -1
  442. package/dist/context/components-context.js.map +0 -1
  443. package/dist/contexts/ApiPlaygroundInputsContext.js.map +0 -1
  444. package/dist/contexts/CodeExampleLabelContext.js.map +0 -1
  445. package/dist/contexts/ConfigContext.js.map +0 -1
  446. package/dist/contexts/EndpointLocationContext.js.map +0 -1
  447. package/dist/contexts/MDXContentContext.js.map +0 -1
  448. package/dist/env.js.map +0 -1
  449. package/dist/hooks/useApiPlaygroundDisplay.js.map +0 -1
  450. package/dist/hooks/useApiPlaygroundInputs.js.map +0 -1
  451. package/dist/hooks/useApiPlaygroundPrefillExamples.js.map +0 -1
  452. package/dist/hooks/useBaseUrlOptions.js.map +0 -1
  453. package/dist/hooks/useCheckHash.js.map +0 -1
  454. package/dist/hooks/useComponentSchemas.js.map +0 -1
  455. package/dist/hooks/useEndpoint.js.map +0 -1
  456. package/dist/hooks/useExpandableMemory.js.map +0 -1
  457. package/dist/hooks/useGenerateNextAdditionalProperties.js.map +0 -1
  458. package/dist/hooks/useGenerateNextItems.js.map +0 -1
  459. package/dist/hooks/useGenerateNextProperties.js.map +0 -1
  460. package/dist/hooks/useKeyboardShortcut.js.map +0 -1
  461. package/dist/hooks/useMDXContent.js.map +0 -1
  462. package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +0 -1
  463. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +0 -1
  464. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +0 -1
  465. package/dist/hooks/useMarkdownCopy.js.map +0 -1
  466. package/dist/hooks/usePlaygroundSchemaOptions.js.map +0 -1
  467. package/dist/hooks/usePrefilledInputs/index.js.map +0 -1
  468. package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +0 -1
  469. package/dist/hooks/useSecurityOption.js.map +0 -1
  470. package/dist/hooks/useSendPlaygroundRequest.js.map +0 -1
  471. package/dist/hooks/useSetDefaultValue.js.map +0 -1
  472. package/dist/index.js.map +0 -1
  473. package/dist/openapi/filterEnums.js.map +0 -1
  474. package/dist/openapi/generateNextAdditionalProperties.js.map +0 -1
  475. package/dist/openapi/generateNextItems.js.map +0 -1
  476. package/dist/openapi/generateNextProperties.js.map +0 -1
  477. package/dist/openapi/generateOptionLabels.js.map +0 -1
  478. package/dist/openapi/generateSimpleLabels.js.map +0 -1
  479. package/dist/openapi/generateTypeStringFromSchema.js.map +0 -1
  480. package/dist/openapi/getAuthFilteredSchemaArray.js.map +0 -1
  481. package/dist/parser/convert-html-to-mdx.js.map +0 -1
  482. package/dist/parser/serialize-mdx.js.map +0 -1
  483. package/dist/paths/isEqualIgnoringLeadingSlash.js.map +0 -1
  484. package/dist/paths/optionallyRemoveLeadingSlash.js.map +0 -1
  485. package/dist/paths/optionallyRemoveTrailingSlash.js.map +0 -1
  486. package/dist/plugins/extract-headings.js.map +0 -1
  487. package/dist/plugins/rehype/rehype-code-blocks.js.map +0 -1
  488. package/dist/plugins/remark/remark-heading-ids.js.map +0 -1
  489. package/dist/plugins/sanitize/rehype-callouts.js.map +0 -1
  490. package/dist/plugins/sanitize/rehype-details.js.map +0 -1
  491. package/dist/plugins/sanitize/rehype-heading-ids.js.map +0 -1
  492. package/dist/plugins/sanitize/rehype-image-urls.js.map +0 -1
  493. package/dist/plugins/sanitize/rehype-latex.js.map +0 -1
  494. package/dist/plugins/sanitize/rehype-param-name.js.map +0 -1
  495. package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js.map +0 -1
  496. package/dist/plugins/sanitize/rehype-remark.js.map +0 -1
  497. package/dist/plugins/sanitize/rehype-table-align.js.map +0 -1
  498. package/dist/plugins/sanitize/rehype-tabs.js.map +0 -1
  499. package/dist/plugins/sanitize/rehype-unwrap-image-links.js.map +0 -1
  500. package/dist/plugins/sanitize/rehype-zone-pivots.js.map +0 -1
  501. package/dist/plugins/sanitize/remove-html-comments.js.map +0 -1
  502. package/dist/utils/api-playground/defaults.js.map +0 -1
  503. package/dist/utils/api-playground/paramFieldDefaults.js.map +0 -1
  504. package/dist/utils/api-reference/getFilteredSecurityOptions.js.map +0 -1
  505. package/dist/utils/api-reference/getNextPropertiesByType.js.map +0 -1
  506. package/dist/utils/clean-title.js.map +0 -1
  507. package/dist/utils/cn.js.map +0 -1
  508. package/dist/utils/containsMarkdownTable.js.map +0 -1
  509. package/dist/utils/copyToClipboard.js.map +0 -1
  510. package/dist/utils/flattenObject.js.map +0 -1
  511. package/dist/utils/formatJSON.js.map +0 -1
  512. package/dist/utils/generate-llms-txt.js.map +0 -1
  513. package/dist/utils/get-node-text.js.map +0 -1
  514. package/dist/utils/getScrollbarClassname.js.map +0 -1
  515. package/dist/utils/locales/en.js.map +0 -1
  516. package/dist/utils/locales/index.js.map +0 -1
  517. package/dist/utils/rehype.js.map +0 -1
  518. package/dist/utils/scrollElementIntoView.js.map +0 -1
  519. package/dist/utils/string.js.map +0 -1
  520. package/dist/utils/uuid.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeneratedRequestExample.js","sources":["../../../../src/api-playground-2/components/Example/GeneratedRequestExample.tsx"],"sourcesContent":["import { ApiPlaygroundInputs, ExampleSchema } from '@mintlify/validation';\nimport { JSX, useState, useEffect } from 'react';\n\nimport { generateRequest } from '@/api-playground-2/generators/generateRequest';\nimport { generateSnippet } from '@/api-playground-2/generators/generateSnippet';\nimport { getFirstExampleValue } from '@/api-playground-2/schemaGraph/processExamples';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { CodeGroupSelect } from '../../../components/content-components/CodeGroupSelect';\nimport { CodeSnippets } from '../../../components/content-components/code-snippets';\nimport { langToPresetMap, SnippetPreset } from '../../../constants/snippetPresets';\nimport type { ExampleCodeSnippet } from '../../../types/exampleCodeSnippet';\n\nexport type GeneratedRequestExampleParams = {\n baseUrl: string;\n apiReferenceData: ApiReferenceDataV2;\n inputs: ApiPlaygroundInputs;\n requestExampleLanguages?: string[];\n requiredOnly?: boolean;\n maxHeight?: string;\n selectedSecurityOptionIndex: number;\n};\n\nexport const GeneratedRequestExample = ({\n baseUrl,\n apiReferenceData,\n inputs,\n requestExampleLanguages,\n requiredOnly,\n maxHeight,\n selectedSecurityOptionIndex,\n}: GeneratedRequestExampleParams): JSX.Element | null => {\n const requestBody = apiReferenceData.dependencies?.requestBody;\n\n if (!requestBody) {\n return (\n <SingleRequest\n apiReferenceData={apiReferenceData}\n baseUrl={baseUrl}\n inputs={inputs}\n requestExampleLanguages={requestExampleLanguages}\n requiredOnly={requiredOnly}\n maxHeight={maxHeight}\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n />\n );\n }\n\n const firstExampleValue = getFirstExampleValue(requestBody.content);\n\n if (!firstExampleValue) return null;\n\n const examplesByContentType = Object.entries(requestBody.content).map(\n ([contentType, content]) => {\n return {\n contentType,\n examples: content.examples,\n };\n }\n );\n const selectedContentTypeIndex = 0;\n\n return examplesByContentType[selectedContentTypeIndex]?.examples.length > 1 ? (\n <MultipleRequest\n apiReferenceData={apiReferenceData}\n selectedBodyContentType={examplesByContentType[selectedContentTypeIndex]?.contentType}\n baseUrl={baseUrl}\n inputs={inputs}\n examples={examplesByContentType[selectedContentTypeIndex]?.examples}\n requiredOnly={requiredOnly}\n maxHeight={maxHeight}\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n />\n ) : (\n <SingleRequest\n apiReferenceData={apiReferenceData}\n selectedBodyContentType={examplesByContentType[selectedContentTypeIndex]?.contentType}\n baseUrl={baseUrl}\n inputs={inputs}\n exampleValue={firstExampleValue}\n requestExampleLanguages={requestExampleLanguages}\n requiredOnly={requiredOnly}\n maxHeight={maxHeight}\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n />\n );\n};\n\ntype SingleRequestParams = GeneratedRequestExampleParams & {\n selectedBodyContentType?: string;\n exampleValue?: unknown;\n};\n\nconst SingleRequest = ({\n baseUrl,\n apiReferenceData,\n inputs,\n selectedBodyContentType,\n exampleValue,\n requestExampleLanguages,\n requiredOnly,\n maxHeight,\n selectedSecurityOptionIndex,\n}: SingleRequestParams) => {\n const request = generateRequest({\n baseUrl,\n apiReferenceData,\n inputs: inputs,\n selectedBodyContentType,\n exampleData: exampleValue,\n requiredOnly,\n selectedSecurityOptionIndex,\n });\n\n const snippetPresets = requestExampleLanguages?.reduce<SnippetPreset[]>((acc, lang) => {\n const preset = langToPresetMap[lang];\n if (preset) acc.push(preset);\n return acc;\n }, []);\n\n const snippets = generateSnippet({\n apiReferenceData,\n pathInputs: inputs.path,\n request,\n snippetPresets,\n });\n\n return <CodeSnippets snippets={snippets} dropdown maxHeight={maxHeight} />;\n};\n\ntype MultipleRequestParams = GeneratedRequestExampleParams & {\n selectedBodyContentType?: string;\n examples: Record<string, ExampleSchema>;\n selectedSecurityOptionIndex: number;\n};\n\nconst MultipleRequest = ({\n baseUrl,\n apiReferenceData,\n inputs,\n selectedBodyContentType,\n examples,\n requiredOnly,\n maxHeight,\n selectedSecurityOptionIndex,\n}: MultipleRequestParams): JSX.Element | null => {\n const [nameToSnippetExamplesMap, setNameToSnippetExamplesMap] = useState<\n Record<string, Record<string, ExampleCodeSnippet>>\n >({});\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n const pathInputs = inputs.path;\n const snippetMap: Record<string, Record<string, ExampleCodeSnippet>> = {};\n\n try {\n for (const [name, { value: exampleData }] of Object.entries(examples)) {\n if (!exampleData) continue;\n\n const request = generateRequest({\n baseUrl,\n apiReferenceData,\n inputs,\n selectedBodyContentType,\n exampleData,\n requiredOnly,\n selectedSecurityOptionIndex,\n });\n\n const snippets = generateSnippet({\n apiReferenceData,\n pathInputs,\n request,\n isMultipleRequest: true,\n });\n\n snippets.forEach((snippet) => {\n snippetMap[snippet.filename] = {\n ...snippetMap[snippet.filename],\n [name]: snippet,\n };\n });\n }\n setNameToSnippetExamplesMap(snippetMap);\n } catch (err) {\n console.error(err);\n setError(err as Error);\n }\n }, [baseUrl, apiReferenceData, inputs, selectedBodyContentType, examples, requiredOnly, selectedSecurityOptionIndex]);\n\n if (error) return null;\n if (Object.keys(nameToSnippetExamplesMap).length === 0) return null;\n\n return <CodeGroupSelect snippets={nameToSnippetExamplesMap} maxHeight={maxHeight} />;\n};\n"],"names":["GeneratedRequestExample","baseUrl","apiReferenceData","inputs","requestExampleLanguages","requiredOnly","maxHeight","selectedSecurityOptionIndex","requestBody","_a","jsx","SingleRequest","firstExampleValue","getFirstExampleValue","examplesByContentType","contentType","content","selectedContentTypeIndex","_b","MultipleRequest","_c","_d","_e","selectedBodyContentType","exampleValue","request","generateRequest","snippetPresets","acc","lang","preset","langToPresetMap","snippets","generateSnippet","CodeSnippets","examples","nameToSnippetExamplesMap","setNameToSnippetExamplesMap","useState","error","setError","useEffect","pathInputs","snippetMap","name","exampleData","snippet","err","CodeGroupSelect"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeneratedResponseExample.js","sources":["../../../../src/api-playground-2/components/Example/GeneratedResponseExample.tsx"],"sourcesContent":["import { generateResponseExampleMap } from '@/api-playground-2/generators/generateResponseExampleMap';\nimport { mapResponseExamples } from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { CodeGroupSelect } from '../../../components/content-components/CodeGroupSelect';\nimport { CodeSnippets } from '../../../components/content-components/code-snippets';\nimport type { ExampleCodeSnippet } from '../../../types/exampleCodeSnippet';\n\nexport const GeneratedResponseExample = ({\n apiReferenceData,\n // TODO - Api Playground Refactor: selectedContentType here implies the example will change when a different example is selected, but that doesn't work even in v1 - should be easy to pass a real selectedContentTypeIndex here\n // eslint-disable-next-line unused-imports/no-unused-vars\n selectedResponseContentType: selectedContentType,\n maxHeight,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n selectedResponseContentType?: string;\n maxHeight?: string;\n}) => {\n const responseContent = Object.values(apiReferenceData.dependencies?.responses ?? {});\n\n // if there are no status codes, don't render\n if (Object.keys(responseContent).length === 0) {\n return null;\n }\n\n // if none of the status codes have a content type, don't render\n if (Object.values(responseContent).every((body) => Object.keys(body).length === 0)) {\n return null;\n }\n\n const responseCodeMediaObjects = mapResponseExamples(apiReferenceData);\n\n const responseExampleMap = generateResponseExampleMap(responseCodeMediaObjects, 0);\n\n if (Object.values(responseExampleMap).every((value) => Object.keys(value).length <= 1)) {\n const codeSnippetMap: Record<string, ExampleCodeSnippet>[] = Object.values(responseExampleMap);\n const snippets: ExampleCodeSnippet[] = codeSnippetMap.flatMap((record) =>\n Object.values(record)\n );\n return <CodeSnippets snippets={snippets} maxHeight={maxHeight} />;\n }\n return <CodeGroupSelect snippets={responseExampleMap} maxHeight={maxHeight} />;\n};\n"],"names":["GeneratedResponseExample","apiReferenceData","selectedContentType","maxHeight","responseContent","_a","body","responseCodeMediaObjects","mapResponseExamples","responseExampleMap","generateResponseExampleMap","value","snippets","record","jsx","CodeSnippets","CodeGroupSelect"],"mappings":";;;;;AAOO,MAAMA,IAA2B,CAAC;AAAA,EACvC,kBAAAC;AAAA;AAAA;AAAA,EAGA,6BAA6BC;AAAA,EAC7B,WAAAC;AACF,MAIM;;AACJ,QAAMC,IAAkB,OAAO,SAAOC,IAAAJ,EAAiB,iBAAjB,gBAAAI,EAA+B,cAAa,EAAE;AAQpF,MALI,OAAO,KAAKD,CAAe,EAAE,WAAW,KAKxC,OAAO,OAAOA,CAAe,EAAE,MAAM,CAACE,MAAS,OAAO,KAAKA,CAAI,EAAE,WAAW,CAAC;AAC/E,WAAO;AAGT,QAAMC,IAA2BC,EAAoBP,CAAgB,GAE/DQ,IAAqBC,EAA2BH,GAA0B,CAAC;AAEjF,MAAI,OAAO,OAAOE,CAAkB,EAAE,MAAM,CAACE,MAAU,OAAO,KAAKA,CAAK,EAAE,UAAU,CAAC,GAAG;AAEtF,UAAMC,IADuD,OAAO,OAAOH,CAAkB,EACvC;AAAA,MAAQ,CAACI,MAC7D,OAAO,OAAOA,CAAM;AAAA,IAAA;AAEtB,WAAO,gBAAAC,EAACC,GAAA,EAAa,UAAAH,GAAoB,WAAAT,EAAA,CAAsB;AAAA,EACjE;AACA,SAAO,gBAAAW,EAACE,GAAA,EAAgB,UAAUP,GAAoB,WAAAN,EAAA,CAAsB;AAC9E;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequestExample.js","sources":["../../../../src/api-playground-2/components/Example/RequestExample.tsx"],"sourcesContent":["import { ApiPlaygroundInputs } from '@mintlify/validation';\nimport { useState, useEffect } from 'react';\n\nimport { initialApiPlaygroundInputs } from '@/api-playground-2/constants';\nimport { generateSnippetMap } from '@/api-playground-2/generators/generateSnippetMap';\nimport type { ApiReferenceDataV2, CodeExample } from '@/api-playground-2/types';\nimport { CodeGroupSelect } from '../../../components/content-components/CodeGroupSelect';\nimport { CodeSnippet } from '../../../components/content-components/code-snippet';\nimport { CodeSnippets } from '../../../components/content-components/code-snippets';\nimport { CodeBlock } from '../../../components/content-components/code-block';\nimport { CodeGroup } from '../../../components/content-components/code-group';\nimport { prismLangToDisplayLang } from '../../../constants/prism-languages';\nimport { useApiPlaygroundDisplay } from '../../../hooks/useApiPlaygroundDisplay';\nimport type { ExampleCodeSnippet } from '../../../types/exampleCodeSnippet';\n\nimport { GeneratedRequestExample } from './GeneratedRequestExample';\n\nexport const RequestExample = ({\n apiReferenceData,\n inputs = initialApiPlaygroundInputs,\n maxHeight,\n selectedSecurityOptionIndex,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n inputs: ApiPlaygroundInputs;\n maxHeight?: string;\n selectedSecurityOptionIndex: number;\n}) => {\n const requestExamples = apiReferenceData.operation?.requestExamples;\n const apiPlaygroundDisplay = useApiPlaygroundDisplay();\n const requestExampleLanguages = apiReferenceData.operation?.requestExampleLanguages;\n const requiredOnly = apiReferenceData.operation?.requiredOnlyExamples;\n\n const requestExampleType = apiReferenceData.operation?.requestExampleType;\n\n switch (apiReferenceData.operation?.requestExampleType) {\n case 'mdx':\n if (!requestExamples) return null;\n const dropdown = requestExamples.some((example: CodeExample) => example.dropdown ?? false);\n return (\n <CodeGroup isSmallText dropdown={dropdown} noMargins className={maxHeight}>\n {requestExamples.map((example: CodeExample, index) => (\n <CodeBlock\n language={example.language}\n fileName={example.filename}\n key={`${example.filename}-${example.language}-${index}`}\n >\n <span>{example.code}</span>\n </CodeBlock>\n ))}\n </CodeGroup>\n );\n case 'codeSamples':\n if (!apiReferenceData.operation.codeSamples) return null;\n return (\n <CodeSamplesExample\n apiReferenceData={apiReferenceData}\n inputs={inputs}\n apiPlaygroundDisplay={apiPlaygroundDisplay}\n requestExampleLanguages={requestExampleLanguages}\n requiredOnly={requiredOnly}\n maxHeight={maxHeight}\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n />\n );\n case 'generated':\n const baseUrl =\n apiReferenceData.operation.baseUrl ?? apiReferenceData.operation.baseUrlOptions[0];\n if (!baseUrl) return null;\n return (\n <GeneratedRequestExample\n apiReferenceData={apiReferenceData}\n baseUrl={baseUrl}\n inputs={inputs}\n requestExampleLanguages={requestExampleLanguages}\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n requiredOnly={requiredOnly}\n maxHeight={maxHeight}\n />\n );\n }\n};\n\nconst CodeSamplesExample = ({\n apiReferenceData,\n inputs,\n apiPlaygroundDisplay,\n requestExampleLanguages,\n requiredOnly,\n maxHeight,\n selectedSecurityOptionIndex,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n inputs: ApiPlaygroundInputs;\n apiPlaygroundDisplay: 'none' | 'simple' | 'interactive';\n requestExampleLanguages?: string[];\n requiredOnly?: boolean;\n maxHeight?: string;\n selectedSecurityOptionIndex: number;\n}) => {\n const [snippetMap, setSnippetMap] = useState<Record<string, Record<string, ExampleCodeSnippet>> | null>(null);\n\n useEffect(() => {\n if (!apiReferenceData.operation?.codeSamples) return;\n\n const result = generateSnippetMap({\n apiReferenceData,\n codeSamples: apiReferenceData.operation.codeSamples,\n baseUrl: apiReferenceData.operation.baseUrl ?? apiReferenceData.operation.baseUrlOptions[0],\n apiPlaygroundMode: apiPlaygroundDisplay,\n requestExampleLanguages,\n requiredOnly,\n selectedSecurityOptionIndex,\n inputs,\n });\n setSnippetMap(result);\n }, [apiReferenceData, inputs, apiPlaygroundDisplay, requestExampleLanguages, requiredOnly]);\n\n if (!snippetMap) return null;\n\n if (Object.values(snippetMap).every((value) => Object.keys(value).length <= 1)) {\n const codeSnippetMap = Object.values(snippetMap);\n let snippets = codeSnippetMap.flatMap((record) => Object.values(record));\n const uniqueLabels = new Set(snippets.map((snippet) => snippet.filename));\n if (uniqueLabels.size !== snippets.length) {\n snippets = snippets.map((snippet) => ({\n ...snippet,\n filename: prismLangToDisplayLang[snippet.language] ?? snippet.language,\n }));\n }\n return <CodeSnippets snippets={snippets} dropdown maxHeight={maxHeight} />;\n }\n\n return <CodeGroupSelect snippets={snippetMap} maxHeight={maxHeight} />;\n};\n"],"names":["RequestExample","apiReferenceData","inputs","initialApiPlaygroundInputs","maxHeight","selectedSecurityOptionIndex","requestExamples","_a","apiPlaygroundDisplay","useApiPlaygroundDisplay","requestExampleLanguages","_b","requiredOnly","_c","_d","_e","dropdown","example","jsx","CodeGroup","index","CodeBlock","CodeSamplesExample","baseUrl","GeneratedRequestExample","snippetMap","setSnippetMap","useState","useEffect","result","generateSnippetMap","value","snippets","record","snippet","prismLangToDisplayLang","CodeSnippets","CodeGroupSelect"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResponseExample.js","sources":["../../../../src/api-playground-2/components/Example/ResponseExample.tsx"],"sourcesContent":["\nimport type { ApiReferenceDataV2, CodeExample } from '@/api-playground-2/types';\nimport { CodeBlock } from '../../../components/content-components/code-block';\nimport { CodeGroup } from '../../../components/content-components/code-group';\n\nimport { GeneratedResponseExample } from './GeneratedResponseExample';\n\nexport const ResponseExample = ({ apiReferenceData, maxHeight }: { apiReferenceData: ApiReferenceDataV2; maxHeight?: string }) => {\n const responseExamples = apiReferenceData.operation?.responseExamples;\n\n if (apiReferenceData.operation?.responseExampleType === 'mdx') {\n if (!responseExamples) return null;\n const dropdown = responseExamples.some((example: CodeExample) => example.dropdown ?? false);\n return (\n <CodeGroup isSmallText dropdown={dropdown} noMargins className={maxHeight}>\n {responseExamples.map((example: CodeExample, index) => (\n <CodeBlock language={example.language} fileName={example.filename} key={`${example.filename}-${example.language}-${index}`}>\n <span>{example.code}</span>\n </CodeBlock>\n ))}\n </CodeGroup>\n );\n } else {\n return <GeneratedResponseExample apiReferenceData={apiReferenceData} maxHeight={maxHeight} />;\n }\n};\n"],"names":["ResponseExample","apiReferenceData","maxHeight","responseExamples","_a","_b","dropdown","example","CodeGroup","index","jsx","CodeBlock","GeneratedResponseExample"],"mappings":";;;;AAOO,MAAMA,IAAkB,CAAC,EAAE,kBAAAC,GAAkB,WAAAC,QAA8E;;AAChI,QAAMC,KAAmBC,IAAAH,EAAiB,cAAjB,gBAAAG,EAA4B;AAErD,QAAIC,IAAAJ,EAAiB,cAAjB,gBAAAI,EAA4B,yBAAwB,OAAO;AAC7D,QAAI,CAACF,EAAkB,QAAO;AAC9B,UAAMG,IAAWH,EAAiB,KAAK,CAACI,MAAyBA,EAAQ,YAAY,EAAK;AAC1F,6BACGC,GAAA,EAAU,aAAW,IAAC,UAAAF,GAAoB,WAAS,IAAC,WAAWJ,GAC7D,UAAAC,EAAiB,IAAI,CAACI,GAAsBE,MAC3C,gBAAAC,EAACC,KAAU,UAAUJ,EAAQ,UAAU,UAAUA,EAAQ,UACvD,UAAA,gBAAAG,EAAC,QAAA,EAAM,UAAAH,EAAQ,MAAK,EAAA,GADkD,GAAGA,EAAQ,QAAQ,IAAIA,EAAQ,QAAQ,IAAIE,CAAK,EAExH,CACD,GACH;AAAA,EAEJ;AACE,WAAO,gBAAAC,EAACE,GAAA,EAAyB,kBAAAX,GAAoC,WAAAC,EAAA,CAAsB;AAE/F;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodySection.js","sources":["../../../../src/api-playground-2/components/Request/BodySection.tsx"],"sourcesContent":["import { apiPlaygroundInputKeys } from '@/api-playground-2/constants';\nimport { isSchemaObject } from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2, ResolvedSchemaObject } from '@/api-playground-2/types';\nimport { cn } from '@/utils/cn';\n\nimport { TypeDropdown } from '../TypeDropdown';\nimport { InputSectionContainer } from './InputSectionContainer';\nimport { DifferentiatedInput } from './inputs/DifferentiatedInput';\n\nexport const BodySection = ({\n apiReferenceData,\n selectedContentTypeIndex,\n setSelectedContentTypeIndex,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n selectedContentTypeIndex: number;\n setSelectedContentTypeIndex: (index: number) => void;\n}) => {\n const { dependencies } = apiReferenceData;\n const { requestBody } = dependencies ?? {};\n\n if (!requestBody) return null;\n const contentTypesAndContents = Object.entries(requestBody.content)\n .map(([contentType, content]) => {\n if (isSchemaObject(content.schema)) {\n return { contentType, schema: content.schema, label: contentType };\n }\n return null;\n })\n .filter(\n (content): content is { contentType: string; schema: ResolvedSchemaObject; label: string } =>\n content !== null\n );\n const contentTypeAndContent = contentTypesAndContents[selectedContentTypeIndex];\n if (!contentTypeAndContent) return null;\n const { schema } = contentTypeAndContent;\n\n const bodyInputKey = `${apiPlaygroundInputKeys.body}`;\n\n const ContentTypeSelector = () => {\n return (\n <div\n onClick={(e) => e.stopPropagation()}\n className={cn(\"mint:text-xs mint:font-mono\", contentTypesAndContents.length <= 1 && 'mint:hidden')}\n >\n <TypeDropdown\n options={contentTypesAndContents}\n selectedIndex={selectedContentTypeIndex}\n onSelectOption={(index) => {\n setSelectedContentTypeIndex(index);\n }}\n />\n </div>\n );\n };\n\n return (\n <InputSectionContainer name=\"Body\" rightElement={<ContentTypeSelector />}>\n <DifferentiatedInput schema={schema} isBody depth={0} inputKeyPrefix={bodyInputKey} />\n </InputSectionContainer>\n );\n};\n"],"names":["BodySection","apiReferenceData","selectedContentTypeIndex","setSelectedContentTypeIndex","dependencies","requestBody","contentTypesAndContents","contentType","content","isSchemaObject","contentTypeAndContent","schema","bodyInputKey","apiPlaygroundInputKeys","InputSectionContainer","jsx","e","cn","TypeDropdown","index","DifferentiatedInput"],"mappings":";;;;;;;AASO,MAAMA,IAAc,CAAC;AAAA,EAC1B,kBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,6BAAAC;AACF,MAIM;AACJ,QAAM,EAAE,cAAAC,MAAiBH,GACnB,EAAE,aAAAI,MAAgBD,KAAgB,CAAA;AAExC,MAAI,CAACC,EAAa,QAAO;AACzB,QAAMC,IAA0B,OAAO,QAAQD,EAAY,OAAO,EAC/D,IAAI,CAAC,CAACE,GAAaC,CAAO,MACrBC,EAAeD,EAAQ,MAAM,IACxB,EAAE,aAAAD,GAAa,QAAQC,EAAQ,QAAQ,OAAOD,EAAA,IAEhD,IACR,EACA;AAAA,IACC,CAACC,MACCA,MAAY;AAAA,EAAA,GAEZE,IAAwBJ,EAAwBJ,CAAwB;AAC9E,MAAI,CAACQ,EAAuB,QAAO;AACnC,QAAM,EAAE,QAAAC,MAAWD,GAEbE,IAAe,GAAGC,EAAuB,IAAI;AAmBnD,2BACGC,GAAA,EAAsB,MAAK,QAAO,gCAlBT,MAExB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,CAACC,MAAMA,EAAE,gBAAA;AAAA,MAClB,WAAWC,EAAG,+BAA+BX,EAAwB,UAAU,KAAK,aAAa;AAAA,MAEjG,UAAA,gBAAAS;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAASZ;AAAA,UACT,eAAeJ;AAAA,UACf,gBAAgB,CAACiB,MAAU;AACzB,YAAAhB,EAA4BgB,CAAK;AAAA,UACnC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,GAM8C,CAAA,CAAoB,GACpE,UAAA,gBAAAJ,EAACK,GAAA,EAAoB,QAAAT,GAAgB,QAAM,IAAC,OAAO,GAAG,gBAAgBC,GAAc,GACtF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputSectionContainer.js","sources":["../../../../src/api-playground-2/components/Request/InputSectionContainer.tsx"],"sourcesContent":["\nimport { ReactNode, useState } from 'react';\n\nimport { useSelectedLocale } from '@/utils/locales';\nimport { ChevronRightFilled, CheckmarkCircleRegular, ErrorCircleRegular } from '@fluentui/react-icons';\nimport { cn } from \"../../../utils/cn\";\n\ntype InputSectionContainerParams = {\n name: string;\n validationState?: 'valid' | 'invalid';\n children?: ReactNode;\n rightElement?: ReactNode;\n};\n\n// identical to v1 InputSectionContainer but doesn't use button and instead uses div with role=\"button\"\n// gets rid of error that <button> cannot be used as a child of <button> when we pass a button as rightElement\nexport const InputSectionContainer = ({\n name,\n validationState,\n children,\n rightElement,\n}: InputSectionContainerParams) => {\n const [expanded, setExpanded] = useState(true);\n const locale = useSelectedLocale();\n\n return (\n <div>\n <div\n role=\"button\"\n tabIndex={0}\n aria-label={locale['aria.expandInputSection']}\n onClick={() => setExpanded((prev) => !prev)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n setExpanded((prev) => !prev);\n }\n }}\n className={cn(\n 'mint:flex mint:w-full mint:px-4 mint:py-2.5 mint:items-center mint:justify-between mint:border-standard mint:cursor-pointer mint:hover:bg-gray-50 dark:hover:bg-white/5',\n expanded ? 'mint:border-b-0! mint:border-t mint:border-x mint:rounded-t-2xl' : 'mint:rounded-2xl'\n )}\n >\n <div className=\"mint:flex mint:items-center mint:gap-x-1.5\">\n <ChevronRightFilled\n className={cn(\"mint:h-3 mint:w-3 mint:transition-transform\",\n expanded && 'mint:rotate-90'\n )}\n />\n <div className=\"mint:flex-1 mint:flex mint:items-center mint:space-x-2\">\n <div className=\"mint:text-sm mint:font-medium mint:text-gray-800 mint:dark:text-gray-200 mint:leading-6\">\n {name}\n </div>\n {validationState ? (\n validationState === 'invalid' ? (\n <ValidIcon />\n ) : (\n <InvalidIcon />\n )\n ) : null}\n </div>\n </div>\n <div onClick={(e) => e.stopPropagation()} onKeyDown={(e) => e.stopPropagation()}>\n {rightElement}\n </div>\n </div>\n {/* since the UI components maintain some state, we can't unmount them - hide instead */}\n <div\n className={cn(\"mint:bg-background-light dark:bg-background-dark mint:flex-1 mint:px-4 mint:rounded-b-xl mint:border-standard mint:border-t-0! mint:divide-y mint:divide-gray-100 dark:divide-white/10\",\n expanded && children ? '' : 'mint:hidden'\n )}\n >\n {/* Used to create the top border */}\n <div />\n {children}\n </div>\n </div>\n );\n};\n\nconst ValidIcon = () => <CheckmarkCircleRegular className=\"mint:h-4 mint:w-4 mint:bg-[#2AB673]\" />;\n\nconst InvalidIcon = () => <ErrorCircleRegular className=\"mint:h-4 mint:w-4 mint:bg-[#CB3A32]\" />;\n"],"names":["InputSectionContainer","name","validationState","children","rightElement","expanded","setExpanded","useState","locale","useSelectedLocale","jsxs","prev","e","cn","jsx","ChevronRightFilled","ValidIcon","InvalidIcon","CheckmarkCircleRegular","ErrorCircleRegular"],"mappings":";;;;;AAgBO,MAAMA,IAAwB,CAAC;AAAA,EACpC,MAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AACF,MAAmC;AACjC,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAI,GACvCC,IAASC,EAAA;AAEf,2BACG,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAYF,EAAO,yBAAyB;AAAA,QAC5C,SAAS,MAAMF,EAAY,CAACK,MAAS,CAACA,CAAI;AAAA,QAC1C,WAAW,CAACC,MAAM;AAChB,WAAIA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SACjCA,EAAE,eAAA,GACFN,EAAY,CAACK,MAAS,CAACA,CAAI;AAAA,QAE/B;AAAA,QACA,WAAWE;AAAA,UACT;AAAA,UACAR,IAAW,oEAAoE;AAAA,QAAA;AAAA,QAGjF,UAAA;AAAA,UAAA,gBAAAK,EAAC,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,YAAA,gBAAAI;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,WAAWF;AAAA,kBAAG;AAAA,kBACZR,KAAY;AAAA,gBAAA;AAAA,cACd;AAAA,YAAA;AAAA,YAEF,gBAAAK,EAAC,OAAA,EAAI,WAAU,0DACb,UAAA;AAAA,cAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,2FACZ,UAAAb,GACH;AAAA,cACCC,IACCA,MAAoB,YAClB,gBAAAY,EAACE,KAAU,IAEX,gBAAAF,EAACG,KAAY,IAEb;AAAA,YAAA,EAAA,CACN;AAAA,UAAA,GACF;AAAA,UACA,gBAAAH,EAAC,OAAA,EAAI,SAAS,CAACF,MAAMA,EAAE,gBAAA,GAAmB,WAAW,CAACA,MAAMA,EAAE,gBAAA,GAC3D,UAAAR,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWG;AAAA,UAAG;AAAA,UACZR,KAAYF,IAAW,KAAK;AAAA,QAAA;AAAA,QAI9B,UAAA;AAAA,UAAA,gBAAAW,EAAC,OAAA,EAAI;AAAA,UACJX;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ,GAEMa,IAAY,MAAM,gBAAAF,EAACI,GAAA,EAAuB,WAAU,sCAAA,CAAsC,GAE1FD,IAAc,MAAM,gBAAAH,EAACK,GAAA,EAAmB,WAAU,sCAAA,CAAsC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParameterSection.js","sources":["../../../../src/api-playground-2/components/Request/ParameterSection.tsx"],"sourcesContent":["import { ParameterObject } from '@mintlify/validation';\n\nimport {\n escapeDots,\n getParametersPerSection,\n isSchemaObject,\n mapParamInToPlaygroundInputKey,\n} from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\n\nimport { InputSectionContainer } from './InputSectionContainer';\nimport { DifferentiatedInput } from './inputs/DifferentiatedInput';\n\nexport const ParameterSection = ({\n apiReferenceData,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n}) => {\n const { dependencies } = apiReferenceData;\n const { parameters } = dependencies ?? {};\n if (!parameters || Object.keys(parameters).length === 0) return null;\n const { header, path, query, cookie } = getParametersPerSection(apiReferenceData);\n\n const mapParamToInput = (parameter: ParameterObject | undefined): React.ReactNode | null => {\n if (parameter === undefined) {\n return null;\n }\n if (isSchemaObject(parameter.schema)) {\n const inputKeyPrefix = `${mapParamInToPlaygroundInputKey(parameter.in)}.${escapeDots(parameter.name)}`;\n return (\n <DifferentiatedInput\n key={parameter.name}\n name={parameter.name}\n schema={parameter.schema}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n }\n };\n\n const headerParameters = header\n .map(mapParamToInput)\n .filter((input): input is React.ReactNode => input !== null);\n const cookieParameters = cookie\n .map(mapParamToInput)\n .filter((input): input is React.ReactNode => input !== null);\n const pathParameters = path\n .map(mapParamToInput)\n .filter((input): input is React.ReactNode => input !== null);\n const queryParameters = query\n .map(mapParamToInput)\n .filter((input): input is React.ReactNode => input !== null);\n\n return (\n <>\n {headerParameters.length > 0 && (\n <InputSectionContainer name=\"Header\">{headerParameters}</InputSectionContainer>\n )}\n {cookieParameters.length > 0 && (\n <InputSectionContainer name=\"Cookies\">{cookieParameters}</InputSectionContainer>\n )}\n {pathParameters.length > 0 && (\n <InputSectionContainer name=\"Path\">{pathParameters}</InputSectionContainer>\n )}\n {queryParameters.length > 0 && (\n <InputSectionContainer name=\"Query\">{queryParameters}</InputSectionContainer>\n )}\n </>\n );\n};\n"],"names":["ParameterSection","apiReferenceData","dependencies","parameters","header","path","query","cookie","getParametersPerSection","mapParamToInput","parameter","isSchemaObject","inputKeyPrefix","mapParamInToPlaygroundInputKey","escapeDots","jsx","DifferentiatedInput","headerParameters","input","cookieParameters","pathParameters","queryParameters","jsxs","Fragment","InputSectionContainer"],"mappings":";;;;AAaO,MAAMA,IAAmB,CAAC;AAAA,EAC/B,kBAAAC;AACF,MAEM;AACJ,QAAM,EAAE,cAAAC,MAAiBD,GACnB,EAAE,YAAAE,MAAeD,KAAgB,CAAA;AACvC,MAAI,CAACC,KAAc,OAAO,KAAKA,CAAU,EAAE,WAAW,EAAG,QAAO;AAChE,QAAM,EAAE,QAAAC,GAAQ,MAAAC,GAAM,OAAAC,GAAO,QAAAC,EAAA,IAAWC,EAAwBP,CAAgB,GAE1EQ,IAAkB,CAACC,MAAmE;AAC1F,QAAIA,MAAc;AAChB,aAAO;AAET,QAAIC,EAAeD,EAAU,MAAM,GAAG;AACpC,YAAME,IAAiB,GAAGC,EAA+BH,EAAU,EAAE,CAAC,IAAII,EAAWJ,EAAU,IAAI,CAAC;AACpG,aACE,gBAAAK;AAAA,QAACC;AAAA,QAAA;AAAA,UAEC,MAAMN,EAAU;AAAA,UAChB,QAAQA,EAAU;AAAA,UAClB,gBAAAE;AAAA,QAAA;AAAA,QAHKF,EAAU;AAAA,MAAA;AAAA,IAMrB;AAAA,EACF,GAEMO,IAAmBb,EACtB,IAAIK,CAAe,EACnB,OAAO,CAACS,MAAoCA,MAAU,IAAI,GACvDC,IAAmBZ,EACtB,IAAIE,CAAe,EACnB,OAAO,CAACS,MAAoCA,MAAU,IAAI,GACvDE,IAAiBf,EACpB,IAAII,CAAe,EACnB,OAAO,CAACS,MAAoCA,MAAU,IAAI,GACvDG,IAAkBf,EACrB,IAAIG,CAAe,EACnB,OAAO,CAACS,MAAoCA,MAAU,IAAI;AAE7D,SACE,gBAAAI,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAN,EAAiB,SAAS,KACzB,gBAAAF,EAACS,GAAA,EAAsB,MAAK,UAAU,UAAAP,GAAiB;AAAA,IAExDE,EAAiB,SAAS,uBACxBK,GAAA,EAAsB,MAAK,WAAW,UAAAL,GAAiB;AAAA,IAEzDC,EAAe,SAAS,uBACtBI,GAAA,EAAsB,MAAK,QAAQ,UAAAJ,GAAe;AAAA,IAEpDC,EAAgB,SAAS,uBACvBG,GAAA,EAAsB,MAAK,SAAS,UAAAH,EAAA,CAAgB;AAAA,EAAA,GAEzD;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecuritySection.js","sources":["../../../../src/api-playground-2/components/Request/SecuritySection.tsx"],"sourcesContent":["import { escapeDots, mapParamInToPlaygroundInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2, ProcessedSecurityOption, SecuritySchemeAndScope } from '@/api-playground-2/types';\nimport { cn } from '@/utils/cn';\n\nimport { TypeDropdown } from '../TypeDropdown';\nimport { InputSectionContainer } from './InputSectionContainer';\nimport { DifferentiatedInput } from './inputs/DifferentiatedInput';\nimport { usePlaygroundInputsStore, useSelectedSecurityOption } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { useEffect, useRef } from 'react';\n\nconst getSecurityOptionInputKeyPrefix = (securityOption: ProcessedSecurityOption) => {\n const { scheme, schema } = securityOption;\n const parameterSection = 'in' in scheme ? scheme.in : 'header';\n const name = 'name' in scheme ? scheme.name : schema.title ?? '';\n return `${mapParamInToPlaygroundInputKey(parameterSection)}.${escapeDots(name)}`;\n}\n\nexport const SecuritySection = ({ apiReferenceData }: { apiReferenceData: ApiReferenceDataV2; }) => {\n \n const { selectedSecurityOptionIndex, setSelectedSecurityOptionIndex } =\n useSelectedSecurityOption();\n const inputs = usePlaygroundInputsStore((state) => state.inputs);\n const replaceInputs = usePlaygroundInputsStore((state) => state.replaceInputs);\n const prevIndexRef = useRef<number>(selectedSecurityOptionIndex)\n const securityOptions = apiReferenceData.dependencies?.processedSecurityOptions;\n \n // replace previous security option inputs when the selected security option changes\n useEffect(() => {\n if (prevIndexRef.current !== selectedSecurityOptionIndex) {\n if (!securityOptions) return;\n const prevSecurityOption = securityOptions[prevIndexRef.current];\n if (prevSecurityOption) {\n const prevInputKeyPrefix = getSecurityOptionInputKeyPrefix(prevSecurityOption);\n\n const newInputs = { ...inputs };\n Object.keys(newInputs).forEach((key) => {\n if (key.startsWith(prevInputKeyPrefix)) {\n delete newInputs[key];\n }\n });\n replaceInputs(newInputs);\n }\n prevIndexRef.current = selectedSecurityOptionIndex;\n }\n }, [selectedSecurityOptionIndex, securityOptions, inputs, replaceInputs])\n\n if (!securityOptions || securityOptions.length === 0) return null;\n const selectedSecurityOption = securityOptions[selectedSecurityOptionIndex];\n if (!selectedSecurityOption) return null;\n const securityOptionDropdownOptions = securityOptions.map((securityOption) => ({\n label: securityOption.schema.title ?? 'Authorization',\n schema: securityOption.schema,\n }));\n\n const { schema } = selectedSecurityOption;\n const inputKeyPrefix = getSecurityOptionInputKeyPrefix(selectedSecurityOption);\n\n const SecurityOptionSelector = () => {\n return (\n <div\n onClick={(e) => e.stopPropagation()}\n className={cn(\"mint:text-xs mint:font-mono\", securityOptions.length <= 1 && 'mint:hidden')}\n >\n <TypeDropdown\n options={securityOptionDropdownOptions}\n selectedIndex={selectedSecurityOptionIndex}\n onSelectOption={(index) => {\n setSelectedSecurityOptionIndex(index);\n }}\n />\n </div>\n );\n };\n\n return (\n <InputSectionContainer name=\"Authorization\" rightElement={<SecurityOptionSelector />}>\n <DifferentiatedInput name={schema.title} schema={schema} inputKeyPrefix={inputKeyPrefix} />\n </InputSectionContainer>\n );\n};\n\n// TODO - Api Playground Refactor: add optional transform fns passed to the getter and setter\n// eslint-disable-next-line unused-imports/no-unused-vars\nconst parseValueForParameter = ({\n scheme,\n value,\n}: {\n scheme: SecuritySchemeAndScope;\n value: unknown;\n}) => {\n if (\n scheme.type !== 'http' ||\n scheme.scheme !== 'basic' ||\n typeof value !== 'string' ||\n !value.startsWith('Basic ')\n )\n return value;\n\n const encoded = value.slice('Basic '.length);\n const decoded = Buffer.from(encoded, 'base64').toString('utf-8');\n const [username, password] = decoded.split(':');\n return { username, password };\n};\n\n// eslint-disable-next-line unused-imports/no-unused-vars\nconst getTransformForParameter = (scheme: SecuritySchemeAndScope) => {\n if (scheme.type !== 'http' || scheme.scheme !== 'basic') {\n return (value: unknown) => value;\n }\n\n return (value: unknown) => {\n const username =\n value && typeof value === 'object' && 'username' in value ? value['username'] : undefined;\n const password =\n value && typeof value === 'object' && 'password' in value ? value['password'] : undefined;\n const unencoded = `${username ?? ''}:${password ?? ''}`;\n const encoded = Buffer.from(unencoded).toString('base64');\n return `Basic ${encoded}`;\n };\n};\n"],"names":["getSecurityOptionInputKeyPrefix","securityOption","scheme","schema","parameterSection","name","mapParamInToPlaygroundInputKey","escapeDots","SecuritySection","apiReferenceData","selectedSecurityOptionIndex","setSelectedSecurityOptionIndex","useSelectedSecurityOption","inputs","usePlaygroundInputsStore","state","replaceInputs","prevIndexRef","useRef","securityOptions","_a","useEffect","prevSecurityOption","prevInputKeyPrefix","newInputs","key","selectedSecurityOption","securityOptionDropdownOptions","inputKeyPrefix","jsx","InputSectionContainer","cn","TypeDropdown","index","DifferentiatedInput"],"mappings":";;;;;;;;AAUA,MAAMA,IAAkC,CAACC,MAA4C;AACnF,QAAM,EAAE,QAAAC,GAAQ,QAAAC,EAAA,IAAWF,GACrBG,IAAmB,QAAQF,IAASA,EAAO,KAAK,UAChDG,IAAO,UAAUH,IAASA,EAAO,OAAOC,EAAO,SAAS;AAC9D,SAAO,GAAGG,EAA+BF,CAAgB,CAAC,IAAIG,EAAWF,CAAI,CAAC;AAChF,GAEaG,IAAkB,CAAC,EAAE,kBAAAC,QAAkE;;AAElG,QAAM,EAAE,6BAAAC,GAA6B,gCAAAC,EAAA,IACnCC,EAAA,GACIC,IAASC,EAAyB,CAACC,MAAUA,EAAM,MAAM,GACzDC,IAAgBF,EAAyB,CAACC,MAAUA,EAAM,aAAa,GACvEE,IAAeC,EAAeR,CAA2B,GACzDS,KAAkBC,IAAAX,EAAiB,iBAAjB,gBAAAW,EAA+B;AAsBvD,MAnBAC,EAAU,MAAM;AACd,QAAIJ,EAAa,YAAYP,GAA6B;AACxD,UAAI,CAACS,EAAiB;AACtB,YAAMG,IAAqBH,EAAgBF,EAAa,OAAO;AAC/D,UAAIK,GAAoB;AACtB,cAAMC,IAAqBvB,EAAgCsB,CAAkB,GAEvEE,IAAY,EAAE,GAAGX,EAAA;AACvB,eAAO,KAAKW,CAAS,EAAE,QAAQ,CAACC,MAAQ;AACtC,UAAIA,EAAI,WAAWF,CAAkB,KACnC,OAAOC,EAAUC,CAAG;AAAA,QAExB,CAAC,GACDT,EAAcQ,CAAS;AAAA,MACzB;AACA,MAAAP,EAAa,UAAUP;AAAA,IACzB;AAAA,EACF,GAAG,CAACA,GAA6BS,GAAiBN,GAAQG,CAAa,CAAC,GAEpE,CAACG,KAAmBA,EAAgB,WAAW,EAAG,QAAO;AAC7D,QAAMO,IAAyBP,EAAgBT,CAA2B;AAC1E,MAAI,CAACgB,EAAwB,QAAO;AACpC,QAAMC,IAAgCR,EAAgB,IAAI,CAAClB,OAAoB;AAAA,IAC7E,OAAOA,EAAe,OAAO,SAAS;AAAA,IACtC,QAAQA,EAAe;AAAA,EAAA,EACvB,GAEI,EAAE,QAAAE,MAAWuB,GACbE,IAAiB5B,EAAgC0B,CAAsB;AAmB7E,SACE,gBAAAG,EAACC,GAAA,EAAsB,MAAK,iBAAgB,cAAc,gBAAAD,EAlB7B,MAE3B,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,MAClB,WAAWE,EAAG,+BAA+BZ,EAAgB,UAAU,KAAK,aAAa;AAAA,MAEzF,UAAA,gBAAAU;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAASL;AAAA,UACT,eAAejB;AAAA,UACf,gBAAgB,CAACuB,MAAU;AACzB,YAAAtB,EAA+BsB,CAAK;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,GAMuD,EAAuB,GAChF,UAAA,gBAAAJ,EAACK,KAAoB,MAAM/B,EAAO,OAAO,QAAAA,GAAgB,gBAAAyB,GAAgC,GAC3F;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerSection.js","sources":["../../../../src/api-playground-2/components/Request/ServerSection.tsx"],"sourcesContent":["import { apiPlaygroundInputKeys } from '@/api-playground-2/constants';\nimport { escapeDots } from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2, ResolvedSchemaObject } from '@/api-playground-2/types';\n\nimport { InputSectionContainer } from './InputSectionContainer';\nimport { DifferentiatedInput } from './inputs/DifferentiatedInput';\n\nexport const ServerSection = ({\n apiReferenceData,\n selectedBaseUrlIndex,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n selectedBaseUrlIndex: number;\n}) => {\n const { dependencies } = apiReferenceData;\n const { servers } = dependencies ?? {};\n\n if (!servers || Object.keys(servers).length === 0) return null;\n const serverObjects = Object.values(servers);\n const serverVariables = serverObjects[selectedBaseUrlIndex]?.variables;\n if (!serverVariables || Object.keys(serverVariables).length === 0) return null;\n return (\n <InputSectionContainer name=\"Server\">\n {Object.entries(serverVariables).map(([name, variable]) => {\n \n const schema = {\n ...variable,\n type: 'string',\n } as ResolvedSchemaObject;\n const inputKeyPrefix = `${apiPlaygroundInputKeys.server}.${escapeDots(name)}`;\n\n return (\n <DifferentiatedInput\n key={name}\n name={name}\n schema={schema}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n })}\n </InputSectionContainer>\n );\n};\n"],"names":["ServerSection","apiReferenceData","selectedBaseUrlIndex","dependencies","servers","serverVariables","_a","jsx","InputSectionContainer","name","variable","schema","inputKeyPrefix","apiPlaygroundInputKeys","escapeDots","DifferentiatedInput"],"mappings":";;;;;AAOO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,kBAAAC;AAAA,EACA,sBAAAC;AACF,MAGM;;AACJ,QAAM,EAAE,cAAAC,MAAiBF,GACnB,EAAE,SAAAG,MAAYD,KAAgB,CAAA;AAEpC,MAAI,CAACC,KAAW,OAAO,KAAKA,CAAO,EAAE,WAAW,EAAG,QAAO;AAE1D,QAAMC,KAAkBC,IADF,OAAO,OAAOF,CAAO,EACLF,CAAoB,MAAlC,gBAAAI,EAAqC;AAC7D,SAAI,CAACD,KAAmB,OAAO,KAAKA,CAAe,EAAE,WAAW,IAAU,OAExE,gBAAAE,EAACC,GAAA,EAAsB,MAAK,UACzB,UAAA,OAAO,QAAQH,CAAe,EAAE,IAAI,CAAC,CAACI,GAAMC,CAAQ,MAAM;AAEzD,UAAMC,IAAS;AAAA,MACb,GAAGD;AAAA,MACH,MAAM;AAAA,IAAA,GAEFE,IAAiB,GAAGC,EAAuB,MAAM,IAAIC,EAAWL,CAAI,CAAC;AAE3E,WACE,gBAAAF;AAAA,MAACQ;AAAA,MAAA;AAAA,QAEC,MAAAN;AAAA,QACA,QAAAE;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,MAHKH;AAAA,IAAA;AAAA,EAMX,CAAC,EAAA,CACH;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/ArrayInput.tsx"],"sourcesContent":["import { UUID } from '@mintlify/validation';\nimport { useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { isSchemaObject } from '@/api-playground-2/schemaGraph/utils';\nimport { AdditionalItemButton } from '@/api-playground/ApiPlayground/components/AdditionalItemButton';\nimport { cn } from '@/utils/cn';\n\nimport { DifferentiatedInput, InputParams } from './DifferentiatedInput';\n\nexport const ArrayInput = ({ schema, depth, parentNames, inputKeyPrefix }: InputParams) => {\n const additionalItemButtonKey = uuidv4();\n const itemsSchema = 'items' in schema && isSchemaObject(schema.items) ? schema.items : undefined;\n const [additionalInputKeys, setAdditionalInputKeys] = useState<UUID[]>([]);\n\n if (!itemsSchema) return null;\n\n const onAddElement = () => {\n const uuid = uuidv4();\n const newAdditionalInputKeys = [...additionalInputKeys, uuid];\n setAdditionalInputKeys(newAdditionalInputKeys);\n };\n\n return (\n <>\n <DifferentiatedInput\n schema={itemsSchema}\n arrayIndex={0}\n depth={(depth ?? 0) + 1}\n parentNames={parentNames}\n inputKeyPrefix={inputKeyPrefix}\n />\n {additionalInputKeys.map((uuid, index) => {\n const indexOffset = index + 1;\n return (\n <DifferentiatedInput\n key={uuid}\n schema={itemsSchema}\n arrayIndex={indexOffset}\n depth={(depth ?? 0) + 1}\n parentNames={parentNames}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n })}\n <AdditionalItemButton\n key={'add-item-button' + additionalItemButtonKey}\n label=\"Add an item\"\n className={cn(additionalInputKeys.length > 0 && 'mint:mt-4')}\n onClick={onAddElement}\n dataTestId={\n ('name' in itemsSchema && itemsSchema.name ? itemsSchema.name : '') + '-add-item-button'\n }\n />\n </>\n );\n};\n"],"names":["ArrayInput","schema","depth","parentNames","inputKeyPrefix","additionalItemButtonKey","uuidv4","itemsSchema","isSchemaObject","additionalInputKeys","setAdditionalInputKeys","useState","onAddElement","uuid","newAdditionalInputKeys","jsxs","Fragment","jsx","DifferentiatedInput","index","indexOffset","AdditionalItemButton","cn"],"mappings":";;;;;;;AAUO,MAAMA,IAAa,CAAC,EAAE,QAAAC,GAAQ,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,QAAkC;AACzF,QAAMC,IAA0BC,EAAA,GAC1BC,IAAc,WAAWN,KAAUO,EAAeP,EAAO,KAAK,IAAIA,EAAO,QAAQ,QACjF,CAACQ,GAAqBC,CAAsB,IAAIC,EAAiB,CAAA,CAAE;AAEzE,MAAI,CAACJ,EAAa,QAAO;AAEzB,QAAMK,IAAe,MAAM;AACzB,UAAMC,IAAOP,EAAA,GACPQ,IAAyB,CAAC,GAAGL,GAAqBI,CAAI;AAC5D,IAAAH,EAAuBI,CAAsB;AAAA,EAC/C;AAEA,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQX;AAAA,QACR,YAAY;AAAA,QACZ,QAAQL,KAAS,KAAK;AAAA,QACtB,aAAAC;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEDK,EAAoB,IAAI,CAACI,GAAMM,MAAU;AACxC,YAAMC,IAAcD,IAAQ;AAC5B,aACE,gBAAAF;AAAA,QAACC;AAAA,QAAA;AAAA,UAEC,QAAQX;AAAA,UACR,YAAYa;AAAA,UACZ,QAAQlB,KAAS,KAAK;AAAA,UACtB,aAAAC;AAAA,UACA,gBAAAC;AAAA,QAAA;AAAA,QALKS;AAAA,MAAA;AAAA,IAQX,CAAC;AAAA,IACD,gBAAAI;AAAA,MAACI;AAAA,MAAA;AAAA,QAEC,OAAM;AAAA,QACN,WAAWC,EAAGb,EAAoB,SAAS,KAAK,WAAW;AAAA,QAC3D,SAASG;AAAA,QACT,aACG,UAAUL,KAAeA,EAAY,OAAOA,EAAY,OAAO,MAAM;AAAA,MAAA;AAAA,MALnE,oBAAoBF;AAAA,IAAA;AAAA,EAO3B,GACF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DifferentiatedInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/DifferentiatedInput.tsx"],"sourcesContent":["import { getDifferentiatedType } from '@/api-playground-2/schemaGraph/utils';\nimport type { ResolvedSchemaObject } from '@/api-playground-2/types';\n\nimport { ArrayInput } from './ArrayInput';\nimport { FileInput } from './FileInput';\nimport { InputContainer } from './InputContainer';\nimport { NullInput } from './NullInput';\nimport { NumberInput } from './NumberInput';\nimport { ObjectInput } from './ObjectInput';\nimport { OneOfInput } from './OneOfInput';\nimport { SelectInput } from './SelectInput';\nimport { StringInput } from './StringInput';\nimport { TextInput } from './TextInput';\n\nexport type InputParams = {\n name?: string;\n schema: ResolvedSchemaObject;\n clearValue?: (() => void) | undefined;\n // TODO - Api Playground Refactor: build name, name with parents dot style, name with parents deepObject style so that we don't have to pass parentNames, style, and explode to every component\n parentNames?: string[];\n style?: string;\n explode?: boolean;\n depth?: number;\n inputKeyPrefix: string;\n arrayIndex?: number;\n};\n\nexport type InputContainerParams = InputParams & {\n defaultExpanded?: boolean;\n typeDropdown?: React.ReactNode;\n children?: React.ReactNode;\n isBody?: boolean;\n skipContainer?: boolean;\n arrayIndex?: number;\n};\n\nexport const DifferentiatedInput = ({ ...props }: InputParams & InputContainerParams) => {\n const differentiatedType = getDifferentiatedType(props.schema);\n\n switch (differentiatedType) {\n case 'oneOf': {\n return <OneOfInput {...props} />;\n }\n case 'string': {\n const Input =\n (props.isBody && props.depth === 0) || props.skipContainer ? TextInput : StringInput;\n return (\n <InputContainer {...props}>\n <Input {...props} />\n </InputContainer>\n );\n }\n\n case 'object': {\n if ((props.isBody && props.depth === 0) || props.skipContainer) {\n return <ObjectInput {...props} />;\n }\n return (\n <InputContainer {...props}>\n <ObjectInput {...props} />\n </InputContainer>\n );\n }\n case 'number': {\n return (\n <InputContainer {...props}>\n <NumberInput {...props} numberType=\"number\" />\n </InputContainer>\n );\n }\n case 'integer': {\n return (\n <InputContainer {...props}>\n <NumberInput {...props} numberType=\"integer\" />\n </InputContainer>\n );\n }\n case 'array': {\n return (\n <InputContainer {...props}>\n <ArrayInput {...props} />\n </InputContainer>\n );\n }\n case 'boolean': {\n return (\n <InputContainer {...props}>\n <SelectInput {...props} enumType=\"boolean\" />\n </InputContainer>\n );\n }\n case 'enum<string>': {\n return (\n <InputContainer {...props}>\n <SelectInput {...props} enumType=\"string\" />\n </InputContainer>\n );\n }\n case 'enum<number>': {\n return (\n <InputContainer {...props}>\n <SelectInput {...props} enumType=\"number\" />\n </InputContainer>\n );\n }\n case 'enum<integer>': {\n return (\n <InputContainer {...props}>\n <SelectInput {...props} enumType=\"integer\" />\n </InputContainer>\n );\n }\n case 'file': {\n return (\n <InputContainer {...props}>\n <FileInput {...props} />\n </InputContainer>\n );\n }\n case 'null': {\n return (\n <InputContainer {...props}>\n <NullInput />\n </InputContainer>\n );\n }\n default: {\n return null;\n }\n }\n};\n"],"names":["DifferentiatedInput","props","getDifferentiatedType","jsx","OneOfInput","Input","TextInput","StringInput","InputContainer","ObjectInput","NumberInput","ArrayInput","SelectInput","FileInput","NullInput"],"mappings":";;;;;;;;;;;;AAoCO,MAAMA,IAAsB,CAAC,EAAE,GAAGC,QAAgD;AAGvF,UAF2BC,EAAsBD,EAAM,MAAM,GAErD;AAAA,IACN,KAAK;AACH,aAAO,gBAAAE,EAACC,GAAA,EAAY,GAAGH,EAAA,CAAO;AAAA,IAEhC,KAAK,UAAU;AACb,YAAMI,IACHJ,EAAM,UAAUA,EAAM,UAAU,KAAMA,EAAM,gBAAgBK,IAAYC;AAC3E,aACE,gBAAAJ,EAACK,KAAgB,GAAGP,GAClB,4BAACI,GAAA,EAAO,GAAGJ,GAAO,EAAA,CACpB;AAAA,IAEJ;AAAA,IAEA,KAAK;AACH,aAAKA,EAAM,UAAUA,EAAM,UAAU,KAAMA,EAAM,gBACxC,gBAAAE,EAACM,GAAA,EAAa,GAAGR,EAAA,CAAO,IAG/B,gBAAAE,EAACK,KAAgB,GAAGP,GAClB,4BAACQ,GAAA,EAAa,GAAGR,GAAO,EAAA,CAC1B;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACO,KAAa,GAAGT,GAAO,YAAW,SAAA,CAAS,EAAA,CAC9C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACO,KAAa,GAAGT,GAAO,YAAW,UAAA,CAAU,EAAA,CAC/C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,KAAgB,GAAGP,GAClB,4BAACU,GAAA,EAAY,GAAGV,GAAO,EAAA,CACzB;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACS,KAAa,GAAGX,GAAO,UAAS,UAAA,CAAU,EAAA,CAC7C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACS,KAAa,GAAGX,GAAO,UAAS,SAAA,CAAS,EAAA,CAC5C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACS,KAAa,GAAGX,GAAO,UAAS,SAAA,CAAS,EAAA,CAC5C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACS,KAAa,GAAGX,GAAO,UAAS,UAAA,CAAU,EAAA,CAC7C;AAAA,IAGJ,KAAK;AACH,aACE,gBAAAE,EAACK,KAAgB,GAAGP,GAClB,4BAACY,GAAA,EAAW,GAAGZ,GAAO,EAAA,CACxB;AAAA,IAGJ,KAAK;AACH,+BACGO,GAAA,EAAgB,GAAGP,GAClB,UAAA,gBAAAE,EAACW,KAAU,GACb;AAAA,IAGJ;AACE,aAAO;AAAA,EACT;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/FileInput.tsx"],"sourcesContent":["import { ChangeEvent, useRef } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { cn, getSchemaPlaceholder, getUniqueInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputParams } from './DifferentiatedInput';\n\nexport const FileInput = ({ name, schema, inputKeyPrefix, arrayIndex }: InputParams) => {\n const { getInput, setInput } = usePlaygroundInputsStore();\n const locale = useSelectedLocale();\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n\n const schemaPlaceholder = getSchemaPlaceholder(schema) ?? 'Drop a file here or click to upload';\n const uniqueInputKey = getUniqueInputKey(inputKeyPrefix, schema, arrayIndex);\n const value = getInput(uniqueInputKey);\n\n const safeValue = typeof window !== 'undefined' && value instanceof File ? value : undefined;\n\n const placeholder = safeValue?.name ?? schemaPlaceholder;\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n setInput(uniqueInputKey, event.target.files?.[0]);\n };\n\n return (\n <>\n <button\n aria-label={locale['aria.fileUploadButton']}\n className={cn(\n 'mint:text-left mint:flex mint:text-playground-input mint:overflow-hidden',\n safeValue ? 'mint:text-gray-900! mint:dark:text-gray-100!' : 'mint:text-gray-400! mint:dark:text-white/30!'\n )}\n onClick={() => hiddenInputRef.current?.click()}\n >\n {placeholder}\n </button>\n {/* HACK: file inputs are notoriously hard to style, so hide the native input and click it programmatically */}\n <input\n type=\"file\"\n data-testid={`${name ?? 'file'}-input`}\n onChange={onChange}\n ref={hiddenInputRef}\n className=\"mint:hidden\"\n />\n </>\n );\n};\n"],"names":["FileInput","name","schema","inputKeyPrefix","arrayIndex","getInput","setInput","usePlaygroundInputsStore","locale","useSelectedLocale","hiddenInputRef","useRef","schemaPlaceholder","getSchemaPlaceholder","uniqueInputKey","getUniqueInputKey","value","safeValue","placeholder","onChange","event","_a","jsxs","Fragment","jsx","cn"],"mappings":";;;;;;AAQO,MAAMA,IAAY,CAAC,EAAE,MAAAC,GAAM,QAAAC,GAAQ,gBAAAC,GAAgB,YAAAC,QAA8B;AACtF,QAAM,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaC,EAAA,GACzBC,IAASC,EAAA,GACTC,IAAiBC,EAAyB,IAAI,GAE9CC,IAAoBC,EAAqBX,CAAM,KAAK,uCACpDY,IAAiBC,EAAkBZ,GAAgBD,GAAQE,CAAU,GACrEY,IAAQX,EAASS,CAAc,GAE/BG,IAAY,OAAO,SAAW,OAAeD,aAAiB,OAAOA,IAAQ,QAE7EE,KAAcD,KAAA,gBAAAA,EAAW,SAAQL,GAEjCO,IAAW,CAACC,MAAyC;;AACzD,IAAAd,EAASQ,IAAgBO,IAAAD,EAAM,OAAO,UAAb,gBAAAC,EAAqB,EAAE;AAAA,EAClD;AAEA,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cAAYhB,EAAO,uBAAuB;AAAA,QAC1C,WAAWiB;AAAA,UACT;AAAA,UACAR,IAAY,iDAAiD;AAAA,QAAA;AAAA,QAE/D,SAAS,MAAA;;AAAM,kBAAAI,IAAAX,EAAe,YAAf,gBAAAW,EAAwB;AAAA;AAAA,QAEtC,UAAAH;AAAA,MAAA;AAAA,IAAA;AAAA,IAGH,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,eAAa,GAAGvB,KAAQ,MAAM;AAAA,QAC9B,UAAAkB;AAAA,QACA,KAAKT;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputContainer.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/InputContainer.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { isEnum } from '@/api-playground-2/schemaGraph/utils';\nimport { ArrayCount } from '@/api-playground/ApiPlayground/components/ArrayCount';\nimport { ObjectExpandButton } from '@/api-playground/ApiPlayground/components/ObjectExpandButton';\nimport { TrashButton } from '@/api-playground/ApiPlayground/components/TrashButton';\nimport { Description } from '@/api-playground/EndpointFields/components/Description';\nimport { DeprecatedPill, InfoPill, RequiredPill } from '../../../../components/Api/Param';\nimport { containsMarkdownTable } from '../../../../utils/containsMarkdownTable';\n\nimport { InputContainerParams } from './DifferentiatedInput';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const InputContainer = ({\n name,\n schema,\n defaultExpanded = true,\n typeDropdown,\n arrayIndex,\n parentNames,\n clearValue,\n style,\n explode,\n children,\n}: InputContainerParams) => {\n const [showChildren, setShowChildren] = useState(defaultExpanded);\n const descriptionContainsTable =\n isEnum(schema) && schema.description && containsMarkdownTable(schema.description);\n const typeLabel =\n schema.format && typeof schema.format === 'string'\n ? `${schema.type}<${schema.format}>`\n : isEnum(schema)\n ? `enum<${schema.type}>`\n : schema.type;\n const isArray = schema.type === 'array';\n const isObject = schema.type === 'object';\n const propertiesCount = isObject ? Object.keys(schema.properties ?? {}).length : 0;\n return (\n <>\n <div\n className={cn(\n 'mint:flex mint:space-x-3 mint:items-start',\n arrayIndex != undefined && !isObject && 'mint:flex mint:items-center'\n )}\n >\n {arrayIndex != undefined && (\n <ArrayCount className={cn(isObject && 'mint:mt-8')}>{arrayIndex + 1}</ArrayCount>\n )}\n <div\n className={cn(\n 'mint:flex-1 mint:lg:grid-cols-2 mint:gap-x-12 mint:gap-y-4 mint:py-5 mint:max-w-full',\n !isArray && !isObject && \"mint:grid\",\n isArray && 'mint:flex mint:flex-col',\n isObject &&\n 'mint:gap-y-0 mint:flex mint:flex-col mint:border mint:border-gray-50 mint:dark:border-white/5 mint:rounded-xl mint:px-4 mint:py-0 mint:my-5',\n arrayIndex !== undefined && 'mint:py-1 mint:my-2'\n )}\n >\n <div\n className={cn(\n 'mint:space-y-2',\n isObject && 'mint:py-5 mint:border-b mint:border-gray-50 mint:dark:border-white/5',\n !showChildren && 'mint:border-none',\n arrayIndex != undefined && !isObject && 'mint:flex mint:items-center'\n )}\n >\n <div className=\"mint:flex mint:items-center mint:justify-between mint:font-mono mint:font-bold\">\n <div\n className=\"mint:flex mint:flex-wrap mint:items-center mint:gap-2 mint:text-xs mint:truncate\"\n title={\n parentNames && parentNames.length > 0 ? `${parentNames.join('.')}.${name}` : name\n }\n >\n <div className={cn(\"mint:text-sm mint:truncate\", name == undefined && 'mint:hidden')}>\n {parentNames && parentNames.length > 0 && style === 'deepObject' && explode ? (\n <>\n <span className=\"mint:text-gray-500 mint:dark:text-gray-400\">\n {parentNames.map((parentName, index) => (\n <>\n {parentName}\n {index === 0 ? '[' : ']['}\n </>\n ))}\n </span>\n <span className=\"mint:font-semibold mint:text-gray-900 mint:dark:text-gray-100\">{name}</span>\n <span className=\"mint:text-gray-500 mint:dark:text-gray-400\">{']'}</span>\n </>\n ) : (\n <>\n <span className=\"mint:text-gray-500 mint:dark:text-gray-400\">\n {parentNames ? `${parentNames.join('.')}.` : ''}\n </span>\n <span className=\"mint:font-semibold mint:text-gray-900 mint:dark:text-gray-100\">{name}</span>\n </>\n )}\n </div>\n {typeDropdown != undefined ? typeDropdown : <InfoPill>{typeLabel}</InfoPill>}\n {schema.isRequired && <RequiredPill />}\n {schema.deprecated && <DeprecatedPill />}\n </div>\n {isObject && (\n <ObjectExpandButton\n onClick={() => setShowChildren(!showChildren)}\n count={propertiesCount}\n labeled={defaultExpanded == false}\n />\n )}\n </div>\n {schema.description && !descriptionContainsTable && (\n <Description\n markdown={schema.description}\n className=\"mint:text-gray-500 mint:dark:text-gray-400\"\n />\n )}\n </div>\n {showChildren && (\n <div\n className={cn(\n 'mint:grid mint:grid-cols-1 mint:w-full mint:items-start mint:divide-y mint:divide-gray-50 mint:dark:divide-white/5',\n isArray && 'mint:divide-y-0'\n )}\n >\n {children}\n </div>\n )}\n </div>\n {/* // TODO - Api Playground Refactor: make sure clearValue works to delete keys */}\n {(arrayIndex != undefined || parentNames) && clearValue && (\n <TrashButton\n className={cn(isObject && 'mint:mt-8', parentNames && 'mint:mt-7')}\n onClick={() => clearValue()}\n />\n )}\n </div>\n {schema.description && descriptionContainsTable && (\n <Description markdown={schema.description} className=\"mint:text-gray-500 mint:dark:text-gray-400\" />\n )}\n </>\n );\n};\n"],"names":["InputContainer","name","schema","defaultExpanded","typeDropdown","arrayIndex","parentNames","clearValue","style","explode","children","showChildren","setShowChildren","useState","descriptionContainsTable","isEnum","containsMarkdownTable","typeLabel","isArray","isObject","propertiesCount","jsxs","Fragment","cn","ArrayCount","jsx","parentName","index","InfoPill","RequiredPill","DeprecatedPill","ObjectExpandButton","Description","TrashButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NullInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/NullInput.tsx"],"sourcesContent":["import { cn } from \"../../../../utils/cn\";\nexport const NullInput = () => {\n return (\n <input\n className=\"mint:flex-1 mint:min-w-0 mint:outline-0 mint:bg-transparent mint:text-playground-input\"\n type=\"text\"\n placeholder=\"--\"\n contentEditable=\"false\"\n disabled\n />\n );\n};\n"],"names":["NullInput","jsx"],"mappings":";AACO,MAAMA,IAAY,MAErB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,aAAY;AAAA,IACZ,iBAAgB;AAAA,IAChB,UAAQ;AAAA,EAAA;AAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/NumberInput.tsx"],"sourcesContent":["import { isInteger, isNumber } from '../../../../common/guards';\nimport { ChangeEvent } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { getSchemaPlaceholder, getUniqueInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputParams } from './DifferentiatedInput';\nimport { Ids } from '@/api-playground-2/types';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const NumberInput = ({\n name,\n schema,\n inputKeyPrefix,\n numberType,\n arrayIndex,\n}: InputParams & { numberType: string }) => {\n const locale = useSelectedLocale();\n const { getInput, setInput } = usePlaygroundInputsStore();\n const schemaPlaceholder = getSchemaPlaceholder(schema);\n const uniqueInputKey = getUniqueInputKey(inputKeyPrefix, schema, arrayIndex);\n const value = getInput(uniqueInputKey);\n const placeholder = schemaPlaceholder ?? `enter ${name ?? 'value'}`;\n const schemaType = schema.type;\n\n const getSafeNumberValue = (numberType: string, value: unknown) => {\n if (numberType === 'integer') {\n return isInteger(value) ? value : undefined;\n } else {\n return isNumber(value) ? value : undefined;\n }\n };\n const safeValue = getSafeNumberValue(numberType, value);\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.target.value.length === 0) {\n setInput(uniqueInputKey, undefined);\n return;\n }\n\n if (schemaType === 'integer') {\n const parsedInteger = parseInt(event.target.value);\n if (isNaN(parsedInteger)) {\n return;\n }\n setInput(uniqueInputKey, parsedInteger);\n } else {\n setInput(uniqueInputKey, parseFloat(event.target.value));\n }\n };\n\n return (\n <input\n id={Ids.APIPlaygroundInput}\n className=\"mint:flex-1 mint:min-w-0 mint:bg-transparent mint:outline-0 mint:text-playground-input\"\n placeholder={placeholder}\n aria-label={schemaPlaceholder ?? locale['aria.enterValue'].replace('{name}', name ?? 'value')}\n onKeyDown={(event) => {\n // disallow \"e\", and disallow \".\" for integer inputs\n if (event.key === 'e' || (event.key === '.' && schemaType === 'integer')) {\n event.preventDefault();\n }\n }}\n type=\"number\"\n value={safeValue ?? ''}\n onChange={onChange}\n />\n );\n};\n"],"names":["NumberInput","name","schema","inputKeyPrefix","numberType","arrayIndex","locale","useSelectedLocale","getInput","setInput","usePlaygroundInputsStore","schemaPlaceholder","getSchemaPlaceholder","uniqueInputKey","getUniqueInputKey","value","placeholder","schemaType","safeValue","isInteger","isNumber","onChange","event","parsedInteger","jsx","Ids"],"mappings":";;;;;;AAWO,MAAMA,IAAc,CAAC;AAAA,EAC1B,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AACF,MAA4C;AAC1C,QAAMC,IAASC,EAAA,GACT,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaC,EAAA,GACzBC,IAAoBC,EAAqBV,CAAM,GAC/CW,IAAiBC,EAAkBX,GAAgBD,GAAQG,CAAU,GACrEU,IAAQP,EAASK,CAAc,GAC/BG,IAAcL,KAAqB,SAASV,KAAQ,OAAO,IAC3DgB,IAAaf,EAAO,MASpBgB,KAPqB,CAACd,GAAoBW,MAC1CX,MAAe,YACVe,EAAUJ,CAAK,IAAIA,IAAQ,SAE3BK,EAASL,CAAK,IAAIA,IAAQ,QAGAX,GAAYW,CAAK,GAEhDM,IAAW,CAACC,MAAyC;AACzD,QAAIA,EAAM,OAAO,MAAM,WAAW,GAAG;AACnC,MAAAb,EAASI,GAAgB,MAAS;AAClC;AAAA,IACF;AAEA,QAAII,MAAe,WAAW;AAC5B,YAAMM,IAAgB,SAASD,EAAM,OAAO,KAAK;AACjD,UAAI,MAAMC,CAAa;AACrB;AAEF,MAAAd,EAASI,GAAgBU,CAAa;AAAA,IACxC;AACE,MAAAd,EAASI,GAAgB,WAAWS,EAAM,OAAO,KAAK,CAAC;AAAA,EAE3D;AAEA,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAIC,EAAI;AAAA,MACR,WAAU;AAAA,MACV,aAAAT;AAAA,MACA,cAAYL,KAAqBL,EAAO,iBAAiB,EAAE,QAAQ,UAAUL,KAAQ,OAAO;AAAA,MAC5F,WAAW,CAACqB,MAAU;AAEpB,SAAIA,EAAM,QAAQ,OAAQA,EAAM,QAAQ,OAAOL,MAAe,cAC5DK,EAAM,eAAA;AAAA,MAEV;AAAA,MACA,MAAK;AAAA,MACL,OAAOJ,KAAa;AAAA,MACpB,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/ObjectInput.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n convertAnySchemaToOneOfs,\n getUniqueInputKey,\n isSchemaObject,\n} from '@/api-playground-2/schemaGraph/utils';\nimport { AdditionalPropertyButton } from '@/api-playground/ApiPlayground/components/AdditionalPropertyButton';\n\nimport { DifferentiatedInput, InputParams } from './DifferentiatedInput';\n\nexport const ObjectInput = ({\n schema,\n depth,\n parentNames,\n style,\n explode,\n inputKeyPrefix,\n name,\n}: InputParams) => {\n const propertiesInputs: React.ReactNode[] = [];\n\n Object.entries(schema.properties ?? {}).forEach(([propName, propSchema]) => {\n if (isSchemaObject(propSchema)) {\n const newParentNames = name ? [name] : undefined;\n\n propertiesInputs.push(\n <DifferentiatedInput\n key={propName}\n name={propName}\n schema={propSchema}\n depth={(depth ?? 0) + 1}\n parentNames={newParentNames}\n style={style}\n explode={explode}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n }\n });\n\n const allowsAdditionalProperties =\n schema.additionalProperties !== undefined && schema.additionalProperties !== false;\n const additionalPropButtonKey = uuidv4();\n const [additionalPropKeys, setAdditionalPropKeys] = useState<string[]>([]);\n const additionalPropertiesInputs: React.ReactNode[] = [];\n\n additionalPropKeys.forEach((key) => {\n if (isSchemaObject(schema.additionalProperties)) {\n const uniqueKey = getUniqueInputKey(inputKeyPrefix, schema, undefined, key);\n additionalPropertiesInputs.push(\n <DifferentiatedInput\n key={key}\n name={key}\n schema={{ ...schema.additionalProperties, uniqueKey }}\n depth={(depth ?? 0) + 1}\n parentNames={parentNames}\n style={style}\n explode={explode}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n } else {\n const uniqueKey = getUniqueInputKey(inputKeyPrefix, schema, undefined, key);\n const anySchemaToOneOfSchema = convertAnySchemaToOneOfs();\n const oneOfWithKeys = {\n oneOf: anySchemaToOneOfSchema.oneOf?.map((schema) => {\n return {\n ...schema,\n uniqueKey,\n };\n }),\n };\n\n if (isSchemaObject(oneOfWithKeys)) {\n additionalPropertiesInputs.push(\n <DifferentiatedInput\n key={key}\n name={key}\n schema={oneOfWithKeys}\n depth={(depth ?? 0) + 1}\n parentNames={parentNames}\n style={style}\n explode={explode}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n }\n }\n });\n\n const children = [...propertiesInputs, ...additionalPropertiesInputs];\n\n if (depth === 0) {\n return <>{children}</>;\n }\n\n const addKey = (key: string) => {\n const newAdditionalPropKeys = [...additionalPropKeys, key];\n setAdditionalPropKeys(newAdditionalPropKeys);\n };\n\n const existingKeys = [...Object.keys(schema.properties ?? {}), ...additionalPropKeys];\n\n return (\n <>\n {children}\n {allowsAdditionalProperties ? (\n <AdditionalPropertyButton\n key={'add-property-button' + additionalPropButtonKey}\n existingKeys={existingKeys}\n onAddKey={addKey}\n dataTestId={\n ('name' in schema && schema.name ? schema.name : '') + '-additional-property-button'\n }\n />\n ) : null}\n </>\n );\n};\n"],"names":["ObjectInput","schema","depth","parentNames","style","explode","inputKeyPrefix","name","propertiesInputs","propName","propSchema","isSchemaObject","newParentNames","jsx","DifferentiatedInput","allowsAdditionalProperties","additionalPropButtonKey","uuidv4","additionalPropKeys","setAdditionalPropKeys","useState","additionalPropertiesInputs","key","uniqueKey","getUniqueInputKey","oneOfWithKeys","_a","convertAnySchemaToOneOfs","children","addKey","newAdditionalPropKeys","existingKeys","jsxs","Fragment","AdditionalPropertyButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneOfInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/OneOfInput.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n generateSchemaOptionLabels,\n generateSimpleSchemaLabel,\n} from '@/api-playground-2/components/EndpointFields/fields/SimpleSchemaField';\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { isSchemaObject } from '@/api-playground-2/schemaGraph/utils';\nimport { Tabs, Tab } from '../../../../components/content-components/tabs';\n\nimport { TypeDropdown } from '../../TypeDropdown';\nimport { DifferentiatedInput, InputParams } from './DifferentiatedInput';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const OneOfInput = ({\n name,\n schema,\n clearValue,\n parentNames,\n style,\n explode,\n inputKeyPrefix,\n}: InputParams & { value?: unknown }) => {\n const [selectedSchemaIndex, setSelectedSchemaIndex] = useState(0);\n const schemas = 'oneOf' in schema && schema.oneOf ? schema.oneOf.filter(isSchemaObject) : [];\n const nullable = schemas.some((schema) => schema.type === 'null');\n // TODO - Api Playground Refactor: equivalent of schemasWithLabelInfo from RecursiveInput\n const schemasWithLabels = schemas.map((schema) => ({\n label: generateSimpleSchemaLabel(schema, nullable),\n schema: schema,\n }));\n const selectedSchema = schemas[selectedSchemaIndex];\n\n const { setInput } = usePlaygroundInputsStore();\n const uniqueKey = `${inputKeyPrefix}.${schema.uniqueKey}`;\n\n const onSelectTypeOption = (index: number) => {\n if (selectedSchema && 'type' in selectedSchema && selectedSchema.type === 'null') {\n setInput(uniqueKey, null);\n } else {\n setInput(uniqueKey, undefined);\n }\n setSelectedSchemaIndex(index);\n };\n\n if (!selectedSchema) return null;\n\n if (schemas.every((schema) => schema.type === 'object')) {\n const oneOfOptions = generateSchemaOptionLabels(schemas);\n return (\n <Tabs\n defaultTab={selectedSchemaIndex}\n onChange={onSelectTypeOption}\n className=\"mint:border-gray-100! mint:mb-4! mint:dark:border-white/10!\"\n >\n {oneOfOptions.map((option) => (\n <Tab title={option} key={option}>\n <DifferentiatedInput\n skipContainer\n name={name}\n schema={selectedSchema}\n clearValue={clearValue}\n parentNames={parentNames}\n style={style}\n explode={explode}\n inputKeyPrefix={inputKeyPrefix}\n />\n </Tab>\n ))}\n </Tabs>\n );\n }\n\n const filteredSchemasWithLabels = schemasWithLabels.filter(\n ({ schema }) => schema.type !== 'null'\n );\n\n const typeDropdown = (\n <TypeDropdown\n options={filteredSchemasWithLabels}\n selectedIndex={selectedSchemaIndex}\n onSelectOption={onSelectTypeOption}\n />\n );\n\n return (\n <DifferentiatedInput\n name={name}\n schema={selectedSchema}\n typeDropdown={typeDropdown}\n clearValue={clearValue}\n parentNames={parentNames}\n style={style}\n explode={explode}\n inputKeyPrefix={inputKeyPrefix}\n />\n );\n};\n"],"names":["OneOfInput","name","schema","clearValue","parentNames","style","explode","inputKeyPrefix","selectedSchemaIndex","setSelectedSchemaIndex","useState","schemas","isSchemaObject","nullable","schemasWithLabels","generateSimpleSchemaLabel","selectedSchema","setInput","usePlaygroundInputsStore","uniqueKey","onSelectTypeOption","index","oneOfOptions","generateSchemaOptionLabels","jsx","Tabs","option","Tab","DifferentiatedInput","filteredSchemasWithLabels","TypeDropdown"],"mappings":";;;;;;;;;AAcO,MAAMA,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AACF,MAAyC;AACvC,QAAM,CAACC,GAAqBC,CAAsB,IAAIC,EAAS,CAAC,GAC1DC,IAAU,WAAWT,KAAUA,EAAO,QAAQA,EAAO,MAAM,OAAOU,CAAc,IAAI,CAAA,GACpFC,IAAWF,EAAQ,KAAK,CAACT,MAAWA,EAAO,SAAS,MAAM,GAE1DY,IAAoBH,EAAQ,IAAI,CAACT,OAAY;AAAA,IACjD,OAAOa,EAA0Bb,GAAQW,CAAQ;AAAA,IACjD,QAAQX;AAAAA,EAAA,EACR,GACIc,IAAiBL,EAAQH,CAAmB,GAE5C,EAAE,UAAAS,EAAA,IAAaC,EAAA,GACfC,IAAY,GAAGZ,CAAc,IAAIL,EAAO,SAAS,IAEjDkB,IAAqB,CAACC,MAAkB;AAC5C,IAAIL,KAAkB,UAAUA,KAAkBA,EAAe,SAAS,SACxEC,EAASE,GAAW,IAAI,IAExBF,EAASE,GAAW,MAAS,GAE/BV,EAAuBY,CAAK;AAAA,EAC9B;AAEA,MAAI,CAACL,EAAgB,QAAO;AAE5B,MAAIL,EAAQ,MAAM,CAACT,MAAWA,EAAO,SAAS,QAAQ,GAAG;AACvD,UAAMoB,IAAeC,EAA2BZ,CAAO;AACvD,WACE,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,YAAYjB;AAAA,QACZ,UAAUY;AAAA,QACV,WAAU;AAAA,QAET,YAAa,IAAI,CAACM,MACjB,gBAAAF,EAACG,GAAA,EAAI,OAAOD,GACV,UAAA,gBAAAF;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,eAAa;AAAA,YACb,MAAA3B;AAAA,YACA,QAAQe;AAAA,YACR,YAAAb;AAAA,YACA,aAAAC;AAAA,YACA,OAAAC;AAAA,YACA,SAAAC;AAAA,YACA,gBAAAC;AAAA,UAAA;AAAA,QAAA,EACF,GAVuBmB,CAWzB,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,QAAMG,IAA4Bf,EAAkB;AAAA,IAClD,CAAC,EAAE,QAAAZ,QAAaA,EAAO,SAAS;AAAA,EAAA;AAWlC,SACE,gBAAAsB;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAA3B;AAAA,MACA,QAAQe;AAAA,MACR,cAXF,gBAAAQ;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,SAASD;AAAA,UACT,eAAerB;AAAA,UACf,gBAAgBY;AAAA,QAAA;AAAA,MAAA;AAAA,MAShB,YAAAjB;AAAA,MACA,aAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/SelectInput.tsx"],"sourcesContent":["import { isString, isNumber, isInteger, isBoolean } from '../../../../common/guards';\nimport { ChevronDownIcon } from 'lucide-react';\nimport { ChangeEvent } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { getSchemaPlaceholder, getUniqueInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport { useSelectedLocale } from '@/utils/locales';\nimport { InputParams } from './DifferentiatedInput';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const SelectInput = ({\n name,\n schema,\n inputKeyPrefix,\n enumType,\n arrayIndex,\n}: InputParams & { enumType: string }) => {\n const locale = useSelectedLocale();\n const { getInput, setInput } = usePlaygroundInputsStore();\n const schemaPlaceholder = getSchemaPlaceholder(schema);\n const options = schema.type === 'boolean' ? [true, false] : schema.enum ?? [];\n\n const uniqueInputKey = getUniqueInputKey(inputKeyPrefix, schema, arrayIndex);\n const value = getInput(uniqueInputKey);\n\n const getSafeEnumValue = (enumType: string, value: unknown) => {\n switch (enumType) {\n case 'integer': {\n return isInteger(value) ? value : undefined;\n }\n case 'number': {\n return isNumber(value) ? value : undefined;\n }\n case 'string': {\n return isString(value) ? value : undefined;\n }\n case 'boolean': {\n return isBoolean(value) ? value : undefined;\n }\n default: {\n return undefined;\n }\n }\n };\n\n const safeValue = getSafeEnumValue(enumType, value);\n\n const onChange = (event: ChangeEvent<HTMLSelectElement>) => {\n if (enumType === 'boolean') {\n setInput(uniqueInputKey, event.target.value === 'true');\n } else {\n setInput(uniqueInputKey, event.target.value);\n }\n };\n\n return (\n <div className=\"mint:relative\">\n <select\n className={cn(\n 'mint:relative mint:text-playground-input mint:w-full mint:text-left mint:flex-1 mint:outline-0 mint:cursor-pointer mint:bg-transparent',\n safeValue !== undefined\n ? 'mint:text-gray-900! mint:dark:text-gray-100!'\n : 'mint:text-gray-400! mint:dark:text-white/30!'\n )}\n value={safeValue?.toString() ?? ''}\n aria-label={\n schemaPlaceholder ?? locale['aria.selectOption'].replace('{name}', name || 'option')\n }\n onChange={onChange}\n >\n <option value=\"\" disabled>\n {schemaPlaceholder ?? `select ${name || 'option'}`}\n </option>\n {options.map((opt) => (\n <option key={opt.toString()} value={opt.toString()}>\n {opt.toString()}\n </option>\n ))}\n </select>\n <ChevronDownIcon className=\"mint:absolute mint:right-2 mint:top-1/2 mint:-translate-y-1/2 mint:h-4 mint:w-4 mint:text-gray-400 mint:dark:text-white/30 mint:pointer-events-none\" />\n </div>\n );\n};\n"],"names":["SelectInput","name","schema","inputKeyPrefix","enumType","arrayIndex","locale","useSelectedLocale","getInput","setInput","usePlaygroundInputsStore","schemaPlaceholder","getSchemaPlaceholder","options","uniqueInputKey","getUniqueInputKey","value","safeValue","isInteger","isNumber","isString","isBoolean","onChange","event","jsxs","cn","jsx","opt","ChevronDownIcon"],"mappings":";;;;;;;AAUO,MAAMA,IAAc,CAAC;AAAA,EAC1B,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,MAA0C;AACxC,QAAMC,IAASC,EAAA,GACT,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaC,EAAA,GACzBC,IAAoBC,EAAqBV,CAAM,GAC/CW,IAAUX,EAAO,SAAS,YAAY,CAAC,IAAM,EAAK,IAAIA,EAAO,QAAQ,CAAA,GAErEY,IAAiBC,EAAkBZ,GAAgBD,GAAQG,CAAU,GACrEW,IAAQR,EAASM,CAAc,GAsB/BG,KApBmB,CAACb,GAAkBY,MAAmB;AAC7D,YAAQZ,GAAAA;AAAAA,MACN,KAAK;AACH,eAAOc,EAAUF,CAAK,IAAIA,IAAQ;AAAA,MAEpC,KAAK;AACH,eAAOG,EAASH,CAAK,IAAIA,IAAQ;AAAA,MAEnC,KAAK;AACH,eAAOI,EAASJ,CAAK,IAAIA,IAAQ;AAAA,MAEnC,KAAK;AACH,eAAOK,EAAUL,CAAK,IAAIA,IAAQ;AAAA,MAEpC;AACE;AAAA,IACF;AAAA,EAEJ,GAEmCZ,GAAUY,CAAK,GAE5CM,IAAW,CAACC,MAA0C;AAC1D,IAAInB,MAAa,YACfK,EAASK,GAAgBS,EAAM,OAAO,UAAU,MAAM,IAEtDd,EAASK,GAAgBS,EAAM,OAAO,KAAK;AAAA,EAE/C;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAR,MAAc,SACV,iDACA;AAAA,QAAA;AAAA,QAEN,QAAOA,KAAA,gBAAAA,EAAW,eAAc;AAAA,QAChC,cACEN,KAAqBL,EAAO,mBAAmB,EAAE,QAAQ,UAAUL,KAAQ,QAAQ;AAAA,QAErF,UAAAqB;AAAA,QAEA,UAAA;AAAA,UAAA,gBAAAI,EAAC,UAAA,EAAO,OAAM,IAAG,UAAQ,IACtB,UAAAf,KAAqB,UAAUV,KAAQ,QAAQ,GAAA,CAClD;AAAA,UACCY,EAAQ,IAAI,CAACc,MACZ,gBAAAD,EAAC,YAA4B,OAAOC,EAAI,SAAA,GACrC,YAAI,SAAA,EAAS,GADHA,EAAI,UAEjB,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAD,EAACE,GAAA,EAAgB,WAAU,sJAAA,CAAsJ;AAAA,EAAA,GACnL;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/StringInput.tsx"],"sourcesContent":["import { isString } from '../../../../common/guards';\nimport { ChangeEvent } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { getSchemaPlaceholder, getUniqueInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputParams } from './DifferentiatedInput';\nimport { Ids } from '@/api-playground-2/types';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const StringInput = ({ name, schema, inputKeyPrefix, arrayIndex }: InputParams) => {\n const locale = useSelectedLocale();\n const { getInput, setInput } = usePlaygroundInputsStore();\n const schemaPlaceholder = getSchemaPlaceholder(schema);\n const { prefix, placeholder } = getInputAttributesForFormat(schema.format);\n const uniqueInputKey = getUniqueInputKey(inputKeyPrefix, schema, arrayIndex);\n const value = getInput(uniqueInputKey);\n\n const safeValue = isString(value) ? value : undefined;\n\n // remove modifications\n const unmodifiedValue =\n prefix && safeValue?.startsWith(prefix) ? safeValue.substring(prefix.length) : safeValue;\n\n const setModifiedValue = (newValue: string) => {\n // apply modifications\n const modifiedValue = `${prefix ?? ''}${newValue}`;\n\n if (!modifiedValue) setInput(uniqueInputKey, undefined);\n else setInput(uniqueInputKey, modifiedValue);\n };\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n setModifiedValue(event.target.value);\n };\n\n return (\n <div className=\"mint:relative mint:flex mint:flex-1 mint:items-center\">\n <div className=\"mint:absolute mint:left-2.5 mint:top-0 mint:bottom-0 mint:flex mint:items-center mint:justify-center mint:text-sm mint:text-gray-800 mint:dark:text-gray-100\">\n {prefix}\n </div>\n <input\n id={Ids.APIPlaygroundInput}\n className=\"mint:flex-1 mint:min-w-0 mint:bg-transparent mint:outline-0 mint:text-playground-input\"\n style={{ paddingLeft: prefix ? prefix.length * 0.52 + 'rem' : undefined }}\n placeholder={schemaPlaceholder ?? placeholder ?? `enter ${name ?? 'value'}`}\n aria-label={\n schemaPlaceholder ??\n placeholder ??\n locale['aria.enterValue'].replace('{name}', name ?? 'value')\n }\n type=\"text\"\n value={unmodifiedValue ?? ''}\n onChange={onChange}\n spellCheck={false}\n />\n </div>\n );\n};\n\ntype InputAttributes = {\n prefix?: string;\n placeholder?: string;\n};\n\nconst getInputAttributesForFormat = (format: string | undefined): InputAttributes => {\n switch (format?.toLowerCase()) {\n case 'bearer':\n return {\n prefix: 'Bearer ',\n placeholder: 'enter bearer token',\n };\n }\n return {};\n};\n"],"names":["StringInput","name","schema","inputKeyPrefix","arrayIndex","locale","useSelectedLocale","getInput","setInput","usePlaygroundInputsStore","schemaPlaceholder","getSchemaPlaceholder","prefix","placeholder","getInputAttributesForFormat","uniqueInputKey","getUniqueInputKey","value","safeValue","isString","unmodifiedValue","setModifiedValue","newValue","modifiedValue","onChange","event","jsxs","jsx","Ids","format"],"mappings":";;;;;;AAWO,MAAMA,IAAc,CAAC,EAAE,MAAAC,GAAM,QAAAC,GAAQ,gBAAAC,GAAgB,YAAAC,QAA8B;AACxF,QAAMC,IAASC,EAAA,GACT,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaC,EAAA,GACzBC,IAAoBC,EAAqBT,CAAM,GAC/C,EAAE,QAAAU,GAAQ,aAAAC,EAAA,IAAgBC,EAA4BZ,EAAO,MAAM,GACnEa,IAAiBC,EAAkBb,GAAgBD,GAAQE,CAAU,GACrEa,IAAQV,EAASQ,CAAc,GAE/BG,IAAYC,EAASF,CAAK,IAAIA,IAAQ,QAGtCG,IACJR,MAAUM,KAAA,QAAAA,EAAW,WAAWN,MAAUM,EAAU,UAAUN,EAAO,MAAM,IAAIM,GAE3EG,IAAmB,CAACC,MAAqB;AAE7C,UAAMC,IAAgB,GAAGX,KAAU,EAAE,GAAGU,CAAQ;AAEhD,IAAKC,IACAf,EAASO,GAAgBQ,CAAa,IADvBf,EAASO,GAAgB,MAAS;AAAA,EAExD,GAEMS,IAAW,CAACC,MAAyC;AACzD,IAAAJ,EAAiBI,EAAM,OAAO,KAAK;AAAA,EACrC;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,yDACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,gKACZ,UAAAf,GACH;AAAA,IACA,gBAAAe;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIC,EAAI;AAAA,QACR,WAAU;AAAA,QACV,OAAO,EAAE,aAAahB,IAASA,EAAO,SAAS,OAAO,QAAQ,OAAA;AAAA,QAC9D,aAAaF,KAAqBG,KAAe,SAASZ,KAAQ,OAAO;AAAA,QACzE,cACES,KACAG,KACAR,EAAO,iBAAiB,EAAE,QAAQ,UAAUJ,KAAQ,OAAO;AAAA,QAE7D,MAAK;AAAA,QACL,OAAOmB,KAAmB;AAAA,QAC1B,UAAAI;AAAA,QACA,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAEJ,GAOMV,IAA8B,CAACe,MAAgD;AACnF,UAAQA,KAAA,gBAAAA,EAAQ,eAAY;AAAA,IAC1B,KAAK;AACH,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,aAAa;AAAA,MAAA;AAAA,EACf;AAEJ,SAAO,CAAA;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextInput.js","sources":["../../../../../src/api-playground-2/components/Request/inputs/TextInput.tsx"],"sourcesContent":["import { isString } from '../../../../common/guards';\nimport { ChangeEvent } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { getSchemaPlaceholder, getUniqueInputKey } from '@/api-playground-2/schemaGraph/utils';\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputParams } from './DifferentiatedInput';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const TextInput = ({ name, schema, inputKeyPrefix, arrayIndex }: InputParams) => {\n const locale = useSelectedLocale();\n const { getInput, setInput } = usePlaygroundInputsStore();\n const uniqueInputKey = getUniqueInputKey(inputKeyPrefix, schema, arrayIndex);\n const value = getInput(uniqueInputKey);\n const safeValue = isString(value) ? value : undefined;\n const onChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n setInput(uniqueInputKey, event.target.value);\n };\n const schemaPlaceholder = getSchemaPlaceholder(schema);\n\n return (\n <textarea\n className=\"mint:-mx-3.5 mint:px-3.5 mint:flex-1 mint:min-h-[2.5rem] mint:min-w-0 mint:bg-transparent mint:outline-0 mint:text-playground-input mint:resize-y\"\n rows={2}\n placeholder={schemaPlaceholder ?? `Enter ${name ?? 'value'}`}\n aria-label={schemaPlaceholder ?? locale['aria.enterValue'].replace('{name}', name ?? 'value')}\n value={safeValue}\n onChange={onChange}\n spellCheck={false}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n />\n );\n};\n"],"names":["TextInput","name","schema","inputKeyPrefix","arrayIndex","locale","useSelectedLocale","getInput","setInput","usePlaygroundInputsStore","uniqueInputKey","getUniqueInputKey","value","safeValue","isString","onChange","event","schemaPlaceholder","getSchemaPlaceholder","jsx"],"mappings":";;;;;AAUO,MAAMA,IAAY,CAAC,EAAE,MAAAC,GAAM,QAAAC,GAAQ,gBAAAC,GAAgB,YAAAC,QAA8B;AACtF,QAAMC,IAASC,EAAA,GACT,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaC,EAAA,GACzBC,IAAiBC,EAAkBR,GAAgBD,GAAQE,CAAU,GACrEQ,IAAQL,EAASG,CAAc,GAC/BG,IAAYC,EAASF,CAAK,IAAIA,IAAQ,QACtCG,IAAW,CAACC,MAA4C;AAC5D,IAAAR,EAASE,GAAgBM,EAAM,OAAO,KAAK;AAAA,EAC7C,GACMC,IAAoBC,EAAqBhB,CAAM;AAErD,SACE,gBAAAiB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAM;AAAA,MACN,aAAaF,KAAqB,SAAShB,KAAQ,OAAO;AAAA,MAC1D,cAAYgB,KAAqBZ,EAAO,iBAAiB,EAAE,QAAQ,UAAUJ,KAAQ,OAAO;AAAA,MAC5F,OAAOY;AAAA,MACP,UAAAE;AAAA,MACA,YAAY;AAAA,MACZ,gBAAe;AAAA,MACf,cAAa;AAAA,MACb,aAAY;AAAA,IAAA;AAAA,EAAA;AAGlB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeDropdown.js","sources":["../../../src/api-playground-2/components/TypeDropdown.tsx"],"sourcesContent":["\nimport { ChevronDownFilled } from '@fluentui/react-icons';\n\nimport type { ResolvedSchemaObject } from '@/api-playground-2/types';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@/components/Api/dropdown-menu';\nimport { cn } from \"../../utils/cn\";\n\n// the same as components/TypeDropdown, but for using SchemaObjects and prefilled labels\ntype TypeDropdownParams = {\n options: { label: string; schema: ResolvedSchemaObject }[];\n selectedIndex: number;\n onSelectOption: (index: number) => void;\n className?: string;\n};\n\nexport const TypeDropdown = ({\n options,\n selectedIndex,\n onSelectOption,\n className,\n}: TypeDropdownParams) => {\n const displayOptions = options.length > 1;\n const selectedOption = options[selectedIndex];\n\n return (\n <div\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:px-2 mint:py-0.5 mint:text-gray-600 dark:text-gray-300 mint:hover:text-gray-950 dark:hover:text-white mint:font-medium',\n className\n )}\n >\n <DropdownMenu>\n <DropdownMenuTrigger\n disabled={!displayOptions}\n className=\"mint:font-mono mint:text-xs mint:text-gray-600 mint:dark:text-gray-300 mint:hover:text-gray-950 mint:dark:hover:text-white mint:px-2\"\n >\n <div className=\"mint:flex mint:items-center mint:gap-1.5\">\n <span>{selectedOption?.label}</span>\n {displayOptions && (\n <ChevronDownFilled className=\"mint:h-2.5 mint:w-2.5 mint:text-gray-500 mint:dark:text-gray-400 mint:shrink-0\" />\n )}\n </div>\n </DropdownMenuTrigger>\n <DropdownMenuContent className=\"mint:min-w-24\">\n {options.map((option, index) => (\n <DropdownMenuItem\n key={index}\n isSelected={index === selectedIndex}\n onSelect={() => onSelectOption(index)}\n className=\"mint:text-xs\"\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n};\n"],"names":["TypeDropdown","options","selectedIndex","onSelectOption","className","displayOptions","selectedOption","jsx","cn","DropdownMenu","DropdownMenuTrigger","jsxs","ChevronDownFilled","DropdownMenuContent","option","index","DropdownMenuItem"],"mappings":";;;;AAoBO,MAAMA,IAAe,CAAC;AAAA,EAC3B,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AACF,MAA0B;AACxB,QAAMC,IAAiBJ,EAAQ,SAAS,GAClCK,IAAiBL,EAAQC,CAAa;AAE5C,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAGF,4BAACK,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,UAAU,CAACL;AAAA,YACX,WAAU;AAAA,YAEV,UAAA,gBAAAM,EAAC,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,cAAA,gBAAAJ,EAAC,QAAA,EAAM,iCAAgB,MAAA,CAAM;AAAA,cAC5BF,KACC,gBAAAE,EAACK,GAAA,EAAkB,WAAU,iFAAA,CAAiF;AAAA,YAAA,EAAA,CAElH;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAL,EAACM,KAAoB,WAAU,iBAC5B,YAAQ,IAAI,CAACC,GAAQC,MACpB,gBAAAR;AAAA,UAACS;AAAA,UAAA;AAAA,YAEC,YAAYD,MAAUb;AAAA,YACtB,UAAU,MAAMC,EAAeY,CAAK;AAAA,YACpC,WAAU;AAAA,YAET,UAAAD,EAAO;AAAA,UAAA;AAAA,UALHC;AAAA,QAAA,CAOR,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/api-playground-2/constants/index.ts"],"sourcesContent":["import { ApiPlaygroundInputs } from '@mintlify/validation';\n\nexport const MAX_RECURSION_DEPTH = 10;\nexport const MAX_SCHEMA_COMBINATION_SIZE = 1000;\nexport const CIRCULAR_REF_KEY = '$circularRef';\nexport const stringFileFormats = ['binary', 'base64'];\n\nexport const combinationKeys = [\n 'properties',\n 'additionalProperties',\n 'items',\n 'oneOf',\n 'anyOf',\n 'allOf',\n];\n\n// duplicated from ApiPlaygroundInputsContext.tsx\nexport const initialApiPlaygroundInputs: ApiPlaygroundInputs = {\n server: {},\n path: {},\n query: {},\n header: {},\n cookie: {},\n body: undefined,\n};\n\nexport const apiPlaygroundInputKeys = {\n server: 'server',\n path: 'path',\n query: 'query',\n header: 'header',\n cookie: 'cookie',\n body: 'body',\n};\n"],"names":["MAX_SCHEMA_COMBINATION_SIZE","CIRCULAR_REF_KEY","stringFileFormats","combinationKeys","initialApiPlaygroundInputs","apiPlaygroundInputKeys"],"mappings":"AAGO,MAAMA,IAA8B,KAC9BC,IAAmB,gBACnBC,IAAoB,CAAC,UAAU,QAAQ,GAEvCC,IAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAGaC,IAAkD;AAAA,EAC7D,QAAQ,CAAA;AAAA,EACR,MAAM,CAAA;AAAA,EACN,OAAO,CAAA;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,QAAQ,CAAA;AAAA,EACR,MAAM;AACR,GAEaC,IAAyB;AAAA,EACpC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApiPlaygroundContext.js","sources":["../../../src/api-playground-2/contexts/ApiPlaygroundContext.tsx"],"sourcesContent":["\nimport { ApiPlaygroundResultType } from '@mintlify/models';\nimport { createContext } from 'react';\n\n// duplicate of apps/client/src/api-playground/ApiPlayground/ApiPlaygroundContext.tsx\nexport type ApiPlaygroundContextType = {\n isSending?: boolean;\n sendRequest?: () => void;\n isPlaygroundExpanded: boolean;\n result?: ApiPlaygroundResultType;\n selectedBaseUrlIndex: number;\n setSelectedBaseUrlIndex?: (index: number) => void;\n setIsPlaygroundExpanded?: (expanded: boolean) => void;\n baseUrlOptions?: string[];\n selectedExampleIndex?: number;\n setSelectedExampleIndex?: (index: number) => void;\n};\n\nexport const ApiPlaygroundContext = createContext<ApiPlaygroundContextType>({\n isSending: false,\n selectedBaseUrlIndex: 0,\n isPlaygroundExpanded: false,\n selectedExampleIndex: 0,\n});\n"],"names":["ApiPlaygroundContext","createContext"],"mappings":";AAkBO,MAAMA,IAAuBC,EAAwC;AAAA,EAC1E,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,sBAAsB;AACxB,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBodyData.js","sources":["../../../src/api-playground-2/generators/createBodyData.ts"],"sourcesContent":["import { isFile, isObject } from '../../common/guards';\nimport type { PostData } from 'har-format';\n\nexport const getPostData = (\n bodyData: unknown,\n selectedBodyContentType?: string,\n requiredProperties?: string[],\n fileProperties?: string[]\n): PostData | undefined => {\n if (bodyData === undefined) {\n return undefined;\n }\n\n if (\n typeof bodyData === 'object' &&\n bodyData !== null &&\n requiredProperties &&\n requiredProperties.length > 0\n ) {\n bodyData = Object.fromEntries(\n Object.entries(bodyData).filter(([key]) => requiredProperties.includes(key))\n );\n }\n\n // if body type is form data, convert to a list of form params\n if (\n selectedBodyContentType === 'multipart/form-data' ||\n selectedBodyContentType === 'application/x-www-form-urlencoded'\n ) {\n if (!bodyData || typeof bodyData !== 'object') {\n return undefined;\n }\n\n if (typeof bodyData === 'object' && fileProperties && fileProperties.length > 0) {\n if (isObject(bodyData)) {\n fileProperties.forEach((fieldName: string) => {\n if (!(fieldName in bodyData)) {\n bodyData[fieldName] = {\n fileName: 'example-file',\n };\n }\n });\n }\n }\n\n const getParamValue = (value: unknown) => {\n if (isFile(value)) {\n return value.name || 'file';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value, undefined, 2);\n }\n return value?.toString();\n };\n\n return {\n mimeType: selectedBodyContentType,\n params: Object.entries(bodyData).flatMap(([name, value]) => {\n if (Array.isArray(value)) {\n return value\n .filter((item) => item !== undefined && item !== null)\n .map((item, index) => {\n const paramName = value.length > 1 ? `${name}[${index}]` : name;\n if (isFile(item) && 'name' in item) {\n return {\n name: paramName,\n value: getParamValue(item),\n fileName: item.name,\n };\n } else if (fileProperties && fileProperties.includes(name)) {\n return {\n name: paramName,\n value: getParamValue(item),\n fileName: 'example-file',\n };\n }\n return {\n name: paramName,\n value: getParamValue(item),\n };\n });\n }\n\n if (isFile(value) && 'name' in value) {\n return [\n {\n name,\n value: getParamValue(value),\n fileName: value.name,\n },\n ];\n } else if (fileProperties && fileProperties.includes(name)) {\n return [\n {\n name,\n value: getParamValue(value),\n fileName: 'example-file',\n },\n ];\n }\n return [\n {\n name,\n value: getParamValue(value),\n },\n ];\n }),\n };\n }\n\n if (\n typeof bodyData === 'string' &&\n selectedBodyContentType &&\n isPlainText(selectedBodyContentType)\n ) {\n return {\n mimeType: selectedBodyContentType,\n text: bodyData,\n };\n }\n\n return {\n mimeType: 'application/json',\n text: JSON.stringify(bodyData, null, 2),\n };\n};\n\nfunction isPlainText(rawContentType: string) {\n const contentType = rawContentType.toLowerCase();\n return (\n contentType.startsWith('text/') || contentType.endsWith('+xml') || contentType.endsWith('/xml')\n );\n}\n"],"names":["getPostData","bodyData","selectedBodyContentType","requiredProperties","fileProperties","key","isObject","fieldName","getParamValue","value","isFile","name","item","index","paramName","isPlainText","rawContentType","contentType"],"mappings":";AAGO,MAAMA,IAAc,CACzBC,GACAC,GACAC,GACAC,MACyB;AACzB,MAAIH,MAAa,QAgBjB;AAAA,QAXE,OAAOA,KAAa,YACpBA,MAAa,QACbE,KACAA,EAAmB,SAAS,MAE5BF,IAAW,OAAO;AAAA,MAChB,OAAO,QAAQA,CAAQ,EAAE,OAAO,CAAC,CAACI,CAAG,MAAMF,EAAmB,SAASE,CAAG,CAAC;AAAA,IAAA,IAM7EH,MAA4B,yBAC5BA,MAA4B,qCAC5B;AACA,UAAI,CAACD,KAAY,OAAOA,KAAa;AACnC;AAGF,MAAI,OAAOA,KAAa,YAAYG,KAAkBA,EAAe,SAAS,KACxEE,EAASL,CAAQ,KACnBG,EAAe,QAAQ,CAACG,MAAsB;AAC5C,QAAMA,KAAaN,MACjBA,EAASM,CAAS,IAAI;AAAA,UACpB,UAAU;AAAA,QAAA;AAAA,MAGhB,CAAC;AAIL,YAAMC,IAAgB,CAACC,MACjBC,EAAOD,CAAK,IACPA,EAAM,QAAQ,SAEnB,OAAOA,KAAU,WACZ,KAAK,UAAUA,GAAO,QAAW,CAAC,IAEpCA,KAAA,gBAAAA,EAAO;AAGhB,aAAO;AAAA,QACL,UAAUP;AAAA,QACV,QAAQ,OAAO,QAAQD,CAAQ,EAAE,QAAQ,CAAC,CAACU,GAAMF,CAAK,MAChD,MAAM,QAAQA,CAAK,IACdA,EACJ,OAAO,CAACG,MAA+BA,KAAS,IAAI,EACpD,IAAI,CAACA,GAAMC,MAAU;AACpB,gBAAMC,IAAYL,EAAM,SAAS,IAAI,GAAGE,CAAI,IAAIE,CAAK,MAAMF;AAC3D,iBAAID,EAAOE,CAAI,KAAK,UAAUA,IACrB;AAAA,YACL,MAAME;AAAA,YACN,OAAON,EAAcI,CAAI;AAAA,YACzB,UAAUA,EAAK;AAAA,UAAA,IAERR,KAAkBA,EAAe,SAASO,CAAI,IAChD;AAAA,YACL,MAAMG;AAAA,YACN,OAAON,EAAcI,CAAI;AAAA,YACzB,UAAU;AAAA,UAAA,IAGP;AAAA,YACL,MAAME;AAAA,YACN,OAAON,EAAcI,CAAI;AAAA,UAAA;AAAA,QAE7B,CAAC,IAGDF,EAAOD,CAAK,KAAK,UAAUA,IACtB;AAAA,UACL;AAAA,YACE,MAAAE;AAAA,YACA,OAAOH,EAAcC,CAAK;AAAA,YAC1B,UAAUA,EAAM;AAAA,UAAA;AAAA,QAClB,IAEOL,KAAkBA,EAAe,SAASO,CAAI,IAChD;AAAA,UACL;AAAA,YACE,MAAAA;AAAA,YACA,OAAOH,EAAcC,CAAK;AAAA,YAC1B,UAAU;AAAA,UAAA;AAAA,QACZ,IAGG;AAAA,UACL;AAAA,YACE,MAAAE;AAAA,YACA,OAAOH,EAAcC,CAAK;AAAA,UAAA;AAAA,QAC5B,CAEH;AAAA,MAAA;AAAA,IAEL;AAEA,WACE,OAAOR,KAAa,YACpBC,KACAa,EAAYb,CAAuB,IAE5B;AAAA,MACL,UAAUA;AAAA,MACV,MAAMD;AAAA,IAAA,IAIH;AAAA,MACL,UAAU;AAAA,MACV,MAAM,KAAK,UAAUA,GAAU,MAAM,CAAC;AAAA,IAAA;AAAA;AAE1C;AAEA,SAASc,EAAYC,GAAwB;AAC3C,QAAMC,IAAcD,EAAe,YAAA;AACnC,SACEC,EAAY,WAAW,OAAO,KAAKA,EAAY,SAAS,MAAM,KAAKA,EAAY,SAAS,MAAM;AAElG;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createHeaders.js","sources":["../../../src/api-playground-2/generators/createHeaders.ts"],"sourcesContent":["import type { Header } from 'har-format';\n\nimport type { ApiReferenceDataV2, SecuritySchemeAndScope } from '@/api-playground-2/types';\n\nexport const createHeaders = (\n apiReferenceData: ApiReferenceDataV2,\n headerInputs: Record<string, unknown>,\n selectedBodyContentType?: string,\n // @ts-expect-error\n selectedSecurityOptionIndex: number\n): Header[] => {\n const headers: Header[] = [];\n const addedHeaders = new Set<string>();\n const requiredHeaderParameters = Object.values(\n apiReferenceData.dependencies?.parameters?.header ?? {}\n )\n .filter((param) => !param.in || param.in === 'header')\n .filter((param) => param.schema.isRequired);\n const securityHeaderParameters = Object.values(\n apiReferenceData.dependencies?.processedSecurityOptions ?? {}\n ).filter(({ scheme }) => !('in' in scheme) || scheme.in === 'header');\n\n Object.entries(headerInputs)\n .filter((entry): entry is [string, NonNullable<unknown>] => entry[1] != null)\n .forEach(([name, value]) => {\n addedHeaders.add(name);\n headers.push({\n name,\n value: value.toString(),\n });\n });\n\n requiredHeaderParameters.forEach((param) => {\n const name = param.name;\n if (!addedHeaders.has(name)) {\n headers.push({\n name,\n value: `<${name.toLowerCase()}>`,\n });\n }\n });\n\n const securityOption = securityHeaderParameters[selectedSecurityOptionIndex];\n if (securityOption) {\n const { scheme, schema } = securityOption;\n const name = 'name' in scheme ? scheme.name : schema.title ?? 'Authorization';\n if (!addedHeaders.has(name)) {\n headers.push({ name, value: generateAuthPlaceholder(scheme) });\n }\n }\n\n if (selectedBodyContentType) {\n addContentTypeHeader(headers, selectedBodyContentType);\n }\n\n return headers;\n};\n\nconst generateAuthPlaceholder = (scheme: SecuritySchemeAndScope): string => {\n switch (scheme.type) {\n case 'http':\n return scheme.scheme === 'basic' ? 'Basic <encoded-value>' : 'Bearer <token>';\n case 'oauth2':\n return 'Bearer <token>';\n case 'apiKey':\n default:\n return '<api-key>';\n }\n};\n\nconst addContentTypeHeader = (headers: Header[], contentType: string) => {\n if (headers.some(({ name }) => name.toLowerCase() === 'content-type')) {\n return;\n }\n\n headers.push({\n name: 'Content-Type',\n value: contentType,\n });\n};\n"],"names":["createHeaders","apiReferenceData","headerInputs","selectedBodyContentType","selectedSecurityOptionIndex","_a","_b","_c","headers","addedHeaders","requiredHeaderParameters","param","securityHeaderParameters","scheme","entry","name","value","securityOption","schema","generateAuthPlaceholder","addContentTypeHeader","contentType"],"mappings":"AAIO,MAAMA,IAAgB,CAC3BC,GACAC,GACAC,GAEAC,MACa;AANR,MAAAC,GAAAC,GAAAC;AAOL,QAAMC,IAAoB,CAAA,GACpBC,wBAAmB,IAAA,GACnBC,IAA2B,OAAO;AAAA,MACtCJ,KAAAD,IAAAJ,EAAiB,iBAAjB,gBAAAI,EAA+B,eAA/B,gBAAAC,EAA2C,WAAU,CAAA;AAAA,EAAC,EAErD,OAAO,CAACK,MAAU,CAACA,EAAM,MAAMA,EAAM,OAAO,QAAQ,EACpD,OAAO,CAACA,MAAUA,EAAM,OAAO,UAAU,GACtCC,IAA2B,OAAO;AAAA,MACtCL,IAAAN,EAAiB,iBAAjB,gBAAAM,EAA+B,6BAA4B,CAAA;AAAA,EAAC,EAC5D,OAAO,CAAC,EAAE,QAAAM,QAAa,EAAE,QAAQA,MAAWA,EAAO,OAAO,QAAQ;AAEpE,SAAO,QAAQX,CAAY,EACxB,OAAO,CAACY,MAAmDA,EAAM,CAAC,KAAK,IAAI,EAC3E,QAAQ,CAAC,CAACC,GAAMC,CAAK,MAAM;AAC1B,IAAAP,EAAa,IAAIM,CAAI,GACrBP,EAAQ,KAAK;AAAA,MACX,MAAAO;AAAA,MACA,OAAOC,EAAM,SAAA;AAAA,IAAS,CACvB;AAAA,EACH,CAAC,GAEHN,EAAyB,QAAQ,CAACC,MAAU;AAC1C,UAAMI,IAAOJ,EAAM;AACnB,IAAKF,EAAa,IAAIM,CAAI,KACxBP,EAAQ,KAAK;AAAA,MACX,MAAAO;AAAA,MACA,OAAO,IAAIA,EAAK,YAAA,CAAa;AAAA,IAAA,CAC9B;AAAA,EAEL,CAAC;AAED,QAAME,IAAiBL,EAAyBR,CAA2B;AAC3E,MAAIa,GAAgB;AAClB,UAAM,EAAE,QAAAJ,GAAQ,QAAAK,EAAA,IAAWD,GACrBF,IAAO,UAAUF,IAASA,EAAO,OAAOK,EAAO,SAAS;AAC9D,IAAKT,EAAa,IAAIM,CAAI,KACxBP,EAAQ,KAAK,EAAE,MAAAO,GAAM,OAAOI,EAAwBN,CAAM,GAAG;AAAA,EAEjE;AAEA,SAAIV,KACFiB,EAAqBZ,GAASL,CAAuB,GAGhDK;AACT,GAEMW,IAA0B,CAACN,MAA2C;AAC1E,UAAQA,EAAO,MAAA;AAAA,IACb,KAAK;AACH,aAAOA,EAAO,WAAW,UAAU,0BAA0B;AAAA,IAC/D,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EAAA;AAEb,GAEMO,IAAuB,CAACZ,GAAmBa,MAAwB;AACvE,EAAIb,EAAQ,KAAK,CAAC,EAAE,MAAAO,EAAA,MAAWA,EAAK,kBAAkB,cAAc,KAIpEP,EAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN,OAAOa;AAAA,EAAA,CACR;AACH;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateInteractiveCodeSample.js","sources":["../../../src/api-playground-2/generators/generateInteractiveCodeSample.ts"],"sourcesContent":["import { ApiPlaygroundDisplayType } from '@mintlify/models';\nimport { ApiPlaygroundInputs, CodeSample } from '@mintlify/validation';\n\nimport { getFirstExampleValue } from '@/api-playground-2/schemaGraph/processExamples';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { langToPresetMap } from '@/constants/snippetPresets';\n\nimport { generateRequest } from './generateRequest';\nimport { generateSnippet } from './generateSnippet';\n\nexport const generateInteractiveCodeSample = ({\n apiReferenceData,\n baseUrl,\n inputs,\n apiPlaygroundMode,\n selectedSecurityOptionIndex,\n lang,\n requiredOnly,\n}: {\n lang: string;\n baseUrl?: string;\n apiReferenceData: ApiReferenceDataV2;\n inputs: ApiPlaygroundInputs;\n apiPlaygroundMode: ApiPlaygroundDisplayType;\n selectedSecurityOptionIndex: number;\n requiredOnly?: boolean;\n}): CodeSample | undefined => {\n if (baseUrl && apiPlaygroundMode !== 'none') {\n const firstRequestBodyContentType = Object.keys(\n apiReferenceData.dependencies?.requestBody?.content ?? {}\n )[0];\n const firstExample = getFirstExampleValue(\n apiReferenceData.dependencies?.requestBody?.content ?? {}\n );\n try {\n const request = generateRequest({\n baseUrl,\n apiReferenceData,\n inputs,\n exampleData: firstExample,\n selectedBodyContentType: firstRequestBodyContentType,\n requiredOnly,\n selectedSecurityOptionIndex,\n });\n const preset = langToPresetMap[lang];\n if (preset == undefined) {\n return;\n }\n const [snippet] = generateSnippet({\n request,\n pathInputs: inputs.path,\n snippetPresets: [preset],\n apiReferenceData,\n });\n if (snippet)\n return {\n label: 'Interactive Example',\n lang: snippet.language,\n source: snippet.code,\n };\n } catch (err) {}\n }\n};\n"],"names":["generateInteractiveCodeSample","apiReferenceData","baseUrl","inputs","apiPlaygroundMode","selectedSecurityOptionIndex","lang","requiredOnly","firstRequestBodyContentType","_b","_a","firstExample","getFirstExampleValue","_d","_c","request","generateRequest","preset","langToPresetMap","snippet","generateSnippet"],"mappings":";;;;AAUO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,kBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AACF,MAQ8B;;AAC5B,MAAIL,KAAWE,MAAsB,QAAQ;AAC3C,UAAMI,IAA8B,OAAO;AAAA,QACzCC,KAAAC,IAAAT,EAAiB,iBAAjB,gBAAAS,EAA+B,gBAA/B,gBAAAD,EAA4C,YAAW,CAAA;AAAA,IAAC,EACxD,CAAC,GACGE,IAAeC;AAAA,QACnBC,KAAAC,IAAAb,EAAiB,iBAAjB,gBAAAa,EAA+B,gBAA/B,gBAAAD,EAA4C,YAAW,CAAA;AAAA,IAAC;AAE1D,QAAI;AACF,YAAME,IAAUC,EAAgB;AAAA,QAC9B,SAAAd;AAAA,QACA,kBAAAD;AAAA,QACA,QAAAE;AAAA,QACA,aAAaQ;AAAA,QACb,yBAAyBH;AAAA,QACzB,cAAAD;AAAA,QACA,6BAAAF;AAAA,MAAA,CACD,GACKY,IAASC,EAAgBZ,CAAI;AACnC,UAAIW,KAAU;AACZ;AAEF,YAAM,CAACE,CAAO,IAAIC,EAAgB;AAAA,QAChC,SAAAL;AAAA,QACA,YAAYZ,EAAO;AAAA,QACnB,gBAAgB,CAACc,CAAM;AAAA,QACvB,kBAAAhB;AAAA,MAAA,CACD;AACD,UAAIkB;AACF,eAAO;AAAA,UACL,OAAO;AAAA,UACP,MAAMA,EAAQ;AAAA,UACd,QAAQA,EAAQ;AAAA,QAAA;AAAA,IAEtB,QAAc;AAAA,IAAC;AAAA,EACjB;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateRequest.js","sources":["../../../src/api-playground-2/generators/generateRequest.ts"],"sourcesContent":["import { isObject } from '../../common/guards';\nimport { ApiPlaygroundInputs, SchemaObject } from '@mintlify/validation';\nimport type { Request } from 'har-format';\nimport cloneDeep from 'lodash/cloneDeep';\nimport merge from 'lodash/merge';\n\nimport { getAllRequiredProperties } from '@/api-playground-2/schemaGraph/getAllRequiredProperties';\nimport { isSchemaObject } from '@/api-playground-2/schemaGraph/utils';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { initialRequest } from '@/constants/initialRequest';\nimport {\n addPathParams,\n addServerVariables,\n joinWithSingleSlash,\n} from '@/hooks/useSendPlaygroundRequest';\n\nimport { getPostData } from './createBodyData';\nimport { createHeaders } from './createHeaders';\nimport { getFileProperties } from './getFileProperties';\n\ntype QueryParam = { name: string; value: string };\n\n/**\n * Constructs the request from the URL, schema, and inputs\n */\nexport const generateRequest = ({\n exampleData,\n apiReferenceData,\n baseUrl,\n inputs,\n selectedBodyContentType,\n requiredOnly,\n selectedSecurityOptionIndex,\n}: {\n exampleData?: unknown;\n apiReferenceData: ApiReferenceDataV2;\n baseUrl: string;\n inputs: ApiPlaygroundInputs;\n selectedBodyContentType?: string;\n requiredOnly?: boolean;\n selectedSecurityOptionIndex: number;\n}): Request => {\n const queryParamsWithDeepObjects = Object.values(apiReferenceData.dependencies?.parameters ?? {})\n .filter((param) => param.style === 'deepObject')\n .map((param) => param.name);\n\n const queryString = createQueryString(inputs, queryParamsWithDeepObjects);\n const path = addPathParams(apiReferenceData.operation?.path ?? '', inputs.path);\n const headers = createHeaders(apiReferenceData, inputs.header, selectedBodyContentType, selectedSecurityOptionIndex);\n\n const bodyIsEmpty = isBodyEmpty(inputs.body);\n const bodyIsObject = isObject(exampleData);\n const input = isObject(inputs.body) ? deleteUndefinedKeys(inputs.body) : {};\n\n const mergedExampleAndBody =\n !bodyIsEmpty && bodyIsObject ? merge(cloneDeep(exampleData), input) : null;\n\n const bodyData = bodyIsEmpty ? exampleData : mergedExampleAndBody;\n let requestBodySchema: SchemaObject | undefined = undefined;\n\n if (selectedBodyContentType) {\n if (\n isSchemaObject(\n apiReferenceData.dependencies?.requestBody?.content[selectedBodyContentType]?.schema\n )\n ) {\n requestBodySchema =\n apiReferenceData.dependencies.requestBody.content[selectedBodyContentType].schema;\n }\n }\n\n const requiredProperties =\n requiredOnly && !inputs.body && requestBodySchema\n ? \n getAllRequiredProperties(requestBodySchema as SchemaObject)\n : undefined;\n\n const fileProperties = requestBodySchema ? getFileProperties(requestBodySchema) : undefined;\n\n const postData = getPostData(\n bodyData,\n selectedBodyContentType,\n requiredProperties,\n fileProperties\n );\n\n return {\n ...initialRequest,\n method: (apiReferenceData.operation?.method ?? '').toUpperCase(),\n url: joinWithSingleSlash(addServerVariables(baseUrl, inputs.server), path),\n queryString,\n headers,\n postData,\n };\n};\n\nconst createQueryString = (\n inputs: ApiPlaygroundInputs,\n queryParamsWithDeepObjects?: string[]\n): QueryParam[] => {\n return Object.entries(inputs.query).flatMap(([name, value]) => {\n if (!value) return [];\n\n if (Array.isArray(value)) {\n return value.filter(Boolean).map((element) => ({\n name,\n value: element.toString(),\n }));\n }\n\n if (typeof value === 'object') {\n if (queryParamsWithDeepObjects?.includes(name)) {\n return Object.entries(value)\n .filter(([_, value]) => value)\n .map(([key, value]) => ({\n name: `${name}[${key}]`,\n value: value.toString(),\n }));\n }\n\n return [{ name, value: JSON.stringify(value) }];\n }\n\n return [\n {\n name,\n value: value.toString(),\n },\n ];\n });\n};\n\nconst isBodyEmpty = (bodyData: unknown) => {\n if (bodyData === null || bodyData === undefined) {\n return true;\n }\n\n if (typeof bodyData === 'object') {\n return Object.values(bodyData).every((value) => value === undefined);\n }\n};\n\nfunction deleteUndefinedKeys(obj: Record<string, unknown>): Record<string, unknown> {\n const objClone = cloneDeep(obj);\n for (const key in objClone) {\n if (objClone[key] === undefined) delete objClone[key];\n else if (isObject(objClone[key])) deleteUndefinedKeys(objClone[key]);\n }\n return objClone;\n}\n"],"names":["generateRequest","exampleData","apiReferenceData","baseUrl","inputs","selectedBodyContentType","requiredOnly","selectedSecurityOptionIndex","queryParamsWithDeepObjects","_a","param","queryString","createQueryString","path","addPathParams","_b","headers","createHeaders","bodyIsEmpty","isBodyEmpty","bodyIsObject","isObject","input","deleteUndefinedKeys","mergedExampleAndBody","merge","cloneDeep","bodyData","requestBodySchema","isSchemaObject","_e","_d","_c","requiredProperties","getAllRequiredProperties","fileProperties","getFileProperties","postData","getPostData","initialRequest","_f","joinWithSingleSlash","addServerVariables","name","value","element","_","key","obj","objClone"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateResponseExampleMap.js","sources":["../../../src/api-playground-2/generators/generateResponseExampleMap.ts"],"sourcesContent":["import type { MediaObject } from '@mintlify/validation';\n\nimport type { ExampleCodeSnippet } from '@/types/exampleCodeSnippet';\n\ntype ExampleMap = { [title: string]: ExampleCodeSnippet };\ntype ResponseExampleMap = { [status: string]: ExampleMap };\n\nexport const generateResponseExampleMap = (\n responses: Record<string, MediaObject>,\n selectedContentTypeIndex?: number\n): ResponseExampleMap => {\n return Object.entries(responses)\n .sort()\n .reduce<ResponseExampleMap>((map, [status, mediaObject]) => {\n const contentTypes = Object.keys(mediaObject);\n const content: MediaObject | undefined =\n selectedContentTypeIndex !== undefined && contentTypes[selectedContentTypeIndex]\n ? \n mediaObject[contentTypes[selectedContentTypeIndex] as keyof MediaObject]\n : \n mediaObject[contentTypes[0] as keyof MediaObject];\n if (content === undefined) {\n map[status] = {\n '': {\n filename: status,\n code: 'This response has no body data.',\n language: '',\n },\n };\n return map;\n }\n const contentExamples = content.examples;\n const firstExample = contentExamples?.[0];\n if (firstExample && 'value' in firstExample && firstExample.value === undefined) {\n map[status] = {\n '': {\n filename: status,\n code: 'This response does not have an example.',\n language: '',\n },\n };\n return map;\n }\n const exampleMap = Object.entries(contentExamples ?? {}).reduce<ExampleMap>(\n (exampleMap, [_, example]) => {\n const exampleValue = 'value' in example ? example.value : example;\n const exampleTitle =\n 'title' in example && typeof example.title === 'string' ? example.title : '';\n const stringifiedExample = JSON.stringify(exampleValue, null, 2);\n exampleMap[exampleTitle] = {\n filename: status,\n language: 'json',\n code: stringifiedExample,\n };\n return exampleMap;\n },\n {}\n );\n map[status] = exampleMap;\n return map;\n }, {});\n};\n"],"names":["generateResponseExampleMap","responses","selectedContentTypeIndex","map","status","mediaObject","contentTypes","content","contentExamples","firstExample","exampleMap","_","example","exampleValue","exampleTitle","stringifiedExample"],"mappings":"AAOO,MAAMA,IAA6B,CACxCC,GACAC,MAEO,OAAO,QAAQD,CAAS,EAC5B,KAAA,EACA,OAA2B,CAACE,GAAK,CAACC,GAAQC,CAAW,MAAM;AAC1D,QAAMC,IAAe,OAAO,KAAKD,CAAW,GACtCE,IACsCD,EAAaJ,CAAwB,IAE3EG,EAAYC,EAAaJ,CAAwB,CAAsB,IAEvEG,EAAYC,EAAa,CAAC,CAAsB;AACtD,MAAIC,MAAY;AACd,WAAAJ,EAAIC,CAAM,IAAI;AAAA,MACZ,IAAI;AAAA,QACF,UAAUA;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,MAAA;AAAA,IACZ,GAEKD;AAET,QAAMK,IAAkBD,EAAQ,UAC1BE,IAAeD,KAAA,gBAAAA,EAAkB;AACvC,MAAIC,KAAgB,WAAWA,KAAgBA,EAAa,UAAU;AACpE,WAAAN,EAAIC,CAAM,IAAI;AAAA,MACZ,IAAI;AAAA,QACF,UAAUA;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,MAAA;AAAA,IACZ,GAEKD;AAET,QAAMO,IAAa,OAAO,QAAQF,KAAmB,CAAA,CAAE,EAAE;AAAA,IACvD,CAACE,GAAY,CAACC,GAAGC,CAAO,MAAM;AAC5B,YAAMC,IAAe,WAAWD,IAAUA,EAAQ,QAAQA,GACpDE,IACJ,WAAWF,KAAW,OAAOA,EAAQ,SAAU,WAAWA,EAAQ,QAAQ,IACtEG,IAAqB,KAAK,UAAUF,GAAc,MAAM,CAAC;AAC/DH,aAAAA,EAAWI,CAAY,IAAI;AAAA,QACzB,UAAUV;AAAA,QACV,UAAU;AAAA,QACV,MAAMW;AAAA,MAAA,GAEDL;AAAAA,IACT;AAAA,IACA,CAAA;AAAA,EAAC;AAEH,SAAAP,EAAIC,CAAM,IAAIM,GACPP;AACT,GAAG,CAAA,CAAE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateSnippet.js","sources":["../../../src/api-playground-2/generators/generateSnippet.ts"],"sourcesContent":["import { ApiPlaygroundInputs } from '@mintlify/validation';\nimport type { Request } from 'har-format';\n// import { HTTPSnippet } from '@readme/httpsnippet';\nimport { generateUniqueString } from '@/utils/uuid';\n\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { snippetPresets as defaultSnippetPresets, SnippetPreset } from '@/constants/snippetPresets';\nimport { ExampleCodeSnippet } from '@/types/exampleCodeSnippet';\n\ntype TargetId = 'c' | 'clojure' | 'csharp' | 'go' | 'http' | 'java' | 'javascript' | 'json' | 'kotlin' | 'node' | 'objc' | 'ocaml' | 'php' | 'powershell' | 'python' | 'r' | 'ruby' | 'shell' | 'swift';\n\n// Fake HTTPSnippet implementation\nclass FakeHTTPSnippet {\n private request: any;\n\n constructor(request: any) {\n this.request = request;\n }\n\n convert(target: TargetId, client?: string): string {\n const { method, url, headers = [], postData } = this.request;\n const headersObj: Record<string, string> = {};\n headers.forEach((h: any) => {\n if (h.name && h.value) headersObj[h.name] = h.value;\n });\n\n const body = postData?.text || '';\n\n switch (target) {\n case 'shell':\n return this.generateCurl(method, url, headersObj, body);\n case 'python':\n return this.generatePython(method, url, headersObj, body, client);\n case 'javascript':\n return this.generateJavaScript(method, url, headersObj, body, client);\n case 'php':\n return this.generatePHP(method, url, headersObj, body);\n case 'go':\n return this.generateGo(method, url, headersObj, body);\n case 'java':\n return this.generateJava(method, url, headersObj, body);\n case 'ruby':\n return this.generateRuby(method, url, headersObj, body);\n default:\n return `# Code generation for ${target} not implemented yet`;\n }\n }\n\n private generateCurl(method: string, url: string, headers: Record<string, string>, body: string): string {\n let curl = `curl -X ${method.toUpperCase()} \"${url}\"`;\n Object.entries(headers).forEach(([key, value]) => {\n curl += ` \\\\\\n -H \"${key}: ${value}\"`;\n });\n if (body) {\n curl += ` \\\\\\n -d '${body}'`;\n }\n return curl;\n }\n\n private generatePython(method: string, url: string, headers: Record<string, string>, body: string, client?: string): string {\n if (client === 'requests') {\n const headersStr = JSON.stringify(headers, null, 2).split('\\n').join('\\n ');\n const dataStr = body ? `,\\n data=${JSON.stringify(body)}` : '';\n return `import requests\\n\\nresponse = requests.${method.toLowerCase()}(\\n \"${url}\",\\n headers=${headersStr}${dataStr}\\n)\\n\\nprint(response.json())`;\n }\n return `# Python code generation not implemented for client: ${client}`;\n }\n\n private generateJavaScript(method: string, url: string, headers: Record<string, string>, body: string, client?: string): string {\n if (client === 'fetch') {\n const headersStr = JSON.stringify(headers, null, 2).split('\\n').map((line, i) => i === 0 ? line : ' ' + line).join('\\n');\n const bodyStr = body ? `,\\n body: ${JSON.stringify(body)}` : '';\n return `fetch(\"${url}\", {\\n method: \"${method.toUpperCase()}\",\\n headers: ${headersStr}${bodyStr}\\n})\\n .then(response => response.json())\\n .then(data => console.log(data))\\n .catch(error => console.error('Error:', error));`;\n }\n return `// JavaScript code generation not implemented for client: ${client}`;\n }\n\n private generatePHP(method: string, url: string, headers: Record<string, string>, body: string): string {\n const headersArray = Object.entries(headers).map(([k, v]) => ` \"${k}: ${v}\"`).join(',\\n');\n const dataStr = body ? `,\\n CURLOPT_POSTFIELDS => '${body}'` : '';\n return `<?php\\n$ch = curl_init();\\n\\ncurl_setopt_array($ch, [\\n CURLOPT_URL => \"${url}\",\\n CURLOPT_RETURNTRANSFER => true,\\n CURLOPT_CUSTOMREQUEST => \"${method.toUpperCase()}\",\\n CURLOPT_HTTPHEADER => [\\n${headersArray}\\n ]${dataStr}\\n]);\\n\\n$response = curl_exec($ch);\\ncurl_close($ch);\\n\\necho $response;\\n?>`;\n }\n\n private generateGo(method: string, url: string, headers: Record<string, string>, body: string): string {\n const bodyCode = body ? `\\n reqBody := strings.NewReader(${JSON.stringify(body)})\\n req, _ := http.NewRequest(\"${method.toUpperCase()}\", \"${url}\", reqBody)` : `\\n req, _ := http.NewRequest(\"${method.toUpperCase()}\", \"${url}\", nil)`;\n const headersCode = Object.entries(headers).map(([k, v]) => ` req.Header.Add(\"${k}\", \"${v}\")`).join('\\n');\n return `package main\\n\\nimport (\\n \"fmt\"\\n \"net/http\"\\n \"io/ioutil\"\\n \"strings\"\\n)\\n\\nfunc main() {${bodyCode}\\n${headersCode}\\n\\n client := &http.Client{}\\n resp, _ := client.Do(req)\\n defer resp.Body.Close()\\n\\n body, _ := ioutil.ReadAll(resp.Body)\\n fmt.Println(string(body))\\n}`;\n }\n\n private generateJava(method: string, url: string, headers: Record<string, string>, body: string): string {\n const headersCode = Object.entries(headers).map(([k, v]) => ` .header(\"${k}\", \"${v}\")`).join('\\n');\n const bodyCode = body ? `.POST(HttpRequest.BodyPublishers.ofString(${JSON.stringify(body)}))` : `.method(\"${method.toUpperCase()}\", HttpRequest.BodyPublishers.noBody())`;\n return `import java.net.http.*;\\nimport java.net.URI;\\n\\npublic class Main {\\n public static void main(String[] args) throws Exception {\\n HttpClient client = HttpClient.newHttpClient();\\n HttpRequest request = HttpRequest.newBuilder()\\n .uri(URI.create(\"${url}\"))\\n${headersCode}\\n ${bodyCode}\\n .build();\\n\\n HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\\n System.out.println(response.body());\\n }\\n}`;\n }\n\n private generateRuby(method: string, url: string, headers: Record<string, string>, body: string): string {\n const headersCode = Object.entries(headers).map(([k, v]) => `request[\"${k}\"] = \"${v}\"`).join('\\n');\n const bodyCode = body ? `\\nrequest.body = ${JSON.stringify(body)}` : '';\n return `require 'net/http'\\nrequire 'uri'\\n\\nuri = URI.parse(\"${url}\")\\nhttp = Net::HTTP.new(uri.host, uri.port)\\nrequest = Net::HTTP::${method.charAt(0).toUpperCase() + method.slice(1).toLowerCase()}.new(uri.request_uri)\\n${headersCode}${bodyCode}\\n\\nresponse = http.request(request)\\nputs response.body`;\n }\n}\n\nexport interface GenerateSnippetParams {\n request: Request;\n pathInputs: ApiPlaygroundInputs['path'];\n apiReferenceData: ApiReferenceDataV2;\n snippetPresets?: SnippetPreset[];\n isMultipleRequest?: boolean;\n}\n\nexport const generateSnippet = ({\n request,\n pathInputs,\n apiReferenceData,\n snippetPresets = defaultSnippetPresets,\n isMultipleRequest = false,\n}: GenerateSnippetParams): ExampleCodeSnippet[] => {\n const uuidToName: Record<string, string> = {};\n\n // https://regex101.com/r/3PPRco/1\n const portRegex = /:{[^{}]+}/g;\n\n // for the port number found in the url that is not populated, replace it with a rare integer\n const safePortUrl = request.url.replace(portRegex, (nameWithColon) => {\n const replacementWithColon = ':62437'; // arbitrary port value which is unlikely to appear in url\n uuidToName[replacementWithColon] = nameWithColon;\n return replacementWithColon;\n });\n\n // https://regex101.com/r/pwKjrJ/1\n const pathParamRegex = /{[^{}]+}/g;\n\n // for each path param found in the url, replace it with the value if the input is populated, otherwise replace it with a uuid\n const safeUrl = safePortUrl.replace(pathParamRegex, (name) => {\n const nameNoBrackets = name.slice(1, name.length - 1);\n const paramValue = pathInputs[nameNoBrackets];\n\n if (name === '{endpoint}') {\n return 'https://{endpoint}';\n }\n\n if (paramValue && (typeof paramValue !== 'string' || paramValue.length > 0)) {\n return `${encodeURIComponent(paramValue.toString())}`;\n }\n\n const uuid = generateUniqueString();\n uuidToName[uuid] = name;\n return uuid;\n });\n\n const httpSnippet = new FakeHTTPSnippet({\n ...request,\n url: safeUrl,\n postData: request.postData || { mimeType: 'application/json' },\n });\n\n return snippetPresets.map((snippetPreset) => {\n const { filename, snippet, language } = snippetPreset;\n const { target, client } = snippet;\n const response = httpSnippet.convert(target as TargetId, client);\n\n const code = restorePlaceholders(uuidToName, response?.toString() || '');\n\n return {\n filename: isMultipleRequest ? filename : apiReferenceData.operation?.title || filename,\n code,\n language,\n };\n });\n};\n\n/**\n * For each uuid that was substituted into the url, replaces the first (and only) instance of the uuid with the original name.\n *\n * @param uuidNameMap - Mapping of UUIDs to their original names.\n * @param snippet - String where UUIDs need to be replaced with their original names.\n */\nconst restorePlaceholders = (uuidNameMap: Record<string, string>, snippet: string): string => {\n return Object.entries(uuidNameMap).reduce((acc, [uuid, name]) => {\n return acc.replace(uuid, name);\n }, snippet);\n};\n"],"names":["FakeHTTPSnippet","request","target","client","method","url","headers","postData","headersObj","h","body","curl","key","value","headersStr","dataStr","line","i","bodyStr","headersArray","k","v","bodyCode","headersCode","generateSnippet","pathInputs","apiReferenceData","snippetPresets","defaultSnippetPresets","isMultipleRequest","uuidToName","portRegex","safePortUrl","nameWithColon","replacementWithColon","pathParamRegex","safeUrl","name","nameNoBrackets","paramValue","uuid","generateUniqueString","httpSnippet","snippetPreset","filename","snippet","language","response","code","restorePlaceholders","_a","uuidNameMap","acc"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateSnippetMap.js","sources":["../../../src/api-playground-2/generators/generateSnippetMap.ts"],"sourcesContent":["import {\n ApiPlaygroundDisplayType,\n requestExampleLanguages as defaultRequestExampleLanguages,\n} from '@mintlify/models';\nimport { ApiPlaygroundInputs, CodeSample } from '@mintlify/validation';\n\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { shikiLangToDisplayLang, toShikiLang } from '@/constants/snippetPresets';\nimport { ExampleCodeSnippet } from '@/types/exampleCodeSnippet';\n\nimport { generateInteractiveCodeSample } from './generateInteractiveCodeSample';\n\n// more or less identical but in all places where we use Endpoint, we use ApiReferenceDataV2 instead\nexport const generateSnippetMap = ({\n codeSamples,\n apiReferenceData,\n baseUrl,\n inputs,\n apiPlaygroundMode,\n requestExampleLanguages,\n requiredOnly,\n selectedSecurityOptionIndex,\n}: {\n codeSamples: CodeSample[];\n apiReferenceData: ApiReferenceDataV2;\n baseUrl?: string;\n inputs: ApiPlaygroundInputs;\n apiPlaygroundMode: ApiPlaygroundDisplayType;\n requestExampleLanguages?: string[];\n requiredOnly?: boolean;\n selectedSecurityOptionIndex: number;\n}): Record<string, Record<string, ExampleCodeSnippet>> => {\n const shouldHaveGeneratedExamples =\n (baseUrl && apiPlaygroundMode !== 'none') || (baseUrl && requestExampleLanguages);\n const langOrder = requestExampleLanguages ?? [];\n codeSamples = codeSamples.map((codeSample) => ({\n ...codeSample,\n lang: toShikiLang(codeSample.lang),\n }));\n if (requestExampleLanguages === undefined) {\n codeSamples.forEach((codeSample) => {\n if (langOrder.includes(codeSample.lang)) return;\n langOrder.push(codeSample.lang);\n });\n if (shouldHaveGeneratedExamples) {\n defaultRequestExampleLanguages.forEach((lang) => {\n if (langOrder.includes(lang)) return;\n langOrder.push(lang);\n });\n }\n }\n\n const map: Record<string, Record<string, ExampleCodeSnippet>> = {};\n\n for (const shikiLang of langOrder) {\n let displayLang = shikiLangToDisplayLang[shikiLang] ?? shikiLang;\n\n const codeSamplesInLang = codeSamples.filter((codeSample) => codeSample.lang === shikiLang);\n\n const labelToSnippetMap = map[displayLang] ?? {};\n if (codeSamplesInLang.length === 0) {\n const generatedCodeSample = generateInteractiveCodeSample({\n baseUrl,\n apiReferenceData,\n inputs,\n apiPlaygroundMode,\n lang: shikiLang,\n requiredOnly,\n selectedSecurityOptionIndex,\n });\n if (generatedCodeSample) {\n addCodeSampleToLabelToSnippetMap(\n generatedCodeSample,\n shikiLang,\n displayLang,\n labelToSnippetMap,\n true\n );\n }\n } else {\n codeSamplesInLang.forEach((codeSample) => {\n displayLang = shikiLangToDisplayLang[shikiLang] ?? codeSample.label ?? shikiLang;\n addCodeSampleToLabelToSnippetMap(\n codeSample,\n shikiLang,\n displayLang,\n labelToSnippetMap,\n false\n );\n });\n }\n if (Object.keys(labelToSnippetMap).length > 0) {\n map[displayLang] = labelToSnippetMap;\n }\n }\n\n return map;\n};\n\nconst addCodeSampleToLabelToSnippetMap = (\n codeSample: CodeSample,\n shikiLang: string,\n displayLang: string,\n labelToSnippetMap: Record<string, ExampleCodeSnippet>,\n isGenerated: boolean\n) => {\n // if we have entered an empty label, retroactively update it to 'Example 1'\n if ('' in labelToSnippetMap) {\n labelToSnippetMap['Example 1'] = labelToSnippetMap[''];\n delete labelToSnippetMap[''];\n }\n\n const numExistingLabels = Object.keys(labelToSnippetMap).length;\n const label =\n codeSample.label ?? (numExistingLabels > 0 ? `Example ${numExistingLabels + 1}` : '');\n\n labelToSnippetMap[label] = {\n filename: isGenerated ? displayLang : label || displayLang, // (used in CodeSnippets)\n language: shikiLang,\n code: codeSample.source,\n };\n};\n"],"names":["generateSnippetMap","codeSamples","apiReferenceData","baseUrl","inputs","apiPlaygroundMode","requestExampleLanguages","requiredOnly","selectedSecurityOptionIndex","shouldHaveGeneratedExamples","langOrder","codeSample","toShikiLang","defaultRequestExampleLanguages","lang","map","shikiLang","displayLang","shikiLangToDisplayLang","codeSamplesInLang","labelToSnippetMap","generatedCodeSample","generateInteractiveCodeSample","addCodeSampleToLabelToSnippetMap","isGenerated","numExistingLabels","label"],"mappings":";;;AAaO,MAAMA,IAAqB,CAAC;AAAA,EACjC,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,mBAAAC;AAAA,EAAA,yBACAC;AAAAA,EACA,cAAAC;AAAA,EACA,6BAAAC;AACF,MAS0D;AACxD,QAAMC,IACHN,KAAWE,MAAsB,UAAYF,KAAWG,GACrDI,IAAYJ,KAA2B,CAAA;AAC7C,EAAAL,IAAcA,EAAY,IAAI,CAACU,OAAgB;AAAA,IAC7C,GAAGA;AAAA,IACH,MAAMC,EAAYD,EAAW,IAAI;AAAA,EAAA,EACjC,GACEL,MAA4B,WAC9BL,EAAY,QAAQ,CAACU,MAAe;AAClC,IAAID,EAAU,SAASC,EAAW,IAAI,KACtCD,EAAU,KAAKC,EAAW,IAAI;AAAA,EAChC,CAAC,GACGF,KACFI,EAA+B,QAAQ,CAACC,MAAS;AAC/C,IAAIJ,EAAU,SAASI,CAAI,KAC3BJ,EAAU,KAAKI,CAAI;AAAA,EACrB,CAAC;AAIL,QAAMC,IAA0D,CAAA;AAEhE,aAAWC,KAAaN,GAAW;AACjC,QAAIO,IAAcC,EAAuBF,CAAS,KAAKA;AAEvD,UAAMG,IAAoBlB,EAAY,OAAO,CAACU,MAAeA,EAAW,SAASK,CAAS,GAEpFI,IAAoBL,EAAIE,CAAW,KAAK,CAAA;AAC9C,QAAIE,EAAkB,WAAW,GAAG;AAClC,YAAME,IAAsBC,EAA8B;AAAA,QACxD,SAAAnB;AAAA,QACA,kBAAAD;AAAA,QACA,QAAAE;AAAA,QACA,mBAAAC;AAAA,QACA,MAAMW;AAAA,QACN,cAAAT;AAAA,QACA,6BAAAC;AAAA,MAAA,CACD;AACD,MAAIa,KACFE;AAAA,QACEF;AAAA,QACAL;AAAA,QACAC;AAAA,QACAG;AAAA,QACA;AAAA,MAAA;AAAA,IAGN;AACE,MAAAD,EAAkB,QAAQ,CAACR,MAAe;AACxC,QAAAM,IAAcC,EAAuBF,CAAS,KAAKL,EAAW,SAASK,GACvEO;AAAA,UACEZ;AAAA,UACAK;AAAA,UACAC;AAAA,UACAG;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ,CAAC;AAEH,IAAI,OAAO,KAAKA,CAAiB,EAAE,SAAS,MAC1CL,EAAIE,CAAW,IAAIG;AAAA,EAEvB;AAEA,SAAOL;AACT,GAEMQ,IAAmC,CACvCZ,GACAK,GACAC,GACAG,GACAI,MACG;AAEH,EAAI,MAAMJ,MACRA,EAAkB,WAAW,IAAIA,EAAkB,EAAE,GACrD,OAAOA,EAAkB,EAAE;AAG7B,QAAMK,IAAoB,OAAO,KAAKL,CAAiB,EAAE,QACnDM,IACJf,EAAW,UAAUc,IAAoB,IAAI,WAAWA,IAAoB,CAAC,KAAK;AAEpF,EAAAL,EAAkBM,CAAK,IAAI;AAAA,IACzB,UAAUF,IAAcP,IAAcS,KAAST;AAAA;AAAA,IAC/C,UAAUD;AAAA,IACV,MAAML,EAAW;AAAA,EAAA;AAErB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFileProperties.js","sources":["../../../src/api-playground-2/generators/getFileProperties.ts"],"sourcesContent":["import { SchemaObject } from '@mintlify/validation';\n\nimport { isSchemaObject } from '@/api-playground-2/schemaGraph/utils';\n\nexport const getFileProperties = (\n schema: SchemaObject,\n path: string = '',\n result: string[] = []\n): string[] => {\n if ('format' in schema && (schema.format === 'binary' || schema.format === 'base64')) {\n if (path && !result.includes(path)) {\n result.push(path);\n }\n }\n\n if ('items' in schema && schema.items) {\n const itemPath = path ? `${path}.items` : 'items';\n if (isSchemaObject(schema.items)) {\n getFileProperties(schema.items, itemPath, result);\n }\n }\n\n if ('properties' in schema && schema.properties) {\n Object.entries(schema.properties).forEach(([propName, propSchema]) => {\n const propPath = path ? `${path}.${propName}` : propName;\n getFileProperties(propSchema, propPath, result);\n });\n }\n\n if ('additionalProperties' in schema && isSchemaObject(schema.additionalProperties)) {\n const additionalPropsPath = path ? `${path}.additionalProperties` : 'additionalProperties';\n getFileProperties(schema.additionalProperties, additionalPropsPath, result);\n }\n\n if ('oneOf' in schema && Array.isArray(schema.oneOf)) {\n schema.oneOf.forEach((subSchema, index) => {\n if (isSchemaObject(subSchema)) {\n const oneOfPath = path ? `${path}.${index}` : `${index}`;\n getFileProperties(subSchema, oneOfPath, result);\n }\n });\n }\n\n return result;\n};\n"],"names":["getFileProperties","schema","path","result","itemPath","isSchemaObject","propName","propSchema","propPath","additionalPropsPath","subSchema","index","oneOfPath"],"mappings":";AAIO,MAAMA,IAAoB,CAC/BC,GACAC,IAAe,IACfC,IAAmB,CAAA,MACN;AAOb,MANI,YAAYF,MAAWA,EAAO,WAAW,YAAYA,EAAO,WAAW,aACrEC,KAAQ,CAACC,EAAO,SAASD,CAAI,KAC/BC,EAAO,KAAKD,CAAI,GAIhB,WAAWD,KAAUA,EAAO,OAAO;AACrC,UAAMG,IAAWF,IAAO,GAAGA,CAAI,WAAW;AAC1C,IAAIG,EAAeJ,EAAO,KAAK,KAC7BD,EAAkBC,EAAO,OAAOG,GAAUD,CAAM;AAAA,EAEpD;AASA,MAPI,gBAAgBF,KAAUA,EAAO,cACnC,OAAO,QAAQA,EAAO,UAAU,EAAE,QAAQ,CAAC,CAACK,GAAUC,CAAU,MAAM;AACpE,UAAMC,IAAWN,IAAO,GAAGA,CAAI,IAAII,CAAQ,KAAKA;AAChD,IAAAN,EAAkBO,GAAYC,GAAUL,CAAM;AAAA,EAChD,CAAC,GAGC,0BAA0BF,KAAUI,EAAeJ,EAAO,oBAAoB,GAAG;AACnF,UAAMQ,IAAsBP,IAAO,GAAGA,CAAI,0BAA0B;AACpE,IAAAF,EAAkBC,EAAO,sBAAsBQ,GAAqBN,CAAM;AAAA,EAC5E;AAEA,SAAI,WAAWF,KAAU,MAAM,QAAQA,EAAO,KAAK,KACjDA,EAAO,MAAM,QAAQ,CAACS,GAAWC,MAAU;AACzC,QAAIN,EAAeK,CAAS,GAAG;AAC7B,YAAME,IAAYV,IAAO,GAAGA,CAAI,IAAIS,CAAK,KAAK,GAAGA,CAAK;AACtD,MAAAX,EAAkBU,GAAWE,GAAWT,CAAM;AAAA,IAChD;AAAA,EACF,CAAC,GAGIA;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCopyPathWithInputs.js","sources":["../../../src/api-playground-2/hooks/useCopyPathWithInputs.ts"],"sourcesContent":["import { usePlaygroundInputsStore } from './usePlaygroundInputsStore';\n\nexport const useCopyPathWithInputs = ({ path, baseUrl }: { path: string; baseUrl: string }) => {\n const { getApiPlaygroundInputs } = usePlaygroundInputsStore();\n const inputs = getApiPlaygroundInputs();\n const pathWithInputs = addPathParams(path, inputs.path);\n const toCopy = joinWithSingleSlash(addServerVariables(baseUrl, inputs.server), pathWithInputs);\n return toCopy;\n};\n\nconst addPathParams = (path: string, pathInputs: Record<string, unknown>) => {\n return Object.entries(pathInputs).reduce((path, [inputName, inputValue]) => {\n if (inputValue == undefined) return path;\n return path.replace(`{${inputName}}`, encodeURIComponent(inputValue.toString()));\n }, path);\n};\n\nconst addServerVariables = (baseUrl: string, variables: Record<string, string>): 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\nconst 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"],"names":["useCopyPathWithInputs","path","baseUrl","getApiPlaygroundInputs","usePlaygroundInputsStore","inputs","pathWithInputs","addPathParams","joinWithSingleSlash","addServerVariables","pathInputs","inputName","inputValue","variables","url","key","input"],"mappings":";AAEO,MAAMA,IAAwB,CAAC,EAAE,MAAAC,GAAM,SAAAC,QAAiD;AAC7F,QAAM,EAAE,wBAAAC,EAAA,IAA2BC,EAAA,GAC7BC,IAASF,EAAA,GACTG,IAAiBC,EAAcN,GAAMI,EAAO,IAAI;AAEtD,SADeG,EAAoBC,EAAmBP,GAASG,EAAO,MAAM,GAAGC,CAAc;AAE/F,GAEMC,IAAgB,CAACN,GAAcS,MAC5B,OAAO,QAAQA,CAAU,EAAE,OAAO,CAACT,GAAM,CAACU,GAAWC,CAAU,MAChEA,KAAc,OAAkBX,IAC7BA,EAAK,QAAQ,IAAIU,CAAS,KAAK,mBAAmBC,EAAW,SAAA,CAAU,CAAC,GAC9EX,CAAI,GAGHQ,IAAqB,CAACP,GAAiBW,MAA8C;AACzF,MAAIC,IAAMZ;AACV,gBAAO,QAAQW,CAAS,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAAM;AAClD,IAAIA,MAAOF,IAAMA,EAAI,QAAQ,IAAIC,CAAG,KAAKC,CAAK;AAAA,EAChD,CAAC,GACMF;AACT,GAEMN,IAAsB,CAACN,GAAiBD,MAErCC,EAAQ,QAAQ,OAAO,EAAE,IAAI,MAAMD,EAAK,QAAQ,OAAO,EAAE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInitializeInputs.js","sources":["../../../src/api-playground-2/hooks/useInitializeInputs.ts"],"sourcesContent":["import { ApiPlaygroundInputs } from '@mintlify/validation';\nimport { useEffect, useRef } from 'react';\n\nimport { apiPlaygroundInputKeys } from '../constants';\nimport {\n escapeDots,\n getBodyDefaultsFromSchema,\n getParametersPerSection,\n getRequestBodyContentType,\n getSchemaDefault,\n isSchemaObject,\n mapParamInToPlaygroundInputKey,\n} from '../schemaGraph/utils';\nimport { ApiReferenceDataV2 } from '../types';\nimport { PlaygroundInputValue, usePlaygroundInputsStore } from './usePlaygroundInputsStore';\n\ninterface UsePlaygroundStateSyncProps {\n apiReferenceData: ApiReferenceDataV2;\n selectedBaseUrlIndex: number;\n selectedExampleIndex: number;\n selectedRequestBodyContentTypeIndex: number;\n}\n\n/**\n * CLANKED\n * Syncs playground state with URL pathname changes.\n *\n * This hook implements the following behavior:\n * - When the pathname changes, it resets the playground inputs\n * - After reset, it initializes with the new default values for the current endpoint\n * - When playground closes without pathname change, state is preserved\n * - Query parameter changes (like ?playground=open) do NOT reset the state\n *\n * Uses refs to track previous pathname to avoid unnecessary resets.\n */\nexport function useInitializeInputs({\n apiReferenceData,\n selectedBaseUrlIndex,\n selectedExampleIndex,\n selectedRequestBodyContentTypeIndex,\n}: UsePlaygroundStateSyncProps) {\n const previousPathnameRef = useRef<string | null>(null);\n const { reset, initialize, getApiPlaygroundInputs, inputs } = usePlaygroundInputsStore();\n const hasInitializedRef = useRef(false);\n\n useEffect(() => {\n const currentPathname = window.location.pathname;\n const store = usePlaygroundInputsStore.getState();\n const selectedSecurityOptionIndex = store.selectedSecurityOptionIndex;\n\n // On first mount, initialize if inputs are empty\n if (!hasInitializedRef.current && Object.keys(inputs).length === 0) {\n const initialValues = getInitialPlaygroundValues({\n apiReferenceData,\n inputs: getApiPlaygroundInputs(),\n selectedBaseUrlIndex,\n selectedSecurityOptionIndex,\n selectedExampleIndex,\n selectedContentTypeIndex: selectedRequestBodyContentTypeIndex,\n });\n initialize(initialValues);\n hasInitializedRef.current = true;\n previousPathnameRef.current = currentPathname;\n return;\n }\n\n // If pathname hasn't been set yet, set it\n if (previousPathnameRef.current === null) {\n previousPathnameRef.current = currentPathname;\n return;\n }\n\n // If pathname changed, reset and reinitialize\n if (previousPathnameRef.current !== currentPathname) {\n reset();\n const initialValues = getInitialPlaygroundValues({\n apiReferenceData,\n inputs: getApiPlaygroundInputs(),\n selectedBaseUrlIndex,\n selectedSecurityOptionIndex,\n selectedExampleIndex,\n selectedContentTypeIndex: selectedRequestBodyContentTypeIndex,\n });\n initialize(initialValues);\n previousPathnameRef.current = currentPathname;\n }\n }, [\n apiReferenceData,\n selectedBaseUrlIndex,\n selectedExampleIndex,\n selectedRequestBodyContentTypeIndex,\n reset,\n initialize,\n getApiPlaygroundInputs,\n inputs,\n ]);\n}\n\nexport const getInitialPlaygroundValues = ({\n apiReferenceData,\n // eslint-disable-next-line unused-imports/no-unused-vars\n inputs,\n selectedBaseUrlIndex,\n selectedSecurityOptionIndex,\n selectedExampleIndex = 0,\n selectedContentTypeIndex = 0,\n}: {\n apiReferenceData: ApiReferenceDataV2;\n inputs: ApiPlaygroundInputs;\n selectedBaseUrlIndex: number;\n selectedSecurityOptionIndex: number;\n selectedExampleIndex?: number;\n selectedContentTypeIndex?: number;\n}): Record<string, PlaygroundInputValue> => {\n let initialValues: Record<string, PlaygroundInputValue> = {};\n\n const prefillExamplesEnabled = apiReferenceData.operation?.prefillPlaygroundWithExample;\n const prefillExamples = apiReferenceData.operation?.prefillPlaygroundExamples ?? [];\n const prefillExample = prefillExamples[selectedExampleIndex];\n\n const serverObjects = Object.values(apiReferenceData.dependencies?.servers ?? {});\n const serverVariables = serverObjects[selectedBaseUrlIndex]?.variables;\n const securityOptions = apiReferenceData.dependencies?.processedSecurityOptions;\n const securityOption = securityOptions?.[selectedSecurityOptionIndex];\n const parameters = apiReferenceData.dependencies?.parameters;\n const requestBody = apiReferenceData.dependencies?.requestBody;\n\n // prefill example\n if (prefillExamplesEnabled && prefillExample) {\n // TODO - Api Playground Refactor: prefillExample is already formatted as an ApiPlaygroundInputs object, so just recursively flatten\n } else {\n // prefill default values\n if (serverVariables) {\n Object.entries(serverVariables).forEach(([name, variable]) => {\n const inputKeyPrefix = `${apiPlaygroundInputKeys.server}.${escapeDots(name)}`;\n const defaultValue = getSchemaDefault(variable);\n if (defaultValue) {\n initialValues[inputKeyPrefix] = defaultValue;\n }\n });\n }\n\n if (securityOption) {\n const { scheme, schema } = securityOption;\n const parameterSection = 'in' in scheme ? scheme.in : 'header';\n const name = 'name' in scheme ? scheme.name : schema.title ?? '';\n const inputKeyPrefix = `${mapParamInToPlaygroundInputKey(parameterSection)}.${escapeDots(name)}`;\n const defaultValue = getSchemaDefault(schema);\n if (defaultValue) {\n initialValues[inputKeyPrefix] = defaultValue;\n }\n }\n\n if (parameters) {\n const { header, path, query, cookie } = getParametersPerSection(apiReferenceData);\n [...header, ...path, ...query, ...cookie].forEach((parameter) => {\n if (parameter.schema) {\n const inputKeyPrefix = `${mapParamInToPlaygroundInputKey(parameter.in)}.${escapeDots(parameter.name)}`;\n const defaultValue = getSchemaDefault(parameter.schema);\n if (defaultValue) {\n initialValues[inputKeyPrefix] = defaultValue;\n }\n }\n });\n }\n\n if (requestBody) {\n const contentType = getRequestBodyContentType(apiReferenceData, selectedContentTypeIndex);\n if (contentType) {\n const bodySchema = requestBody.content[contentType]?.schema;\n const bodyDefault = getSchemaDefault(bodySchema);\n if (bodyDefault) {\n initialValues[`${apiPlaygroundInputKeys.body}`] = bodyDefault;\n } else if (isSchemaObject(bodySchema)) {\n const bodyDefaults = getBodyDefaultsFromSchema(bodySchema);\n initialValues = { ...initialValues, ...bodyDefaults };\n }\n }\n }\n }\n // TODO - Api Playground Refactor: check merge with input behavior\n // TODO - Api Playground Refactor: user info overrides\n return initialValues;\n};\n"],"names":["useInitializeInputs","apiReferenceData","selectedBaseUrlIndex","selectedExampleIndex","selectedRequestBodyContentTypeIndex","previousPathnameRef","useRef","reset","initialize","getApiPlaygroundInputs","inputs","usePlaygroundInputsStore","hasInitializedRef","useEffect","currentPathname","selectedSecurityOptionIndex","initialValues","getInitialPlaygroundValues","selectedContentTypeIndex","prefillExamplesEnabled","_a","prefillExample","_b","serverVariables","_d","_c","securityOptions","_e","securityOption","parameters","_f","requestBody","_g","name","variable","inputKeyPrefix","apiPlaygroundInputKeys","escapeDots","defaultValue","getSchemaDefault","scheme","schema","parameterSection","mapParamInToPlaygroundInputKey","header","path","query","cookie","getParametersPerSection","parameter","contentType","getRequestBodyContentType","bodySchema","_h","bodyDefault","isSchemaObject","bodyDefaults","getBodyDefaultsFromSchema"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePlaygroundInputsStore.js","sources":["../../../src/api-playground-2/hooks/usePlaygroundInputsStore.ts"],"sourcesContent":["import { ApiPlaygroundInputs } from '@mintlify/validation';\nimport { create } from 'zustand';\n\nimport { unflattenInputs } from '../schemaGraph/utils';\n\nexport type PlaygroundInputValue = unknown;\n\ninterface PlaygroundInputsState {\n inputs: Record<string, PlaygroundInputValue>;\n initialize: (initialValues: Record<string, PlaygroundInputValue>) => void;\n setInput: (name: string, value: PlaygroundInputValue) => void;\n setInputs: (inputs: Record<string, PlaygroundInputValue>) => void;\n replaceInputs: (inputs: Record<string, PlaygroundInputValue>) => void;\n getInput: (name: string) => PlaygroundInputValue;\n getApiPlaygroundInputs: () => ApiPlaygroundInputs;\n clear: () => void;\n reset: () => void;\n selectedSecurityOptionIndex: number;\n setSelectedSecurityOptionIndex: (index: number) => void;\n}\n\nexport const usePlaygroundInputsStore = create<PlaygroundInputsState>((set, get) => ({\n inputs: {},\n initialize: (initialValues) =>\n set({\n inputs: { ...initialValues },\n }),\n setInput: (name, value) =>\n set((state) => ({\n inputs: { ...state.inputs, [name]: value },\n })),\n setInputs: (inputs) =>\n set((state) => ({\n inputs: { ...state.inputs, ...inputs },\n })),\n replaceInputs: (inputs) =>\n set({ inputs }),\n getInput: (name) => get().inputs[name],\n getApiPlaygroundInputs: () => unflattenInputs(get().inputs),\n clear: () => set({ inputs: {} }),\n reset: () => set({ inputs: {} }),\n selectedSecurityOptionIndex: 0,\n setSelectedSecurityOptionIndex: (index) => set({ selectedSecurityOptionIndex: index }),\n}));\n\nexport const useSelectedSecurityOption = () => {\n const selectedSecurityOptionIndex = usePlaygroundInputsStore(\n (state) => state.selectedSecurityOptionIndex\n );\n const setSelectedSecurityOptionIndex = usePlaygroundInputsStore(\n (state) => state.setSelectedSecurityOptionIndex\n );\n return { selectedSecurityOptionIndex, setSelectedSecurityOptionIndex };\n};\n"],"names":["usePlaygroundInputsStore","create","set","get","initialValues","name","value","state","inputs","unflattenInputs","index","useSelectedSecurityOption","selectedSecurityOptionIndex","setSelectedSecurityOptionIndex"],"mappings":";;AAqBO,MAAMA,IAA2BC,EAA8B,CAACC,GAAKC,OAAS;AAAA,EACnF,QAAQ,CAAA;AAAA,EACR,YAAY,CAACC,MACXF,EAAI;AAAA,IACF,QAAQ,EAAE,GAAGE,EAAA;AAAA,EAAc,CAC5B;AAAA,EACH,UAAU,CAACC,GAAMC,MACfJ,EAAI,CAACK,OAAW;AAAA,IACd,QAAQ,EAAE,GAAGA,EAAM,QAAQ,CAACF,CAAI,GAAGC,EAAA;AAAA,EAAM,EACzC;AAAA,EACJ,WAAW,CAACE,MACVN,EAAI,CAACK,OAAW;AAAA,IACd,QAAQ,EAAE,GAAGA,EAAM,QAAQ,GAAGC,EAAA;AAAA,EAAO,EACrC;AAAA,EACJ,eAAe,CAACA,MACdN,EAAI,EAAE,QAAAM,GAAQ;AAAA,EAChB,UAAU,CAACH,MAASF,EAAA,EAAM,OAAOE,CAAI;AAAA,EACrC,wBAAwB,MAAMI,EAAgBN,EAAA,EAAM,MAAM;AAAA,EAC1D,OAAO,MAAMD,EAAI,EAAE,QAAQ,CAAA,GAAI;AAAA,EAC/B,OAAO,MAAMA,EAAI,EAAE,QAAQ,CAAA,GAAI;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,gCAAgC,CAACQ,MAAUR,EAAI,EAAE,6BAA6BQ,GAAO;AACvF,EAAE,GAEWC,IAA4B,MAAM;AAC7C,QAAMC,IAA8BZ;AAAA,IAClC,CAACO,MAAUA,EAAM;AAAA,EAAA,GAEbM,IAAiCb;AAAA,IACrC,CAACO,MAAUA,EAAM;AAAA,EAAA;AAEnB,SAAO,EAAE,6BAAAK,GAA6B,gCAAAC,EAAA;AACxC;"}