@mintlify/msft-sdk 1.1.22 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-playground/ApiPlayground/Request/BodySection.js +65 -0
- package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/ParameterSection.js +33 -0
- package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js +201 -0
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/SecuritySection.js +147 -0
- package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/ServerSection.js +31 -0
- package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/index.js +44 -0
- package/dist/api-playground/ApiPlayground/Request/index.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js +94 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js +91 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js +63 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js +34 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js +62 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js +110 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js +88 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js +62 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js +55 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js +68 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js +45 -0
- package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js +7 -0
- package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js +45 -0
- package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js +54 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js +15 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseError.js +14 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js +12 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js +20 -0
- package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseTable.js +21 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js +93 -0
- package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +1 -0
- package/dist/api-playground/ApiPlayground/Response/index.js +80 -0
- package/dist/api-playground/ApiPlayground/Response/index.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js +24 -0
- package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js +45 -0
- package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/ArrayCount.js +18 -0
- package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/BasePathSelector.js +40 -0
- package/dist/api-playground/ApiPlayground/components/BasePathSelector.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js +44 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js +45 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js +39 -0
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/InputContainer.js +129 -0
- package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js +60 -0
- package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/ModalHeader.js +16 -0
- package/dist/api-playground/ApiPlayground/components/ModalHeader.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js +29 -0
- package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js +20 -0
- package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/PathHeader.js +163 -0
- package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js +59 -0
- package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/PrettyPath.js +50 -0
- package/dist/api-playground/ApiPlayground/components/PrettyPath.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/SendPill.js +40 -0
- package/dist/api-playground/ApiPlayground/components/SendPill.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/TrashButton.js +27 -0
- package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +1 -0
- package/dist/api-playground/ApiPlayground/components/TypeDropdown.js +53 -0
- package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +1 -0
- package/dist/api-playground/ApiPlayground/index.js +68 -0
- package/dist/api-playground/ApiPlayground/index.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js +51 -0
- package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js +20 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js +19 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js +29 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js +6 -0
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +1 -0
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +13 -0
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -0
- package/dist/api-playground/EndpointFields/components/Description.js +13 -0
- package/dist/api-playground/EndpointFields/components/Description.js.map +1 -0
- package/dist/api-playground/EndpointFields/components/OneOfDropdown.js +20 -0
- package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +1 -0
- package/dist/api-playground/EndpointFields/components/OptionDropdown.js +36 -0
- package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +1 -0
- package/dist/api-playground/EndpointFields/components/SectionHeading.js +44 -0
- package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +1 -0
- package/dist/api-playground/EndpointFields/index.js +7 -0
- package/dist/api-playground/EndpointFields/index.js.map +1 -0
- package/dist/api-playground-2/Api.js +13 -0
- package/dist/api-playground-2/Api.js.map +1 -0
- package/dist/api-playground-2/ApiExamples.js +27 -18
- package/dist/api-playground-2/ApiExamples.js.map +1 -1
- package/dist/api-playground-2/ApiFields.js +253 -0
- package/dist/api-playground-2/ApiFields.js.map +1 -0
- package/dist/api-playground-2/EndpointHeader.js +52 -0
- package/dist/api-playground-2/EndpointHeader.js.map +1 -0
- package/dist/api-playground-2/OperationPage.js +101 -0
- package/dist/api-playground-2/OperationPage.js.map +1 -0
- package/dist/api-playground-2/Playground.js +136 -0
- package/dist/api-playground-2/Playground.js.map +1 -0
- package/dist/api-playground-2/SchemaPage.js +14 -0
- package/dist/api-playground-2/SchemaPage.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js +88 -0
- package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/Enum.js +16 -0
- package/dist/api-playground-2/components/EndpointFields/fields/Enum.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js +21 -0
- package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js +57 -0
- package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js +90 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js +122 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js +75 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js +253 -0
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js.map +1 -0
- package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js +28 -0
- package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +1 -0
- package/dist/api-playground-2/components/Example/GeneratedRequestExample.js +113 -118
- package/dist/api-playground-2/components/Example/GeneratedRequestExample.js.map +1 -1
- package/dist/api-playground-2/components/Example/RequestExample.js +55 -50
- package/dist/api-playground-2/components/Example/RequestExample.js.map +1 -1
- package/dist/api-playground-2/components/Request/BodySection.js +41 -0
- package/dist/api-playground-2/components/Request/BodySection.js.map +1 -0
- package/dist/api-playground-2/components/Request/InputSectionContainer.js +66 -0
- package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +1 -0
- package/dist/api-playground-2/components/Request/ParameterSection.js +36 -0
- package/dist/api-playground-2/components/Request/ParameterSection.js.map +1 -0
- package/dist/api-playground-2/components/Request/SecuritySection.js +55 -0
- package/dist/api-playground-2/components/Request/SecuritySection.js.map +1 -0
- package/dist/api-playground-2/components/Request/ServerSection.js +33 -0
- package/dist/api-playground-2/components/Request/ServerSection.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/ArrayInput.js +55 -0
- package/dist/api-playground-2/components/Request/inputs/ArrayInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js +48 -0
- package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/FileInput.js +43 -0
- package/dist/api-playground-2/components/Request/inputs/FileInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/InputContainer.js +127 -0
- package/dist/api-playground-2/components/Request/inputs/InputContainer.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/NullInput.js +15 -0
- package/dist/api-playground-2/components/Request/inputs/NullInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/NumberInput.js +46 -0
- package/dist/api-playground-2/components/Request/inputs/NumberInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/ObjectInput.js +104 -0
- package/dist/api-playground-2/components/Request/inputs/ObjectInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/OneOfInput.js +77 -0
- package/dist/api-playground-2/components/Request/inputs/OneOfInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/SelectInput.js +54 -0
- package/dist/api-playground-2/components/Request/inputs/SelectInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/StringInput.js +44 -0
- package/dist/api-playground-2/components/Request/inputs/StringInput.js.map +1 -0
- package/dist/api-playground-2/components/Request/inputs/TextInput.js +29 -0
- package/dist/api-playground-2/components/Request/inputs/TextInput.js.map +1 -0
- package/dist/api-playground-2/components/TypeDropdown.js +48 -0
- package/dist/api-playground-2/components/TypeDropdown.js.map +1 -0
- package/dist/api-playground-2/constants/index.js +6 -4
- package/dist/api-playground-2/constants/index.js.map +1 -1
- package/dist/api-playground-2/contexts/ApiPlaygroundContext.js +11 -0
- package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +1 -0
- package/dist/api-playground-2/generators/createBodyData.js +1 -1
- package/dist/api-playground-2/generators/createBodyData.js.map +1 -1
- package/dist/api-playground-2/generators/createHeaders.js +18 -18
- package/dist/api-playground-2/generators/createHeaders.js.map +1 -1
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +21 -19
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +1 -1
- package/dist/api-playground-2/generators/generateRequest.js +26 -25
- package/dist/api-playground-2/generators/generateRequest.js.map +1 -1
- package/dist/api-playground-2/generators/generateSnippet.js +187 -36
- package/dist/api-playground-2/generators/generateSnippet.js.map +1 -1
- package/dist/api-playground-2/generators/generateSnippetMap.js +13 -11
- package/dist/api-playground-2/generators/generateSnippetMap.js.map +1 -1
- package/dist/api-playground-2/hooks/useCopyPathWithInputs.js +14 -0
- package/dist/api-playground-2/hooks/useCopyPathWithInputs.js.map +1 -0
- package/dist/api-playground-2/hooks/useInitializeInputs.js +101 -0
- package/dist/api-playground-2/hooks/useInitializeInputs.js.map +1 -0
- package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js +24 -13
- package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js.map +1 -1
- package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js +156 -0
- package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js +57 -0
- package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/processExamples.js +41 -8
- package/dist/api-playground-2/schemaGraph/processExamples.js.map +1 -1
- package/dist/api-playground-2/schemaGraph/processSecurityOptions.js +107 -0
- package/dist/api-playground-2/schemaGraph/processSecurityOptions.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/utils.js +195 -43
- package/dist/api-playground-2/schemaGraph/utils.js.map +1 -1
- package/dist/api-playground-2/types/index.js +118 -0
- package/dist/api-playground-2/types/index.js.map +1 -0
- package/dist/common/guards.js +37 -0
- package/dist/common/guards.js.map +1 -0
- package/dist/common/potentiallyParseOpenApiString.js +25 -0
- package/dist/common/potentiallyParseOpenApiString.js.map +1 -0
- package/dist/common/replaceSlashIndex.js +7 -0
- package/dist/common/replaceSlashIndex.js.map +1 -0
- package/dist/common/slugToTitle.js +11 -0
- package/dist/common/slugToTitle.js.map +1 -0
- package/dist/components/Api/Expandable.js +119 -0
- package/dist/components/Api/Expandable.js.map +1 -0
- package/dist/components/Api/Markdown.js +66 -0
- package/dist/components/Api/Markdown.js.map +1 -0
- package/dist/components/Api/Param.js +191 -0
- package/dist/components/Api/Param.js.map +1 -0
- package/dist/components/content-components/code-block.js +68 -61
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/code-group.js +36 -25
- package/dist/components/content-components/code-group.js.map +1 -1
- package/dist/components/content-components/getNodeText.js +5 -0
- package/dist/components/content-components/getNodeText.js.map +1 -0
- package/dist/components/toc/index.js +4 -4
- package/dist/components/toc/index.js.map +1 -1
- package/dist/constants/index.js +5 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/zIndex.js +7 -0
- package/dist/constants/zIndex.js.map +1 -0
- package/dist/contexts/ApiPlaygroundInputsContext.js +18 -0
- package/dist/contexts/ApiPlaygroundInputsContext.js.map +1 -0
- package/dist/contexts/ConfigContext.js +2 -3
- package/dist/contexts/ConfigContext.js.map +1 -1
- package/dist/contexts/EndpointLocationContext.js +18 -0
- package/dist/contexts/EndpointLocationContext.js.map +1 -0
- package/dist/contexts/MDXContentContext.js +19 -0
- package/dist/contexts/MDXContentContext.js.map +1 -0
- package/dist/env.js +6 -1
- package/dist/env.js.map +1 -1
- package/dist/hooks/useApiPlaygroundInputs.js +7 -0
- package/dist/hooks/useApiPlaygroundInputs.js.map +1 -0
- package/dist/hooks/useApiPlaygroundPrefillExamples.js +40 -0
- package/dist/hooks/useApiPlaygroundPrefillExamples.js.map +1 -0
- package/dist/hooks/useBaseUrlOptions.js +19 -0
- package/dist/hooks/useBaseUrlOptions.js.map +1 -0
- package/dist/hooks/useCheckHash.js +18 -0
- package/dist/hooks/useCheckHash.js.map +1 -0
- package/dist/hooks/useComponentSchemas.js +10 -0
- package/dist/hooks/useComponentSchemas.js.map +1 -0
- package/dist/hooks/useCurrentPath.js +17 -0
- package/dist/hooks/useCurrentPath.js.map +1 -0
- package/dist/hooks/useEndpoint.js +3 -3
- package/dist/hooks/useExpandableMemory.js +46 -0
- package/dist/hooks/useExpandableMemory.js.map +1 -0
- package/dist/hooks/useGenerateNextAdditionalProperties.js +12 -0
- package/dist/hooks/useGenerateNextAdditionalProperties.js.map +1 -0
- package/dist/hooks/useGenerateNextItems.js +12 -0
- package/dist/hooks/useGenerateNextItems.js.map +1 -0
- package/dist/hooks/useGenerateNextProperties.js +12 -0
- package/dist/hooks/useGenerateNextProperties.js.map +1 -0
- package/dist/hooks/useKeyboardShortcut.js +26 -0
- package/dist/hooks/useKeyboardShortcut.js.map +1 -0
- package/dist/hooks/useMDXContent.js +7 -0
- package/dist/hooks/useMDXContent.js.map +1 -0
- package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js +10 -0
- package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +1 -0
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js +16 -0
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +1 -0
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js +16 -0
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +1 -0
- package/dist/hooks/usePlaygroundSchemaOptions.js +43 -0
- package/dist/hooks/usePlaygroundSchemaOptions.js.map +1 -0
- package/dist/hooks/usePrefilledInputs/index.js +66 -0
- package/dist/hooks/usePrefilledInputs/index.js.map +1 -0
- package/dist/hooks/usePrefilledInputs/storedServerVariables.js +30 -0
- package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +1 -0
- package/dist/hooks/useSecurityOption.js +11 -0
- package/dist/hooks/useSecurityOption.js.map +1 -0
- package/dist/hooks/useSendPlaygroundRequest.js +146 -15
- package/dist/hooks/useSendPlaygroundRequest.js.map +1 -1
- package/dist/hooks/useSetDefaultValue.js +64 -0
- package/dist/hooks/useSetDefaultValue.js.map +1 -0
- package/dist/index.d.ts +281 -0
- package/dist/index.js +143 -108
- package/dist/index.js.map +1 -1
- package/dist/openapi/filterEnums.js +21 -0
- package/dist/openapi/filterEnums.js.map +1 -0
- package/dist/openapi/generateNextAdditionalProperties.js +8 -0
- package/dist/openapi/generateNextAdditionalProperties.js.map +1 -0
- package/dist/openapi/generateNextItems.js +8 -0
- package/dist/openapi/generateNextItems.js.map +1 -0
- package/dist/openapi/generateNextProperties.js +24 -0
- package/dist/openapi/generateNextProperties.js.map +1 -0
- package/dist/openapi/generateOptionLabels.js +21 -0
- package/dist/openapi/generateOptionLabels.js.map +1 -0
- package/dist/openapi/generateSimpleLabels.js +5 -0
- package/dist/openapi/generateSimpleLabels.js.map +1 -0
- package/dist/openapi/generateTypeStringFromSchema.js +34 -0
- package/dist/openapi/generateTypeStringFromSchema.js.map +1 -0
- package/dist/openapi/getAuthFilteredSchemaArray.js +19 -0
- package/dist/openapi/getAuthFilteredSchemaArray.js.map +1 -0
- package/dist/paths/isEqualIgnoringLeadingSlash.js +22 -0
- package/dist/paths/isEqualIgnoringLeadingSlash.js.map +1 -0
- package/dist/paths/optionallyRemoveLeadingSlash.js +7 -0
- package/dist/paths/optionallyRemoveLeadingSlash.js.map +1 -0
- package/dist/paths/optionallyRemoveTrailingSlash.js +7 -0
- package/dist/paths/optionallyRemoveTrailingSlash.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/api-playground/defaults.js +16 -0
- package/dist/utils/api-playground/defaults.js.map +1 -0
- package/dist/utils/api-playground/paramFieldDefaults.js +11 -0
- package/dist/utils/api-playground/paramFieldDefaults.js.map +1 -0
- package/dist/utils/api-reference/getFilteredSecurityOptions.js +5 -0
- package/dist/utils/api-reference/getFilteredSecurityOptions.js.map +1 -0
- package/dist/utils/api-reference/getNextPropertiesByType.js +6 -0
- package/dist/utils/api-reference/getNextPropertiesByType.js.map +1 -0
- package/dist/utils/containsMarkdownTable.js +5 -0
- package/dist/utils/containsMarkdownTable.js.map +1 -0
- package/dist/utils/copyToClipboard.js +12 -0
- package/dist/utils/copyToClipboard.js.map +1 -0
- package/dist/utils/decodeSlug.js +8 -0
- package/dist/utils/decodeSlug.js.map +1 -0
- package/dist/utils/flattenObject.js +11 -0
- package/dist/utils/flattenObject.js.map +1 -0
- package/dist/utils/formatJSON.js +39 -0
- package/dist/utils/formatJSON.js.map +1 -0
- package/dist/utils/optionallyAddLeadingSlash.js +7 -0
- package/dist/utils/optionallyAddLeadingSlash.js.map +1 -0
- package/dist/utils/scrollElementIntoView.js +21 -0
- package/dist/utils/scrollElementIntoView.js.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTopbar.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseTopbar.tsx"],"sourcesContent":["'use client';\n\nimport { ApiPlaygroundResultType } from '@mintlify/models';\n\nimport { useSelectedLocale } from '@/utils/locales';\nimport { CheckmarkCircleRegular, ErrorCircleRegular, DismissCircleRegular, WarningRegular } from '@fluentui/react-icons';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\nimport { ChevronDownFilled } from '@fluentui/react-icons';\nimport { ResponseBodyData, ResponseSection, responseSections } from '.';\nimport { CopyFileToClipboardButton } from './CopyFileToClipboardButton';\nimport { DownloadButton } from './DownloadFileButton';\n\ntype ResponseHeaderParams = {\n result: ApiPlaygroundResultType;\n selectedSection: ResponseSection;\n setSelectedSection: (value: ResponseSection) => void;\n data: ResponseBodyData | undefined;\n};\n\nexport const ResponseTopbar = ({\n result,\n selectedSection,\n setSelectedSection,\n data,\n}: ResponseHeaderParams) => {\n return (\n <div className=\"mint:flex mint:w-full mint:px-2 mint:py-1 mint:space-x-3 mint:items-center mint:rounded-t-2xl\">\n <div className=\"mint:flex mint:flex-1 mint:space-x-4 mint:items-center\">\n <StatusInfo\n status={!result.error ? result.response.status : undefined}\n statusText={!result.error ? result.response.statusText : undefined}\n />\n </div>\n {data ? (\n <>\n <ResponseSectionDropdown\n selectedSection={selectedSection}\n setSelectedSection={setSelectedSection}\n />\n <DownloadButton data={data} />\n <CopyFileToClipboardButton data={data} />\n </>\n ) : null}\n </div>\n );\n};\n\nconst StatusInfo = ({ status, statusText }: { status?: number; statusText?: string }) => {\n\n return (\n <div className=\"mint:flex mint:space-x-2 mint:items-center\">\n <StatusIcon status={status} />\n <div\n className={cn(\n 'mint:text-xs',\n 'mint:text-gray-800 mint:dark:text-gray-200 mint:font-medium'\n )}\n >\n {status ? `${status} - ${statusText}` : '--'}\n </div>\n </div>\n );\n};\n\nconst StatusIcon = ({ status }: { status: number | undefined }) => {\n const commonClassName = 'w-3.5 h-3.5';\n\n if (status === undefined) {\n // response not completed\n return (\n <WarningRegular\n className={cn(commonClassName, 'mint:bg-red-600 mint:dark:bg-red-500')}\n />\n );\n } else if (status >= 400) {\n // error\n return <ErrorCircleRegular className={cn(commonClassName, 'mint:bg-red-600 mint:dark:bg-red-500')} />;\n } else if (status >= 200 && status < 300) {\n // success\n return (\n <CheckmarkCircleRegular className={cn(commonClassName, 'mint:bg-green-600 mint:dark:bg-green-500')} />\n );\n } else {\n // weird status code\n return (\n <ErrorCircleRegular\n className={cn(commonClassName, 'mint:bg-orange-600 mint:dark:bg-orange-500')}\n />\n );\n }\n};\n\ntype ResponseSectionDropdownParams = {\n selectedSection: ResponseSection;\n setSelectedSection: (value: ResponseSection) => void;\n};\n\nconst ResponseSectionDropdown = ({\n selectedSection,\n setSelectedSection,\n}: ResponseSectionDropdownParams) => {\n const locale = useSelectedLocale();\n\n return (\n <div className=\"mint:relative\">\n <select\n aria-label={locale['aria.selectResponseSection']}\n className={cn(\n 'mint:pl-2.5 mint:pr-6 mint:py-1 mint:rounded-lg mint:text-xs mint:font-medium mint:border mint:cursor-pointer mint:focus:outline-0',\n 'mint:text-gray-600 mint:dark:text-gray-400 mint:border-standard mint:hover:bg-gray-50 mint:dark:hover:bg-white/[0.03]'\n )}\n value={selectedSection}\n \n onChange={(event) => setSelectedSection(event.target.value as ResponseSection)}\n >\n {responseSections.map((option) => (\n <option value={option} key={option}>\n {(option[0]?.toUpperCase() ?? '') + option.slice(1)}\n </option>\n ))}\n </select>\n <div className=\"mint:pointer-events-none mint:absolute mint:inset-0 mint:flex mint:items-center mint:justify-end mint:pr-2.5\">\n <ChevronDownFilled\n className={cn(\n 'mint:h-2.5 mint:w-2.5 mint:text-gray-500 mint:dark:text-gray-400 mint:shrink-0'\n )}\n />\n </div>\n </div>\n );\n};\n"],"names":["ResponseTopbar","result","selectedSection","setSelectedSection","data","jsxs","jsx","StatusInfo","Fragment","ResponseSectionDropdown","DownloadButton","CopyFileToClipboardButton","status","statusText","StatusIcon","cn","commonClassName","WarningRegular","ErrorCircleRegular","CheckmarkCircleRegular","locale","useSelectedLocale","event","option","_a","ChevronDownFilled"],"mappings":";;;;;;;;AAmBO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,MAAAC;AACF,MAEI,gBAAAC,EAAC,OAAA,EAAI,WAAU,iGACb,UAAA;AAAA,EAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0DACb,UAAA,gBAAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAASN,EAAO,QAAiC,SAAzBA,EAAO,SAAS;AAAA,MACxC,YAAaA,EAAO,QAAqC,SAA7BA,EAAO,SAAS;AAAA,IAAa;AAAA,EAAA,GAE7D;AAAA,EACCG,IACC,gBAAAC,EAAAG,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,iBAAAP;AAAA,QACA,oBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,gBAAAG,EAACI,KAAe,MAAAN,GAAY;AAAA,IAC5B,gBAAAE,EAACK,KAA0B,MAAAP,EAAA,CAAY;AAAA,EAAA,EAAA,CACzC,IACE;AAAA,GACN,GAIEG,IAAa,CAAC,EAAE,QAAAK,GAAQ,YAAAC,QAG1B,gBAAAR,EAAC,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,EAAA,gBAAAC,EAACQ,KAAW,QAAAF,GAAgB;AAAA,EAC5B,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWS;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAGD,UAAAH,IAAS,GAAGA,CAAM,MAAMC,CAAU,KAAK;AAAA,IAAA;AAAA,EAAA;AAC1C,GACF,GAIEC,IAAa,CAAC,EAAE,QAAAF,QAA6C;AACjE,QAAMI,IAAkB;AAExB,SAAIJ,MAAW,SAGX,gBAAAN;AAAA,IAACW;AAAA,IAAA;AAAA,MACC,WAAWF,EAAGC,GAAiB,sCAAsC;AAAA,IAAA;AAAA,EAAA,IAGhEJ,KAAU,wBAEXM,GAAA,EAAmB,WAAWH,EAAGC,GAAiB,sCAAsC,GAAG,IAC1FJ,KAAU,OAAOA,IAAS,wBAGhCO,GAAA,EAAuB,WAAWJ,EAAGC,GAAiB,0CAA0C,GAAG,IAKpG,gBAAAV;AAAA,IAACY;AAAA,IAAA;AAAA,MACC,WAAWH,EAAGC,GAAiB,4CAA4C;AAAA,IAAA;AAAA,EAAA;AAInF,GAOMP,IAA0B,CAAC;AAAA,EAC/B,iBAAAP;AAAA,EACA,oBAAAC;AACF,MAAqC;AACnC,QAAMiB,IAASC,EAAA;AAEf,SACE,gBAAAhB,EAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cAAYc,EAAO,4BAA4B;AAAA,QAC/C,WAAWL;AAAA,UACT;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,OAAOb;AAAA,QAEP,UAAU,CAACoB,MAAUnB,EAAmBmB,EAAM,OAAO,KAAwB;AAAA,QAE5E,YAAiB,IAAI,CAACC;;AACrB,iCAAAjB,EAAC,UAAA,EAAO,OAAOiB,GACX,aAAAC,IAAAD,EAAO,CAAC,MAAR,gBAAAC,EAAW,kBAAiB,MAAMD,EAAO,MAAM,CAAC,EAAA,GADxBA,CAE5B;AAAA,SACD;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAjB,EAAC,OAAA,EAAI,WAAU,gHACb,UAAA,gBAAAA;AAAA,MAACmB;AAAA,MAAA;AAAA,QACC,WAAWV;AAAA,UACT;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,EACF,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsx as n, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { extension as p } from "mime-types";
|
|
3
|
+
import { useState as c, useMemo as f } from "react";
|
|
4
|
+
import y from "../../../components/Api/ErrorBoundary.js";
|
|
5
|
+
import "@mintlify/validation";
|
|
6
|
+
import { cn as d } from "../../../utils/cn.js";
|
|
7
|
+
import { ResponseBody as b } from "./ResponseBody/index.js";
|
|
8
|
+
import { ResponseError as g } from "./ResponseError.js";
|
|
9
|
+
import { ResponseHeaders as u } from "./ResponseHeaders.js";
|
|
10
|
+
import { ResponseTopbar as h } from "./ResponseTopbar.js";
|
|
11
|
+
const D = ["body", "headers"], E = ({
|
|
12
|
+
result: e,
|
|
13
|
+
className: t
|
|
14
|
+
}) => {
|
|
15
|
+
const [o, r] = c("body"), s = x(e), i = () => /* @__PURE__ */ n(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
className: d(
|
|
19
|
+
"mint:rounded-xt mint:dark:bg-zinc-950 mint:bg-white"
|
|
20
|
+
),
|
|
21
|
+
children: e.error ? /* @__PURE__ */ n(g, { message: e.errorMessage }) : o === "body" ? /* @__PURE__ */ n(b, { data: s }) : /* @__PURE__ */ n(u, { response: e.response })
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
return /* @__PURE__ */ n(y, { children: /* @__PURE__ */ m(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: d(
|
|
28
|
+
"mint:w-full mint:rounded-2xl mint:border mint:p-0.5",
|
|
29
|
+
"mint:bg-gray-50 mint:dark:bg-white/5 mint:border-gray-950/10 mint:dark:border-white/10",
|
|
30
|
+
t
|
|
31
|
+
),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ n(
|
|
34
|
+
h,
|
|
35
|
+
{
|
|
36
|
+
selectedSection: o,
|
|
37
|
+
setSelectedSection: r,
|
|
38
|
+
result: e,
|
|
39
|
+
data: s
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ n(i, {})
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
) });
|
|
46
|
+
}, x = (e) => f(() => {
|
|
47
|
+
if (e.error || e.response.data == null)
|
|
48
|
+
return;
|
|
49
|
+
const t = Buffer.from(e.response.data, "base64"), o = R(e.response.headers), r = S(o), s = new Blob([t], { type: o }), i = URL.createObjectURL(s), a = o && p(o) || void 0;
|
|
50
|
+
return o && r !== "other" ? {
|
|
51
|
+
type: r,
|
|
52
|
+
contentType: o,
|
|
53
|
+
blob: s,
|
|
54
|
+
url: i,
|
|
55
|
+
extension: a
|
|
56
|
+
} : {
|
|
57
|
+
type: "other",
|
|
58
|
+
contentType: o,
|
|
59
|
+
content: t.toString("utf-8"),
|
|
60
|
+
blob: s,
|
|
61
|
+
url: i,
|
|
62
|
+
extension: a
|
|
63
|
+
};
|
|
64
|
+
}, [e]), R = (e) => {
|
|
65
|
+
var t;
|
|
66
|
+
for (const o in e)
|
|
67
|
+
if (o.toLowerCase() === "content-type") {
|
|
68
|
+
const r = e[o];
|
|
69
|
+
if (typeof r == "string")
|
|
70
|
+
return (t = r.split(";")[0]) == null ? void 0 : t.toLowerCase();
|
|
71
|
+
}
|
|
72
|
+
}, S = (e) => {
|
|
73
|
+
const [t] = (e == null ? void 0 : e.split("/")) ?? [];
|
|
74
|
+
return t === "image" || t === "audio" || t === "video" ? t : "other";
|
|
75
|
+
};
|
|
76
|
+
export {
|
|
77
|
+
E as Response,
|
|
78
|
+
D as responseSections
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/api-playground/ApiPlayground/Response/index.tsx"],"sourcesContent":["'use client';\n\nimport { ApiPlaygroundResultType } from '@mintlify/models';\nimport { extension as extensionLookup } from 'mime-types';\nimport { useMemo, useState } from 'react';\n\nimport ErrorBoundary from '@/components/Api/ErrorBoundary';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { ResponseBody } from './ResponseBody';\nimport { ResponseError } from './ResponseError';\nimport { ResponseHeaders } from './ResponseHeaders';\nimport { ResponseTopbar } from './ResponseTopbar';\n\nexport const responseSections = ['body', 'headers'] as const;\nexport type ResponseSection = (typeof responseSections)[number];\n\nexport const Response = ({\n result,\n className,\n}: {\n result: ApiPlaygroundResultType;\n className: string;\n}) => {\n const [responseSection, setResponseSection] = useState<ResponseSection>('body');\n\n // TODO: perform this parsing upon request completion\n const responseBodyData = useResponseBodyData(result);\n\n const Content = () => (\n <div\n className={cn(\n 'mint:rounded-xt mint:dark:bg-zinc-950 mint:bg-white',\n )}\n >\n {result.error ? (\n <ResponseError message={result.errorMessage} />\n ) : responseSection === 'body' ? (\n <ResponseBody data={responseBodyData} />\n ) : (\n <ResponseHeaders response={result.response} />\n )}\n </div>\n );\n\n return (\n <ErrorBoundary>\n <div\n className={cn(\n 'mint:w-full mint:rounded-2xl mint:border mint:p-0.5',\n 'mint:bg-gray-50 mint:dark:bg-white/5 mint:border-gray-950/10 mint:dark:border-white/10',\n className\n )}\n >\n <ResponseTopbar\n selectedSection={responseSection}\n setSelectedSection={setResponseSection}\n result={result}\n data={responseBodyData}\n />\n <Content />\n </div>\n </ErrorBoundary>\n );\n};\n\nconst useResponseBodyData = (result: ApiPlaygroundResultType): ResponseBodyData | undefined => {\n return useMemo(() => {\n if (result.error || result.response.data == undefined) {\n return undefined;\n }\n\n const buffer = Buffer.from(result.response.data, 'base64');\n const contentType = parseContentTypeFromHeaders(result.response.headers);\n const mediaCategory = contentTypeToMediaCategory(contentType);\n const blob = new Blob([buffer], { type: contentType });\n const url = URL.createObjectURL(blob);\n const extension = contentType ? extensionLookup(contentType) || undefined : undefined;\n\n if (contentType && mediaCategory !== 'other') {\n return {\n type: mediaCategory,\n contentType,\n blob,\n url,\n extension,\n };\n }\n\n return {\n type: 'other',\n contentType,\n content: buffer.toString('utf-8'),\n blob,\n url,\n extension,\n };\n }, [result]);\n};\n\nexport type ResponseBodyData =\n | ImageResponseData\n | AudioResponseData\n | VideoResponseData\n | OtherResponseData;\n\ntype BaseResponseData = {\n blob: Blob;\n url: string;\n extension?: string;\n};\n\nexport type ImageResponseData = BaseResponseData & {\n type: 'image';\n contentType: string;\n};\n\nexport type AudioResponseData = BaseResponseData & {\n type: 'audio';\n contentType: string;\n};\n\nexport type VideoResponseData = BaseResponseData & {\n type: 'video';\n contentType: string;\n};\n\nexport type OtherResponseData = BaseResponseData & {\n type: 'other';\n contentType?: string;\n content: string;\n};\n\ntype MediaCategory = ResponseBodyData['type'];\n\nconst parseContentTypeFromHeaders = (headers: Record<string, unknown>) => {\n for (const headerName in headers) {\n if (headerName.toLowerCase() === 'content-type') {\n const contentType = headers[headerName];\n if (typeof contentType === 'string') {\n return contentType.split(';')[0]?.toLowerCase();\n }\n }\n }\n};\n\nconst contentTypeToMediaCategory = (contentType: string | undefined): MediaCategory => {\n const [typeCategory] = contentType?.split('/') ?? [];\n if (typeCategory === 'image' || typeCategory === 'audio' || typeCategory === 'video') {\n return typeCategory;\n }\n\n return 'other';\n};\n"],"names":["responseSections","Response","result","className","responseSection","setResponseSection","useState","responseBodyData","useResponseBodyData","Content","jsx","cn","ResponseError","ResponseBody","ResponseHeaders","ErrorBoundary","jsxs","ResponseTopbar","useMemo","buffer","contentType","parseContentTypeFromHeaders","mediaCategory","contentTypeToMediaCategory","blob","url","extension","extensionLookup","headers","headerName","_a","typeCategory"],"mappings":";;;;;;;;;;AAcO,MAAMA,IAAmB,CAAC,QAAQ,SAAS,GAGrCC,IAAW,CAAC;AAAA,EACvB,QAAAC;AAAA,EACA,WAAAC;AACF,MAGM;AACJ,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAA0B,MAAM,GAGxEC,IAAmBC,EAAoBN,CAAM,GAE7CO,IAAU,MACd,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,MAAA;AAAA,MAGD,YAAO,QACN,gBAAAD,EAACE,KAAc,SAASV,EAAO,cAAc,IAC3CE,MAAoB,SACtB,gBAAAM,EAACG,GAAA,EAAa,MAAMN,GAAkB,sBAErCO,GAAA,EAAgB,UAAUZ,EAAO,SAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAKlD,2BACGa,GAAA,EACC,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWL;AAAA,QACT;AAAA,QACA;AAAA,QACAR;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAO;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,iBAAiBb;AAAA,YACjB,oBAAoBC;AAAA,YACpB,QAAAH;AAAA,YACA,MAAMK;AAAA,UAAA;AAAA,QAAA;AAAA,0BAEPE,GAAA,CAAA,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEb;AAEJ,GAEMD,IAAsB,CAACN,MACpBgB,EAAQ,MAAM;AACnB,MAAIhB,EAAO,SAASA,EAAO,SAAS,QAAQ;AAC1C;AAGF,QAAMiB,IAAS,OAAO,KAAKjB,EAAO,SAAS,MAAM,QAAQ,GACnDkB,IAAcC,EAA4BnB,EAAO,SAAS,OAAO,GACjEoB,IAAgBC,EAA2BH,CAAW,GACtDI,IAAO,IAAI,KAAK,CAACL,CAAM,GAAG,EAAE,MAAMC,GAAa,GAC/CK,IAAM,IAAI,gBAAgBD,CAAI,GAC9BE,IAAYN,KAAcO,EAAgBP,CAAW,KAAK;AAEhE,SAAIA,KAAeE,MAAkB,UAC5B;AAAA,IACL,MAAMA;AAAA,IACN,aAAAF;AAAA,IACA,MAAAI;AAAA,IACA,KAAAC;AAAA,IAAA,WACAC;AAAAA,EAAA,IAIG;AAAA,IACL,MAAM;AAAA,IACN,aAAAN;AAAA,IACA,SAASD,EAAO,SAAS,OAAO;AAAA,IAChC,MAAAK;AAAA,IACA,KAAAC;AAAA,IAAA,WACAC;AAAAA,EAAA;AAEJ,GAAG,CAACxB,CAAM,CAAC,GAsCPmB,IAA8B,CAACO,MAAqC;;AACxE,aAAWC,KAAcD;AACvB,QAAIC,EAAW,YAAA,MAAkB,gBAAgB;AAC/C,YAAMT,IAAcQ,EAAQC,CAAU;AACtC,UAAI,OAAOT,KAAgB;AACzB,gBAAOU,IAAAV,EAAY,MAAM,GAAG,EAAE,CAAC,MAAxB,gBAAAU,EAA2B;AAAA,IAEtC;AAEJ,GAEMP,IAA6B,CAACH,MAAmD;AACrF,QAAM,CAACW,CAAY,KAAIX,KAAA,gBAAAA,EAAa,MAAM,SAAQ,CAAA;AAClD,SAAIW,MAAiB,WAAWA,MAAiB,WAAWA,MAAiB,UACpEA,IAGF;AACT;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as t, jsxs as e } from "react/jsx-runtime";
|
|
2
|
+
import { AddRegular as a } from "@fluentui/react-icons";
|
|
3
|
+
const d = ({
|
|
4
|
+
className: n,
|
|
5
|
+
onClick: r,
|
|
6
|
+
label: i,
|
|
7
|
+
dataTestId: m
|
|
8
|
+
}) => /* @__PURE__ */ t("div", { className: n, children: /* @__PURE__ */ e(
|
|
9
|
+
"button",
|
|
10
|
+
{
|
|
11
|
+
"aria-label": i,
|
|
12
|
+
className: "mint:flex mint:text-playground-input mint:w-fit mint:items-center mint:gap-x-1.5 mint:py-1! mint:px-2! mint:hover:bg-gray-50 mint:dark:hover:bg-white/[0.03] mint:cursor-pointer",
|
|
13
|
+
onClick: r,
|
|
14
|
+
"data-testid": m,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ t(a, { className: "mint:h-3 mint:w-3" }),
|
|
17
|
+
/* @__PURE__ */ t("span", { className: "mint:text-gray-600 mint:dark:text-gray-200", children: i })
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
) });
|
|
21
|
+
export {
|
|
22
|
+
d as AdditionalItemButton
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=AdditionalItemButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdditionalItemButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/AdditionalItemButton.tsx"],"sourcesContent":["import {AddRegular} from '@fluentui/react-icons'\nimport { cn } from \"../../../utils/cn\";\n\nexport const AdditionalItemButton = ({\n className,\n onClick,\n label,\n dataTestId,\n}: {\n className?: string;\n onClick: () => void;\n label: string;\n dataTestId?: string;\n}) => {\n return (\n <div className={className}>\n <button\n aria-label={label}\n className=\"mint:flex mint:text-playground-input mint:w-fit mint:items-center mint:gap-x-1.5 mint:py-1! mint:px-2! mint:hover:bg-gray-50 mint:dark:hover:bg-white/[0.03] mint:cursor-pointer\"\n onClick={onClick}\n data-testid={dataTestId}\n >\n <AddRegular className=\"mint:h-3 mint:w-3\" />\n <span className=\"mint:text-gray-600 mint:dark:text-gray-200\">{label}</span>\n </button>\n </div>\n );\n};\n"],"names":["AdditionalItemButton","className","onClick","label","dataTestId","jsx","jsxs","AddRegular"],"mappings":";;AAGO,MAAMA,IAAuB,CAAC;AAAA,EACnC,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AACF,MAOI,gBAAAC,EAAC,SAAI,WAAAJ,GACH,UAAA,gBAAAK;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,cAAYH;AAAA,IACZ,WAAU;AAAA,IACV,SAAAD;AAAA,IACA,eAAaE;AAAA,IAEb,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAA,EAAW,WAAU,oBAAA,CAAoB;AAAA,MAC1C,gBAAAF,EAAC,QAAA,EAAK,WAAU,8CAA8C,UAAAF,EAAA,CAAM;AAAA,IAAA;AAAA,EAAA;AAAA,GAExE;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as a } from "react";
|
|
3
|
+
import "@mintlify/validation";
|
|
4
|
+
import { cn as d } from "../../../utils/cn.js";
|
|
5
|
+
import { AddAdditionalItemButton as u } from "../Request/inputs/ArrayInput.js";
|
|
6
|
+
const x = ({
|
|
7
|
+
onAddKey: m,
|
|
8
|
+
existingKeys: l,
|
|
9
|
+
dataTestId: s
|
|
10
|
+
}) => {
|
|
11
|
+
const [c, n] = a(!1), [e, i] = a(""), o = l.includes(e), p = e.length > 0 && !o;
|
|
12
|
+
return c ? /* @__PURE__ */ r(
|
|
13
|
+
"input",
|
|
14
|
+
{
|
|
15
|
+
className: d(
|
|
16
|
+
"mint:py-6 mint:flex-1 mint:bg-transparent mint:outline-0 mint:text-sm mint:text-gray-900 mint:dark:text-gray-100 mint:placeholder-gray-300 mint:dark:placeholder-white/30 mint:font-mono mint:font-medium",
|
|
17
|
+
o ? "mint:underline mint:decoration-wavy mint:decoration-red-400" : ""
|
|
18
|
+
),
|
|
19
|
+
placeholder: "Enter key of new property",
|
|
20
|
+
type: "text",
|
|
21
|
+
autoFocus: !0,
|
|
22
|
+
value: e,
|
|
23
|
+
onBlur: () => {
|
|
24
|
+
i(""), n(!1);
|
|
25
|
+
},
|
|
26
|
+
onChange: (t) => i(t.target.value),
|
|
27
|
+
onKeyDown: (t) => {
|
|
28
|
+
(t.key === "Enter" || t.key === "Tab") && p && m(t.currentTarget.value);
|
|
29
|
+
},
|
|
30
|
+
spellCheck: !1
|
|
31
|
+
}
|
|
32
|
+
) : /* @__PURE__ */ r(
|
|
33
|
+
u,
|
|
34
|
+
{
|
|
35
|
+
className: "mint:py-5",
|
|
36
|
+
onClick: () => n((t) => !t),
|
|
37
|
+
label: "Add new property",
|
|
38
|
+
dataTestId: s
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
x as AdditionalPropertyButton
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=AdditionalPropertyButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdditionalPropertyButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/AdditionalPropertyButton.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from 'react';\n\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { AddAdditionalItemButton } from '../Request/inputs/ArrayInput';\n\ntype AdditionalPropertyButtonParams = {\n onAddKey: (name: string) => void;\n existingKeys: string[];\n dataTestId?: string;\n};\n\nexport const AdditionalPropertyButton = ({\n onAddKey,\n existingKeys,\n dataTestId,\n}: AdditionalPropertyButtonParams) => {\n const [isActive, setIsActive] = useState(false);\n const [key, setKey] = useState('');\n\n const isDuplicate = existingKeys.includes(key);\n const isValid = key.length > 0 && !isDuplicate;\n\n if (!isActive) {\n return (\n <AddAdditionalItemButton\n className=\"mint:py-5\"\n onClick={() => setIsActive((prev) => !prev)}\n label=\"Add new property\"\n dataTestId={dataTestId}\n />\n );\n }\n\n return (\n <input\n className={cn(\n 'mint:py-6 mint:flex-1 mint:bg-transparent mint:outline-0 mint:text-sm mint:text-gray-900 mint:dark:text-gray-100 mint:placeholder-gray-300 mint:dark:placeholder-white/30 mint:font-mono mint:font-medium',\n isDuplicate ? 'mint:underline mint:decoration-wavy mint:decoration-red-400' : ''\n )}\n placeholder=\"Enter key of new property\"\n type=\"text\"\n autoFocus\n value={key}\n onBlur={() => {\n setKey('');\n setIsActive(false);\n }}\n onChange={(event) => setKey(event.target.value)}\n onKeyDown={(event) => {\n if ((event.key === 'Enter' || event.key === 'Tab') && isValid) {\n onAddKey(event.currentTarget.value);\n }\n }}\n spellCheck={false}\n />\n );\n};\n"],"names":["AdditionalPropertyButton","onAddKey","existingKeys","dataTestId","isActive","setIsActive","useState","key","setKey","isDuplicate","isValid","jsx","cn","event","AddAdditionalItemButton","prev"],"mappings":";;;;;AAcO,MAAMA,IAA2B,CAAC;AAAA,EACvC,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AACF,MAAsC;AACpC,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GACxC,CAACC,GAAKC,CAAM,IAAIF,EAAS,EAAE,GAE3BG,IAAcP,EAAa,SAASK,CAAG,GACvCG,IAAUH,EAAI,SAAS,KAAK,CAACE;AAEnC,SAAKL,IAYH,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAH,IAAc,gEAAgE;AAAA,MAAA;AAAA,MAEhF,aAAY;AAAA,MACZ,MAAK;AAAA,MACL,WAAS;AAAA,MACT,OAAOF;AAAA,MACP,QAAQ,MAAM;AACZ,QAAAC,EAAO,EAAE,GACTH,EAAY,EAAK;AAAA,MACnB;AAAA,MACA,UAAU,CAACQ,MAAUL,EAAOK,EAAM,OAAO,KAAK;AAAA,MAC9C,WAAW,CAACA,MAAU;AACpB,SAAKA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,UAAUH,KACpDT,EAASY,EAAM,cAAc,KAAK;AAAA,MAEtC;AAAA,MACA,YAAY;AAAA,IAAA;AAAA,EAAA,IA7BZ,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS,MAAMT,EAAY,CAACU,MAAS,CAACA,CAAI;AAAA,MAC1C,OAAM;AAAA,MACN,YAAAZ;AAAA,IAAA;AAAA,EAAA;AA4BR;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as m } from "../../../utils/cn.js";
|
|
3
|
+
function o({ children: t, className: n }) {
|
|
4
|
+
return /* @__PURE__ */ i(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
className: m(
|
|
8
|
+
"mint:rounded-full mint:h-5 mint:w-5 mint:flex mint:items-center mint:justify-center mint:bg-gray-50 mint:dark:bg-white/10 mint:text-xs mint:font-sans mint:font-medium mint:text-gray-600 mint:dark:text-gray-300",
|
|
9
|
+
n
|
|
10
|
+
),
|
|
11
|
+
children: t
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
o as ArrayCount
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ArrayCount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayCount.js","sources":["../../../../src/api-playground/ApiPlayground/components/ArrayCount.tsx"],"sourcesContent":["'use client';\n\nimport { ReactNode } from 'react';\n\nimport { cn } from '@/utils/cn';\n\nexport function ArrayCount({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <div\n className={cn(\n 'mint:rounded-full mint:h-5 mint:w-5 mint:flex mint:items-center mint:justify-center mint:bg-gray-50 mint:dark:bg-white/10 mint:text-xs mint:font-sans mint:font-medium mint:text-gray-600 mint:dark:text-gray-300',\n className\n )}\n >\n {children}\n </div>\n );\n}\n"],"names":["ArrayCount","children","className","jsx","cn"],"mappings":";;AAMO,SAASA,EAAW,EAAE,UAAAC,GAAU,WAAAC,KAA0D;AAC/F,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAGD,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as e, jsxs as h } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronUpDownFilled as l } from "@fluentui/react-icons";
|
|
3
|
+
import { useState as u, useEffect as x } from "react";
|
|
4
|
+
const v = ({
|
|
5
|
+
baseUrlOptions: n,
|
|
6
|
+
selectedBaseUrlIndex: m = 0,
|
|
7
|
+
setSelectedBaseUrlIndex: r,
|
|
8
|
+
onBaseUrlChange: i
|
|
9
|
+
}) => {
|
|
10
|
+
const [c, d] = u(0), o = n == null ? void 0 : n[m];
|
|
11
|
+
return x(() => {
|
|
12
|
+
const t = document.createElement("span");
|
|
13
|
+
t.className = "mint:text-sm mint:absolute mint:font-mono mint:invisible", t.textContent = o ?? "", document.body.appendChild(t), d(t.offsetWidth + 16), document.body.removeChild(t);
|
|
14
|
+
}, [o]), !n || n.length === 0 || !r ? null : n.length === 1 ? /* @__PURE__ */ e("div", { className: "mint:min-w-max mint:bg-transparent mint:text-sm mint:text-gray-600 mint:dark:text-gray-400 mint:outline-0 mint:font-mono mint:cursor-pointer mint:hover:text-gray-900 mint:dark:hover:text-gray-300", children: n[0] }) : /* @__PURE__ */ h("div", { className: "mint:flex mint:items-center mint:gap-1 mint:relative mint:-mr-1", children: [
|
|
15
|
+
/* @__PURE__ */ e(
|
|
16
|
+
"select",
|
|
17
|
+
{
|
|
18
|
+
"aria-label": "Select base URL",
|
|
19
|
+
className: "mint:bg-transparent mint:text-sm mint:text-gray-600 mint:dark:text-gray-400 mint:outline-0 mint:font-mono mint:cursor-pointer mint:hover:text-gray-900 mint:dark:hover:text-gray-300",
|
|
20
|
+
value: m,
|
|
21
|
+
onClick: (t) => t.stopPropagation(),
|
|
22
|
+
onChange: (t) => {
|
|
23
|
+
r(Number(t.target.value)), i == null || i();
|
|
24
|
+
},
|
|
25
|
+
style: { width: `${c}px` },
|
|
26
|
+
children: n.map((t, a) => /* @__PURE__ */ e("option", { value: a, children: t }, t))
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
/* @__PURE__ */ e(
|
|
30
|
+
l,
|
|
31
|
+
{
|
|
32
|
+
className: "mint:absolute mint:right-0 mint:w-3 mint:h-3 mint:text-gray-400 mint:dark:text-white/30 mint:pointer-events-none"
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
] });
|
|
36
|
+
};
|
|
37
|
+
export {
|
|
38
|
+
v as BasePathSelector
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=BasePathSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePathSelector.js","sources":["../../../../src/api-playground/ApiPlayground/components/BasePathSelector.tsx"],"sourcesContent":["import { ChevronUpDownFilled } from '@fluentui/react-icons';\nimport { useState, useEffect } from 'react';\n\n\ntype BasePathSelectorProps = {\n baseUrlOptions?: string[];\n selectedBaseUrlIndex?: number;\n setSelectedBaseUrlIndex?: (index: number) => void;\n onBaseUrlChange?: () => void;\n};\n\nexport const BasePathSelector = ({\n baseUrlOptions,\n selectedBaseUrlIndex = 0,\n setSelectedBaseUrlIndex,\n onBaseUrlChange,\n}: BasePathSelectorProps) => {\n const [selectWidth, setSelectWidth] = useState(0);\n\n const selectedOption = baseUrlOptions?.[selectedBaseUrlIndex];\n\n useEffect(() => {\n // Create a temporary span to measure the text width to dynamically set the width of the select\n const span = document.createElement('span');\n span.className = 'mint:text-sm mint:absolute mint:font-mono mint:invisible';\n span.textContent = selectedOption ?? '';\n document.body.appendChild(span);\n\n const paddingWidth = 16;\n\n setSelectWidth(span.offsetWidth + paddingWidth);\n document.body.removeChild(span);\n }, [selectedOption]);\n\n if (!baseUrlOptions || baseUrlOptions.length === 0 || !setSelectedBaseUrlIndex) return null;\n\n if (baseUrlOptions.length === 1) {\n return (\n <div className=\"mint:min-w-max mint:bg-transparent mint:text-sm mint:text-gray-600 mint:dark:text-gray-400 mint:outline-0 mint:font-mono mint:cursor-pointer mint:hover:text-gray-900 mint:dark:hover:text-gray-300\">\n {baseUrlOptions[0]}\n </div>\n );\n }\n\n return (\n <div className=\"mint:flex mint:items-center mint:gap-1 mint:relative mint:-mr-1\">\n <select\n aria-label=\"Select base URL\"\n className=\"mint:bg-transparent mint:text-sm mint:text-gray-600 mint:dark:text-gray-400 mint:outline-0 mint:font-mono mint:cursor-pointer mint:hover:text-gray-900 mint:dark:hover:text-gray-300\"\n value={selectedBaseUrlIndex}\n onClick={(e) => e.stopPropagation()}\n onChange={(e) => {\n setSelectedBaseUrlIndex(Number(e.target.value));\n onBaseUrlChange?.();\n }}\n style={{ width: `${selectWidth}px` }}\n >\n {baseUrlOptions.map((url, i) => (\n <option key={url} value={i}>\n {url}\n </option>\n ))}\n </select>\n <ChevronUpDownFilled\n className=\"mint:absolute mint:right-0 mint:w-3 mint:h-3 mint:text-gray-400 mint:dark:text-white/30 mint:pointer-events-none\"\n />\n </div>\n );\n};\n"],"names":["BasePathSelector","baseUrlOptions","selectedBaseUrlIndex","setSelectedBaseUrlIndex","onBaseUrlChange","selectWidth","setSelectWidth","useState","selectedOption","useEffect","span","jsxs","jsx","e","url","i","ChevronUpDownFilled"],"mappings":";;;AAWO,MAAMA,IAAmB,CAAC;AAAA,EAC/B,gBAAAC;AAAA,EACA,sBAAAC,IAAuB;AAAA,EACvB,yBAAAC;AAAA,EACA,iBAAAC;AACF,MAA6B;AAC3B,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAE1CC,IAAiBP,KAAA,gBAAAA,EAAiBC;AAexC,SAbAO,EAAU,MAAM;AAEd,UAAMC,IAAO,SAAS,cAAc,MAAM;AAC1C,IAAAA,EAAK,YAAY,4DACjBA,EAAK,cAAcF,KAAkB,IACrC,SAAS,KAAK,YAAYE,CAAI,GAI9BJ,EAAeI,EAAK,cAFC,EAEyB,GAC9C,SAAS,KAAK,YAAYA,CAAI;AAAA,EAChC,GAAG,CAACF,CAAc,CAAC,GAEf,CAACP,KAAkBA,EAAe,WAAW,KAAK,CAACE,IAAgC,OAEnFF,EAAe,WAAW,sBAEzB,OAAA,EAAI,WAAU,uMACZ,UAAAA,EAAe,CAAC,GACnB,IAKF,gBAAAU,EAAC,OAAA,EAAI,WAAU,mEACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cAAW;AAAA,QACX,WAAU;AAAA,QACV,OAAOV;AAAA,QACP,SAAS,CAACW,MAAMA,EAAE,gBAAA;AAAA,QAClB,UAAU,CAACA,MAAM;AACf,UAAAV,EAAwB,OAAOU,EAAE,OAAO,KAAK,CAAC,GAC9CT,KAAA,QAAAA;AAAA,QACF;AAAA,QACA,OAAO,EAAE,OAAO,GAAGC,CAAW,KAAA;AAAA,QAE7B,UAAAJ,EAAe,IAAI,CAACa,GAAKC,MACxB,gBAAAH,EAAC,UAAA,EAAiB,OAAOG,GACtB,UAAAD,EAAA,GADUA,CAEb,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAF;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAEJ;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs as a, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { potentiallyParseOpenApiString as M } from "../../../common/potentiallyParseOpenApiString.js";
|
|
3
|
+
import { slugToTitle as h } from "../../../common/slugToTitle.js";
|
|
4
|
+
import { ChevronDownFilled as P } from "@fluentui/react-icons";
|
|
5
|
+
import { useState as k, useMemo as u } from "react";
|
|
6
|
+
import { MethodPill as A } from "../../../components/Api/MethodPill.js";
|
|
7
|
+
import { DropdownMenu as y, DropdownMenuTrigger as C, DropdownMenuContent as D } from "../../../components/Api/dropdown-menu.js";
|
|
8
|
+
import { useCurrentPath as N } from "../../../hooks/useCurrentPath.js";
|
|
9
|
+
import { useMDXContent as S } from "../../../hooks/useMDXContent.js";
|
|
10
|
+
import { EndpointsMenuLink as T } from "./EndpointsMenuLink.js";
|
|
11
|
+
import { EndpointsMenuSearch as E } from "./EndpointsMenuSearch.js";
|
|
12
|
+
const f = (r) => r.reduce((t, e) => "pages" in e ? [...t, ...f(e.pages)] : "openapi" in e || "api" in e || "asyncapi" in e ? [...t, e] : t, []), L = (r) => r.map((t) => {
|
|
13
|
+
{
|
|
14
|
+
const e = t.openapi || t.api;
|
|
15
|
+
if (e == null)
|
|
16
|
+
return;
|
|
17
|
+
const n = M(e);
|
|
18
|
+
return n == null ? void 0 : {
|
|
19
|
+
method: n.method,
|
|
20
|
+
title: t.title || h(t.href),
|
|
21
|
+
href: t.href,
|
|
22
|
+
type: "openapi",
|
|
23
|
+
playground: t.playground
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}).filter((t) => t != null), I = ({ endpoint: r, channel: t, operation: e }) => {
|
|
27
|
+
var c;
|
|
28
|
+
const [{ pageMetadata: n }] = S(), g = N(), s = n.title || h(g), [m, x] = k(""), l = f(((c = n.navigation) == null ? void 0 : c.groupsOrPages) ?? []), d = u(() => L(l), [l]), v = e ? e.title || s : r ? r.title || s : (t == null ? void 0 : t.title) || s, p = e ? e.method : r ? r.method : "websocket", w = p === "websocket", b = u(() => m ? d.filter((o) => o.title.toLowerCase().includes(m.toLowerCase())) : d, [m, d]);
|
|
29
|
+
return /* @__PURE__ */ a(y, { children: [
|
|
30
|
+
/* @__PURE__ */ i(C, { className: "mint:hidden mint:lg:block", children: /* @__PURE__ */ a("div", { className: "mint:flex mint:items-center mint:gap-x-2 mint:border-standard mint:rounded-xl mint:p-1.5 mint:pr-3 mint:min-w-80 mint:hover:bg-gray-50 mint:dark:hover:bg-white/5", children: [
|
|
31
|
+
/* @__PURE__ */ i(A, { method: p, shortMethod: w, isActive: !0 }),
|
|
32
|
+
/* @__PURE__ */ i("div", { className: "mint:flex-1 mint:text-left mint:text-sm mint:font-medium mint:text-gray-900 mint:dark:text-white mint:truncate", children: v }),
|
|
33
|
+
/* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(P, { className: "mint:w-4 mint:h-4 mint:text-gray-500 mint:dark:text-gray-400" }) })
|
|
34
|
+
] }) }),
|
|
35
|
+
/* @__PURE__ */ i(D, { className: "mint:hidden mint:lg:block mint:w-80 mint:border mint:border-gray-100 mint:dark:border-white/10 mint:rounded-xl mint:px-2 mint:pb-2 mint:pt-0", children: /* @__PURE__ */ a("div", { className: "mint:flex mint:flex-col", children: [
|
|
36
|
+
/* @__PURE__ */ i(E, { search: m, setSearch: x }),
|
|
37
|
+
b.map((o) => /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(T, { page: o }) }, `search-${o.title}-${o.href}`))
|
|
38
|
+
] }) })
|
|
39
|
+
] });
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
I as EndpointsMenu
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=EndpointsMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointsMenu.js","sources":["../../../../src/api-playground/ApiPlayground/components/EndpointsMenu.tsx"],"sourcesContent":["import { potentiallyParseOpenApiString} from '../../../common/potentiallyParseOpenApiString';\nimport { slugToTitle } from '../../../common/slugToTitle';\nimport type { ChannelData } from '@mintlify/common';\nimport { DecoratedNavigationPage } from '@mintlify/models';\nimport { DecoratedPageOrGroupConfig, Endpoint } from '@mintlify/validation';\nimport { ChevronDownFilled } from '@fluentui/react-icons';\nimport { useState, useMemo } from 'react';\n\nimport { MethodPill } from '../../../components/Api/MethodPill';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '../../../components/Api/dropdown-menu';\nimport { useCurrentPath } from '../../../hooks/useCurrentPath';\nimport { useMDXContent } from '@/hooks/useMDXContent';\nimport { ApiPageData } from '../../../api-playground-2/types/api';\n\nimport { EndpointsMenuLink } from './EndpointsMenuLink';\nimport { EndpointsMenuSearch } from './EndpointsMenuSearch';\n\ntype EndpointsMenuProps = {\n endpoint?: Endpoint;\n channel?: ChannelData;\n operation?: { title: string; method: string };\n};\n\nconst getAllApiPages = (navigation: DecoratedPageOrGroupConfig[]): DecoratedNavigationPage[] => {\n return navigation.reduce<DecoratedNavigationPage[]>((acc, entry) => {\n if ('pages' in entry) {\n \n return [...acc, ...getAllApiPages(entry.pages as DecoratedPageOrGroupConfig[])];\n } else if ('openapi' in entry || 'api' in entry || 'asyncapi' in entry) {\n return [...acc, entry];\n }\n return acc;\n }, []);\n};\n\nconst mapApiPageData = (pages: DecoratedNavigationPage[]): ApiPageData[] => {\n return pages\n .map((page: DecoratedNavigationPage): ApiPageData | undefined => {\n {\n const endpointStr = page.openapi || page.api;\n if (endpointStr == undefined) {\n return undefined;\n }\n const potentiallyParsedOpenApiString = potentiallyParseOpenApiString(endpointStr);\n if (potentiallyParsedOpenApiString == undefined) {\n return undefined;\n }\n return {\n method: potentiallyParsedOpenApiString.method,\n title: page.title || slugToTitle(page.href),\n href: page.href,\n type: 'openapi',\n playground: page.playground,\n };\n }\n })\n .filter((pageData) => pageData != undefined);\n};\n\nexport const EndpointsMenu = ({ endpoint, channel, operation }: EndpointsMenuProps) => {\n const [{ pageMetadata }] = useMDXContent() as unknown as [{ pageMetadata: { title?: string; navigation?: { groupsOrPages?: DecoratedPageOrGroupConfig[] } } }];\n const currentPath = useCurrentPath();\n const pageTitle = pageMetadata.title || slugToTitle(currentPath);\n const [search, setSearch] = useState('');\n\n const allApiPages = getAllApiPages(pageMetadata.navigation?.groupsOrPages ?? []);\n const apiPages = useMemo(() => mapApiPageData(allApiPages), [allApiPages]);\n\n const title = operation\n ? operation.title || pageTitle\n : endpoint\n ? endpoint.title || pageTitle\n : channel?.title || pageTitle;\n const method = operation ? operation.method : endpoint ? endpoint.method : 'websocket';\n const shortMethod = method === 'websocket';\n\n const searchResults = useMemo(() => {\n if (!search) return apiPages;\n return apiPages.filter((page) => {\n return page.title.toLowerCase().includes(search.toLowerCase());\n });\n }, [search, apiPages]);\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger className=\"mint:hidden mint:lg:block\">\n <div className=\"mint:flex mint:items-center mint:gap-x-2 mint:border-standard mint:rounded-xl mint:p-1.5 mint:pr-3 mint:min-w-80 mint:hover:bg-gray-50 mint:dark:hover:bg-white/5\">\n <MethodPill method={method} shortMethod={shortMethod} isActive={true} />\n <div className=\"mint:flex-1 mint:text-left mint:text-sm mint:font-medium mint:text-gray-900 mint:dark:text-white mint:truncate\">\n {title}\n </div>\n <div>\n <ChevronDownFilled className=\"mint:w-4 mint:h-4 mint:text-gray-500 mint:dark:text-gray-400\" />\n </div>\n </div>\n </DropdownMenuTrigger>\n <DropdownMenuContent className=\"mint:hidden mint:lg:block mint:w-80 mint:border mint:border-gray-100 mint:dark:border-white/10 mint:rounded-xl mint:px-2 mint:pb-2 mint:pt-0\">\n <div className=\"mint:flex mint:flex-col\">\n <EndpointsMenuSearch search={search} setSearch={setSearch} />\n {searchResults.map((page) => (\n <div key={`search-${page.title}-${page.href}`}>\n <EndpointsMenuLink page={page} />\n </div>\n ))}\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["getAllApiPages","navigation","acc","entry","mapApiPageData","pages","page","endpointStr","potentiallyParsedOpenApiString","potentiallyParseOpenApiString","slugToTitle","pageData","EndpointsMenu","endpoint","channel","operation","pageMetadata","useMDXContent","currentPath","useCurrentPath","pageTitle","search","setSearch","useState","allApiPages","_a","apiPages","useMemo","title","method","shortMethod","searchResults","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","MethodPill","ChevronDownFilled","DropdownMenuContent","EndpointsMenuSearch","EndpointsMenuLink"],"mappings":";;;;;;;;;;;AAuBA,MAAMA,IAAiB,CAACC,MACfA,EAAW,OAAkC,CAACC,GAAKC,MACpD,WAAWA,IAEN,CAAC,GAAGD,GAAK,GAAGF,EAAeG,EAAM,KAAqC,CAAC,IACrE,aAAaA,KAAS,SAASA,KAAS,cAAcA,IACxD,CAAC,GAAGD,GAAKC,CAAK,IAEhBD,GACN,CAAA,CAAE,GAGDE,IAAiB,CAACC,MACfA,EACJ,IAAI,CAACC,MAA2D;AAC9D;AACC,UAAMC,IAAcD,EAAK,WAAWA,EAAK;AACzC,QAAIC,KAAe;AACjB;AAEF,UAAMC,IAAiCC,EAA8BF,CAAW;AAChF,WAAIC,KAAkC,OACpC,SAEK;AAAA,MACL,QAAQA,EAA+B;AAAA,MACvC,OAAOF,EAAK,SAASI,EAAYJ,EAAK,IAAI;AAAA,MAC1C,MAAMA,EAAK;AAAA,MACX,MAAM;AAAA,MACN,YAAYA,EAAK;AAAA,IAAA;AAAA,EAErB;AACF,CAAC,EACA,OAAO,CAACK,MAAaA,KAAY,IAAS,GAGlCC,IAAgB,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,WAAAC,QAAoC;;AACrF,QAAM,CAAC,EAAE,cAAAC,GAAc,IAAIC,EAAA,GACrBC,IAAcC,EAAA,GACdC,IAAYJ,EAAa,SAASN,EAAYQ,CAAW,GACzD,CAACG,GAAQC,CAAS,IAAIC,EAAS,EAAE,GAEjCC,IAAcxB,IAAeyB,IAAAT,EAAa,eAAb,gBAAAS,EAAyB,kBAAiB,CAAA,CAAE,GACzEC,IAAWC,EAAQ,MAAMvB,EAAeoB,CAAW,GAAG,CAACA,CAAW,CAAC,GAEnEI,IAAQb,IACVA,EAAU,SAASK,IACnBP,IACEA,EAAS,SAASO,KAClBN,KAAA,gBAAAA,EAAS,UAASM,GAClBS,IAASd,IAAYA,EAAU,SAASF,IAAWA,EAAS,SAAS,aACrEiB,IAAcD,MAAW,aAEzBE,IAAgBJ,EAAQ,MACvBN,IACEK,EAAS,OAAO,CAACpB,MACfA,EAAK,MAAM,YAAA,EAAc,SAASe,EAAO,aAAa,CAC9D,IAHmBK,GAInB,CAACL,GAAQK,CAAQ,CAAC;AAErB,2BACGM,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAoB,WAAU,6BAC7B,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qKACb,UAAA;AAAA,MAAA,gBAAAF,EAACG,GAAA,EAAW,QAAAP,GAAgB,aAAAC,GAA0B,UAAU,IAAM;AAAA,MACtE,gBAAAG,EAAC,OAAA,EAAI,WAAU,kHACZ,UAAAL,GACH;AAAA,wBACC,OAAA,EACC,UAAA,gBAAAK,EAACI,GAAA,EAAkB,WAAU,gEAA+D,EAAA,CAC9F;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,sBACCC,GAAA,EAAoB,WAAU,gJAC7B,UAAA,gBAAAH,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAA,gBAAAF,EAACM,GAAA,EAAoB,QAAAlB,GAAgB,WAAAC,EAAA,CAAsB;AAAA,MAC1DS,EAAc,IAAI,CAACzB,MAClB,gBAAA2B,EAAC,SACC,UAAA,gBAAAA,EAACO,GAAA,EAAkB,MAAAlC,EAAA,CAAY,EAAA,GADvB,UAAUA,EAAK,KAAK,IAAIA,EAAK,IAAI,EAE3C,CACD;AAAA,IAAA,EAAA,CACH,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as n, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { MethodPill as l } from "../../../components/Api/MethodPill.js";
|
|
3
|
+
import { useCurrentPath as c } from "../../../hooks/useCurrentPath.js";
|
|
4
|
+
import { isEqualIgnoringLeadingSlash as u } from "../../../paths/isEqualIgnoringLeadingSlash.js";
|
|
5
|
+
import { cn as f } from "../../../utils/cn.js";
|
|
6
|
+
const k = ({ page: t }) => {
|
|
7
|
+
const o = c(), i = u(t.href, o), m = t.type === "openapi", d = t.playground === "none" || t.playground === "simple" || t.method === "webhook", s = (h) => {
|
|
8
|
+
h.preventDefault();
|
|
9
|
+
const e = d ? t.href : `${t.href}?playground=open`;
|
|
10
|
+
if (typeof window < "u" && window.next) {
|
|
11
|
+
const r = window.next.router;
|
|
12
|
+
if (r) {
|
|
13
|
+
r.push(e);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
window.location.href = e;
|
|
18
|
+
};
|
|
19
|
+
return /* @__PURE__ */ n("a", { href: t.href, title: t.title, children: /* @__PURE__ */ a(
|
|
20
|
+
"div",
|
|
21
|
+
{
|
|
22
|
+
onClick: s,
|
|
23
|
+
className: f(
|
|
24
|
+
"mint:flex mint:items-center mint:gap-x-2 mint:hover:bg-gray-50 mint:dark:hover:bg-white/5 mint:rounded-xl mint:p-1.5 mint:group mint:cursor-pointer",
|
|
25
|
+
i ? "mint:bg-gray-50 mint:dark:bg-white/5 mint:text-[#643FB2] mint:dark:text-[#C9AAF9] mint:font-medium" : "mint:text-gray-700 mint:hover:text-gray-900 mint:dark:text-gray-400 mint:dark:hover:text-gray-300"
|
|
26
|
+
),
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ n(
|
|
29
|
+
l,
|
|
30
|
+
{
|
|
31
|
+
method: t.method,
|
|
32
|
+
shortMethod: m,
|
|
33
|
+
className: "mint:font-medium mint:px-1 mint:py-px mint:text-xs mint:rounded-md",
|
|
34
|
+
isActive: i
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ n("div", { className: "mint:text-sm mint:truncate", children: t.title })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
) });
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
k as EndpointsMenuLink
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=EndpointsMenuLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointsMenuLink.js","sources":["../../../../src/api-playground/ApiPlayground/components/EndpointsMenuLink.tsx"],"sourcesContent":["'use client';\n\nimport { MethodPill } from '../../../components/Api/MethodPill';\nimport { useCurrentPath } from '@/hooks/useCurrentPath';\nimport { ApiPageData } from '../../../api-playground-2/types/api';\nimport { isEqualIgnoringLeadingSlash } from '../../../../src/paths/isEqualIgnoringLeadingSlash';\nimport { cn } from '@/utils/cn';\n\nexport const EndpointsMenuLink = ({ page }: { page: ApiPageData }) => {\n const pathname = useCurrentPath();\n const isActive = isEqualIgnoringLeadingSlash(page.href, pathname);\n const shortMethod = page.type === 'openapi';\n const noPlayground =\n page.playground === 'none' || page.playground === 'simple' || page.method === 'webhook';\n\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n const targetHref = noPlayground ? page.href : `${page.href}?playground=open`;\n\n // Check if we're in a Next.js environment\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof window !== 'undefined' && (window as any).next) {\n // Use Next.js router if available\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const router = (window as any).next.router;\n if (router) {\n router.push(targetHref);\n return;\n }\n }\n\n // Fallback to standard navigation\n window.location.href = targetHref;\n };\n\n return (\n <a href={page.href} title={page.title}>\n <div\n onClick={handleClick}\n className={cn(\n 'mint:flex mint:items-center mint:gap-x-2 mint:hover:bg-gray-50 mint:dark:hover:bg-white/5 mint:rounded-xl mint:p-1.5 mint:group mint:cursor-pointer',\n isActive\n ? 'mint:bg-gray-50 mint:dark:bg-white/5 mint:text-[#643FB2] mint:dark:text-[#C9AAF9] mint:font-medium'\n : 'mint:text-gray-700 mint:hover:text-gray-900 mint:dark:text-gray-400 mint:dark:hover:text-gray-300'\n )}\n >\n <MethodPill\n method={page.method}\n shortMethod={shortMethod}\n className=\"mint:font-medium mint:px-1 mint:py-px mint:text-xs mint:rounded-md\"\n isActive={isActive}\n />\n <div className=\"mint:text-sm mint:truncate\">{page.title}</div>\n </div>\n </a>\n );\n};\n"],"names":["EndpointsMenuLink","page","pathname","useCurrentPath","isActive","isEqualIgnoringLeadingSlash","shortMethod","noPlayground","handleClick","e","targetHref","router","jsxs","cn","jsx","MethodPill"],"mappings":";;;;;AAQO,MAAMA,IAAoB,CAAC,EAAE,MAAAC,QAAkC;AACpE,QAAMC,IAAWC,EAAA,GACXC,IAAWC,EAA4BJ,EAAK,MAAMC,CAAQ,GAC1DI,IAAcL,EAAK,SAAS,WAC5BM,IACJN,EAAK,eAAe,UAAUA,EAAK,eAAe,YAAYA,EAAK,WAAW,WAE1EO,IAAc,CAACC,MAAwB;AAC3C,IAAAA,EAAE,eAAA;AACF,UAAMC,IAAaH,IAAeN,EAAK,OAAO,GAAGA,EAAK,IAAI;AAI1D,QAAI,OAAO,SAAW,OAAgB,OAAe,MAAM;AAGzD,YAAMU,IAAU,OAAe,KAAK;AACpC,UAAIA,GAAQ;AACV,QAAAA,EAAO,KAAKD,CAAU;AACtB;AAAA,MACF;AAAA,IACF;AAGA,WAAO,SAAS,OAAOA;AAAA,EACzB;AAEA,2BACG,KAAA,EAAE,MAAMT,EAAK,MAAM,OAAOA,EAAK,OAC9B,UAAA,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASJ;AAAA,MACT,WAAWK;AAAA,QACT;AAAA,QACAT,IACI,uGACA;AAAA,MAAA;AAAA,MAGN,UAAA;AAAA,QAAA,gBAAAU;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,QAAQd,EAAK;AAAA,YACb,aAAAK;AAAA,YACA,WAAU;AAAA,YACV,UAAAF;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAU,EAAC,OAAA,EAAI,WAAU,8BAA8B,YAAK,MAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE5D;AAEJ;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import a from "lodash/debounce";
|
|
3
|
+
import { SearchIcon as o } from "lucide-react";
|
|
4
|
+
import { cn as d } from "../../../utils/cn.js";
|
|
5
|
+
const g = ({
|
|
6
|
+
search: e,
|
|
7
|
+
setSearch: i
|
|
8
|
+
}) => {
|
|
9
|
+
const m = a(async (t) => {
|
|
10
|
+
i(t);
|
|
11
|
+
}, 20);
|
|
12
|
+
return /* @__PURE__ */ n(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
className: d(
|
|
16
|
+
"mint:h-[52px] mint:sticky mint:z-[2] mint:-mb-1 mint:-mx-2 mint:pb-0 mint:p-2 mint:left-0 mint:top-0"
|
|
17
|
+
),
|
|
18
|
+
children: /* @__PURE__ */ r("div", { className: "mint:p-1.5 mint:border mint:border-gray-200/70 mint:dark:border-white/10 mint:rounded-[0.6rem] mint:bg-white mint:dark:bg-gray-950 mint:border-solid mint:flex mint:items-center mint:gap-x-2 mint:mb-2", children: [
|
|
19
|
+
/* @__PURE__ */ n(o, { size: 16, className: "mint:min-w-4 mint:flex-none mint:text-gray-400 mint:dark:text-gray-600" }),
|
|
20
|
+
/* @__PURE__ */ n(
|
|
21
|
+
"input",
|
|
22
|
+
{
|
|
23
|
+
type: "text",
|
|
24
|
+
value: e,
|
|
25
|
+
onChange: (t) => m(t.target.value),
|
|
26
|
+
autoFocus: !0,
|
|
27
|
+
placeholder: "Search for endpoint...",
|
|
28
|
+
"aria-label": "Search for an endpoint",
|
|
29
|
+
className: "mint:w-full mint:text-sm mint:text-gray-900 mint:dark:text-gray-100 mint:placeholder-gray-400 mint:dark:placeholder-gray-600 mint:font-light mint:focus:outline-0 mint:dark:bg-gray-950"
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
] })
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
g as EndpointsMenuSearch
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=EndpointsMenuSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointsMenuSearch.js","sources":["../../../../src/api-playground/ApiPlayground/components/EndpointsMenuSearch.tsx"],"sourcesContent":["import debounce from 'lodash/debounce';\nimport { SearchIcon } from 'lucide-react';\n\nimport { cn } from '@/utils/cn';\n\nexport const EndpointsMenuSearch = ({\n search,\n setSearch,\n}: {\n search: string;\n setSearch: (search: string) => void;\n}) => {\n const handleSearchChange = debounce(async (search: string) => {\n setSearch(search);\n }, 20);\n\n return (\n <div\n className={cn(\n 'mint:h-[52px] mint:sticky mint:z-[2] mint:-mb-1 mint:-mx-2 mint:pb-0 mint:p-2 mint:left-0 mint:top-0',\n )}\n >\n <div className=\"mint:p-1.5 mint:border mint:border-gray-200/70 mint:dark:border-white/10 mint:rounded-[0.6rem] mint:bg-white mint:dark:bg-gray-950 mint:border-solid mint:flex mint:items-center mint:gap-x-2 mint:mb-2\">\n <SearchIcon size={16} className=\"mint:min-w-4 mint:flex-none mint:text-gray-400 mint:dark:text-gray-600\" />\n <input\n type=\"text\"\n value={search}\n onChange={(e) => handleSearchChange(e.target.value)}\n autoFocus\n placeholder=\"Search for endpoint...\"\n aria-label=\"Search for an endpoint\"\n className=\"mint:w-full mint:text-sm mint:text-gray-900 mint:dark:text-gray-100 mint:placeholder-gray-400 mint:dark:placeholder-gray-600 mint:font-light mint:focus:outline-0 mint:dark:bg-gray-950\"\n />\n </div>\n </div>\n );\n};\n"],"names":["EndpointsMenuSearch","search","setSearch","handleSearchChange","debounce","jsx","cn","jsxs","SearchIcon","e"],"mappings":";;;;AAKO,MAAMA,IAAsB,CAAC;AAAA,EAClC,QAAAC;AAAA,EACA,WAAAC;AACF,MAGM;AACJ,QAAMC,IAAqBC,EAAS,OAAOH,MAAmB;AAC5D,IAAAC,EAAUD,CAAM;AAAA,EAClB,GAAG,EAAE;AAEL,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2MACb,UAAA;AAAA,QAAA,gBAAAF,EAACG,GAAA,EAAW,MAAM,IAAI,WAAU,0EAAyE;AAAA,QACzG,gBAAAH;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOJ;AAAA,YACP,UAAU,CAACQ,MAAMN,EAAmBM,EAAE,OAAO,KAAK;AAAA,YAClD,WAAS;AAAA,YACT,aAAY;AAAA,YACZ,cAAW;AAAA,YACX,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { jsxs as m, jsx as i, Fragment as s } from "react/jsx-runtime";
|
|
2
|
+
import { useState as C } from "react";
|
|
3
|
+
import { isEnum as $ } from "../../EndpointFields/ParamFields/PrimitiveParamField/index.js";
|
|
4
|
+
import { Description as g } from "../../EndpointFields/components/Description.js";
|
|
5
|
+
import { InfoPill as j, RequiredPill as B, DeprecatedPill as P } from "../../../components/Api/Param.js";
|
|
6
|
+
import T from "../../../components/Api/ErrorBoundary.js";
|
|
7
|
+
import { containsMarkdownTable as q } from "../../../utils/containsMarkdownTable.js";
|
|
8
|
+
import { cn as e } from "../../../utils/cn.js";
|
|
9
|
+
import { ArrayCount as E } from "./ArrayCount.js";
|
|
10
|
+
import { ObjectExpandButton as S } from "./ObjectExpandButton.js";
|
|
11
|
+
import { TrashButton as D } from "./TrashButton.js";
|
|
12
|
+
const U = ({
|
|
13
|
+
name: d,
|
|
14
|
+
children: y,
|
|
15
|
+
schema: t,
|
|
16
|
+
onClear: a,
|
|
17
|
+
isObject: r,
|
|
18
|
+
isArray: c,
|
|
19
|
+
parentNames: n,
|
|
20
|
+
arrayIndex: o,
|
|
21
|
+
typeDropdown: p,
|
|
22
|
+
defaultExpanded: f = !0,
|
|
23
|
+
style: u,
|
|
24
|
+
explode: v
|
|
25
|
+
}) => {
|
|
26
|
+
const [l, k] = C(f), b = t.type === "object" ? Object.keys(t.properties).length : 0, h = "format" in t && typeof t.format == "string" ? `${t.type}<${t.format}>` : t.type, x = $(t) && t.description && q(t.description);
|
|
27
|
+
return /* @__PURE__ */ m(T, { children: [
|
|
28
|
+
/* @__PURE__ */ m(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: e(
|
|
32
|
+
"mint:flex mint:space-x-3 mint:items-start",
|
|
33
|
+
o != null && !r && "mint:flex mint:items-center"
|
|
34
|
+
),
|
|
35
|
+
children: [
|
|
36
|
+
o != null && /* @__PURE__ */ i(E, { className: e(r && "mint:mt-8"), children: o + 1 }),
|
|
37
|
+
/* @__PURE__ */ m(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
className: e(
|
|
41
|
+
"mint:flex-1 mint:grid mint:lg:grid-cols-2 mint:gap-x-12 mint:gap-y-4 mint:py-5 mint:max-w-full",
|
|
42
|
+
c && "mint:flex mint:flex-col",
|
|
43
|
+
r && "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",
|
|
44
|
+
o !== void 0 && "mint:py-1 mint:my-2"
|
|
45
|
+
),
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ m(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
className: e(
|
|
51
|
+
"mint:space-y-2",
|
|
52
|
+
r && "mint:pt-8 mint:py-5 mint:border-b mint:border-gray-50 mint:dark:border-white/5",
|
|
53
|
+
!l && "mint:border-none",
|
|
54
|
+
o != null && !r && "mint:flex mint:items-center"
|
|
55
|
+
),
|
|
56
|
+
children: [
|
|
57
|
+
/* @__PURE__ */ m("div", { className: "mint:flex mint:items-center mint:justify-between mint:font-mono mint:font-bold", children: [
|
|
58
|
+
/* @__PURE__ */ m(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
className: "mint:flex mint:flex-wrap mint:items-center mint:gap-2 mint:text-xs mint:truncate",
|
|
62
|
+
title: n ? `${n.join(".")}.${d}` : d,
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ i("div", { className: e("mint:text-sm mint:truncate", d == null && "mint:hidden"), children: n && n.length > 0 && u === "deepObject" && v ? /* @__PURE__ */ m(s, { children: [
|
|
65
|
+
/* @__PURE__ */ i("span", { className: "mint:text-gray-500 mint:dark:text-gray-400", children: n.map((w, N) => /* @__PURE__ */ m(s, { children: [
|
|
66
|
+
w,
|
|
67
|
+
N === 0 ? "[" : "]["
|
|
68
|
+
] })) }),
|
|
69
|
+
/* @__PURE__ */ i("span", { className: "mint:font-semibold mint:text-gray-900 mint:dark:text-gray-100", children: d }),
|
|
70
|
+
/* @__PURE__ */ i("span", { className: "mint:text-gray-500 mint:dark:text-gray-400", children: "]" })
|
|
71
|
+
] }) : /* @__PURE__ */ m(s, { children: [
|
|
72
|
+
/* @__PURE__ */ i("span", { className: "mint:text-gray-500 mint:dark:text-gray-400", children: n ? `${n.join(".")}.` : "" }),
|
|
73
|
+
/* @__PURE__ */ i("span", { className: "mint:font-semibold mint:text-gray-900 mint:dark:text-gray-100", children: d })
|
|
74
|
+
] }) }),
|
|
75
|
+
p ?? /* @__PURE__ */ i(j, { children: h }),
|
|
76
|
+
t.required && /* @__PURE__ */ i(B, {}),
|
|
77
|
+
t.deprecated && /* @__PURE__ */ i(P, {})
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
r && /* @__PURE__ */ i(
|
|
82
|
+
S,
|
|
83
|
+
{
|
|
84
|
+
onClick: () => k(!l),
|
|
85
|
+
count: b,
|
|
86
|
+
labeled: f == !1
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
] }),
|
|
90
|
+
t.description && !x && /* @__PURE__ */ i(
|
|
91
|
+
g,
|
|
92
|
+
{
|
|
93
|
+
markdown: t.description,
|
|
94
|
+
className: "mint:text-gray-500 mint:dark:text-gray-400"
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
l && /* @__PURE__ */ i(
|
|
101
|
+
"div",
|
|
102
|
+
{
|
|
103
|
+
className: e(
|
|
104
|
+
"mint:grid mint:grid-cols-1 mint:w-full mint:items-start mint:divide-y mint:divide-gray-50 mint:dark:divide-white/5",
|
|
105
|
+
c && "mint:divide-y-0"
|
|
106
|
+
),
|
|
107
|
+
children: y
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
(o != null || n) && a && /* @__PURE__ */ i(
|
|
114
|
+
D,
|
|
115
|
+
{
|
|
116
|
+
className: e(r && "mint:mt-8", n && "mint:mt-7"),
|
|
117
|
+
onClick: () => a()
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
t.description && x && /* @__PURE__ */ i(g, { markdown: t.description, className: "mint:text-gray-500 mint:dark:text-gray-400" })
|
|
124
|
+
] });
|
|
125
|
+
};
|
|
126
|
+
export {
|
|
127
|
+
U as InputContainer
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=InputContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputContainer.js","sources":["../../../../src/api-playground/ApiPlayground/components/InputContainer.tsx"],"sourcesContent":["'use client';\n\nimport { DataSchema, IncrementalDataSchema } from '@mintlify/validation';\nimport { ReactNode, useState } from 'react';\n\nimport { isEnum } from '@/api-playground/EndpointFields/ParamFields/PrimitiveParamField';\nimport { Description } from '@/api-playground/EndpointFields/components/Description';\nimport { DeprecatedPill, InfoPill, RequiredPill } from '../../../components/Api/Param';\nimport ErrorBoundary from '../../../components/Api/ErrorBoundary';\nimport { containsMarkdownTable } from '@/utils/containsMarkdownTable';\nimport { cn } from '@/utils/cn';\n\nimport { ArrayCount } from './ArrayCount';\nimport { ObjectExpandButton } from './ObjectExpandButton';\nimport { TrashButton } from './TrashButton';\n\ntype InputContainerParams = {\n name?: string;\n typeDropdown: ReactNode;\n schema: DataSchema | IncrementalDataSchema;\n children?: ReactNode;\n onClear: (() => void) | undefined;\n isObject?: boolean;\n isArray?: boolean;\n parentNames?: string[];\n arrayIndex?: number;\n defaultExpanded?: boolean;\n style?: string;\n explode?: boolean;\n};\n\nexport const InputContainer = ({\n name,\n children,\n schema,\n onClear,\n isObject,\n isArray,\n parentNames,\n arrayIndex,\n typeDropdown,\n defaultExpanded = true,\n style,\n explode,\n}: InputContainerParams) => {\n const [showChildren, setShowChildren] = useState(defaultExpanded);\n const propertiesCount = schema.type === 'object' ? Object.keys(schema.properties).length : 0;\n\n const typeLabel =\n 'format' in schema && typeof schema.format === 'string'\n ? `${schema.type}<${schema.format}>`\n : schema.type;\n\n const descriptionContainsTable =\n isEnum(schema) && schema.description && containsMarkdownTable(schema.description);\n\n return (\n <ErrorBoundary>\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:grid mint:lg:grid-cols-2 mint:gap-x-12 mint:gap-y-4 mint:py-5 mint:max-w-full',\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:pt-8 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={parentNames ? `${parentNames.join('.')}.${name}` : name}\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.required && <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 {(arrayIndex != undefined || parentNames) && onClear && (\n <TrashButton\n className={cn(isObject && 'mint:mt-8', parentNames && 'mint:mt-7')}\n onClick={() => onClear()}\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 </ErrorBoundary>\n );\n};\n"],"names":["InputContainer","name","children","schema","onClear","isObject","isArray","parentNames","arrayIndex","typeDropdown","defaultExpanded","style","explode","showChildren","setShowChildren","useState","propertiesCount","typeLabel","descriptionContainsTable","isEnum","containsMarkdownTable","ErrorBoundary","jsxs","cn","ArrayCount","jsx","Fragment","parentName","index","InfoPill","RequiredPill","DeprecatedPill","ObjectExpandButton","Description","TrashButton"],"mappings":";;;;;;;;;;;AA+BO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,OAAAC;AAAA,EACA,SAAAC;AACF,MAA4B;AAC1B,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAASL,CAAe,GAC1DM,IAAkBb,EAAO,SAAS,WAAW,OAAO,KAAKA,EAAO,UAAU,EAAE,SAAS,GAErFc,IACJ,YAAYd,KAAU,OAAOA,EAAO,UAAW,WAC3C,GAAGA,EAAO,IAAI,IAAIA,EAAO,MAAM,MAC/BA,EAAO,MAEPe,IACJC,EAAOhB,CAAM,KAAKA,EAAO,eAAeiB,EAAsBjB,EAAO,WAAW;AAElF,2BACGkB,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAf,KAAc,QAAa,CAACH,KAAY;AAAA,QAAA;AAAA,QAGzC,UAAA;AAAA,UAAAG,KAAc,0BACZgB,GAAA,EAAW,WAAWD,EAAGlB,KAAY,WAAW,GAAI,UAAAG,IAAa,EAAA,CAAE;AAAA,UAEtE,gBAAAc;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWC;AAAA,gBACT;AAAA,gBACAjB,KAAW;AAAA,gBACXD,KACE;AAAA,gBACFG,MAAe,UAAa;AAAA,cAAA;AAAA,cAG9B,UAAA;AAAA,gBAAA,gBAAAc;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAWC;AAAA,sBACT;AAAA,sBACAlB,KAAY;AAAA,sBACZ,CAACQ,KAAgB;AAAA,sBACjBL,KAAc,QAAa,CAACH,KAAY;AAAA,oBAAA;AAAA,oBAG1C,UAAA;AAAA,sBAAA,gBAAAiB,EAAC,OAAA,EAAI,WAAU,kFACb,UAAA;AAAA,wBAAA,gBAAAA;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,WAAU;AAAA,4BACV,OAAOf,IAAc,GAAGA,EAAY,KAAK,GAAG,CAAC,IAAIN,CAAI,KAAKA;AAAA,4BAE1D,UAAA;AAAA,8BAAA,gBAAAwB,EAAC,OAAA,EAAI,WAAWF,EAAG,8BAA8BtB,KAAQ,QAAa,aAAa,GAChF,UAAAM,KAAeA,EAAY,SAAS,KAAKI,MAAU,gBAAgBC,IAClE,gBAAAU,EAAAI,GAAA,EACE,UAAA;AAAA,gCAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,8CACb,UAAAlB,EAAY,IAAI,CAACoB,GAAYC,MAC5B,gBAAAN,EAAAI,GAAA,EACG,UAAA;AAAA,kCAAAC;AAAA,kCACAC,MAAU,IAAI,MAAM;AAAA,gCAAA,EAAA,CACvB,CACD,EAAA,CACH;AAAA,gCACA,gBAAAH,EAAC,QAAA,EAAK,WAAU,iEAAiE,UAAAxB,GAAK;AAAA,gCACtF,gBAAAwB,EAAC,QAAA,EAAK,WAAU,8CAA8C,UAAA,IAAA,CAAI;AAAA,8BAAA,EAAA,CACpE,IAEA,gBAAAH,EAAAI,GAAA,EACE,UAAA;AAAA,gCAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,8CACb,UAAAlB,IAAc,GAAGA,EAAY,KAAK,GAAG,CAAC,MAAM,GAAA,CAC/C;AAAA,gCACA,gBAAAkB,EAAC,QAAA,EAAK,WAAU,iEAAiE,UAAAxB,EAAA,CAAK;AAAA,8BAAA,EAAA,CACxF,EAAA,CAEJ;AAAA,8BACCQ,KAA2C,gBAAAgB,EAACI,KAAU,UAAAZ,GAAU;AAAA,8BAChEd,EAAO,YAAY,gBAAAsB,EAACK,GAAA,CAAA,CAAa;AAAA,8BACjC3B,EAAO,cAAc,gBAAAsB,EAACM,GAAA,CAAA,CAAe;AAAA,4BAAA;AAAA,0BAAA;AAAA,wBAAA;AAAA,wBAEvC1B,KACC,gBAAAoB;AAAA,0BAACO;AAAA,0BAAA;AAAA,4BACC,SAAS,MAAMlB,EAAgB,CAACD,CAAY;AAAA,4BAC5C,OAAOG;AAAA,4BACP,SAASN,KAAmB;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAC9B,GAEJ;AAAA,sBACCP,EAAO,eAAe,CAACe,KACtB,gBAAAO;AAAA,wBAACQ;AAAA,wBAAA;AAAA,0BACC,UAAU9B,EAAO;AAAA,0BACjB,WAAU;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBACZ;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGHU,KACC,gBAAAY;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAWF;AAAA,sBACT;AAAA,sBACAjB,KAAW;AAAA,oBAAA;AAAA,oBAGZ,UAAAJ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACH;AAAA,YAAA;AAAA,UAAA;AAAA,WAGFM,KAAc,QAAaD,MAAgBH,KAC3C,gBAAAqB;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,WAAWX,EAAGlB,KAAY,aAAaE,KAAe,WAAW;AAAA,cACjE,SAAS,MAAMH,EAAA;AAAA,YAAQ;AAAA,UAAA;AAAA,QACzB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGHD,EAAO,eAAee,KACrB,gBAAAO,EAACQ,KAAY,UAAU9B,EAAO,aAAa,WAAU,6CAAA,CAA6C;AAAA,EAAA,GAEtG;AAEJ;"}
|