@mintlify/msft-sdk 1.1.24 → 1.1.26
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/ApiPlaygroundContext.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js +46 -45
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/index.js +18 -18
- package/dist/api-playground/ApiPlayground/Request/index.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +1 -1
- package/dist/api-playground/ApiPlayground/Response/index.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js +20 -21
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js +10 -11
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +1 -1
- package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +1 -1
- package/dist/api-playground/ApiPlayground/index.js +30 -30
- package/dist/api-playground/ApiPlayground/index.js.map +1 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +1 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +1 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +1 -1
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -1
- package/dist/api-playground/EndpointFields/components/Description.js.map +1 -1
- package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +1 -1
- package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +1 -1
- package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +1 -1
- package/dist/api-playground/EndpointFields/index.js.map +1 -1
- package/dist/api-playground-2/Api.js.map +1 -1
- package/dist/api-playground-2/ApiExamples.js.map +1 -1
- package/dist/api-playground-2/ApiFields.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +1 -1
- package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +1 -1
- package/dist/api-playground-2/components/Example/RequestExample.js +17 -15
- package/dist/api-playground-2/components/Example/RequestExample.js.map +1 -1
- package/dist/api-playground-2/components/Example/ResponseExample.js.map +1 -1
- package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +1 -1
- package/dist/api-playground-2/components/TypeDropdown.js.map +1 -1
- package/dist/api-playground-2/constants/index.js +12 -3
- package/dist/api-playground-2/constants/index.js.map +1 -1
- package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +1 -1
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +10 -10
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +1 -1
- package/dist/api-playground-2/generators/generateSnippetMap.js +24 -24
- package/dist/api-playground-2/generators/generateSnippetMap.js.map +1 -1
- package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +1 -1
- package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js +41 -0
- package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/errors.js +19 -0
- package/dist/api-playground-2/schemaGraph/errors.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js +26 -0
- package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/getDocumentProperties.js +58 -0
- package/dist/api-playground-2/schemaGraph/getDocumentProperties.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js +77 -0
- package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js +16 -0
- package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/processExamples.js +111 -34
- package/dist/api-playground-2/schemaGraph/processExamples.js.map +1 -1
- package/dist/api-playground-2/schemaGraph/reduceCompositions.js +283 -0
- package/dist/api-playground-2/schemaGraph/reduceCompositions.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/resolveGraphNode.js +61 -0
- package/dist/api-playground-2/schemaGraph/resolveGraphNode.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js +149 -0
- package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js +33 -0
- package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js +35 -0
- package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js.map +1 -0
- package/dist/api-playground-2/schemaGraph/utils.js +144 -98
- package/dist/api-playground-2/schemaGraph/utils.js.map +1 -1
- package/dist/common/parseApiTargetFromMetadata.js +24 -0
- package/dist/common/parseApiTargetFromMetadata.js.map +1 -0
- package/dist/common/parseOpenApiString.js +42 -0
- package/dist/common/parseOpenApiString.js.map +1 -0
- package/dist/components/Api/ApiReferenceProvider.js +6 -15
- package/dist/components/Api/ApiReferenceProvider.js.map +1 -1
- package/dist/components/Api/ErrorBoundary.js.map +1 -1
- package/dist/components/Api/Expandable.js.map +1 -1
- package/dist/components/Api/Markdown.js.map +1 -1
- package/dist/components/Api/MethodPill.js.map +1 -1
- package/dist/components/Api/Param.js.map +1 -1
- package/dist/components/Api/colors.js.map +1 -1
- package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js.map +1 -1
- package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js.map +1 -1
- package/dist/components/content-components/CodeGroupSelect/index.js.map +1 -1
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/code-group.js.map +1 -1
- package/dist/components/content-components/code-snippet.js.map +1 -1
- package/dist/components/content-components/code-snippets.js.map +1 -1
- package/dist/components/content-components/getNodeText.js.map +1 -1
- package/dist/components/docsLayout.js +29 -27
- package/dist/components/docsLayout.js.map +1 -1
- package/dist/components/nav-tree/index.js +165 -156
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/contexts/CodeExampleLabelContext.js.map +1 -1
- package/dist/contexts/ConfigContext.js +61 -12
- package/dist/contexts/ConfigContext.js.map +1 -1
- package/dist/contexts/EndpointLocationContext.js.map +1 -1
- package/dist/contexts/MDXContentContext.js +0 -1
- package/dist/contexts/MDXContentContext.js.map +1 -1
- package/dist/hooks/useApiPlaygroundDisplay.js.map +1 -1
- package/dist/hooks/useApiPlaygroundInputs.js.map +1 -1
- package/dist/hooks/useBaseUrlOptions.js.map +1 -1
- package/dist/hooks/useEndpoint.js.map +1 -1
- package/dist/hooks/useKeyboardShortcut.js.map +1 -1
- package/dist/hooks/useMDXContent.js.map +1 -1
- package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +1 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +1 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +1 -1
- package/dist/hooks/usePlaygroundSchemaOptions.js.map +1 -1
- package/dist/hooks/usePrefilledInputs/index.js.map +1 -1
- package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +1 -1
- package/dist/hooks/useSecurityOption.js.map +1 -1
- package/dist/hooks/useSendPlaygroundRequest.js.map +1 -1
- package/dist/index.d.ts +129 -11
- package/dist/index.js +156 -144
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/hooks/useCurrentPath.js +0 -17
- package/dist/hooks/useCurrentPath.js.map +0 -1
- package/dist/utils/decodeSlug.js +0 -8
- package/dist/utils/decodeSlug.js.map +0 -1
- package/dist/utils/optionallyAddLeadingSlash.js +0 -7
- package/dist/utils/optionallyAddLeadingSlash.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSectionContainer.js","sources":["../../../../src/api-playground/ApiPlayground/components/InputSectionContainer.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"InputSectionContainer.js","sources":["../../../../src/api-playground/ApiPlayground/components/InputSectionContainer.tsx"],"sourcesContent":["\nimport { ReactNode, useState } from 'react';\n\nimport { CheckmarkCircleRegular, ErrorCircleRegular } from '@fluentui/react-icons';\nimport { ChevronRightFilled } 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\nexport const InputSectionContainer = ({\n name,\n validationState,\n children,\n rightElement,\n}: InputSectionContainerParams) => {\n const [expanded, setExpanded] = useState(true);\n\n return (\n <div>\n <button\n aria-label=\"Expand Input Section\"\n onClick={() => setExpanded((prev) => !prev)}\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 mint: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(\n 'mint:h-3 mint:w-3 mint:bg-gray-400 mint:dark:bg-gray-500 mint:transition-transform',\n expanded && 'mint:rotate-180'\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 {rightElement}\n </button>\n {/* since the UI components maintain some state, we can't unmount them - hide instead */}\n <div\n className={cn(\n 'mint:bg-background-light mint: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 mint: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","jsxs","prev","cn","jsx","ChevronRightFilled","ValidIcon","InvalidIcon","CheckmarkCircleRegular","ErrorCircleRegular"],"mappings":";;;;AAcO,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;AAE7C,2BACG,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cAAW;AAAA,QACX,SAAS,MAAMF,EAAY,CAACG,MAAS,CAACA,CAAI;AAAA,QAC1C,WAAWC;AAAA,UACT;AAAA,UACAL,IAAW,oEAAoE;AAAA,QAAA;AAAA,QAGjF,UAAA;AAAA,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,YAAA,gBAAAG;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,WAAWF;AAAA,kBACT;AAAA,kBACAL,KAAY;AAAA,gBAAA;AAAA,cACd;AAAA,YAAA;AAAA,YAEF,gBAAAG,EAAC,OAAA,EAAI,WAAU,0DACb,UAAA;AAAA,cAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,2FACZ,UAAAV,GACH;AAAA,cACCC,IACCA,MAAoB,YAClB,gBAAAS,EAACE,KAAU,IAEX,gBAAAF,EAACG,KAAY,IAEb;AAAA,YAAA,EAAA,CACN;AAAA,UAAA,GACF;AAAA,UACCV;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGH,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE;AAAA,UACT;AAAA,UACAL,KAAYF,IAAW,KAAK;AAAA,QAAA;AAAA,QAI9B,UAAA;AAAA,UAAA,gBAAAQ,EAAC,OAAA,EAAI;AAAA,UACJR;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ,GAEMU,IAAY,MAAM,gBAAAF,EAACI,GAAA,EAAuB,WAAU,sCAAA,CAAsC,GAE1FD,IAAc,MAAM,gBAAAH,EAACK,GAAA,EAAmB,WAAU,sCAAA,CAAsC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectExpandButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/ObjectExpandButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ObjectExpandButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/ObjectExpandButton.tsx"],"sourcesContent":["\nimport { ChevronUpDownFilled } from '@fluentui/react-icons';\n\ntype ExpandButtonProps = {\n onClick: () => void;\n count?: number;\n labeled?: boolean;\n};\n\nexport const ObjectExpandButton = ({ onClick, count, labeled }: ExpandButtonProps) => {\n let expandText = '';\n if (count === 0) {\n return null;\n }\n if (count === 1) {\n expandText = 'show 1 property';\n } else {\n expandText = `show ${count} properties`;\n }\n\n if (labeled) {\n return (\n <button\n aria-label={expandText}\n onClick={onClick}\n className=\"mint:flex mint:justify-center mint:items-center mint:pt-0.5 mint:pb-0.5 mint:pl-2 mint:pr-1.5 mint:rounded-lg mint:border mint:border-gray-200 mint:dark:border-gray-800 mint:text-gray-600 mint:dark:text-gray-400\"\n >\n <span className=\"mint:text-sm mint:font-sans mint:font-medium mint:mr-1 mint:whitespace-nowrap\">{expandText}</span>\n <ChevronUpDownFilled className=\"mint:w-3.5 mint:h-3.5\" />\n </button>\n );\n } else {\n return (\n <button\n aria-label={expandText}\n onClick={onClick}\n className=\"mint:px-1 mint:text-gray-600 mint:dark:text-gray-500\"\n >\n <ChevronUpDownFilled className=\"mint:w-3.5 mint:h-3.5\" />\n </button>\n );\n }\n};\n"],"names":["ObjectExpandButton","onClick","count","labeled","expandText","jsxs","jsx","ChevronUpDownFilled"],"mappings":";;AASO,MAAMA,IAAqB,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,SAAAC,QAAiC;AACpF,MAAIC,IAAa;AACjB,SAAIF,MAAU,IACL,QAELA,MAAU,IACZE,IAAa,oBAEbA,IAAa,QAAQF,CAAK,eAGxBC,IAEA,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAYD;AAAA,MACZ,SAAAH;AAAA,MACA,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAK,EAAC,QAAA,EAAK,WAAU,iFAAiF,UAAAF,GAAW;AAAA,QAC5G,gBAAAE,EAACC,GAAA,EAAoB,WAAU,wBAAA,CAAwB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAKzD,gBAAAD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAYF;AAAA,MACZ,SAAAH;AAAA,MACA,WAAU;AAAA,MAEV,UAAA,gBAAAK,EAACC,GAAA,EAAoB,WAAU,wBAAA,CAAwB;AAAA,IAAA;AAAA,EAAA;AAI/D;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathHeader.js","sources":["../../../../src/api-playground/ApiPlayground/components/PathHeader.tsx"],"sourcesContent":["'use client';\n\nimport { Endpoint } from '@mintlify/validation';\nimport { ChevronUpDownFilled } from '@fluentui/react-icons';\nimport { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { getMethodColor } from '@/components/Api/colors';\nimport { MethodPill } from '../../../components/Api/MethodPill';\nimport { useApiPlaygroundInputs } from '@/hooks/useMDXContentController/useApiPlaygroundInputs';\nimport {\n addPathParams,\n addServerVariables,\n joinWithSingleSlash,\n} from '../../../hooks/useSendPlaygroundRequest';\nimport { MethodPillType } from '../../../api-playground-2/types/api';\nimport { CheckmarkCircleRegular, CopySelectRegular, SpinnerIosRegular, PlayRegular } from '@fluentui/react-icons';\nimport { copyToClipboard } from '@/utils/copyToClipboard';\n\nimport { ApiPlaygroundContext } from '../ApiPlaygroundContext';\nimport { cn } from \"../../../utils/cn\";\n\ntype EndpointHeaderProps = {\n endpoint: Endpoint;\n display: 'simple' | 'none' | 'interactive';\n onClickInteractive?: () => void;\n hasGrayBackground?: boolean;\n};\n\nexport const EndpointHeader = ({\n endpoint,\n display,\n onClickInteractive,\n hasGrayBackground,\n}: EndpointHeaderProps) => {\n return (\n <div className=\"mint:flex mint:items-center mint:space-x-1.5\">\n <PathHeader endpoint={endpoint} display={display} hasGrayBackground={hasGrayBackground} />\n {display === 'simple' ? null : (\n <SendPill method={endpoint.method} label=\"Try it\" onClick={onClickInteractive} />\n )}\n </div>\n );\n};\n\nconst BasePathSelector = () => {\n const { baseUrlOptions, selectedBaseUrlIndex, setSelectedBaseUrlIndex } =\n useContext(ApiPlaygroundContext);\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 const storedBaseUrl = sessionStorage.getItem('selectedBaseUrl');\n if (\n storedBaseUrl &&\n storedBaseUrl !== selectedOption &&\n baseUrlOptions &&\n setSelectedBaseUrlIndex &&\n baseUrlOptions.includes(storedBaseUrl)\n ) {\n setSelectedBaseUrlIndex(baseUrlOptions.indexOf(storedBaseUrl));\n span.textContent = storedBaseUrl;\n } else {\n span.textContent = selectedOption ?? '';\n }\n document.body.appendChild(span);\n\n const paddingWidth = 16;\n\n setSelectWidth(span.offsetWidth + paddingWidth);\n document.body.removeChild(span);\n }, [selectedOption, setSelectedBaseUrlIndex, selectedBaseUrlIndex, baseUrlOptions]);\n\n if (!baseUrlOptions || baseUrlOptions.length <= 1 || !setSelectedBaseUrlIndex) return null;\n\n return (\n <div className=\"mint:flex mint:items-center mint:gap-1 mint:relative mint:-mr-1\">\n <select\n aria-label=\"Base Path Selector\"\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 sessionStorage.setItem('selectedBaseUrl', baseUrlOptions[Number(e.target.value)] ?? '');\n setSelectedBaseUrlIndex(Number(e.target.value));\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\nexport const PathHeader = ({ endpoint, display, hasGrayBackground }: EndpointHeaderProps) => {\n const [isCopiedActive, setIsCopiedActive] = useState(false);\n const { baseUrlOptions, selectedBaseUrlIndex } = useContext(ApiPlaygroundContext);\n const inputs = useApiPlaygroundInputs();\n\n const baseUrl = baseUrlOptions?.[selectedBaseUrlIndex] ?? baseUrlOptions?.[0] ?? '';\n\n const onCopy = async () => {\n const pathWithInputs = addPathParams(endpoint.path, inputs.path);\n const toCopy = joinWithSingleSlash(addServerVariables(baseUrl, inputs.server), pathWithInputs);\n\n const result = await copyToClipboard(toCopy);\n if (result === 'success') {\n setIsCopiedActive(true);\n setTimeout(() => {\n setIsCopiedActive(false);\n }, 2000);\n }\n };\n\n return (\n <div\n className={cn(\n 'mint:relative mint:flex-1 mint:flex mint:gap-2 mint:min-w-0 mint:rounded-xl mint:items-center mint:cursor-pointer mint:p-1.5 mint:pr-0 mint:overflow-hidden',\n display != 'simple' && 'mint:border-standard',\n hasGrayBackground && 'mint:bg-gray-50 mint:dark:bg-white/5'\n )}\n onClick={onCopy}\n >\n <MethodPill\n method={endpoint.type === 'webhook' ? 'webhook' : endpoint.method}\n isActive={false}\n />\n <div className=\"mint:flex mint:items-center mint:space-x-2 mint:overflow-x-auto mint:flex-1 mint:no-scrollbar\">\n {endpoint.type !== 'webhook' && <BasePathSelector />}\n <PrettyPath\n endpoint={endpoint}\n display={display}\n isCopiedActive={isCopiedActive}\n hasGrayBackground={hasGrayBackground}\n />\n </div>\n </div>\n );\n};\n\nconst PrettyPath = ({\n endpoint,\n isCopiedActive,\n hasGrayBackground,\n}: EndpointHeaderProps & { isCopiedActive: boolean }) => {\n const pathParts = useMemo(() => {\n return endpoint.path.split('/').flatMap((component, i) => {\n const componentParts = [];\n if (i > 0) {\n componentParts.push(<SlashPart key={i} />);\n }\n\n component.split('{').forEach((paramAndText, j) => {\n if (paramAndText.includes('}')) {\n const [param, text] = paramAndText.split('}');\n componentParts.push(\n <ParamPart key={`${i}-${j}-param`} method={endpoint.method}>\n { }\n {param!}\n </ParamPart>\n );\n if (text) {\n componentParts.push(<LiteralPart key={`${i}-${j}`}>{text}</LiteralPart>);\n }\n } else if (paramAndText) {\n componentParts.push(<LiteralPart key={`${i}-${j}`}>{paramAndText}</LiteralPart>);\n }\n });\n\n return componentParts;\n });\n }, [endpoint.path, endpoint.method]);\n\n return (\n <div className=\"mint:group mint:flex mint:items-center mint:flex-1 mint:gap-0.5 mint:font-mono mint:pr-1.5\">\n <div\n className={cn(\n 'mint:absolute mint:right-0 mint:p-2 mint:bg-background-light mint:dark:bg-background-dark mint:rounded-lg',\n hasGrayBackground && 'mint:bg-transparent mint:dark:bg-transparent',\n isCopiedActive ? 'mint:block' : 'mint:hidden mint:group-hover:block'\n )}\n >\n {isCopiedActive ? (\n <CheckmarkCircleRegular\n className=\"mint:w-4 mint:h-4 mint:bg-primary mint:dark:bg-primary-light\"\n />\n ) : (\n <CopySelectRegular className=\"mint:w-4 mint:h-4 mint:bg-gray-400 mint:dark:bg-white/30\" />\n )}\n </div>\n {pathParts}\n </div>\n );\n};\n\nconst LiteralPart = ({ children }: { children: string }) => (\n <div className=\"mint:text-sm mint:font-medium mint:text-gray-800 mint:dark:text-white mint:min-w-max\">{children}</div>\n);\n\nconst ParamPart = ({ children, method }: { children: string; method: MethodPillType }) => {\n const { activeNavPillBg, activeNavPillText, inactiveNavPillText, inactiveNavPillBg } = getMethodColor(method);\n return (\n <div\n className={cn('mint:text-sm mint:font-mono mint:font-medium mint:rounded-md mint:px-1 mint:border-2 mint:min-w-max', activeNavPillBg, activeNavPillText, inactiveNavPillText, inactiveNavPillBg)}\n >{`\\{${children}\\}`}</div>\n );\n};\n\nconst SlashPart = () => <div className=\"mint:text-sm mint:text-gray-400\">/</div>;\n\nexport const SendPill = ({\n label,\n method,\n onClick,\n isSending,\n className,\n}: {\n label: string;\n method: MethodPillType;\n onClick?: () => void;\n isSending?: boolean;\n className?: string;\n}) => {\n const { activeNavPillBg } = getMethodColor(method);\n return (\n <button\n className={cn(\n 'try-it-button',\n 'mint:flex mint:items-center mint:justify-center mint:px-3 mint:h-9 mint:text-white mint:font-medium mint:rounded-xl mint:mouse-pointer mint:disabled:opacity-70 mint:hover:opacity-80 mint:gap-1.5',\n activeNavPillBg,\n className\n )}\n onClick={onClick}\n disabled={isSending}\n data-testid=\"try-it-button\"\n >\n {isSending ? (\n <SpinnerIosRegular className=\"mint:w-4 mint:h-4 mint:bg-white mint:animate-spin\" />\n ) : (\n <>\n <span>{label}</span>\n <PlayRegular className=\"mint:w-3 mint:h-3 mint:bg-white\" />\n </>\n )}\n </button>\n );\n};\n"],"names":["EndpointHeader","endpoint","display","onClickInteractive","hasGrayBackground","jsxs","jsx","PathHeader","SendPill","BasePathSelector","baseUrlOptions","selectedBaseUrlIndex","setSelectedBaseUrlIndex","useContext","ApiPlaygroundContext","selectWidth","setSelectWidth","useState","selectedOption","useEffect","span","storedBaseUrl","url","i","ChevronUpDownFilled","isCopiedActive","setIsCopiedActive","inputs","useApiPlaygroundInputs","baseUrl","onCopy","pathWithInputs","addPathParams","toCopy","joinWithSingleSlash","addServerVariables","copyToClipboard","cn","MethodPill","PrettyPath","pathParts","useMemo","component","componentParts","SlashPart","paramAndText","j","param","text","ParamPart","LiteralPart","CheckmarkCircleRegular","CopySelectRegular","children","method","activeNavPillBg","activeNavPillText","inactiveNavPillText","inactiveNavPillBg","getMethodColor","label","onClick","isSending","className","SpinnerIosRegular","Fragment","PlayRegular"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PathHeader.js","sources":["../../../../src/api-playground/ApiPlayground/components/PathHeader.tsx"],"sourcesContent":["\nimport { Endpoint } from '@mintlify/validation';\nimport { ChevronUpDownFilled } from '@fluentui/react-icons';\nimport { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { getMethodColor } from '@/components/Api/colors';\nimport { MethodPill } from '../../../components/Api/MethodPill';\nimport { useApiPlaygroundInputs } from '@/hooks/useMDXContentController/useApiPlaygroundInputs';\nimport {\n addPathParams,\n addServerVariables,\n joinWithSingleSlash,\n} from '../../../hooks/useSendPlaygroundRequest';\nimport { MethodPillType } from '../../../api-playground-2/types/api';\nimport { CheckmarkCircleRegular, CopySelectRegular, SpinnerIosRegular, PlayRegular } from '@fluentui/react-icons';\nimport { copyToClipboard } from '@/utils/copyToClipboard';\n\nimport { ApiPlaygroundContext } from '../ApiPlaygroundContext';\nimport { cn } from \"../../../utils/cn\";\n\ntype EndpointHeaderProps = {\n endpoint: Endpoint;\n display: 'simple' | 'none' | 'interactive';\n onClickInteractive?: () => void;\n hasGrayBackground?: boolean;\n};\n\nexport const EndpointHeader = ({\n endpoint,\n display,\n onClickInteractive,\n hasGrayBackground,\n}: EndpointHeaderProps) => {\n return (\n <div className=\"mint:flex mint:items-center mint:space-x-1.5\">\n <PathHeader endpoint={endpoint} display={display} hasGrayBackground={hasGrayBackground} />\n {display === 'simple' ? null : (\n <SendPill method={endpoint.method} label=\"Try it\" onClick={onClickInteractive} />\n )}\n </div>\n );\n};\n\nconst BasePathSelector = () => {\n const { baseUrlOptions, selectedBaseUrlIndex, setSelectedBaseUrlIndex } =\n useContext(ApiPlaygroundContext);\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 const storedBaseUrl = sessionStorage.getItem('selectedBaseUrl');\n if (\n storedBaseUrl &&\n storedBaseUrl !== selectedOption &&\n baseUrlOptions &&\n setSelectedBaseUrlIndex &&\n baseUrlOptions.includes(storedBaseUrl)\n ) {\n setSelectedBaseUrlIndex(baseUrlOptions.indexOf(storedBaseUrl));\n span.textContent = storedBaseUrl;\n } else {\n span.textContent = selectedOption ?? '';\n }\n document.body.appendChild(span);\n\n const paddingWidth = 16;\n\n setSelectWidth(span.offsetWidth + paddingWidth);\n document.body.removeChild(span);\n }, [selectedOption, setSelectedBaseUrlIndex, selectedBaseUrlIndex, baseUrlOptions]);\n\n if (!baseUrlOptions || baseUrlOptions.length <= 1 || !setSelectedBaseUrlIndex) return null;\n\n return (\n <div className=\"mint:flex mint:items-center mint:gap-1 mint:relative mint:-mr-1\">\n <select\n aria-label=\"Base Path Selector\"\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 sessionStorage.setItem('selectedBaseUrl', baseUrlOptions[Number(e.target.value)] ?? '');\n setSelectedBaseUrlIndex(Number(e.target.value));\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\nexport const PathHeader = ({ endpoint, display, hasGrayBackground }: EndpointHeaderProps) => {\n const [isCopiedActive, setIsCopiedActive] = useState(false);\n const { baseUrlOptions, selectedBaseUrlIndex } = useContext(ApiPlaygroundContext);\n const inputs = useApiPlaygroundInputs();\n\n const baseUrl = baseUrlOptions?.[selectedBaseUrlIndex] ?? baseUrlOptions?.[0] ?? '';\n\n const onCopy = async () => {\n const pathWithInputs = addPathParams(endpoint.path, inputs.path);\n const toCopy = joinWithSingleSlash(addServerVariables(baseUrl, inputs.server), pathWithInputs);\n\n const result = await copyToClipboard(toCopy);\n if (result === 'success') {\n setIsCopiedActive(true);\n setTimeout(() => {\n setIsCopiedActive(false);\n }, 2000);\n }\n };\n\n return (\n <div\n className={cn(\n 'mint:relative mint:flex-1 mint:flex mint:gap-2 mint:min-w-0 mint:rounded-xl mint:items-center mint:cursor-pointer mint:p-1.5 mint:pr-0 mint:overflow-hidden',\n display != 'simple' && 'mint:border-standard',\n hasGrayBackground && 'mint:bg-gray-50 mint:dark:bg-white/5'\n )}\n onClick={onCopy}\n >\n <MethodPill\n method={endpoint.type === 'webhook' ? 'webhook' : endpoint.method}\n isActive={false}\n />\n <div className=\"mint:flex mint:items-center mint:space-x-2 mint:overflow-x-auto mint:flex-1 mint:no-scrollbar\">\n {endpoint.type !== 'webhook' && <BasePathSelector />}\n <PrettyPath\n endpoint={endpoint}\n display={display}\n isCopiedActive={isCopiedActive}\n hasGrayBackground={hasGrayBackground}\n />\n </div>\n </div>\n );\n};\n\nconst PrettyPath = ({\n endpoint,\n isCopiedActive,\n hasGrayBackground,\n}: EndpointHeaderProps & { isCopiedActive: boolean }) => {\n const pathParts = useMemo(() => {\n return endpoint.path.split('/').flatMap((component, i) => {\n const componentParts = [];\n if (i > 0) {\n componentParts.push(<SlashPart key={i} />);\n }\n\n component.split('{').forEach((paramAndText, j) => {\n if (paramAndText.includes('}')) {\n const [param, text] = paramAndText.split('}');\n componentParts.push(\n <ParamPart key={`${i}-${j}-param`} method={endpoint.method}>\n { }\n {param!}\n </ParamPart>\n );\n if (text) {\n componentParts.push(<LiteralPart key={`${i}-${j}`}>{text}</LiteralPart>);\n }\n } else if (paramAndText) {\n componentParts.push(<LiteralPart key={`${i}-${j}`}>{paramAndText}</LiteralPart>);\n }\n });\n\n return componentParts;\n });\n }, [endpoint.path, endpoint.method]);\n\n return (\n <div className=\"mint:group mint:flex mint:items-center mint:flex-1 mint:gap-0.5 mint:font-mono mint:pr-1.5\">\n <div\n className={cn(\n 'mint:absolute mint:right-0 mint:p-2 mint:bg-background-light mint:dark:bg-background-dark mint:rounded-lg',\n hasGrayBackground && 'mint:bg-transparent mint:dark:bg-transparent',\n isCopiedActive ? 'mint:block' : 'mint:hidden mint:group-hover:block'\n )}\n >\n {isCopiedActive ? (\n <CheckmarkCircleRegular\n className=\"mint:w-4 mint:h-4 mint:bg-primary mint:dark:bg-primary-light\"\n />\n ) : (\n <CopySelectRegular className=\"mint:w-4 mint:h-4 mint:bg-gray-400 mint:dark:bg-white/30\" />\n )}\n </div>\n {pathParts}\n </div>\n );\n};\n\nconst LiteralPart = ({ children }: { children: string }) => (\n <div className=\"mint:text-sm mint:font-medium mint:text-gray-800 mint:dark:text-white mint:min-w-max\">{children}</div>\n);\n\nconst ParamPart = ({ children, method }: { children: string; method: MethodPillType }) => {\n const { activeNavPillBg, activeNavPillText, inactiveNavPillText, inactiveNavPillBg } = getMethodColor(method);\n return (\n <div\n className={cn('mint:text-sm mint:font-mono mint:font-medium mint:rounded-md mint:px-1 mint:border-2 mint:min-w-max', activeNavPillBg, activeNavPillText, inactiveNavPillText, inactiveNavPillBg)}\n >{`\\{${children}\\}`}</div>\n );\n};\n\nconst SlashPart = () => <div className=\"mint:text-sm mint:text-gray-400\">/</div>;\n\nexport const SendPill = ({\n label,\n method,\n onClick,\n isSending,\n className,\n}: {\n label: string;\n method: MethodPillType;\n onClick?: () => void;\n isSending?: boolean;\n className?: string;\n}) => {\n const { activeNavPillBg } = getMethodColor(method);\n return (\n <button\n className={cn(\n 'try-it-button',\n 'mint:flex mint:items-center mint:justify-center mint:px-3 mint:h-9 mint:text-white mint:font-medium mint:rounded-xl mint:mouse-pointer mint:disabled:opacity-70 mint:hover:opacity-80 mint:gap-1.5',\n activeNavPillBg,\n className\n )}\n onClick={onClick}\n disabled={isSending}\n data-testid=\"try-it-button\"\n >\n {isSending ? (\n <SpinnerIosRegular className=\"mint:w-4 mint:h-4 mint:bg-white mint:animate-spin\" />\n ) : (\n <>\n <span>{label}</span>\n <PlayRegular className=\"mint:w-3 mint:h-3 mint:bg-white\" />\n </>\n )}\n </button>\n );\n};\n"],"names":["EndpointHeader","endpoint","display","onClickInteractive","hasGrayBackground","jsxs","jsx","PathHeader","SendPill","BasePathSelector","baseUrlOptions","selectedBaseUrlIndex","setSelectedBaseUrlIndex","useContext","ApiPlaygroundContext","selectWidth","setSelectWidth","useState","selectedOption","useEffect","span","storedBaseUrl","url","i","ChevronUpDownFilled","isCopiedActive","setIsCopiedActive","inputs","useApiPlaygroundInputs","baseUrl","onCopy","pathWithInputs","addPathParams","toCopy","joinWithSingleSlash","addServerVariables","copyToClipboard","cn","MethodPill","PrettyPath","pathParts","useMemo","component","componentParts","SlashPart","paramAndText","j","param","text","ParamPart","LiteralPart","CheckmarkCircleRegular","CopySelectRegular","children","method","activeNavPillBg","activeNavPillText","inactiveNavPillText","inactiveNavPillBg","getMethodColor","label","onClick","isSending","className","SpinnerIosRegular","Fragment","PlayRegular"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaygroundModalWrapper.js","sources":["../../../../src/api-playground/ApiPlayground/components/PlaygroundModalWrapper.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"PlaygroundModalWrapper.js","sources":["../../../../src/api-playground/ApiPlayground/components/PlaygroundModalWrapper.tsx"],"sourcesContent":["\nimport { Transition, TransitionChild } from '@headlessui/react';\nimport { Fragment } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { zIndex } from '@/constants/zIndex';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\ntype PlaygroundModalWrapperProps = {\n isPlaygroundExpanded: boolean;\n setIsPlaygroundExpanded?: (isPlaygroundExpanded: boolean) => void;\n children: React.ReactNode;\n};\n\nexport const PlaygroundModalWrapper = ({\n isPlaygroundExpanded,\n setIsPlaygroundExpanded,\n children,\n}: PlaygroundModalWrapperProps) => {\n if (typeof window === 'undefined') return null;\n\n return createPortal(\n <Transition show={isPlaygroundExpanded} as={Fragment}>\n <div className={cn(zIndex.Popup, 'mint:fixed mint:inset-0 mint:overflow-y-auto mint:p-4 mint:sm:p-6 mint:md:p-12')}>\n <TransitionChild\n as={Fragment}\n enter=\"mint:ease-out mint:duration-100\"\n enterFrom=\"mint:opacity-0\"\n enterTo=\"mint:opacity-100\"\n leave=\"mint:ease-in mint:duration-50\"\n leaveFrom=\"mint:opacity-100\"\n leaveTo=\"mint:opacity-0\"\n >\n <div\n className=\"mint:fixed mint:z-0 mint:inset-0 mint:bg-background-dark/20 mint:transition-opacity mint:backdrop-blur-sm\"\n onClick={() => setIsPlaygroundExpanded?.(false)}\n />\n </TransitionChild>\n <TransitionChild\n as={Fragment}\n enter=\"mint:ease-out mint:duration-100\"\n enterFrom=\"mint:opacity-0 mint:scale-95\"\n enterTo=\"mint:opacity-100 mint:scale-100\"\n leave=\"mint:ease-in mint:duration-50\"\n leaveFrom=\"mint:opacity-100 mint:scale-100\"\n leaveTo=\"mint:opacity-0 mint:scale-95\"\n >\n <div\n data-testid=\"api-playground-modal\"\n className=\"mint:relative mint:z-10 mint:flex mint:flex-col mint:mx-auto mint:max-w-screen-xl mint:transform mint:bg-background-light mint:dark:bg-background-dark mint:shadow-search mint:rounded-3xl mint:border-standard\">\n <div className=\"mint:p-4\">{children}</div>\n </div>\n </TransitionChild>\n </div>\n </Transition>,\n document.body\n );\n};\n"],"names":["PlaygroundModalWrapper","isPlaygroundExpanded","setIsPlaygroundExpanded","children","createPortal","jsx","Transition","Fragment","jsxs","cn","zIndex","TransitionChild"],"mappings":";;;;;;;AAcO,MAAMA,IAAyB,CAAC;AAAA,EACrC,sBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,UAAAC;AACF,MACM,OAAO,SAAW,MAAoB,OAEnCC;AAAA,EACL,gBAAAC,EAACC,GAAA,EAAW,MAAML,GAAsB,IAAIM,GAC1C,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAGC,EAAO,OAAO,gFAAgF,GAC/G,UAAA;AAAA,IAAA,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,IAAIJ;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,UAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAMH,KAAA,gBAAAA,EAA0B;AAAA,UAAK;AAAA,QAAA;AAAA,MAChD;AAAA,IAAA;AAAA,IAEF,gBAAAG;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,IAAIJ;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,UAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAU;AAAA,YACV,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,YAAY,UAAAF,EAAA,CAAS;AAAA,UAAA;AAAA,QAAA;AAAA,MACtC;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAAA,EACA,SAAS;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrashButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/TrashButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"TrashButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/TrashButton.tsx"],"sourcesContent":["\nimport { useSelectedLocale } from '@/utils/locales';\nimport { TrashIcon } from 'lucide-react';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const TrashButton = ({\n className,\n onClick,\n}: {\n className?: string;\n onClick?: () => void;\n}) => {\n const locale = useSelectedLocale();\n\n return (\n <button\n className={cn(\n 'mint:px-1 mint:text-gray-400 mint:dark:text-gray-600 mint:hover:text-gray-600 mint:dark:hover:text-gray-400',\n className\n )}\n onClick={onClick}\n aria-label={locale['aria.deleteItem']}\n >\n <TrashIcon className=\"mint:w-4 mint:h-4\" />\n </button>\n );\n};\n"],"names":["TrashButton","className","onClick","locale","useSelectedLocale","jsx","cn","TrashIcon"],"mappings":";;;;;AAKO,MAAMA,IAAc,CAAC;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AACF,MAGM;AACJ,QAAMC,IAASC,EAAA;AAEf,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAEF,SAAAC;AAAA,MACA,cAAYC,EAAO,iBAAiB;AAAA,MAEpC,UAAA,gBAAAE,EAACE,GAAA,EAAU,WAAU,oBAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAG/C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeDropdown.js","sources":["../../../../src/api-playground/ApiPlayground/components/TypeDropdown.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"TypeDropdown.js","sources":["../../../../src/api-playground/ApiPlayground/components/TypeDropdown.tsx"],"sourcesContent":["\nimport { ChevronDownFilled } from '@fluentui/react-icons';\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@/components/Api/dropdown-menu';\nimport { SchemaWithLabelInfo } from '@/hooks/usePlaygroundSchemaOptions';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\ntype TypeDropdownParams = {\n options: SchemaWithLabelInfo[];\n selectedIndex: number;\n onSelectOption: (index: number) => void;\n className?: string;\n};\n\nfunction getOptionLabel(option?: SchemaWithLabelInfo) {\n if (!option) return;\n if (option.schema.deprecated) {\n return `${option.label}, deprecated`;\n }\n return option.label;\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 mint:dark:text-gray-300 mint:hover:text-gray-950 mint: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\"\n >\n <div className=\"mint:flex mint:items-center mint:gap-1.5\">\n <span>{getOptionLabel(selectedOption)}</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 {getOptionLabel(option)}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n};\n"],"names":["getOptionLabel","option","TypeDropdown","options","selectedIndex","onSelectOption","className","displayOptions","selectedOption","jsx","cn","DropdownMenu","DropdownMenuTrigger","jsxs","ChevronDownFilled","DropdownMenuContent","index","DropdownMenuItem"],"mappings":";;;;;AAmBA,SAASA,EAAeC,GAA8B;AACpD,MAAKA;AACL,WAAIA,EAAO,OAAO,aACT,GAAGA,EAAO,KAAK,iBAEjBA,EAAO;AAChB;AAEO,MAAMC,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,UAAAT,EAAeQ,CAAc,EAAA,CAAE;AAAA,cACrCD,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,CAACd,GAAQe,MACpB,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YAEC,YAAYD,MAAUZ;AAAA,YACtB,UAAU,MAAMC,EAAeW,CAAK;AAAA,YACpC,WAAU;AAAA,YAET,YAAef,CAAM;AAAA,UAAA;AAAA,UALjBe;AAAA,QAAA,CAOR,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { useContext as
|
|
3
|
-
import { DocsConfigContext as
|
|
4
|
-
import { EndpointLocationProvider as
|
|
5
|
-
import { useBaseUrlOptions as
|
|
2
|
+
import { useContext as U, useState as n, useEffect as b } from "react";
|
|
3
|
+
import { DocsConfigContext as L } from "../../contexts/ConfigContext.js";
|
|
4
|
+
import { EndpointLocationProvider as T } from "../../contexts/EndpointLocationContext.js";
|
|
5
|
+
import { useBaseUrlOptions as j } from "../../hooks/useBaseUrlOptions.js";
|
|
6
6
|
import { useKeyboardShortcut as y } from "../../hooks/useKeyboardShortcut.js";
|
|
7
|
-
import { useApiPlaygroundInputs as
|
|
8
|
-
import { useSetApiBaseIndexCallback as
|
|
9
|
-
import { useSetApiPlaygroundInputsCallback as
|
|
10
|
-
import { useSendPlaygroundRequest as
|
|
11
|
-
import
|
|
12
|
-
import { ApiPlaygroundContext as
|
|
13
|
-
import { Request as
|
|
14
|
-
const
|
|
7
|
+
import { useApiPlaygroundInputs as F } from "../../hooks/useMDXContentController/useApiPlaygroundInputs.js";
|
|
8
|
+
import { useSetApiBaseIndexCallback as K } from "../../hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js";
|
|
9
|
+
import { useSetApiPlaygroundInputsCallback as D } from "../../hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js";
|
|
10
|
+
import { useSendPlaygroundRequest as N } from "../../hooks/useSendPlaygroundRequest.js";
|
|
11
|
+
import Q from "../../components/Api/ErrorBoundary.js";
|
|
12
|
+
import { ApiPlaygroundContext as W } from "./ApiPlaygroundContext.js";
|
|
13
|
+
import { Request as _ } from "./Request/index.js";
|
|
14
|
+
const oe = ({ endpoint: r, display: f, pathname: x }) => {
|
|
15
15
|
var m, p;
|
|
16
|
-
const { docsConfig: a } =
|
|
17
|
-
|
|
16
|
+
const { docsConfig: a } = U(L), h = F(), I = D(), g = K(), e = j(), [c, P] = n(0), [l, i] = n(!1), [S, w] = n(!1), [E, B] = n(), [k, z] = n(0), v = Object.keys(r.request.body)[k], [A, C] = n(0), R = (e == null ? void 0 : e[c]) ?? (e == null ? void 0 : e[0]) ?? "";
|
|
17
|
+
b(() => {
|
|
18
18
|
new URLSearchParams(window.location.search).has("playground") && requestAnimationFrame(() => {
|
|
19
19
|
i(!0);
|
|
20
20
|
});
|
|
21
21
|
}, []);
|
|
22
|
-
const d =
|
|
22
|
+
const d = N({
|
|
23
23
|
endpoint: r,
|
|
24
|
-
baseUrl:
|
|
25
|
-
contentType:
|
|
26
|
-
setIsFetching:
|
|
27
|
-
setResult:
|
|
28
|
-
}),
|
|
29
|
-
|
|
24
|
+
baseUrl: R,
|
|
25
|
+
contentType: v ?? "application/json",
|
|
26
|
+
setIsFetching: w,
|
|
27
|
+
setResult: B
|
|
28
|
+
}), q = (t) => {
|
|
29
|
+
P(t), g(t);
|
|
30
30
|
}, u = (t) => {
|
|
31
31
|
if (i(t), t) {
|
|
32
32
|
const o = new URL(window.location.href);
|
|
@@ -43,26 +43,26 @@ const ne = ({ endpoint: r, display: f }) => {
|
|
|
43
43
|
key: "Escape",
|
|
44
44
|
callback: l ? () => u(!1) : void 0,
|
|
45
45
|
isSingleKey: !0
|
|
46
|
-
}), /* @__PURE__ */ s(
|
|
47
|
-
|
|
46
|
+
}), /* @__PURE__ */ s(Q, { children: /* @__PURE__ */ s(
|
|
47
|
+
W.Provider,
|
|
48
48
|
{
|
|
49
49
|
value: {
|
|
50
|
-
isSending:
|
|
50
|
+
isSending: S,
|
|
51
51
|
sendRequest: d,
|
|
52
|
-
result:
|
|
53
|
-
setSelectedBaseUrlIndex:
|
|
52
|
+
result: E,
|
|
53
|
+
setSelectedBaseUrlIndex: q,
|
|
54
54
|
selectedBaseUrlIndex: c,
|
|
55
55
|
baseUrlOptions: e,
|
|
56
56
|
isPlaygroundExpanded: l,
|
|
57
57
|
setIsPlaygroundExpanded: u,
|
|
58
|
-
selectedExampleIndex:
|
|
59
|
-
setSelectedExampleIndex:
|
|
58
|
+
selectedExampleIndex: A,
|
|
59
|
+
setSelectedExampleIndex: C
|
|
60
60
|
},
|
|
61
|
-
children: /* @__PURE__ */ s("div", { className: "mint:mt-6 mint:flex mint:w-full mint:flex-col mint:space-y-4", children: /* @__PURE__ */ s(
|
|
61
|
+
children: /* @__PURE__ */ s("div", { className: "mint:mt-6 mint:flex mint:w-full mint:flex-col mint:space-y-4", children: /* @__PURE__ */ s(T, { location: "request", children: /* @__PURE__ */ s(_, { inputs: h, setInputs: I, endpoint: r, display: f, pathname: x }) }) })
|
|
62
62
|
}
|
|
63
63
|
) });
|
|
64
64
|
};
|
|
65
65
|
export {
|
|
66
|
-
|
|
66
|
+
oe as ApiPlayground
|
|
67
67
|
};
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/api-playground/ApiPlayground/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/api-playground/ApiPlayground/index.tsx"],"sourcesContent":["\nimport { ApiPlaygroundResultType, ApiPlaygroundDisplayType } from '@mintlify/models';\nimport { Endpoint } from '@mintlify/validation';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { DocsConfigContext } from '@/contexts/ConfigContext';\nimport { EndpointLocationProvider } from '@/contexts/EndpointLocationContext';\nimport { useBaseUrlOptions } from '../../hooks/useBaseUrlOptions';\nimport { useKeyboardShortcut } from '@/hooks/useKeyboardShortcut';\nimport { useApiPlaygroundInputs } from '@/hooks/useMDXContentController/useApiPlaygroundInputs';\nimport { useSetApiBaseIndexCallback } from '@/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback';\nimport { useSetApiPlaygroundInputsCallback } from '@/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback';\nimport { useSendPlaygroundRequest } from '@/hooks/useSendPlaygroundRequest';\nimport ErrorBoundary from '@/components/Api/ErrorBoundary';\n\nimport { ApiPlaygroundContext } from './ApiPlaygroundContext';\nimport { Request } from './Request';\nimport { cn } from \"../../utils/cn\";\n\ntype ApiPlaygroundParams = {\n endpoint: Endpoint;\n display: ApiPlaygroundDisplayType;\n pathname: string;\n};\n\nexport const ApiPlayground = ({ endpoint, display, pathname }: ApiPlaygroundParams) => {\n const { docsConfig } = useContext(DocsConfigContext);\n const inputs = useApiPlaygroundInputs();\n const setInputs = useSetApiPlaygroundInputsCallback();\n const setApiBaseIndex = useSetApiBaseIndexCallback();\n\n const baseUrlOptions = useBaseUrlOptions();\n const [selectedBaseUrlIndex, setSelectedBaseUrlIndex] = useState(0);\n const [isPlaygroundExpanded, setIsPlaygroundExpanded] = useState(false);\n\n const [isSending, setIsSending] = useState(false);\n const [result, setResult] = useState<ApiPlaygroundResultType>();\n\n const [selectedContentTypeIndex, _setSelectedContentTypeIndex] = useState(0);\n const contentType = Object.keys(endpoint.request.body)[selectedContentTypeIndex];\n const [selectedExampleIndex, setSelectedExampleIndex] = useState(0);\n\n const baseUrl = baseUrlOptions?.[selectedBaseUrlIndex] ?? baseUrlOptions?.[0] ?? '';\n\n useEffect(() => {\n const searchParams = new URLSearchParams(window.location.search);\n if (searchParams.has('playground')) {\n requestAnimationFrame(() => {\n setIsPlaygroundExpanded(true);\n });\n }\n }, []);\n\n const sendRequest = useSendPlaygroundRequest({\n endpoint,\n baseUrl,\n contentType: contentType ?? 'application/json',\n setIsFetching: setIsSending,\n setResult,\n });\n\n const setBaseUrlIndex = (index: number) => {\n setSelectedBaseUrlIndex(index);\n setApiBaseIndex(index);\n };\n\n const setIsPlaygroundExpandedWithQueryParam = (expanded: boolean) => {\n setIsPlaygroundExpanded(expanded);\n if (expanded) {\n const url = new URL(window.location.href);\n url.searchParams.set('playground', 'open');\n window.history.replaceState({}, '', url);\n } else {\n const url = new URL(window.location.href);\n url.searchParams.delete('playground');\n window.history.replaceState({}, '', url);\n }\n };\n\n useKeyboardShortcut({\n key: 'Enter',\n callback: docsConfig?.api?.playground?.display === 'interactive' ? sendRequest : undefined,\n });\n useKeyboardShortcut({\n key: 'Escape',\n callback: isPlaygroundExpanded ? () => setIsPlaygroundExpandedWithQueryParam(false) : undefined,\n isSingleKey: true,\n });\n\n return (\n <ErrorBoundary>\n <ApiPlaygroundContext.Provider\n value={{\n isSending,\n sendRequest,\n result,\n setSelectedBaseUrlIndex: setBaseUrlIndex,\n selectedBaseUrlIndex,\n baseUrlOptions,\n isPlaygroundExpanded,\n setIsPlaygroundExpanded: setIsPlaygroundExpandedWithQueryParam,\n selectedExampleIndex,\n setSelectedExampleIndex,\n }}\n >\n <div className=\"mint:mt-6 mint:flex mint:w-full mint:flex-col mint:space-y-4\">\n <EndpointLocationProvider location=\"request\">\n <Request inputs={inputs} setInputs={setInputs} endpoint={endpoint} display={display} pathname={pathname} />\n </EndpointLocationProvider>\n </div>\n </ApiPlaygroundContext.Provider>\n </ErrorBoundary>\n );\n};\n"],"names":["ApiPlayground","endpoint","display","pathname","docsConfig","useContext","DocsConfigContext","inputs","useApiPlaygroundInputs","setInputs","useSetApiPlaygroundInputsCallback","setApiBaseIndex","useSetApiBaseIndexCallback","baseUrlOptions","useBaseUrlOptions","selectedBaseUrlIndex","setSelectedBaseUrlIndex","useState","isPlaygroundExpanded","setIsPlaygroundExpanded","isSending","setIsSending","result","setResult","selectedContentTypeIndex","_setSelectedContentTypeIndex","contentType","selectedExampleIndex","setSelectedExampleIndex","baseUrl","useEffect","sendRequest","useSendPlaygroundRequest","setBaseUrlIndex","index","setIsPlaygroundExpandedWithQueryParam","expanded","url","useKeyboardShortcut","_b","_a","ErrorBoundary","jsx","ApiPlaygroundContext","EndpointLocationProvider","Request"],"mappings":";;;;;;;;;;;;;AAyBO,MAAMA,KAAgB,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,UAAAC,QAAoC;;AACrF,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAWC,CAAiB,GAC7CC,IAASC,EAAA,GACTC,IAAYC,EAAA,GACZC,IAAkBC,EAAA,GAElBC,IAAiBC,EAAA,GACjB,CAACC,GAAsBC,CAAuB,IAAIC,EAAS,CAAC,GAC5D,CAACC,GAAsBC,CAAuB,IAAIF,EAAS,EAAK,GAEhE,CAACG,GAAWC,CAAY,IAAIJ,EAAS,EAAK,GAC1C,CAACK,GAAQC,CAAS,IAAIN,EAAA,GAEtB,CAACO,GAA0BC,CAA4B,IAAIR,EAAS,CAAC,GACrES,IAAc,OAAO,KAAKzB,EAAS,QAAQ,IAAI,EAAEuB,CAAwB,GACzE,CAACG,GAAsBC,CAAuB,IAAIX,EAAS,CAAC,GAE5DY,KAAUhB,KAAA,gBAAAA,EAAiBE,QAAyBF,KAAA,gBAAAA,EAAiB,OAAM;AAEjF,EAAAiB,EAAU,MAAM;AAEd,IADqB,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAC9C,IAAI,YAAY,KAC/B,sBAAsB,MAAM;AAC1B,MAAAX,EAAwB,EAAI;AAAA,IAC9B,CAAC;AAAA,EAEL,GAAG,CAAA,CAAE;AAEL,QAAMY,IAAcC,EAAyB;AAAA,IAC3C,UAAA/B;AAAA,IACA,SAAA4B;AAAA,IACA,aAAaH,KAAe;AAAA,IAC5B,eAAeL;AAAA,IACf,WAAAE;AAAA,EAAA,CACD,GAEKU,IAAkB,CAACC,MAAkB;AACzC,IAAAlB,EAAwBkB,CAAK,GAC7BvB,EAAgBuB,CAAK;AAAA,EACvB,GAEMC,IAAwC,CAACC,MAAsB;AAEnE,QADAjB,EAAwBiB,CAAQ,GAC5BA,GAAU;AACZ,YAAMC,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACxC,MAAAA,EAAI,aAAa,IAAI,cAAc,MAAM,GACzC,OAAO,QAAQ,aAAa,CAAA,GAAI,IAAIA,CAAG;AAAA,IACzC,OAAO;AACL,YAAMA,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACxC,MAAAA,EAAI,aAAa,OAAO,YAAY,GACpC,OAAO,QAAQ,aAAa,CAAA,GAAI,IAAIA,CAAG;AAAA,IACzC;AAAA,EACF;AAEA,SAAAC,EAAoB;AAAA,IAClB,KAAK;AAAA,IACL,YAAUC,KAAAC,IAAApC,KAAA,gBAAAA,EAAY,QAAZ,gBAAAoC,EAAiB,eAAjB,gBAAAD,EAA6B,aAAY,gBAAgBR,IAAc;AAAA,EAAA,CAClF,GACDO,EAAoB;AAAA,IAClB,KAAK;AAAA,IACL,UAAUpB,IAAuB,MAAMiB,EAAsC,EAAK,IAAI;AAAA,IACtF,aAAa;AAAA,EAAA,CACd,qBAGEM,GAAA,EACC,UAAA,gBAAAC;AAAA,IAACC,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,WAAAvB;AAAA,QACA,aAAAW;AAAA,QACA,QAAAT;AAAA,QACA,yBAAyBW;AAAA,QACzB,sBAAAlB;AAAA,QACA,gBAAAF;AAAA,QACA,sBAAAK;AAAA,QACA,yBAAyBiB;AAAA,QACzB,sBAAAR;AAAA,QACA,yBAAAC;AAAA,MAAA;AAAA,MAGF,4BAAC,OAAA,EAAI,WAAU,gEACb,UAAA,gBAAAc,EAACE,KAAyB,UAAS,WACjC,UAAA,gBAAAF,EAACG,GAAA,EAAQ,QAAAtC,GAAgB,WAAAE,GAAsB,UAAAR,GAAoB,SAAAC,GAAkB,UAAAC,GAAoB,GAC3G,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberMetadata.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"NumberMetadata.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.tsx"],"sourcesContent":["\nimport { NumberSchema } from '@mintlify/validation';\n\nexport const NumberMetadata = ({ schema }: { schema: NumberSchema }) => {\n const exclusiveMinimum = schema.exclusiveMinimum || schema.exclusiveMinimum !== undefined;\n const exclusiveMaximum = schema.exclusiveMaximum || schema.exclusiveMaximum !== undefined;\n let range = '';\n if (schema.maximum !== undefined) {\n range = `x ${exclusiveMaximum ? '<' : '<='} ${schema.maximum}`;\n }\n if (schema.minimum !== undefined) {\n range = `x ${exclusiveMinimum ? '>' : '>='} ${schema.minimum}`;\n }\n if (schema.maximum !== undefined && schema.minimum !== undefined) {\n range = `${schema.minimum} ${exclusiveMinimum ? '<' : '<='} x ${exclusiveMaximum ? '<' : '<='} ${schema.maximum}`;\n }\n if (range === '' && schema.multipleOf === undefined) {\n return null;\n }\n return (\n <div className=\"mint:prose mint:prose-sm mint:prose-gray mint:dark:prose-invert mint:mt-6\">\n {range && (\n <>\n Required range: <code>{range}</code>\n </>\n )}\n {schema.multipleOf && (\n <>\n Must be a multiple of <code>{schema.multipleOf}</code>\n </>\n )}\n </div>\n );\n};\n"],"names":["NumberMetadata","schema","exclusiveMinimum","exclusiveMaximum","range","jsxs","Fragment","jsx"],"mappings":";AAGO,MAAMA,IAAiB,CAAC,EAAE,QAAAC,QAAuC;AACtE,QAAMC,IAAmBD,EAAO,oBAAoBA,EAAO,qBAAqB,QAC1EE,IAAmBF,EAAO,oBAAoBA,EAAO,qBAAqB;AAChF,MAAIG,IAAQ;AAUZ,SATIH,EAAO,YAAY,WACrBG,IAAQ,KAAKD,IAAmB,MAAM,IAAI,IAAIF,EAAO,OAAO,KAE1DA,EAAO,YAAY,WACrBG,IAAQ,KAAKF,IAAmB,MAAM,IAAI,IAAID,EAAO,OAAO,KAE1DA,EAAO,YAAY,UAAaA,EAAO,YAAY,WACrDG,IAAQ,GAAGH,EAAO,OAAO,IAAIC,IAAmB,MAAM,IAAI,MAAMC,IAAmB,MAAM,IAAI,IAAIF,EAAO,OAAO,KAE7GG,MAAU,MAAMH,EAAO,eAAe,SACjC,OAGP,gBAAAI,EAAC,OAAA,EAAI,WAAU,6EACZ,UAAA;AAAA,IAAAD,KACC,gBAAAC,EAAAC,GAAA,EAAE,UAAA;AAAA,MAAA;AAAA,MACgB,gBAAAC,EAAC,UAAM,UAAAH,EAAA,CAAM;AAAA,IAAA,GAC/B;AAAA,IAEDH,EAAO,cACN,gBAAAI,EAAAC,GAAA,EAAE,UAAA;AAAA,MAAA;AAAA,MACsB,gBAAAC,EAAC,QAAA,EAAM,UAAAN,EAAO,WAAA,CAAW;AAAA,IAAA,EAAA,CACjD;AAAA,EAAA,GAEJ;AAEJ;"}
|
package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringMetadata.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"StringMetadata.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.tsx"],"sourcesContent":["\nimport { StringSchema } from '@mintlify/validation';\n\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const StringMetadata = ({\n schema,\n description,\n}: {\n schema: StringSchema;\n description?: string;\n}) => {\n return (\n <>\n {schema.const !== undefined && (\n <div className={cn('mint:prose mint:prose-sm mint:prose-gray mint:dark:prose-invert', description && 'mint:mt-6')}>\n Allowed value: <code>{`\"${schema.const}\"`}</code>\n </div>\n )}\n {(schema.minLength !== undefined || schema.maxLength !== undefined) && (\n <div className={cn('mint:prose mint:prose-sm mint:prose-gray mint:dark:prose-invert', description && 'mint:mt-6')}>\n <StringLength minLength={schema.minLength} maxLength={schema.maxLength} />\n </div>\n )}\n </>\n );\n};\n\nconst StringLength = ({ minLength, maxLength }: { minLength?: number; maxLength?: number }) => {\n if (minLength === maxLength && minLength !== undefined) {\n return (\n <>\n Required string length: <code>{minLength}</code>\n </>\n );\n }\n if (minLength && maxLength) {\n return (\n <>\n Required string length: <code>{`${minLength} - ${maxLength}`}</code>\n </>\n );\n }\n if (minLength) {\n return (\n <>\n Minimum length: <code>{minLength}</code>\n </>\n );\n }\n if (maxLength) {\n return (\n <>\n Maximum length: <code>{maxLength}</code>\n </>\n );\n }\n return '';\n};\n"],"names":["StringMetadata","schema","description","jsxs","Fragment","cn","jsx","StringLength","minLength","maxLength"],"mappings":";;;AAKO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,QAAAC;AAAA,EACA,aAAAC;AACF,MAKI,gBAAAC,EAAAC,GAAA,EACG,UAAA;AAAA,EAAAH,EAAO,UAAU,UAChB,gBAAAE,EAAC,OAAA,EAAI,WAAWE,EAAG,mEAAmEH,KAAe,WAAW,GAAG,UAAA;AAAA,IAAA;AAAA,IAClG,gBAAAI,EAAC,QAAA,EAAM,UAAA,IAAIL,EAAO,KAAK,IAAA,CAAI;AAAA,EAAA,GAC5C;AAAA,GAEAA,EAAO,cAAc,UAAaA,EAAO,cAAc,WACvD,gBAAAK,EAAC,OAAA,EAAI,WAAWD,EAAG,mEAAmEH,KAAe,WAAW,GAC9G,4BAACK,GAAA,EAAa,WAAWN,EAAO,WAAW,WAAWA,EAAO,UAAA,CAAW,EAAA,CAC1E;AAAA,GAEJ,GAIEM,IAAe,CAAC,EAAE,WAAAC,GAAW,WAAAC,QAC7BD,MAAcC,KAAaD,MAAc,SAEzC,gBAAAL,EAAAC,GAAA,EAAE,UAAA;AAAA,EAAA;AAAA,EACwB,gBAAAE,EAAC,UAAM,UAAAE,EAAA,CAAU;AAAA,GAC3C,IAGAA,KAAaC,IAEb,gBAAAN,EAAAC,GAAA,EAAE,UAAA;AAAA,EAAA;AAAA,oBACyB,QAAA,EAAM,UAAA,GAAGI,CAAS,MAAMC,CAAS,GAAA,CAAG;AAAA,GAC/D,IAGAD,IAEA,gBAAAL,EAAAC,GAAA,EAAE,UAAA;AAAA,EAAA;AAAA,EACgB,gBAAAE,EAAC,UAAM,UAAAE,EAAA,CAAU;AAAA,GACnC,IAGAC,IAEA,gBAAAN,EAAAC,GAAA,EAAE,UAAA;AAAA,EAAA;AAAA,EACgB,gBAAAE,EAAC,UAAM,UAAAG,EAAA,CAAU;AAAA,GACnC,IAGG;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.tsx"],"sourcesContent":["\nimport {\n AnySchema,\n BooleanSchema,\n DataSchema,\n DataSchemaArray,\n FileSchema,\n IncrementalDataSchema,\n IncrementalDataSchemaArray,\n NullSchema,\n NumberEnumSchema,\n NumberSchema,\n StringEnumSchema,\n StringSchema,\n} from '@mintlify/validation';\n\nimport { ParamHead } from '@/components/Api/Param';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { Description } from '../../components/Description';\nimport { ExampleDescription } from '../ExampleDescription';\nimport { EnumConstTable, EnumOptions } from './Enum';\nimport { NumberMetadata } from './NumberMetadata';\nimport { StringMetadata } from './StringMetadata';\nimport { FieldType } from '@/api-playground-2/types/api';\n\nexport type PrimitiveParamFieldParams = {\n fieldType: FieldType;\n schema:\n | BooleanSchema\n | StringSchema\n | NumberSchema\n | StringEnumSchema\n | NumberEnumSchema\n | FileSchema\n | NullSchema\n | AnySchema;\n schemaArray?: DataSchemaArray | IncrementalDataSchemaArray;\n typeOptions: string[];\n name?: string | null;\n location?: string;\n selectedIndex?: number;\n onSelectTypeOption?: (index: number) => void;\n parentName?: string;\n paramId?: string;\n style?: string;\n explode?: boolean;\n};\n\nexport const PrimitiveParamField = ({\n fieldType,\n schema,\n schemaArray,\n name,\n location,\n typeOptions,\n selectedIndex,\n onSelectTypeOption,\n parentName,\n paramId,\n style,\n explode,\n}: PrimitiveParamFieldParams) => {\n const typeLabel = typeOptions[selectedIndex ?? 0];\n\n const description =\n schema.description ??\n (name === undefined ? `The ${fieldType} is of type \\`${typeLabel}\\`.` : undefined);\n\n return (\n <div className=\"mint:py-6\">\n <ParamHead\n id={paramId}\n name={name}\n typeLabel={typeLabel}\n location={location}\n fieldType={fieldType}\n required={schema.required}\n deprecated={schema.deprecated}\n defaultValue={schema.default}\n typeOptions={typeOptions}\n selectedTypeOptionIndex={selectedIndex}\n onSelectTypeOption={onSelectTypeOption}\n parentName={parentName}\n style={style}\n explode={explode}\n />\n <div className={cn({ 'mint:mt-4': description || isEnum(schema) })}>\n {description && <Description markdown={description} />}\n {schemaArray && isEnumWithConsts(schemaArray) ? (\n <EnumConstTable schemaArray={schemaArray} />\n ) : (\n isEnum(schema) && <EnumOptions schema={schema} />\n )}\n {isStringSchema(schema) && <StringMetadata schema={schema} description={description} />}\n {isNumberSchema(schema) && <NumberMetadata schema={schema} />}\n <ExampleDescription schema={schema} />\n </div>\n </div>\n );\n};\n\nexport const isEnum = (\n schema: DataSchema | IncrementalDataSchema\n): schema is NumberEnumSchema | StringEnumSchema => {\n return (\n schema.type === 'enum<integer>' ||\n schema.type === 'enum<number>' ||\n schema.type === 'enum<string>'\n );\n};\n\nexport const isEnumWithConsts = (\n schemaArray?: DataSchemaArray | IncrementalDataSchemaArray\n): boolean => {\n if (!schemaArray) return false;\n return schemaArray.some((schema) => isEnum(schema) && 'const' in schema);\n};\n\nconst isStringSchema = (schema: DataSchema | IncrementalDataSchema): schema is StringSchema => {\n return schema.type === 'string';\n};\n\nconst isNumberSchema = (schema: DataSchema | IncrementalDataSchema): schema is NumberSchema => {\n return schema.type === 'number' || schema.type === 'integer';\n};\n"],"names":["isEnum","schema"],"mappings":";AAsGO,MAAMA,IAAS,CACpBC,MAGEA,EAAO,SAAS,mBAChBA,EAAO,SAAS,kBAChBA,EAAO,SAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecursiveParamField.js","sources":["../../../../src/api-playground/EndpointFields/ParamFields/RecursiveParamField.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"RecursiveParamField.js","sources":["../../../../src/api-playground/EndpointFields/ParamFields/RecursiveParamField.tsx"],"sourcesContent":["\nimport { DataSchema, DataSchemaArray, IncrementalDataSchemaArray } from '@mintlify/validation';\nimport slugify from '@sindresorhus/slugify';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { getConstFilteredSchemaArray } from '@/openapi/filterEnums';\nimport {\n getAuthFilteredSchemaArray,\n isDataSchemaArrayOrIncrementalDataSchemaArray,\n} from '@/openapi/getAuthFilteredSchemaArray';\nimport { getNextPropertiesByType } from '@/utils/api-reference/getNextPropertiesByType';\n\nimport { RecursiveParamFieldWithChildrenObserver } from './RecursiveParamFieldWithChildrenObserver';\nimport { RecursiveParamFieldWithObserver } from './RecursiveParamFieldWithObserver';\nimport { FieldType, RenderedRefs } from '@/api-playground-2/types/api';\n\nexport type RecursiveParamFieldParams = {\n fieldType: FieldType;\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray;\n renderedRefs?: RenderedRefs;\n name?: string | null;\n location?: string;\n parentName?: string;\n depth?: number;\n hideDescription?: boolean;\n circularRefs?: string[];\n paramId?: string;\n style?: string;\n explode?: boolean;\n};\n\nexport const RecursiveParamField = ({\n fieldType,\n schemaArray,\n name,\n location,\n parentName,\n depth = 0,\n hideDescription = false,\n renderedRefs = new Set(),\n circularRefs,\n paramId,\n style,\n explode,\n}: RecursiveParamFieldParams) => {\n const { anchor } = useEndpointLocation();\n let filteredSchemaArray: DataSchemaArray | IncrementalDataSchemaArray | null = schemaArray;\n filteredSchemaArray = getAuthFilteredSchemaArray({ schemaArray, userGroups: undefined });\n\n if (\n filteredSchemaArray &&\n filteredSchemaArray.some((schema) => 'enum' in schema && 'const' in schema)\n ) {\n filteredSchemaArray = getConstFilteredSchemaArray({ schemaArray });\n }\n\n if (!isDataSchemaArrayOrIncrementalDataSchemaArray(filteredSchemaArray)) {\n return null;\n }\n\n const RecursiveParamFieldType = anchor\n ? RecursiveParamFieldWithChildrenObserver\n : RecursiveParamFieldWithObserver;\n\n return (\n <RecursiveParamFieldType\n fieldType={fieldType}\n schemaArray={filteredSchemaArray}\n name={name}\n location={location}\n parentName={parentName}\n depth={depth}\n style={style}\n explode={explode}\n hideDescription={hideDescription}\n renderedRefs={renderedRefs}\n circularRefs={circularRefs}\n paramId={paramId}\n />\n );\n};\n\ntype RenderNextPropertiesRecursivelyParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n depth: number;\n refs: Set<string>;\n parentName?: string;\n name?: string | null;\n currentSchemaRef: string | undefined;\n style?: string;\n explode?: boolean;\n hideParentName?: boolean;\n};\n\nexport const renderNextPropertiesRecursively = ({\n currentSchemaRef,\n properties,\n fieldType,\n parentName,\n name,\n depth,\n refs,\n style,\n explode,\n hideParentName,\n}: RenderNextPropertiesRecursivelyParams) => {\n // Create a new set with the current refs for this level\n const currentLevelRefs = new Set(refs);\n\n if (currentSchemaRef) {\n currentLevelRefs.add(currentSchemaRef);\n }\n\n if (currentLevelRefs.size > 0) {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const nextSchemaArrayProperties = getNextPropertiesByType(nextSchemaArray);\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n let circularReferences: string[] = [];\n if (\n Object.values(nextSchemaArrayProperties).some(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n )\n ) {\n circularReferences = Object.values(nextSchemaArrayProperties).filter(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n );\n }\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set(currentLevelRefs)}\n circularRefs={circularReferences}\n style={style}\n explode={explode}\n />\n );\n });\n } else {\n return properties.map(([propertyName, schemaArray]) => {\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set()}\n style={style}\n explode={explode}\n />\n );\n });\n }\n};\n\ntype RenderTruncatedNextPropertiesParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n parentName?: string;\n name?: string | null;\n depth: number;\n};\n\nexport const renderTruncatedNextProperties = ({\n properties,\n fieldType,\n parentName,\n name,\n depth,\n}: RenderTruncatedNextPropertiesParams) => {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const baseSchema: DataSchema = nextSchemaArray as DataSchema;\n if (baseSchema.type === 'array') {\n baseSchema.items = [{ type: 'any' }];\n } else if (baseSchema.type === 'object') {\n baseSchema.properties = {};\n }\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName);\n const id = `${paramId}-${propertyName}`;\n return (\n <RecursiveParamField\n fieldType={fieldType}\n key={propertyName}\n schemaArray={[baseSchema]}\n name={propertyName}\n paramId={id}\n depth={depth + 1}\n renderedRefs={new Set()}\n />\n );\n });\n};\n\nexport const buildRecursiveParamFieldId = (\n fieldType: FieldType | undefined,\n name: string | undefined | null,\n parentName: string | undefined,\n propertyName?: string | undefined\n) => {\n return slugify(\n `${fieldType ? `${fieldType}-` : ''}${parentName ? `${parentName}-` : ''}${name ? name : ''}-${propertyName ? propertyName : ''}`,\n {\n decamelize: true,\n }\n );\n};\n\nexport const getRecursiveParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return `${parentName ? `${parentName}` : ''}${name}.`;\n};\n\nexport const getDeepObjectParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return parentName ? `${parentName}${name}][` : `${name}[`;\n};\n"],"names":["buildRecursiveParamFieldId","fieldType","name","parentName","propertyName","slugify","getRecursiveParentName"],"mappings":";;AAyNO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,GACAC,MAEOC;AAAA,EACL,GAAGJ,IAAY,GAAGA,CAAS,MAAM,EAAE,GAAGE,IAAa,GAAGA,CAAU,MAAM,EAAE,GAAGD,KAAc,EAAE;AAAA,EAC3F;AAAA,IACE,YAAY;AAAA,EAAA;AACd,GAISI,IAAyB,CAACJ,GAAsBC,MACtDD,IAIE,GAAGC,IAAa,GAAGA,CAAU,KAAK,EAAE,GAAGD,CAAI,MAHzC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Description.js","sources":["../../../../src/api-playground/EndpointFields/components/Description.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Description.js","sources":["../../../../src/api-playground/EndpointFields/components/Description.tsx"],"sourcesContent":["\nimport { Markdown, MarkdownWithoutHeaders } from '../../../components/Api/Markdown';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const Description = ({ markdown, className }: { markdown: string; className?: string }) => {\n return (\n <div className={cn('mint:prose mint:prose-sm mint:prose-gray mint:dark:prose-invert mint:max-w-none mint:w-full mint:col-span-full', className)}>\n <Markdown>{markdown}</Markdown>\n </div>\n );\n};\n\nexport const DescriptionWithoutHeaders = ({\n markdown,\n className,\n}: {\n markdown: string;\n className?: string;\n}) => {\n return (\n <div className={cn('mint:prose mint:prose-sm mint:prose-gray mint:dark:prose-invert mint:max-w-none mint:w-full', className)}>\n <MarkdownWithoutHeaders>{markdown}</MarkdownWithoutHeaders>\n </div>\n );\n};\n"],"names":["Description","markdown","className","jsx","cn","Markdown","DescriptionWithoutHeaders","MarkdownWithoutHeaders"],"mappings":";;;;AAIO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,WAAAC,QAEpC,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAG,kHAAkHF,CAAS,GAC5I,UAAA,gBAAAC,EAACE,GAAA,EAAU,UAAAJ,EAAA,CAAS,EAAA,CACtB,GAISK,IAA4B,CAAC;AAAA,EACxC,UAAAL;AAAA,EACA,WAAAC;AACF,MAKI,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAG,+FAA+FF,CAAS,GACzH,UAAA,gBAAAC,EAACI,GAAA,EAAwB,UAAAN,EAAA,CAAS,EAAA,CACpC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneOfDropdown.js","sources":["../../../../src/api-playground/EndpointFields/components/OneOfDropdown.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"OneOfDropdown.js","sources":["../../../../src/api-playground/EndpointFields/components/OneOfDropdown.tsx"],"sourcesContent":["\nimport { Tab, Tabs } from '@/components/content-components/tabs';\nimport { cn } from \"../../../utils/cn\";\n\nexport const OneOfSelection = ({\n options,\n selectedIndex,\n onSelectOption,\n}: {\n options: string[];\n selectedIndex?: number;\n onSelectOption?: (index: number) => void;\n}) => (\n <div className=\"mint:-mt-2\">\n <Tabs\n defaultTabIndex={selectedIndex}\n onClickTab={onSelectOption}\n className=\"mint:border-gray-100! mint:mb-4! mint:dark:border-white/10!\"\n >\n {options.map((option) => (\n <Tab title={option} key={option} />\n ))}\n </Tabs>\n </div>\n);\n"],"names":["OneOfSelection","options","selectedIndex","onSelectOption","jsx","Tabs","option","Tab"],"mappings":";;;AAIO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AACF,MAKE,gBAAAC,EAAC,OAAA,EAAI,WAAU,cACb,UAAA,gBAAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,iBAAiBH;AAAA,IACjB,YAAYC;AAAA,IACZ,WAAU;AAAA,IAET,UAAAF,EAAQ,IAAI,CAACK,wBACXC,GAAA,EAAI,OAAOD,EAAA,GAAaA,CAAQ,CAClC;AAAA,EAAA;AACH,EAAA,CACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionDropdown.js","sources":["../../../../src/api-playground/EndpointFields/components/OptionDropdown.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"OptionDropdown.js","sources":["../../../../src/api-playground/EndpointFields/components/OptionDropdown.tsx"],"sourcesContent":["\nimport { useSelectedLocale } from '@/utils/locales';\nimport { Classes } from '@/api-playground-2/types';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const OptionDropdown = ({\n options,\n selectedIndex,\n onSelectOption,\n noBackground,\n}: {\n options: string[];\n selectedIndex?: number;\n onSelectOption?: (index: number) => void;\n noBackground?: boolean;\n}) => {\n const locale = useSelectedLocale();\n return (\n <div className={cn(Classes.OptionDropdown, 'mint:inline-flex mint:relative mint:mr-0!')}>\n <div\n className={cn(\n 'mint:font-mono mint:text-xs mint:font-medium mint:inline-block! mint:leading-4! mint:items-center mint:rounded-md mint:text-gray-600 mint:dark:text-gray-200 mint:py-0.5',\n !noBackground && 'mint:bg-gray-100/50 mint:dark:bg-white/5'\n )}\n >\n <select\n aria-label={locale['aria.selectSchemaType']}\n className=\"mint:flex mint:bg-transparent mint:focus:outline-0 mint:cursor-pointer mint:text-start mint:pl-0 mint:pr-0 mint:hover:text-gray-950 mint:dark:hover:text-white\"\n onChange={(e) => onSelectOption?.(e.target.selectedIndex)}\n value={selectedIndex}\n >\n {options.map((option, index) => (\n <option value={index} key={index}>\n {option}\n </option>\n ))}\n </select>\n </div>\n </div>\n );\n};\n"],"names":["OptionDropdown","options","selectedIndex","onSelectOption","noBackground","locale","useSelectedLocale","cn","Classes","jsx","e","option","index"],"mappings":";;;;;AAKO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,MAKM;AACJ,QAAMC,IAASC,EAAA;AACf,2BACG,OAAA,EAAI,WAAWC,EAAGC,EAAQ,gBAAgB,2CAA2C,GACpF,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,CAACH,KAAgB;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAYJ,EAAO,uBAAuB;AAAA,UAC1C,WAAU;AAAA,UACV,UAAU,CAACK,MAAMP,KAAA,gBAAAA,EAAiBO,EAAE,OAAO;AAAA,UAC3C,OAAOR;AAAA,UAEN,UAAAD,EAAQ,IAAI,CAACU,GAAQC,MACpB,gBAAAH,EAAC,UAAA,EAAO,OAAOG,GACZ,UAAAD,EAAA,GADwBC,CAE3B,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionHeading.js","sources":["../../../../src/api-playground/EndpointFields/components/SectionHeading.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"SectionHeading.js","sources":["../../../../src/api-playground/EndpointFields/components/SectionHeading.tsx"],"sourcesContent":["\nimport { ReactNode } from 'react';\n\nimport { Classes } from '@/api-playground-2/types';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { Description } from './Description';\nimport { OptionDropdown } from './OptionDropdown';\n\ntype SectionHeadingProps = {\n title: string;\n subtitle?: string;\n rightElement?: string | ReactNode;\n options?: string[];\n selectedIndex?: number;\n onSelectOption?: (index: number) => void;\n onToggleExpand?: () => void;\n children?: ReactNode;\n};\n\nexport const SectionHeading = ({\n title,\n subtitle,\n rightElement,\n options,\n selectedIndex,\n onSelectOption,\n children,\n}: SectionHeadingProps) => {\n return (\n <div className={cn(Classes.APISectionHeading, 'mint:flex mint:flex-col mint:gap-y-4 mint:w-full')}>\n <div className=\"mint:flex mint:items-baseline mint:border-b mint:pb-2.5 mint:border-gray-100 mint:dark:border-gray-800 mint:w-full\">\n <h4 className={cn(Classes.APISectionHeadingTitle, 'mint:flex-1 mint:mb-0')}>{title}</h4>\n {options && options.length > 1 && (\n <OptionDropdown\n options={options}\n selectedIndex={selectedIndex}\n onSelectOption={onSelectOption}\n noBackground\n />\n )}\n <div className=\"mint:flex mint:items-center\">\n {rightElement &&\n (typeof rightElement === 'string' ? (\n <div className=\"mint:font-mono mint:px-2 mint:py-0.5 mint:text-xs mint:font-medium mint:text-gray-600 mint:dark:text-gray-300\">\n {rightElement}\n </div>\n ) : (\n rightElement\n ))}\n </div>\n </div>\n {children}\n {subtitle && (\n <div\n className={cn(\n Classes.APISectionHeadingSubtitle,\n 'mint:text-sm mint:prose mint:prose-gray mint:dark:prose-invert mint:mb-2'\n )}\n >\n <Description markdown={subtitle} />\n </div>\n )}\n </div>\n );\n};\n"],"names":["SectionHeading","title","subtitle","rightElement","options","selectedIndex","onSelectOption","children","cn","Classes","jsxs","jsx","OptionDropdown","Description"],"mappings":";;;;;;AAoBO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AACF,wBAEK,OAAA,EAAI,WAAWC,EAAGC,EAAQ,mBAAmB,kDAAkD,GAC9F,UAAA;AAAA,EAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,sHACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,QAAG,WAAWH,EAAGC,EAAQ,wBAAwB,uBAAuB,GAAI,UAAAR,GAAM;AAAA,IAClFG,KAAWA,EAAQ,SAAS,KAC3B,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAAR;AAAA,QACA,eAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,cAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGhB,gBAAAK,EAAC,OAAA,EAAI,WAAU,+BACZ,gBACE,OAAOR,KAAiB,WACvB,gBAAAQ,EAAC,OAAA,EAAI,WAAU,iHACZ,UAAAR,EAAA,CACH,IAEAA,GAAA,CAEN;AAAA,EAAA,GACF;AAAA,EACCI;AAAA,EACAL,KACC,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QACTC,EAAQ;AAAA,QACR;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAE,EAACE,GAAA,EAAY,UAAUX,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AACnC,GAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/api-playground/EndpointFields/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/api-playground/EndpointFields/index.tsx"],"sourcesContent":["\nimport { EndpointLocationProvider } from '@/contexts/EndpointLocationContext';\nimport { useOpenApiEndpoint } from '@/hooks/useEndpoint';\nimport { getFilteredSecurityOptions } from '@/utils/api-reference/getFilteredSecurityOptions';\n\nimport { EndpointBody } from './EndpointBody';\nimport { EndpointParameters } from './EndpointParameters';\nimport { EndpointResponse } from './EndpointResponse';\nimport { EndpointSecurity } from './EndpointSecurity';\n\nconst EndpointFields = () => {\n const endpoint = useOpenApiEndpoint();\n const newApiReferencePage = true;\n\n if (endpoint === undefined || newApiReferencePage) {\n return null;\n }\n\n // TODO(ronan): remove when all security options are handled (none should be empty)\n const filteredSecurityOptions = getFilteredSecurityOptions(endpoint);\n\n return (\n <>\n {filteredSecurityOptions.length > 0 && (\n <EndpointSecurity securityOptions={filteredSecurityOptions} />\n )}\n <EndpointParameters parameters={endpoint.request.parameters} />\n <EndpointLocationProvider location=\"request\">\n <EndpointBody body={endpoint.request.body} />\n </EndpointLocationProvider>\n <EndpointLocationProvider location=\"response\">\n {Object.entries(endpoint.response)[0] && <EndpointResponse response={endpoint.response} />}\n </EndpointLocationProvider>\n </>\n );\n};\n\nexport default EndpointFields;\n"],"names":["EndpointFields","useOpenApiEndpoint"],"mappings":";;AAUA,MAAMA,IAAiB,OACJC,EAAA,GAIR;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sources":["../../src/api-playground-2/Api.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Api.js","sources":["../../src/api-playground-2/Api.tsx"],"sourcesContent":["\nimport { ReactNode, useContext } from 'react';\n\nimport { ApiReferenceContext2 } from '@/contexts/ConfigContext';\n\nimport { OperationPage } from './OperationPage';\nimport { SchemaPage } from './SchemaPage';\n\nexport const Api = ({ children }: { children: ReactNode }) => {\n const { apiReferenceData2 } = useContext(ApiReferenceContext2);\n\n if (apiReferenceData2.operation) {\n return (\n <OperationPage apiReferenceData={apiReferenceData2} operation={apiReferenceData2.operation}>\n {children}\n </OperationPage>\n );\n }\n if (apiReferenceData2.schemaData) {\n return <SchemaPage apiReferenceData={apiReferenceData2}>{children}</SchemaPage>;\n }\n return null;\n};\n"],"names":["Api","children","apiReferenceData2","useContext","ApiReferenceContext2","OperationPage","jsx","SchemaPage"],"mappings":";;;;;AAQO,MAAMA,IAAM,CAAC,EAAE,UAAAC,QAAwC;AAC5D,QAAM,EAAE,mBAAAC,EAAA,IAAsBC,EAAWC,CAAoB;AAE7D,SAAIF,EAAkB,8BAEjBG,GAAA,EAAc,kBAAkBH,GAAmB,WAAWA,EAAkB,WAC9E,UAAAD,GACH,IAGAC,EAAkB,aACb,gBAAAI,EAACC,GAAA,EAAW,kBAAkBL,GAAoB,UAAAD,EAAA,CAAS,IAE7D;AACT;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiExamples.js","sources":["../../src/api-playground-2/ApiExamples.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ApiExamples.js","sources":["../../src/api-playground-2/ApiExamples.tsx"],"sourcesContent":["\nimport React, { useContext, useMemo, useState } from 'react';\n\nimport { usePlaygroundInputsStore } from '@/api-playground-2/hooks/usePlaygroundInputsStore';\nimport { CodeExampleLabelContext } from '@/contexts/CodeExampleLabelContext';\nimport { ApiReferenceContext2 } from '@/contexts/ConfigContext';\nimport ErrorBoundary from '../components/Api/ErrorBoundary';\nimport { clsx } from 'clsx';\n\nimport { RequestExample } from './components/Example/RequestExample';\nimport { ResponseExample } from './components/Example/ResponseExample';\nimport { ApiReferenceDataV2 } from './types';\nimport { useSelectedSecurityOption } from './hooks/usePlaygroundInputsStore';\nimport { initialApiPlaygroundInputs } from './constants';\n\n\ntype ApiExamplesProps = {\n className?: string;\n isModal?: boolean;\n apiReferenceData?: ApiReferenceDataV2;\n noInputs?: boolean;\n};\n\nexport const ApiExamples = ({ className, isModal = false, apiReferenceData, noInputs = false }: ApiExamplesProps) => {\n const { apiReferenceData2: apiReferenceData2FromContext } = useContext(ApiReferenceContext2);\n const apiReferenceData2 = apiReferenceData || apiReferenceData2FromContext;\n const { getApiPlaygroundInputs } = usePlaygroundInputsStore();\n const {selectedSecurityOptionIndex} = useSelectedSecurityOption();\n const inputs = getApiPlaygroundInputs();\n const [selectedLabel, setSelectedLabel] = useState<string | undefined>();\n\n const containerClassName = useMemo(\n () =>\n clsx(\n 'mint:w-full mint:xl:w-[28rem] mint:gap-6 mint:grid mint:grid-rows-[repeat(auto-fit,minmax(0,min-content))] mint:grid-rows mint:relative mint:max-h-[calc(100%-32px)] mint:min-h-[18rem]',\n className,\n ),\n [className, isModal]\n );\n\n return (\n <CodeExampleLabelContext.Provider value={{ selectedLabel, setSelectedLabel }}>\n <div className={containerClassName}>\n <ErrorBoundary>\n <RequestExample\n selectedSecurityOptionIndex={selectedSecurityOptionIndex}\n apiReferenceData={apiReferenceData2}\n inputs={noInputs ? initialApiPlaygroundInputs : inputs}\n maxHeight=\"mint:max-h-[40vh]\"\n />\n <ResponseExample apiReferenceData={apiReferenceData2} maxHeight=\"mint:max-h-[40vh]\" />\n {/* TODO - Api Playground Refactor: OpenApiSchemaExample */}\n </ErrorBoundary>\n </div>\n </CodeExampleLabelContext.Provider>\n );\n};\n\nexport default ApiExamples;\n"],"names":["ApiExamples","className","isModal","apiReferenceData","noInputs","apiReferenceData2FromContext","useContext","ApiReferenceContext2","apiReferenceData2","getApiPlaygroundInputs","usePlaygroundInputsStore","selectedSecurityOptionIndex","useSelectedSecurityOption","inputs","selectedLabel","setSelectedLabel","useState","containerClassName","useMemo","clsx","jsx","CodeExampleLabelContext","ErrorBoundary","RequestExample","initialApiPlaygroundInputs","ResponseExample"],"mappings":";;;;;;;;;;AAuBO,MAAMA,IAAc,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,IAAO,kBAAAC,GAAkB,UAAAC,IAAW,SAA8B;AACnH,QAAM,EAAE,mBAAmBC,MAAiCC,EAAWC,CAAoB,GACrFC,IAAoBL,KAAoBE,GACxC,EAAE,wBAAAI,EAAA,IAA2BC,EAAA,GAC7B,EAAC,6BAAAC,EAAA,IAA+BC,EAAA,GAChCC,IAASJ,EAAA,GACT,CAACK,GAAeC,CAAgB,IAAIC,EAAA,GAEpCC,IAAqBC;AAAA,IACzB,MACEC;AAAA,MACE;AAAA,MACAlB;AAAA,IAAA;AAAA,IAEJ,CAACA,GAAWC,CAAO;AAAA,EAAA;AAGrB,SACE,gBAAAkB,EAACC,EAAwB,UAAxB,EAAiC,OAAO,EAAE,eAAAP,GAAe,kBAAAC,KACxD,UAAA,gBAAAK,EAAC,OAAA,EAAI,WAAWH,GACd,4BAACK,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,6BAAAZ;AAAA,QACA,kBAAkBH;AAAA,QAClB,QAAQJ,IAAWoB,IAA6BX;AAAA,QAChD,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZ,gBAAAO,EAACK,GAAA,EAAgB,kBAAkBjB,GAAmB,WAAU,oBAAA,CAAoB;AAAA,EAAA,EAAA,CAEtF,GACF,GACF;AAEJ;"}
|