@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":"ObjectInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/ObjectInput.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ObjectInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/ObjectInput.tsx"],"sourcesContent":["\nimport { IncrementalObjectSchema, ObjectSchema } from '@mintlify/validation';\nimport { useMemo, useState } from 'react';\nimport { generateUniqueString } from '@/utils/uuid';\n\nimport { useGenerateNextAdditionalProperties } from '@/hooks/useGenerateNextAdditionalProperties';\nimport { useGenerateNextProperties } from '@/hooks/useGenerateNextProperties';\n\nimport { AdditionalPropertyButton } from '../../components/AdditionalPropertyButton';\nimport { InputContainer } from '../../components/InputContainer';\nimport { calculateObjectInputChildren } from './ObjectChildren';\nimport { RecursiveInput } from './RecursiveInput';\n\nexport const ObjectInput: RecursiveInput<ObjectSchema | IncrementalObjectSchema> = ({\n name,\n schema,\n typeDropdown,\n setValue,\n clearValue,\n value,\n depth,\n parentNames,\n arrayIndex,\n defaultExpanded,\n style,\n explode,\n renderedRefs,\n}) => {\n const [additionalPropButtonKey, setAdditionalPropButtonKey] = useState(generateUniqueString());\n const allowsAdditionalProperties = schema.additionalProperties !== false;\n const existingKeys = [...Object.keys(value ?? {}), ...Object.keys(schema.properties)];\n\n const properties = useGenerateNextProperties(schema);\n const additionalProperties = useGenerateNextAdditionalProperties(schema);\n\n const refIdentifier = schema.refIdentifier;\n\n const inputs: React.ReactNode[] = useMemo(\n () =>\n calculateObjectInputChildren({\n properties,\n additionalProperties,\n value,\n setValue,\n name,\n parentNames,\n defaultExpanded,\n depth,\n refId: refIdentifier,\n refs: new Set(renderedRefs),\n style,\n explode,\n }),\n [\n additionalProperties,\n defaultExpanded,\n depth,\n name,\n parentNames,\n properties,\n refIdentifier,\n renderedRefs,\n setValue,\n value,\n style,\n explode,\n ]\n );\n\n if (depth === 0) {\n return inputs;\n }\n\n const addKey = (key: string) => {\n const newObj = { ...value };\n newObj[key] = undefined;\n setValue(newObj);\n setAdditionalPropButtonKey(generateUniqueString());\n };\n\n return (\n <InputContainer\n name={name}\n typeDropdown={typeDropdown}\n schema={schema}\n onClear={clearValue}\n isObject\n parentNames={parentNames}\n arrayIndex={arrayIndex}\n defaultExpanded={defaultExpanded}\n style={style}\n explode={explode}\n >\n {inputs}\n {allowsAdditionalProperties ? (\n <AdditionalPropertyButton\n key={additionalPropButtonKey}\n onAddKey={addKey}\n existingKeys={existingKeys}\n dataTestId={name + '-additional-property-button'}\n />\n ) : null}\n </InputContainer>\n );\n};\n"],"names":["ObjectInput","name","schema","typeDropdown","setValue","clearValue","value","depth","parentNames","arrayIndex","defaultExpanded","style","explode","renderedRefs","additionalPropButtonKey","setAdditionalPropButtonKey","useState","generateUniqueString","allowsAdditionalProperties","existingKeys","properties","useGenerateNextProperties","additionalProperties","useGenerateNextAdditionalProperties","refIdentifier","inputs","useMemo","calculateObjectInputChildren","jsxs","InputContainer","jsx","AdditionalPropertyButton","key","newObj"],"mappings":";;;;;;;;AAaO,MAAMA,IAAsE,CAAC;AAAA,EAClF,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAyBC,CAA0B,IAAIC,EAASC,GAAsB,GACvFC,IAA6BhB,EAAO,yBAAyB,IAC7DiB,IAAe,CAAC,GAAG,OAAO,KAAKb,KAAS,EAAE,GAAG,GAAG,OAAO,KAAKJ,EAAO,UAAU,CAAC,GAE9EkB,IAAaC,EAA0BnB,CAAM,GAC7CoB,IAAuBC,EAAoCrB,CAAM,GAEjEsB,IAAgBtB,EAAO,eAEvBuB,IAA4BC;AAAA,IAChC,MACEC,EAA6B;AAAA,MAC3B,YAAAP;AAAA,MACA,sBAAAE;AAAA,MACA,OAAAhB;AAAA,MACA,UAAAF;AAAA,MACA,MAAAH;AAAA,MACA,aAAAO;AAAA,MACA,iBAAAE;AAAA,MACA,OAAAH;AAAA,MACA,OAAOiB;AAAA,MACP,MAAM,IAAI,IAAIX,CAAY;AAAA,MAC1B,OAAAF;AAAA,MACA,SAAAC;AAAA,IAAA,CACD;AAAA,IACH;AAAA,MACEU;AAAA,MACAZ;AAAA,MACAH;AAAA,MACAN;AAAA,MACAO;AAAA,MACAY;AAAA,MACAI;AAAA,MACAX;AAAA,MACAT;AAAA,MACAE;AAAA,MACAK;AAAA,MACAC;AAAA,IAAA;AAAA,EACF;AAGF,SAAIL,MAAU,IACLkB,IAWP,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAA5B;AAAA,MACA,cAAAE;AAAA,MACA,QAAAD;AAAA,MACA,SAASG;AAAA,MACT,UAAQ;AAAA,MACR,aAAAG;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MAEC,UAAA;AAAA,QAAAa;AAAA,QACAP,IACC,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YAEC,UAxBO,CAACC,MAAgB;AAC9B,oBAAMC,IAAS,EAAE,GAAG3B,EAAA;AACpB,cAAA2B,EAAOD,CAAG,IAAI,QACd5B,EAAS6B,CAAM,GACflB,EAA2BE,GAAsB;AAAA,YACnD;AAAA,YAoBQ,cAAAE;AAAA,YACA,YAAYlB,IAAO;AAAA,UAAA;AAAA,UAHda;AAAA,QAAA,IAKL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecursiveInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/RecursiveInput.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"RecursiveInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/RecursiveInput.tsx"],"sourcesContent":["\nimport {\n ArraySchema,\n DataSchema,\n DataSchemaArray,\n IncrementalArraySchema,\n IncrementalDataSchema,\n IncrementalDataSchemaArray,\n IncrementalObjectSchema,\n ObjectSchema,\n} from '@mintlify/validation';\nimport { ReactNode, useCallback, useState } from 'react';\n\nimport { useApiPlaygroundPrefillExamples } from '@/hooks/useApiPlaygroundPrefillExamples';\nimport { usePlaygroundSchemaOptions } from '@/hooks/usePlaygroundSchemaOptions';\nimport ErrorBoundary from '@/components/Api/ErrorBoundary';\n\nimport { TypeDropdown } from '../../components/TypeDropdown';\nimport { DifferentiatedInput } from './DifferentiatedInput';\nimport { RenderedRefs } from '@/api-playground-2/types/api';\n\ntype GenericInputParams<T extends IncrementalDataSchema | DataSchema, K = T['example']> = {\n name?: string;\n schema: T;\n typeDropdown: ReactNode;\n value: K;\n setValue: (value: K) => void;\n clearValue: (() => void) | undefined;\n parentNames?: string[];\n arrayIndex?: number;\n defaultExpanded?: boolean;\n style?: string;\n explode?: boolean;\n renderedRefs?: RenderedRefs;\n};\n\nexport type GenericInput<T extends DataSchema | IncrementalDataSchema> = React.FC<\n GenericInputParams<T>\n>;\nexport type RecursiveInput<\n T extends IncrementalObjectSchema | ObjectSchema | IncrementalArraySchema | ArraySchema,\n> = React.FC<GenericInputParams<T> & { depth: number }>;\n\ntype RecursiveInputParams = {\n name?: string;\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray;\n value: unknown | undefined;\n setValue: (value: unknown) => void;\n clearValue: (() => void) | undefined;\n isBody?: boolean;\n depth?: number;\n parentNames?: string[];\n arrayIndex?: number;\n defaultExpanded?: boolean;\n style?: string;\n explode?: boolean;\n renderedRefs?: RenderedRefs;\n};\n\nexport const RecursiveInput = ({\n name,\n value,\n schemaArray,\n setValue,\n clearValue,\n isBody,\n depth = 0,\n parentNames,\n arrayIndex,\n defaultExpanded,\n style,\n explode,\n renderedRefs = new Set(),\n}: RecursiveInputParams) => {\n const [selectedSchemaIndex, setSelectedSchemaIndex] = useState(0);\n const schemasWithLabelInfo = usePlaygroundSchemaOptions(schemaArray);\n const selectedSchema = schemasWithLabelInfo[selectedSchemaIndex]?.schema;\n const { prefillExamplesEnabled } = useApiPlaygroundPrefillExamples();\n const prefillDisabled = prefillExamplesEnabled;\n\n const onSelectTypeOption = useCallback(\n (index: number) => {\n if (schemasWithLabelInfo[index]?.schema.type === 'null') {\n setValue(null);\n } else {\n setValue(undefined);\n }\n setSelectedSchemaIndex(index);\n },\n [schemasWithLabelInfo, setValue]\n );\n\n const typeDropdown = (\n <TypeDropdown\n options={schemasWithLabelInfo}\n selectedIndex={selectedSchemaIndex}\n onSelectOption={onSelectTypeOption}\n />\n );\n\n if (selectedSchema === undefined) return null;\n\n return (\n <ErrorBoundary>\n <DifferentiatedInput\n name={name}\n schema={selectedSchema}\n typeDropdown={typeDropdown}\n value={value}\n setValue={setValue}\n clearValue={clearValue}\n isBody={isBody}\n depth={depth}\n parentNames={parentNames}\n arrayIndex={arrayIndex}\n defaultExpanded={defaultExpanded}\n style={style}\n explode={explode}\n renderedRefs={renderedRefs}\n prefillDisabled={prefillDisabled}\n />\n </ErrorBoundary>\n );\n};\n"],"names":["RecursiveInput","name","value","schemaArray","setValue","clearValue","isBody","depth","parentNames","arrayIndex","defaultExpanded","style","explode","renderedRefs","selectedSchemaIndex","setSelectedSchemaIndex","useState","schemasWithLabelInfo","usePlaygroundSchemaOptions","selectedSchema","_a","prefillExamplesEnabled","useApiPlaygroundPrefillExamples","prefillDisabled","onSelectTypeOption","useCallback","index","typeDropdown","jsx","TypeDropdown","ErrorBoundary","DifferentiatedInput"],"mappings":";;;;;;;AA2DO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC,wBAAmB,IAAA;AACrB,MAA4B;;AAC1B,QAAM,CAACC,GAAqBC,CAAsB,IAAIC,EAAS,CAAC,GAC1DC,IAAuBC,EAA2Bf,CAAW,GAC7DgB,KAAiBC,IAAAH,EAAqBH,CAAmB,MAAxC,gBAAAM,EAA2C,QAC5D,EAAE,wBAAAC,EAAA,IAA2BC,EAAA,GAC7BC,IAAkBF,GAElBG,IAAqBC;AAAA,IACzB,CAACC,MAAkB;;AACjB,QAAIN,IAAAH,EAAqBS,CAAK,MAA1B,gBAAAN,EAA6B,OAAO,UAAS,SAC/ChB,EAAS,IAAI,IAEbA,EAAS,MAAS,GAEpBW,EAAuBW,CAAK;AAAA,IAC9B;AAAA,IACA,CAACT,GAAsBb,CAAQ;AAAA,EAAA,GAG3BuB,IACJ,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAASZ;AAAA,MACT,eAAeH;AAAA,MACf,gBAAgBU;AAAA,IAAA;AAAA,EAAA;AAIpB,SAAIL,MAAmB,SAAkB,yBAGtCW,GAAA,EACC,UAAA,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,MAAA9B;AAAA,MACA,QAAQkB;AAAA,MACR,cAAAQ;AAAA,MACA,OAAAzB;AAAA,MACA,UAAAE;AAAA,MACA,YAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAU;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/SelectInput.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"SelectInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/SelectInput.tsx"],"sourcesContent":["\nimport { BooleanSchema, NumberEnumSchema, StringEnumSchema } from '@mintlify/validation';\nimport { ChevronDownFilled } from '@fluentui/react-icons'; \n\nimport { useSelectedLocale } from '@/utils/locales';\nimport { getXFilteredEnumValues } from '@/openapi/filterEnums';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { InputContainer } from '../../components/InputContainer';\nimport { GenericInput } from './RecursiveInput';\n\nexport const SelectInput: GenericInput<NumberEnumSchema | StringEnumSchema | BooleanSchema> = ({\n name,\n schema,\n typeDropdown,\n value,\n setValue,\n clearValue,\n parentNames,\n arrayIndex,\n}) => {\n const locale = useSelectedLocale();\n const options =\n schema.type === 'boolean' ? [true, false] : getXFilteredEnumValues({ schema, userGroups: undefined });\n\n return (\n <InputContainer\n name={name}\n typeDropdown={typeDropdown}\n schema={schema}\n onClear={clearValue}\n parentNames={parentNames}\n arrayIndex={arrayIndex}\n >\n <div className=\"mint:relative\">\n <select\n className={cn(\n 'mint:relative mint:text-playground-input mint:w-full mint:text-left mint:flex-1 mint:outline-0 mint:cursor-pointer mint:bg-transparent',\n value !== undefined\n ? 'mint:text-gray-900! mint:dark:text-gray-100!'\n : 'mint:text-gray-400! mint:dark:text-white/30!'\n )}\n value={value?.toString() ?? ''}\n aria-label={\n schema.placeholder ?? locale['aria.selectOption'].replace('{name}', name || 'option')\n }\n onChange={(e) => {\n if (schema.type === 'boolean') {\n setValue(e.target.value === 'true');\n } else {\n setValue(e.target.value);\n }\n }}\n >\n <option value=\"\" disabled>\n {schema.placeholder ?? `select ${name || 'option'}`}\n </option>\n {options.map((opt) => (\n <option key={opt.toString()} value={opt.toString()}>\n {opt.toString()}\n </option>\n ))}\n </select>\n <ChevronDownFilled className=\"mint:absolute mint:right-2 mint:top-1/2 mint:-translate-y-1/2 mint:h-4 mint:w-4 mint:text-gray-400 mint:dark:text-white/30 mint:pointer-events-none\" />\n </div>\n </InputContainer>\n );\n};\n"],"names":["SelectInput","name","schema","typeDropdown","value","setValue","clearValue","parentNames","arrayIndex","locale","useSelectedLocale","options","getXFilteredEnumValues","jsx","InputContainer","jsxs","cn","opt","ChevronDownFilled"],"mappings":";;;;;;;AAWO,MAAMA,IAAiF,CAAC;AAAA,EAC7F,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACJ,QAAMC,IAASC,EAAA,GACTC,IACJT,EAAO,SAAS,YAAY,CAAC,IAAM,EAAK,IAAIU,EAAuB,EAAE,QAAAV,GAAQ,YAAY,QAAW;AAEtG,SACE,gBAAAW;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAb;AAAA,MACA,cAAAE;AAAA,MACA,QAAAD;AAAA,MACA,SAASI;AAAA,MACT,aAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA,gBAAAO,EAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,QAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACAZ,MAAU,SACN,iDACA;AAAA,YAAA;AAAA,YAEN,QAAOA,KAAA,gBAAAA,EAAO,eAAc;AAAA,YAC5B,cACEF,EAAO,eAAeO,EAAO,mBAAmB,EAAE,QAAQ,UAAUR,KAAQ,QAAQ;AAAA,YAEtF,UAAU,CAAC,MAAM;AACf,cAAIC,EAAO,SAAS,YAClBG,EAAS,EAAE,OAAO,UAAU,MAAM,IAElCA,EAAS,EAAE,OAAO,KAAK;AAAA,YAE3B;AAAA,YAEA,UAAA;AAAA,cAAA,gBAAAQ,EAAC,UAAA,EAAO,OAAM,IAAG,UAAQ,IACtB,YAAO,eAAe,UAAUZ,KAAQ,QAAQ,GAAA,CACnD;AAAA,cACCU,EAAQ,IAAI,CAACM,MACZ,gBAAAJ,EAAC,YAA4B,OAAOI,EAAI,SAAA,GACrC,YAAI,SAAA,EAAS,GADHA,EAAI,UAEjB,CACD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAJ,EAACK,GAAA,EAAkB,WAAU,sJAAA,CAAsJ;AAAA,MAAA,EAAA,CACrL;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/StringInput.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"StringInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/StringInput.tsx"],"sourcesContent":["\nimport { StringSchema } from '@mintlify/validation';\nimport { useCallback } from 'react';\n\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputContainer } from '../../components/InputContainer';\nimport { GenericInput } from './RecursiveInput';\nimport { Ids } from '@/api-playground-2/types';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const StringInput: GenericInput<StringSchema> = ({\n name,\n schema,\n typeDropdown,\n value,\n setValue,\n clearValue,\n parentNames,\n arrayIndex,\n style,\n explode,\n}) => {\n const locale = useSelectedLocale();\n const { prefix, placeholder } = getInputAttributesForFormat(schema.format);\n\n // remove modifications\n const unmodifiedValue =\n prefix && value?.startsWith(prefix) ? value.substring(prefix.length) : value;\n\n const setModifiedValue = useCallback(\n (newValue: string) => {\n // apply modifications\n const modifiedValue = `${prefix ?? ''}${newValue}`;\n\n if (!modifiedValue) setValue(undefined);\n else setValue(modifiedValue);\n },\n [setValue, prefix]\n );\n\n return (\n <InputContainer\n name={name}\n typeDropdown={typeDropdown}\n schema={schema}\n onClear={clearValue}\n parentNames={parentNames}\n arrayIndex={arrayIndex}\n style={style}\n explode={explode}\n >\n <div className=\"mint:relative mint:flex mint:flex-1 mint:items-center\">\n <div className=\"mint:absolute mint:left-2.5 mint:top-0 mint:bottom-0 mint:flex mint:items-center mint:justify-center mint:text-sm mint:text-gray-800 mint:dark:text-gray-100\">\n {prefix}\n </div>\n <input\n id={Ids.APIPlaygroundInput}\n className=\"mint:flex-1 mint:min-w-0 mint:bg-transparent mint:outline-0 mint:text-playground-input\"\n style={{ paddingLeft: prefix ? prefix.length * 0.52 + 'rem' : undefined }}\n placeholder={schema.placeholder ?? placeholder ?? `enter ${name ?? 'value'}`}\n aria-label={\n schema.placeholder ??\n placeholder ??\n locale['aria.enterValue'].replace('{name}', name ?? 'value')\n }\n type=\"text\"\n value={unmodifiedValue ?? ''}\n onChange={(event) => setModifiedValue(event.target.value)}\n spellCheck={false}\n />\n </div>\n </InputContainer>\n );\n};\n\ntype InputAttributes = {\n prefix?: string;\n placeholder?: string;\n};\n\nconst getInputAttributesForFormat = (format: string | undefined): InputAttributes => {\n switch (format?.toLowerCase()) {\n case 'bearer':\n return {\n prefix: 'Bearer ',\n placeholder: 'enter bearer token',\n };\n }\n return {};\n};\n"],"names":["StringInput","name","schema","typeDropdown","value","setValue","clearValue","parentNames","arrayIndex","style","explode","locale","useSelectedLocale","prefix","placeholder","getInputAttributesForFormat","unmodifiedValue","setModifiedValue","useCallback","newValue","modifiedValue","jsx","InputContainer","jsxs","Ids","event","format"],"mappings":";;;;;AAWO,MAAMA,IAA0C,CAAC;AAAA,EACtD,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAMC,IAASC,EAAA,GACT,EAAE,QAAAC,GAAQ,aAAAC,EAAA,IAAgBC,EAA4Bb,EAAO,MAAM,GAGnEc,IACJH,MAAUT,KAAA,QAAAA,EAAO,WAAWS,MAAUT,EAAM,UAAUS,EAAO,MAAM,IAAIT,GAEnEa,IAAmBC;AAAA,IACvB,CAACC,MAAqB;AAEpB,YAAMC,IAAgB,GAAGP,KAAU,EAAE,GAAGM,CAAQ;AAEhD,QAAKC,KAAwB,MACF;AAAA,IAC7B;AAAA,IACA,CAACf,GAAUQ,CAAM;AAAA,EAAA;AAGnB,SACE,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAArB;AAAA,MACA,cAAAE;AAAA,MACA,QAAAD;AAAA,MACA,SAASI;AAAA,MACT,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MAEA,UAAA,gBAAAa,EAAC,OAAA,EAAI,WAAU,yDACb,UAAA;AAAA,QAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,gKACZ,UAAAR,GACH;AAAA,QACA,gBAAAQ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAIG,EAAI;AAAA,YACR,WAAU;AAAA,YACV,OAAO,EAAE,aAAaX,IAASA,EAAO,SAAS,OAAO,QAAQ,OAAA;AAAA,YAC9D,aAAaX,EAAO,eAAeY,KAAe,SAASb,KAAQ,OAAO;AAAA,YAC1E,cACEC,EAAO,eACPY,KACAH,EAAO,iBAAiB,EAAE,QAAQ,UAAUV,KAAQ,OAAO;AAAA,YAE7D,MAAK;AAAA,YACL,OAAOe,KAAmB;AAAA,YAC1B,UAAU,CAACS,MAAUR,EAAiBQ,EAAM,OAAO,KAAK;AAAA,YACxD,YAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MACd,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,GAOMV,IAA8B,CAACW,MAAgD;AACnF,UAAQA,KAAA,gBAAAA,EAAQ,eAAY;AAAA,IAC1B,KAAK;AACH,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,aAAa;AAAA,MAAA;AAAA,EACf;AAEJ,SAAO,CAAA;AACT;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/TextInput.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"TextInput.js","sources":["../../../../../src/api-playground/ApiPlayground/Request/inputs/TextInput.tsx"],"sourcesContent":["\nimport { StringSchema } from '@mintlify/validation';\n\nimport { useSelectedLocale } from '@/utils/locales';\n\nimport { InputContainer } from '../../components/InputContainer';\nimport { GenericInput } from './RecursiveInput';\nimport { cn } from \"../../../../utils/cn\";\n\nexport const TextInput: GenericInput<StringSchema> = ({\n name,\n schema,\n typeDropdown,\n value,\n setValue,\n clearValue,\n parentNames,\n arrayIndex,\n}) => {\n const locale = useSelectedLocale();\n\n return (\n <InputContainer\n name={name}\n typeDropdown={typeDropdown}\n schema={schema}\n onClear={clearValue}\n parentNames={parentNames}\n arrayIndex={arrayIndex}\n >\n <textarea\n className=\"mint:-mx-3.5 mint:px-3.5 mint:flex-1 mint:min-h-[2.5rem] mint:min-w-0 mint:bg-transparent mint:outline-0 mint:text-playground-input mint:resize-y\"\n rows={2}\n placeholder={schema.placeholder ?? `Enter ${name ?? 'value'}`}\n aria-label={\n schema.placeholder ?? locale['aria.enterValue'].replace('{name}', name ?? 'value')\n }\n value={value}\n onChange={(event) => setValue(event.target.value)}\n spellCheck={false}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n />\n </InputContainer>\n );\n};\n"],"names":["TextInput","name","schema","typeDropdown","value","setValue","clearValue","parentNames","arrayIndex","locale","useSelectedLocale","jsx","InputContainer","event"],"mappings":";;;AASO,MAAMA,IAAwC,CAAC;AAAA,EACpD,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACJ,QAAMC,IAASC,EAAA;AAEf,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAX;AAAA,MACA,cAAAE;AAAA,MACA,QAAAD;AAAA,MACA,SAASI;AAAA,MACT,aAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAM;AAAA,UACN,aAAaT,EAAO,eAAe,SAASD,KAAQ,OAAO;AAAA,UAC3D,cACEC,EAAO,eAAeO,EAAO,iBAAiB,EAAE,QAAQ,UAAUR,KAAQ,OAAO;AAAA,UAEnF,OAAAG;AAAA,UACA,UAAU,CAACS,MAAUR,EAASQ,EAAM,OAAO,KAAK;AAAA,UAChD,YAAY;AAAA,UACZ,gBAAe;AAAA,UACf,cAAa;AAAA,UACb,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACd;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyFileToClipboardButton.js","sources":["../../../../src/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"CopyFileToClipboardButton.js","sources":["../../../../src/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.tsx"],"sourcesContent":["\nimport { CopyDataToClipboardButton } from '@/components/content-components/code-block';\n\nimport { ResponseBodyData } from '.';\n\ntype CopyFileToClipboardButtonParams = {\n data: ResponseBodyData;\n};\n\nexport const CopyFileToClipboardButton = ({ data }: CopyFileToClipboardButtonParams) => {\n return <CopyDataToClipboardButton data={data} showTooltip={false} />;\n};\n"],"names":["CopyFileToClipboardButton","data","jsx","CopyDataToClipboardButton"],"mappings":";;AASO,MAAMA,IAA4B,CAAC,EAAE,MAAAC,QACnC,gBAAAC,EAACC,GAAA,EAA0B,MAAAF,GAAY,aAAa,GAAA,CAAO;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadFileButton.js","sources":["../../../../src/api-playground/ApiPlayground/Response/DownloadFileButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"DownloadFileButton.js","sources":["../../../../src/api-playground/ApiPlayground/Response/DownloadFileButton.tsx"],"sourcesContent":["\nimport { useState } from 'react';\n\nimport { CodeBlockTooltip } from '../../../components/content-components/code-group';\nimport { useSelectedLocale } from '@/utils/locales';\nimport { CheckmarkCircleRegular, ArrowDownRegular } from '@fluentui/react-icons';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nimport { ResponseBodyData } from '.';\n\ntype DownloadButtonParams = {\n data: ResponseBodyData;\n};\n\nexport const DownloadButton = ({ data }: DownloadButtonParams) => {\n const [isCopiedActive, setIsCopiedActive] = useState(false);\n const locale = useSelectedLocale();\n const onClick = () => {\n setIsCopiedActive(true);\n setTimeout(() => {\n setIsCopiedActive(false);\n }, 2000);\n };\n\n return data.extension ? (\n <a\n aria-label={\n isCopiedActive ? locale['aria.fileDownloaded'] : locale['aria.downloadResponseFile']\n }\n className=\"mint:group mint:h-7 mint:w-7 mint:flex mint:items-center mint:justify-center mint:cursor-pointer mint:relative\"\n onClick={onClick}\n href={data.url}\n download={`api-response.${data.extension}`}\n >\n {isCopiedActive ? (\n <CheckmarkCircleRegular\n className=\"mint:h-4 mint:w-4 mint:bg-primary mint:dark:bg-primary-light\"\n />\n ) : (\n <ArrowDownRegular\n className={cn(\n 'mint:w-4 mint:h-4',\n 'mint:bg-gray-400 mint:group-hover:bg-gray-500 mint:dark:bg-white/40 mint:dark:group-hover:bg-white/60'\n )} \n />\n )}\n <CodeBlockTooltip text={isCopiedActive ? 'Copied!' : 'Download'} />\n </a>\n ) : null;\n};\n"],"names":["DownloadButton","data","isCopiedActive","setIsCopiedActive","useState","locale","useSelectedLocale","onClick","jsxs","jsx","CheckmarkCircleRegular","ArrowDownRegular","cn","CodeBlockTooltip"],"mappings":";;;;;;;AAcO,MAAMA,IAAiB,CAAC,EAAE,MAAAC,QAAiC;AAChE,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAAS,EAAK,GACpDC,IAASC,EAAA,GACTC,IAAU,MAAM;AACpB,IAAAJ,EAAkB,EAAI,GACtB,WAAW,MAAM;AACf,MAAAA,EAAkB,EAAK;AAAA,IACzB,GAAG,GAAI;AAAA,EACT;AAEA,SAAOF,EAAK,YACV,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cACEN,IAAiBG,EAAO,qBAAqB,IAAIA,EAAO,2BAA2B;AAAA,MAErF,WAAU;AAAA,MACV,SAAAE;AAAA,MACA,MAAMN,EAAK;AAAA,MACX,UAAU,gBAAgBA,EAAK,SAAS;AAAA,MAEvC,UAAA;AAAA,QAAAC,IACC,gBAAAO;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,UAAA;AAAA,QAAA,IAGZ,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QAGJ,gBAAAH,EAACI,GAAA,EAAiB,MAAMX,IAAiB,YAAY,WAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAEjE;AACN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeResponseContent.js","sources":["../../../../../src/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"CodeResponseContent.js","sources":["../../../../../src/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.tsx"],"sourcesContent":["\nimport { useMemo } from 'react';\nimport Prism from 'prismjs';\nimport 'prismjs/components/prism-json.js';\n\nimport { MAX_PREVIEW_BYTES } from '@/constants';\nimport { useSelectedLocale } from '@/utils/locales';\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\nimport { getCodeBlockScrollbarClassname } from '@/utils/getScrollbarClassname';\n\nimport type { OtherResponseData } from '..';\n\ntype CodeResponseContentParams = {\n data: OtherResponseData;\n};\n\nexport const CodeResponseContent = ({ data }: CodeResponseContentParams) => {\n const locale = useSelectedLocale();\n\n let isJson = false;\n let jsonData = data.content;\n const wayTooLarge = data.content.length > MAX_PREVIEW_BYTES * 5;\n\n try {\n jsonData = JSON.parse(data.content);\n isJson = true;\n } catch (e) {\n console.error(e);\n }\n\n const html = useMemo(() => {\n if (!isJson) return undefined;\n\n try {\n const codeString = JSON.stringify(jsonData, null, 2);\n const grammar = Prism.languages.json || Prism.languages.plaintext;\n return Prism.highlight(codeString, grammar, 'json');\n } catch (error) {\n console.error('Failed to highlight code:', error);\n return undefined;\n }\n }, [isJson, jsonData]);\n\n return (\n <div\n tabIndex={0}\n role=\"region\"\n aria-label={locale['aria.responseContent']}\n className='mint:overflow-auto mint:h-full'\n >\n <div\n className={cn(\n 'mint:px-3 mint:py-3.5 mint:h-full mint:whitespace-pre mint:border-gray-200 mint:dark:border-gray-700 mint:dark:text-gray-300 mint:font-mono mint:text-xs mint:leading-5',\n wayTooLarge && 'mint:whitespace-pre-line'\n )}\n >\n {isJson && html !== undefined ? (\n <span suppressHydrationWarning dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n // Fallback: show prettified JSON (without syntax highlighting) when response is too large\n <span suppressHydrationWarning>\n {isJson ? JSON.stringify(jsonData, null, 2) : data.content}\n </span>\n )}\n </div>\n </div>\n );\n};\n"],"names":["CodeResponseContent","data","locale","useSelectedLocale","isJson","jsonData","wayTooLarge","MAX_PREVIEW_BYTES","e","html","useMemo","codeString","grammar","Prism","error","jsx","cn"],"mappings":";;;;;;;;AAgBO,MAAMA,IAAsB,CAAC,EAAE,MAAAC,QAAsC;AAC1E,QAAMC,IAASC,EAAA;AAEf,MAAIC,IAAS,IACTC,IAAWJ,EAAK;AACpB,QAAMK,IAAcL,EAAK,QAAQ,SAASM,IAAoB;AAE9D,MAAI;AACF,IAAAF,IAAW,KAAK,MAAMJ,EAAK,OAAO,GAClCG,IAAS;AAAA,EACX,SAASI,GAAG;AACV,YAAQ,MAAMA,CAAC;AAAA,EACjB;AAEA,QAAMC,IAAOC,EAAQ,MAAM;AACzB,QAAKN;AAEL,UAAI;AACF,cAAMO,IAAa,KAAK,UAAUN,GAAU,MAAM,CAAC,GAC7CO,IAAUC,EAAM,UAAU,QAAQA,EAAM,UAAU;AACxD,eAAOA,EAAM,UAAUF,GAAYC,GAAS,MAAM;AAAA,MACpD,SAASE,GAAO;AACd,gBAAQ,MAAM,6BAA6BA,CAAK;AAChD;AAAA,MACF;AAAA,EACF,GAAG,CAACV,GAAQC,CAAQ,CAAC;AAErB,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAYb,EAAO,sBAAsB;AAAA,MACzC,WAAU;AAAA,MAEV,UAAA,gBAAAa;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWC;AAAA,YACT;AAAA,YACAV,KAAe;AAAA,UAAA;AAAA,UAGhB,UAAAF,KAAUK,MAAS,SAClB,gBAAAM,EAAC,QAAA,EAAK,0BAAwB,IAAC,yBAAyB,EAAE,QAAQN,EAAA,EAAK,CAAG;AAAA;AAAA,YAG1E,gBAAAM,EAAC,QAAA,EAAK,0BAAwB,IAC3B,UAAAX,IAAS,KAAK,UAAUC,GAAU,MAAM,CAAC,IAAIJ,EAAK,QAAA,CACrD;AAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/api-playground/ApiPlayground/Response/ResponseBody/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/api-playground/ApiPlayground/Response/ResponseBody/index.tsx"],"sourcesContent":["\nimport { ResponseBodyData } from '..';\nimport { ResponsePlaceholder } from '../ResponsePlaceholder';\n\nimport { CodeResponseContent } from './CodeResponseContent';\n\n\ntype ResponseBodyParams = {\n data: ResponseBodyData | undefined;\n};\n\nexport const ResponseBody = ({ data }: ResponseBodyParams) => {\n if (data == null) {\n return (\n <ResponsePlaceholder message=\"No body data received from the server\" icon=\"brackets-curly\" />\n );\n }\n\n switch (data.type) {\n case 'other':\n return <CodeResponseContent data={data} />;\n }\n};\n"],"names":["ResponseBody","data","jsx","ResponsePlaceholder","CodeResponseContent"],"mappings":";;;AAWO,MAAMA,IAAe,CAAC,EAAE,MAAAC,QAA+B;AAC5D,MAAIA,KAAQ;AACV,WACE,gBAAAC,EAACC,GAAA,EAAoB,SAAQ,yCAAwC,MAAK,kBAAiB;AAI/F,UAAQF,EAAK,MAAA;AAAA,IACX,KAAK;AACH,aAAO,gBAAAC,EAACE,KAAoB,MAAAH,GAAY;AAAA,EAAA;AAE9C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseError.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseError.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ResponseError.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseError.tsx"],"sourcesContent":["\nimport { ResponsePlaceholder } from './ResponsePlaceholder';\nimport { WarningRegular } from '@fluentui/react-icons';\nimport { cn } from \"../../../utils/cn\";\n\nexport const ResponseError = ({ message }: { message: string }) => {\n return (\n <ResponsePlaceholder\n message={`An error occurred while making the request: ${message}`}\n icon={<WarningRegular className=\"mint:h-8 mint:w-8 mint:bg-gray-300 mint:dark:bg-white/20\" />}\n />\n );\n};\n"],"names":["ResponseError","message","jsx","ResponsePlaceholder","WarningRegular"],"mappings":";;;AAKO,MAAMA,IAAgB,CAAC,EAAE,SAAAC,QAE5B,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,SAAS,+CAA+CF,CAAO;AAAA,IAC/D,MAAM,gBAAAC,EAACE,GAAA,EAAe,WAAU,2DAAA,CAA2D;AAAA,EAAA;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseHeaders.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseHeaders.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ResponseHeaders.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseHeaders.tsx"],"sourcesContent":["\nimport { ApiPlaygroundResponseType } from '@mintlify/models';\nimport { TableRegular } from '@fluentui/react-icons';\n\nimport { ResponsePlaceholder } from './ResponsePlaceholder';\nimport { ResponseTable } from './ResponseTable';\nimport { cn } from \"../../../utils/cn\";\n\nexport const ResponseHeaders = ({ response }: { response: ApiPlaygroundResponseType }) => {\n const headers = Object.entries(response.headers);\n if (headers.length === 0) {\n return <ResponsePlaceholder message=\"No headers received from the server\" icon={<TableRegular className=\"mint:h-8 mint:w-8 mint:bg-gray-300 mint:dark:bg-white/20\" />} />;\n }\n\n return <ResponseTable data={headers} />;\n};\n"],"names":["ResponseHeaders","response","headers","jsx","ResponsePlaceholder","TableRegular","ResponseTable"],"mappings":";;;;AAQO,MAAMA,IAAkB,CAAC,EAAE,UAAAC,QAAwD;AACxF,QAAMC,IAAU,OAAO,QAAQD,EAAS,OAAO;AAC/C,SAAIC,EAAQ,WAAW,IACd,gBAAAC,EAACC,KAAoB,SAAQ,uCAAsC,MAAM,gBAAAD,EAACE,GAAA,EAAa,WAAU,2DAAA,CAA2D,EAAA,CAAI,IAGlK,gBAAAF,EAACG,GAAA,EAAc,MAAMJ,EAAA,CAAS;AACvC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsePlaceholder.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponsePlaceholder.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ResponsePlaceholder.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponsePlaceholder.tsx"],"sourcesContent":["\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const ResponsePlaceholder = ({ message, icon }: { message: string, icon?: React.ReactNode }) => {\n\n return (\n <div\n className={cn(\n 'mint:bg-response-body-auto',\n 'mint:rounded-b-xl mint:overflow-auto'\n )}\n >\n <div className=\"mint:pb-8 mint:pt-10 mint:px-6 mint:space-y-4 mint:flex mint:flex-col mint:items-center\">\n {icon}\n <div className=\"mint:text-sm mint:text-center\">{message}</div>\n </div>\n </div>\n );\n};\n"],"names":["ResponsePlaceholder","message","icon","jsx","cn","jsxs"],"mappings":";;;AAGO,MAAMA,IAAsB,CAAC,EAAE,SAAAC,GAAS,MAAAC,QAG3C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IAGF,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2FACZ,UAAA;AAAA,MAAAH;AAAA,MACD,gBAAAC,EAAC,OAAA,EAAI,WAAU,iCAAiC,UAAAF,EAAA,CAAQ;AAAA,IAAA,EAAA,CAC1D;AAAA,EAAA;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTable.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseTable.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ResponseTable.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseTable.tsx"],"sourcesContent":["\nimport { cn } from '@/api-playground-2/schemaGraph/utils';\n\nexport const ResponseTable = ({ data }: { data: [string, unknown][] }) => {\n\n return (\n <div className=\"mint:w-full mint:rounded-b-xl mint:overflow-y-auto\">\n <table className=\"mint:table-fixed mint:pb-8 mint:w-full mint:pt-10\">\n {data.flatMap(([key, value]) => {\n return (\n <tr\n className={cn(\n 'mint:w-full mint:flex mint:divide-x mint:border-b mint:last:border-b-0 mint:text-xs mint:text-gray-600 mint:dark:text-gray-400',\n 'mint:divide-gray-100 mint:dark:divide-white/10 mint:border-gray-100 mint:dark:border-white/10'\n )}\n key={key}\n >\n <td className=\"mint:flex mint:items-center mint:basis-1/2 mint:py-2 mint:px-4 mint:overflow-x-autotext-gray-600\">\n <div className=\"mint:min-w-max\">{key}</div>\n </td>\n <td className=\"mint:flex mint:items-center mint:basis-1/2 mint:py-2 mint:px-4 mint:overflow-x-auto\">\n <div className=\"mint:min-w-max\">{`${value}`}</div>\n </td>\n </tr>\n );\n })}\n </table>\n </div>\n );\n};\n"],"names":["ResponseTable","data","jsx","key","value","jsxs","cn"],"mappings":";;;AAGO,MAAMA,IAAgB,CAAC,EAAE,MAAAC,QAG5B,gBAAAC,EAAC,OAAA,EAAI,WAAU,sDACb,4BAAC,SAAA,EAAM,WAAU,qDACd,UAAAD,EAAK,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAEtB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IAIF,UAAA;AAAA,MAAA,gBAAAJ,EAAC,MAAA,EAAG,WAAU,oGACZ,UAAA,gBAAAA,EAAC,SAAI,WAAU,kBAAkB,aAAI,EAAA,CACvC;AAAA,MACA,gBAAAA,EAAC,MAAA,EAAG,WAAU,uFACZ,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,kBAAkB,UAAA,GAAGE,CAAK,GAAA,CAAG,EAAA,CAC9C;AAAA,IAAA;AAAA,EAAA;AAAA,EAPKD;AAAA,CAUV,GACH,GACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTopbar.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseTopbar.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ResponseTopbar.js","sources":["../../../../src/api-playground/ApiPlayground/Response/ResponseTopbar.tsx"],"sourcesContent":["\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":";;;;;;;;AAkBO,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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/api-playground/ApiPlayground/Response/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/api-playground/ApiPlayground/Response/index.tsx"],"sourcesContent":["\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":";;;;;;;;;;AAaO,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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdditionalPropertyButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/AdditionalPropertyButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"AdditionalPropertyButton.js","sources":["../../../../src/api-playground/ApiPlayground/components/AdditionalPropertyButton.tsx"],"sourcesContent":["\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":";;;;;AAaO,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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayCount.js","sources":["../../../../src/api-playground/ApiPlayground/components/ArrayCount.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ArrayCount.js","sources":["../../../../src/api-playground/ApiPlayground/components/ArrayCount.tsx"],"sourcesContent":["\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":";;AAKO,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;"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as l, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import { potentiallyParseOpenApiString as M } from "../../../common/potentiallyParseOpenApiString.js";
|
|
3
|
-
import { slugToTitle as
|
|
4
|
-
import { ChevronDownFilled as
|
|
5
|
-
import { useState as
|
|
3
|
+
import { slugToTitle as f } from "../../../common/slugToTitle.js";
|
|
4
|
+
import { ChevronDownFilled as k } from "@fluentui/react-icons";
|
|
5
|
+
import { useState as P, useMemo as h } from "react";
|
|
6
6
|
import { MethodPill as A } from "../../../components/Api/MethodPill.js";
|
|
7
|
-
import { DropdownMenu as y, DropdownMenuTrigger as
|
|
8
|
-
import { useCurrentPath as N } from "../../../hooks/useCurrentPath.js";
|
|
7
|
+
import { DropdownMenu as y, DropdownMenuTrigger as D, DropdownMenuContent as N } from "../../../components/Api/dropdown-menu.js";
|
|
9
8
|
import { useMDXContent as S } from "../../../hooks/useMDXContent.js";
|
|
10
|
-
import { EndpointsMenuLink as
|
|
11
|
-
import { EndpointsMenuSearch as
|
|
12
|
-
const
|
|
9
|
+
import { EndpointsMenuLink as C } from "./EndpointsMenuLink.js";
|
|
10
|
+
import { EndpointsMenuSearch as T } from "./EndpointsMenuSearch.js";
|
|
11
|
+
const g = (r) => r.reduce((t, e) => "pages" in e ? [...t, ...g(e.pages)] : "openapi" in e || "api" in e || "asyncapi" in e ? [...t, e] : t, []), E = (r) => r.map((t) => {
|
|
13
12
|
{
|
|
14
13
|
const e = t.openapi || t.api;
|
|
15
14
|
if (e == null)
|
|
@@ -17,28 +16,28 @@ const f = (r) => r.reduce((t, e) => "pages" in e ? [...t, ...f(e.pages)] : "open
|
|
|
17
16
|
const n = M(e);
|
|
18
17
|
return n == null ? void 0 : {
|
|
19
18
|
method: n.method,
|
|
20
|
-
title: t.title ||
|
|
19
|
+
title: t.title || f(t.href),
|
|
21
20
|
href: t.href,
|
|
22
21
|
type: "openapi",
|
|
23
22
|
playground: t.playground
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
|
-
}).filter((t) => t != null),
|
|
27
|
-
var
|
|
28
|
-
const [{ pageMetadata:
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */ i(
|
|
31
|
-
/* @__PURE__ */ i(A, { method:
|
|
25
|
+
}).filter((t) => t != null), G = ({ endpoint: r, channel: t, operation: e, pathname: n }) => {
|
|
26
|
+
var u;
|
|
27
|
+
const [{ pageMetadata: a }] = S(), s = a.title || f(n), [m, x] = P(""), p = g(((u = a.navigation) == null ? void 0 : u.groupsOrPages) ?? []), d = h(() => E(p), [p]), v = e ? e.title || s : r ? r.title || s : (t == null ? void 0 : t.title) || s, c = e ? e.method : r ? r.method : "websocket", w = c === "websocket", b = h(() => m ? d.filter((o) => o.title.toLowerCase().includes(m.toLowerCase())) : d, [m, d]);
|
|
28
|
+
return /* @__PURE__ */ l(y, { children: [
|
|
29
|
+
/* @__PURE__ */ i(D, { className: "mint:hidden mint:lg:block", children: /* @__PURE__ */ l("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: [
|
|
30
|
+
/* @__PURE__ */ i(A, { method: c, shortMethod: w, isActive: !0 }),
|
|
32
31
|
/* @__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(
|
|
32
|
+
/* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(k, { className: "mint:w-4 mint:h-4 mint:text-gray-500 mint:dark:text-gray-400" }) })
|
|
34
33
|
] }) }),
|
|
35
|
-
/* @__PURE__ */ i(
|
|
36
|
-
/* @__PURE__ */ i(
|
|
37
|
-
b.map((o) => /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(
|
|
34
|
+
/* @__PURE__ */ i(N, { 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__ */ l("div", { className: "mint:flex mint:flex-col", children: [
|
|
35
|
+
/* @__PURE__ */ i(T, { search: m, setSearch: x }),
|
|
36
|
+
b.map((o) => /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(C, { page: o, pathname: n }) }, `search-${o.title}-${o.href}`))
|
|
38
37
|
] }) })
|
|
39
38
|
] });
|
|
40
39
|
};
|
|
41
40
|
export {
|
|
42
|
-
|
|
41
|
+
G as EndpointsMenu
|
|
43
42
|
};
|
|
44
43
|
//# sourceMappingURL=EndpointsMenu.js.map
|
|
@@ -1 +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 {
|
|
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 { 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 pathname: 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, pathname }: EndpointsMenuProps) => {\n const [{ pageMetadata }] = useMDXContent() as unknown as [{ pageMetadata: { title?: string; navigation?: { groupsOrPages?: DecoratedPageOrGroupConfig[] } } }];\n const pageTitle = pageMetadata.title || slugToTitle(pathname);\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} pathname={pathname} />\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","pathname","pageMetadata","useMDXContent","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,GAAW,UAAAC,QAAmC;;AAC/F,QAAM,CAAC,EAAE,cAAAC,GAAc,IAAIC,EAAA,GACrBC,IAAYF,EAAa,SAASP,EAAYM,CAAQ,GACtD,CAACI,GAAQC,CAAS,IAAIC,EAAS,EAAE,GAEjCC,IAAcvB,IAAewB,IAAAP,EAAa,eAAb,gBAAAO,EAAyB,kBAAiB,CAAA,CAAE,GACzEC,IAAWC,EAAQ,MAAMtB,EAAemB,CAAW,GAAG,CAACA,CAAW,CAAC,GAEnEI,IAAQZ,IACVA,EAAU,SAASI,IACnBN,IACEA,EAAS,SAASM,KAClBL,KAAA,gBAAAA,EAAS,UAASK,GAClBS,IAASb,IAAYA,EAAU,SAASF,IAAWA,EAAS,SAAS,aACrEgB,IAAcD,MAAW,aAEzBE,IAAgBJ,EAAQ,MACvBN,IACEK,EAAS,OAAO,CAACnB,MACfA,EAAK,MAAM,YAAA,EAAc,SAASc,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,CAACxB,MAClB,gBAAA0B,EAAC,OAAA,EACC,4BAACO,GAAA,EAAkB,MAAAjC,GAAY,UAAAU,GAAoB,EAAA,GAD3C,UAAUV,EAAK,KAAK,IAAIA,EAAK,IAAI,EAE3C,CACD;AAAA,IAAA,EAAA,CACH,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { jsx as n, jsxs as
|
|
2
|
-
import { MethodPill as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const
|
|
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) => {
|
|
1
|
+
import { jsx as n, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { MethodPill as a } from "../../../components/Api/MethodPill.js";
|
|
3
|
+
import { isEqualIgnoringLeadingSlash as c } from "../../../paths/isEqualIgnoringLeadingSlash.js";
|
|
4
|
+
import { cn as u } from "../../../utils/cn.js";
|
|
5
|
+
const w = ({ page: t, pathname: o }) => {
|
|
6
|
+
const i = c(t.href, o), m = t.type === "openapi", d = t.playground === "none" || t.playground === "simple" || t.method === "webhook", s = (h) => {
|
|
8
7
|
h.preventDefault();
|
|
9
8
|
const e = d ? t.href : `${t.href}?playground=open`;
|
|
10
9
|
if (typeof window < "u" && window.next) {
|
|
@@ -16,17 +15,17 @@ const k = ({ page: t }) => {
|
|
|
16
15
|
}
|
|
17
16
|
window.location.href = e;
|
|
18
17
|
};
|
|
19
|
-
return /* @__PURE__ */ n("a", { href: t.href, title: t.title, children: /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ n("a", { href: t.href, title: t.title, children: /* @__PURE__ */ l(
|
|
20
19
|
"div",
|
|
21
20
|
{
|
|
22
21
|
onClick: s,
|
|
23
|
-
className:
|
|
22
|
+
className: u(
|
|
24
23
|
"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
24
|
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
25
|
),
|
|
27
26
|
children: [
|
|
28
27
|
/* @__PURE__ */ n(
|
|
29
|
-
|
|
28
|
+
a,
|
|
30
29
|
{
|
|
31
30
|
method: t.method,
|
|
32
31
|
shortMethod: m,
|
|
@@ -40,6 +39,6 @@ const k = ({ page: t }) => {
|
|
|
40
39
|
) });
|
|
41
40
|
};
|
|
42
41
|
export {
|
|
43
|
-
|
|
42
|
+
w as EndpointsMenuLink
|
|
44
43
|
};
|
|
45
44
|
//# sourceMappingURL=EndpointsMenuLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointsMenuLink.js","sources":["../../../../src/api-playground/ApiPlayground/components/EndpointsMenuLink.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"EndpointsMenuLink.js","sources":["../../../../src/api-playground/ApiPlayground/components/EndpointsMenuLink.tsx"],"sourcesContent":["\nimport { MethodPill } from '../../../components/Api/MethodPill';\nimport { ApiPageData } from '../../../api-playground-2/types/api';\nimport { isEqualIgnoringLeadingSlash } from '../../../../src/paths/isEqualIgnoringLeadingSlash';\nimport { cn } from '@/utils/cn';\n\nexport const EndpointsMenuLink = ({ page, pathname }: { page: ApiPageData; pathname: string }) => {\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","isActive","isEqualIgnoringLeadingSlash","shortMethod","noPlayground","handleClick","e","targetHref","router","jsxs","cn","jsx","MethodPill"],"mappings":";;;;AAMO,MAAMA,IAAoB,CAAC,EAAE,MAAAC,GAAM,UAAAC,QAAwD;AAChG,QAAMC,IAAWC,EAA4BH,EAAK,MAAMC,CAAQ,GAC1DG,IAAcJ,EAAK,SAAS,WAC5BK,IACJL,EAAK,eAAe,UAAUA,EAAK,eAAe,YAAYA,EAAK,WAAW,WAE1EM,IAAc,CAACC,MAAwB;AAC3C,IAAAA,EAAE,eAAA;AACF,UAAMC,IAAaH,IAAeL,EAAK,OAAO,GAAGA,EAAK,IAAI;AAI1D,QAAI,OAAO,SAAW,OAAgB,OAAe,MAAM;AAGzD,YAAMS,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,MAAMR,EAAK,MAAM,OAAOA,EAAK,OAC9B,UAAA,gBAAAU;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,QAAQb,EAAK;AAAA,YACb,aAAAI;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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputContainer.js","sources":["../../../../src/api-playground/ApiPlayground/components/InputContainer.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"InputContainer.js","sources":["../../../../src/api-playground/ApiPlayground/components/InputContainer.tsx"],"sourcesContent":["\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":";;;;;;;;;;;AA8BO,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;"}
|