@mintlify/msft-sdk 1.1.58 → 1.1.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-playground/ApiPlayground/ApiPlaygroundContext.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/BodySection.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/ParameterSection.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/SecuritySection.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/ServerSection.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/index.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseError.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTable.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js +0 -1
- package/dist/api-playground/ApiPlayground/Response/index.js +0 -1
- package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js +0 -1
- package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js +0 -1
- package/dist/api-playground/ApiPlayground/components/ArrayCount.js +0 -1
- package/dist/api-playground/ApiPlayground/components/BasePathSelector.js +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js +0 -1
- package/dist/api-playground/ApiPlayground/components/InputContainer.js +0 -1
- package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js +0 -1
- package/dist/api-playground/ApiPlayground/components/ModalHeader.js +0 -1
- package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js +0 -1
- package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js +0 -1
- package/dist/api-playground/ApiPlayground/components/PathHeader.js +0 -1
- package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js +0 -1
- package/dist/api-playground/ApiPlayground/components/PrettyPath.js +0 -1
- package/dist/api-playground/ApiPlayground/components/SendPill.js +0 -1
- package/dist/api-playground/ApiPlayground/components/TrashButton.js +0 -1
- package/dist/api-playground/ApiPlayground/components/TypeDropdown.js +0 -1
- package/dist/api-playground/ApiPlayground/index.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +6 -8
- package/dist/api-playground/EndpointFields/components/Description.js +0 -1
- package/dist/api-playground/EndpointFields/components/OneOfDropdown.js +0 -1
- package/dist/api-playground/EndpointFields/components/OptionDropdown.js +0 -1
- package/dist/api-playground/EndpointFields/components/SectionHeading.js +0 -1
- package/dist/api-playground/EndpointFields/index.js +3 -5
- package/dist/api-playground-2/Api.js +0 -1
- package/dist/api-playground-2/ApiExamples.js +0 -1
- package/dist/api-playground-2/ApiFields.js +0 -1
- package/dist/api-playground-2/EndpointHeader.js +0 -1
- package/dist/api-playground-2/OperationPage.js +0 -1
- package/dist/api-playground-2/Playground.js +0 -1
- package/dist/api-playground-2/SchemaPage.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/Enum.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js +0 -1
- package/dist/api-playground-2/components/Example/GeneratedRequestExample.js +0 -1
- package/dist/api-playground-2/components/Example/GeneratedResponseExample.js +0 -1
- package/dist/api-playground-2/components/Example/RequestExample.js +0 -1
- package/dist/api-playground-2/components/Example/ResponseExample.js +0 -1
- package/dist/api-playground-2/components/Request/BodySection.js +0 -1
- package/dist/api-playground-2/components/Request/InputSectionContainer.js +0 -1
- package/dist/api-playground-2/components/Request/ParameterSection.js +0 -1
- package/dist/api-playground-2/components/Request/SecuritySection.js +0 -1
- package/dist/api-playground-2/components/Request/ServerSection.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/ArrayInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/FileInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/InputContainer.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/NullInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/NumberInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/ObjectInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/OneOfInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/SelectInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/StringInput.js +0 -1
- package/dist/api-playground-2/components/Request/inputs/TextInput.js +0 -1
- package/dist/api-playground-2/components/TypeDropdown.js +0 -1
- package/dist/api-playground-2/constants/index.js +0 -1
- package/dist/api-playground-2/contexts/ApiPlaygroundContext.js +0 -1
- package/dist/api-playground-2/generators/createBodyData.js +0 -1
- package/dist/api-playground-2/generators/createHeaders.js +0 -1
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +0 -1
- package/dist/api-playground-2/generators/generateRequest.js +0 -1
- package/dist/api-playground-2/generators/generateResponseExampleMap.js +0 -1
- package/dist/api-playground-2/generators/generateSnippet.js +0 -1
- package/dist/api-playground-2/generators/generateSnippetMap.js +0 -1
- package/dist/api-playground-2/generators/getFileProperties.js +0 -1
- package/dist/api-playground-2/hooks/useCopyPathWithInputs.js +0 -1
- package/dist/api-playground-2/hooks/useInitializeInputs.js +0 -1
- package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js +0 -1
- package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js +0 -1
- package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js +0 -1
- package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js +0 -1
- package/dist/api-playground-2/schemaGraph/errors.js +0 -1
- package/dist/api-playground-2/schemaGraph/getAllRequiredProperties.js +0 -1
- package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js +0 -1
- package/dist/api-playground-2/schemaGraph/getDocumentProperties.js +0 -1
- package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js +0 -1
- package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js +0 -1
- package/dist/api-playground-2/schemaGraph/processExamples.js +0 -1
- package/dist/api-playground-2/schemaGraph/processSecurityOptions.js +0 -1
- package/dist/api-playground-2/schemaGraph/reduceCompositions.js +0 -1
- package/dist/api-playground-2/schemaGraph/resolveGraphNode.js +0 -1
- package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js +0 -1
- package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js +0 -1
- package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js +0 -1
- package/dist/api-playground-2/schemaGraph/utils.js +0 -1
- package/dist/api-playground-2/types/index.js +0 -1
- package/dist/common/guards.js +0 -1
- package/dist/common/parseApiTargetFromMetadata.js +0 -1
- package/dist/common/parseOpenApiString.js +0 -1
- package/dist/common/potentiallyParseOpenApiString.js +0 -1
- package/dist/common/replaceSlashIndex.js +0 -1
- package/dist/common/slugToTitle.js +0 -1
- package/dist/components/Api/ApiReferenceProvider.js +0 -1
- package/dist/components/Api/ErrorBoundary.js +0 -1
- package/dist/components/Api/Expandable.js +0 -1
- package/dist/components/Api/Markdown.js +0 -1
- package/dist/components/Api/MethodPill.js +0 -1
- package/dist/components/Api/Param.js +0 -1
- package/dist/components/Api/colors.js +0 -1
- package/dist/components/Api/dropdown-menu.js +0 -1
- package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js +0 -1
- package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js +0 -1
- package/dist/components/content-components/CodeGroupSelect/index.js +0 -1
- package/dist/components/content-components/all-components.js +0 -1
- package/dist/components/content-components/callouts.js +0 -1
- package/dist/components/content-components/code-block.js +0 -1
- package/dist/components/content-components/code-group.js +0 -1
- package/dist/components/content-components/code-snippet.js +0 -1
- package/dist/components/content-components/code-snippets.js +0 -1
- package/dist/components/content-components/default-components.js +0 -1
- package/dist/components/content-components/details/details.js +0 -1
- package/dist/components/content-components/getNodeText.js +0 -1
- package/dist/components/content-components/heading.js +0 -1
- package/dist/components/content-components/home.js +0 -1
- package/dist/components/content-components/image.js +0 -1
- package/dist/components/content-components/latex.js +0 -1
- package/dist/components/content-components/link.js +0 -1
- package/dist/components/content-components/param-name.js +0 -1
- package/dist/components/content-components/table/index.js +0 -1
- package/dist/components/content-components/table/table-modal.js +0 -1
- package/dist/components/content-components/tabs/tab.js +0 -1
- package/dist/components/content-components/tabs/tabs.js +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-context.js +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot.js +0 -1
- package/dist/components/content-components/zone-pivots/zone-target.js +0 -1
- package/dist/components/docsLayout.js +0 -1
- package/dist/components/docsPage.js +0 -1
- package/dist/components/mdx-renderer.js +0 -1
- package/dist/components/nav-tree/index.js +0 -1
- package/dist/components/nav-tree/mobile-nav.js +0 -1
- package/dist/components/page-context-menu.js +0 -1
- package/dist/components/plain-text-page.js +0 -1
- package/dist/components/toc/index.js +0 -1
- package/dist/components/toc/pivot-aware-toc.js +0 -1
- package/dist/constants/index.js +0 -1
- package/dist/constants/initialRequest.js +0 -1
- package/dist/constants/prism-languages.js +0 -1
- package/dist/constants/snippetPresets.js +0 -1
- package/dist/constants/zIndex.js +0 -1
- package/dist/context/components-context.js +0 -1
- package/dist/contexts/ApiPlaygroundInputsContext.js +0 -1
- package/dist/contexts/CodeExampleLabelContext.js +0 -1
- package/dist/contexts/ConfigContext.js +0 -1
- package/dist/contexts/EndpointLocationContext.js +0 -1
- package/dist/contexts/MDXContentContext.js +0 -1
- package/dist/env.js +0 -1
- package/dist/hooks/useApiPlaygroundDisplay.js +0 -1
- package/dist/hooks/useApiPlaygroundInputs.js +0 -1
- package/dist/hooks/useApiPlaygroundPrefillExamples.js +0 -1
- package/dist/hooks/useBaseUrlOptions.js +0 -1
- package/dist/hooks/useCheckHash.js +0 -1
- package/dist/hooks/useComponentSchemas.js +0 -1
- package/dist/hooks/useEndpoint.js +0 -1
- package/dist/hooks/useExpandableMemory.js +0 -1
- package/dist/hooks/useGenerateNextAdditionalProperties.js +0 -1
- package/dist/hooks/useGenerateNextItems.js +0 -1
- package/dist/hooks/useGenerateNextProperties.js +0 -1
- package/dist/hooks/useKeyboardShortcut.js +0 -1
- package/dist/hooks/useMDXContent.js +0 -1
- package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js +0 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js +0 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js +0 -1
- package/dist/hooks/useMarkdownCopy.js +0 -1
- package/dist/hooks/usePlaygroundSchemaOptions.js +0 -1
- package/dist/hooks/usePrefilledInputs/index.js +0 -1
- package/dist/hooks/usePrefilledInputs/storedServerVariables.js +0 -1
- package/dist/hooks/useSecurityOption.js +0 -1
- package/dist/hooks/useSendPlaygroundRequest.js +0 -1
- package/dist/hooks/useSetDefaultValue.js +0 -1
- package/dist/index.js +0 -1
- package/dist/openapi/filterEnums.js +0 -1
- package/dist/openapi/generateNextAdditionalProperties.js +0 -1
- package/dist/openapi/generateNextItems.js +0 -1
- package/dist/openapi/generateNextProperties.js +0 -1
- package/dist/openapi/generateOptionLabels.js +0 -1
- package/dist/openapi/generateSimpleLabels.js +0 -1
- package/dist/openapi/generateTypeStringFromSchema.js +0 -1
- package/dist/openapi/getAuthFilteredSchemaArray.js +0 -1
- package/dist/parser/convert-html-to-mdx.js +0 -1
- package/dist/parser/serialize-mdx.js +0 -1
- package/dist/paths/isEqualIgnoringLeadingSlash.js +0 -1
- package/dist/paths/optionallyRemoveLeadingSlash.js +0 -1
- package/dist/paths/optionallyRemoveTrailingSlash.js +0 -1
- package/dist/plugins/extract-headings.js +0 -1
- package/dist/plugins/rehype/rehype-code-blocks.js +0 -1
- package/dist/plugins/remark/remark-heading-ids.js +0 -1
- package/dist/plugins/sanitize/rehype-callouts.js +0 -1
- package/dist/plugins/sanitize/rehype-details.js +0 -1
- package/dist/plugins/sanitize/rehype-heading-ids.js +0 -1
- package/dist/plugins/sanitize/rehype-image-urls.js +0 -1
- package/dist/plugins/sanitize/rehype-latex.js +0 -1
- package/dist/plugins/sanitize/rehype-param-name.js +0 -1
- package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js +0 -1
- package/dist/plugins/sanitize/rehype-remark.js +0 -1
- package/dist/plugins/sanitize/rehype-table-align.js +0 -1
- package/dist/plugins/sanitize/rehype-tabs.js +0 -1
- package/dist/plugins/sanitize/rehype-unwrap-image-links.js +0 -1
- package/dist/plugins/sanitize/rehype-zone-pivots.js +0 -1
- package/dist/plugins/sanitize/remove-html-comments.js +0 -1
- package/dist/utils/api-playground/defaults.js +0 -1
- package/dist/utils/api-playground/paramFieldDefaults.js +0 -1
- package/dist/utils/api-reference/getFilteredSecurityOptions.js +0 -1
- package/dist/utils/api-reference/getNextPropertiesByType.js +0 -1
- package/dist/utils/clean-title.js +0 -1
- package/dist/utils/cn.js +0 -1
- package/dist/utils/containsMarkdownTable.js +0 -1
- package/dist/utils/copyToClipboard.js +0 -1
- package/dist/utils/flattenObject.js +0 -1
- package/dist/utils/formatJSON.js +0 -1
- package/dist/utils/generate-llms-txt.js +0 -1
- package/dist/utils/get-node-text.js +0 -1
- package/dist/utils/getScrollbarClassname.js +0 -1
- package/dist/utils/locales/en.js +0 -1
- package/dist/utils/locales/index.js +0 -1
- package/dist/utils/rehype.js +0 -1
- package/dist/utils/scrollElementIntoView.js +0 -1
- package/dist/utils/string.js +0 -1
- package/dist/utils/uuid.js +0 -1
- package/package.json +1 -1
- package/dist/api-playground/ApiPlayground/ApiPlaygroundContext.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/index.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/DifferentiatedInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectChildren.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +0 -1
- package/dist/api-playground/ApiPlayground/Response/index.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/AdditionalItemButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/BasePathSelector.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenu.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/EndpointsMenuSearch.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/ModalHeader.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/ParamFieldWrapper.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/PrettyPath.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/SendPill.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +0 -1
- package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +0 -1
- package/dist/api-playground/ApiPlayground/index.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/ExampleDescription.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/Enum.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +0 -1
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +0 -1
- package/dist/api-playground/EndpointFields/components/Description.js.map +0 -1
- package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +0 -1
- package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +0 -1
- package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +0 -1
- package/dist/api-playground/EndpointFields/index.js.map +0 -1
- package/dist/api-playground-2/Api.js.map +0 -1
- package/dist/api-playground-2/ApiExamples.js.map +0 -1
- package/dist/api-playground-2/ApiFields.js.map +0 -1
- package/dist/api-playground-2/EndpointHeader.js.map +0 -1
- package/dist/api-playground-2/OperationPage.js.map +0 -1
- package/dist/api-playground-2/Playground.js.map +0 -1
- package/dist/api-playground-2/SchemaPage.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/Enum.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/SimpleSchemaField.js.map +0 -1
- package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +0 -1
- package/dist/api-playground-2/components/Example/GeneratedRequestExample.js.map +0 -1
- package/dist/api-playground-2/components/Example/GeneratedResponseExample.js.map +0 -1
- package/dist/api-playground-2/components/Example/RequestExample.js.map +0 -1
- package/dist/api-playground-2/components/Example/ResponseExample.js.map +0 -1
- package/dist/api-playground-2/components/Request/BodySection.js.map +0 -1
- package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +0 -1
- package/dist/api-playground-2/components/Request/ParameterSection.js.map +0 -1
- package/dist/api-playground-2/components/Request/SecuritySection.js.map +0 -1
- package/dist/api-playground-2/components/Request/ServerSection.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/ArrayInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/DifferentiatedInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/FileInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/InputContainer.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/NullInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/NumberInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/ObjectInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/OneOfInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/SelectInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/StringInput.js.map +0 -1
- package/dist/api-playground-2/components/Request/inputs/TextInput.js.map +0 -1
- package/dist/api-playground-2/components/TypeDropdown.js.map +0 -1
- package/dist/api-playground-2/constants/index.js.map +0 -1
- package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +0 -1
- package/dist/api-playground-2/generators/createBodyData.js.map +0 -1
- package/dist/api-playground-2/generators/createHeaders.js.map +0 -1
- package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +0 -1
- package/dist/api-playground-2/generators/generateRequest.js.map +0 -1
- package/dist/api-playground-2/generators/generateResponseExampleMap.js.map +0 -1
- package/dist/api-playground-2/generators/generateSnippet.js.map +0 -1
- package/dist/api-playground-2/generators/generateSnippetMap.js.map +0 -1
- package/dist/api-playground-2/generators/getFileProperties.js.map +0 -1
- package/dist/api-playground-2/hooks/useCopyPathWithInputs.js.map +0 -1
- package/dist/api-playground-2/hooks/useInitializeInputs.js.map +0 -1
- package/dist/api-playground-2/hooks/usePlaygroundInputsStore.js.map +0 -1
- package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/addUniqueKeysToSchema.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/errors.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/getAllRequiredProperties.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/getApiReferenceDataFromGraph.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/getDocumentProperties.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/getSchemaGraphOperationData.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/getSchemaGraphSchemaData.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/processExamples.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/processSecurityOptions.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/reduceCompositions.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/resolveGraphNode.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/resolveOperationWithDependencies.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/resolveSchemaWithDependencies.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/sortSchemaByRequired.js.map +0 -1
- package/dist/api-playground-2/schemaGraph/utils.js.map +0 -1
- package/dist/api-playground-2/types/index.js.map +0 -1
- package/dist/common/guards.js.map +0 -1
- package/dist/common/parseApiTargetFromMetadata.js.map +0 -1
- package/dist/common/parseOpenApiString.js.map +0 -1
- package/dist/common/potentiallyParseOpenApiString.js.map +0 -1
- package/dist/common/replaceSlashIndex.js.map +0 -1
- package/dist/common/slugToTitle.js.map +0 -1
- package/dist/components/Api/ApiReferenceProvider.js.map +0 -1
- package/dist/components/Api/ErrorBoundary.js.map +0 -1
- package/dist/components/Api/Expandable.js.map +0 -1
- package/dist/components/Api/Markdown.js.map +0 -1
- package/dist/components/Api/MethodPill.js.map +0 -1
- package/dist/components/Api/Param.js.map +0 -1
- package/dist/components/Api/colors.js.map +0 -1
- package/dist/components/Api/dropdown-menu.js.map +0 -1
- package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js.map +0 -1
- package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js.map +0 -1
- package/dist/components/content-components/CodeGroupSelect/index.js.map +0 -1
- package/dist/components/content-components/all-components.js.map +0 -1
- package/dist/components/content-components/callouts.js.map +0 -1
- package/dist/components/content-components/code-block.js.map +0 -1
- package/dist/components/content-components/code-group.js.map +0 -1
- package/dist/components/content-components/code-snippet.js.map +0 -1
- package/dist/components/content-components/code-snippets.js.map +0 -1
- package/dist/components/content-components/default-components.js.map +0 -1
- package/dist/components/content-components/details/details.js.map +0 -1
- package/dist/components/content-components/getNodeText.js.map +0 -1
- package/dist/components/content-components/heading.js.map +0 -1
- package/dist/components/content-components/home.js.map +0 -1
- package/dist/components/content-components/image.js.map +0 -1
- package/dist/components/content-components/latex.js.map +0 -1
- package/dist/components/content-components/link.js.map +0 -1
- package/dist/components/content-components/param-name.js.map +0 -1
- package/dist/components/content-components/table/index.js.map +0 -1
- package/dist/components/content-components/table/table-modal.js.map +0 -1
- package/dist/components/content-components/tabs/tab.js.map +0 -1
- package/dist/components/content-components/tabs/tabs.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-context.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-target.js.map +0 -1
- package/dist/components/docsLayout.js.map +0 -1
- package/dist/components/docsPage.js.map +0 -1
- package/dist/components/mdx-renderer.js.map +0 -1
- package/dist/components/nav-tree/index.js.map +0 -1
- package/dist/components/nav-tree/mobile-nav.js.map +0 -1
- package/dist/components/page-context-menu.js.map +0 -1
- package/dist/components/plain-text-page.js.map +0 -1
- package/dist/components/toc/index.js.map +0 -1
- package/dist/components/toc/pivot-aware-toc.js.map +0 -1
- package/dist/constants/index.js.map +0 -1
- package/dist/constants/initialRequest.js.map +0 -1
- package/dist/constants/prism-languages.js.map +0 -1
- package/dist/constants/snippetPresets.js.map +0 -1
- package/dist/constants/zIndex.js.map +0 -1
- package/dist/context/components-context.js.map +0 -1
- package/dist/contexts/ApiPlaygroundInputsContext.js.map +0 -1
- package/dist/contexts/CodeExampleLabelContext.js.map +0 -1
- package/dist/contexts/ConfigContext.js.map +0 -1
- package/dist/contexts/EndpointLocationContext.js.map +0 -1
- package/dist/contexts/MDXContentContext.js.map +0 -1
- package/dist/env.js.map +0 -1
- package/dist/hooks/useApiPlaygroundDisplay.js.map +0 -1
- package/dist/hooks/useApiPlaygroundInputs.js.map +0 -1
- package/dist/hooks/useApiPlaygroundPrefillExamples.js.map +0 -1
- package/dist/hooks/useBaseUrlOptions.js.map +0 -1
- package/dist/hooks/useCheckHash.js.map +0 -1
- package/dist/hooks/useComponentSchemas.js.map +0 -1
- package/dist/hooks/useEndpoint.js.map +0 -1
- package/dist/hooks/useExpandableMemory.js.map +0 -1
- package/dist/hooks/useGenerateNextAdditionalProperties.js.map +0 -1
- package/dist/hooks/useGenerateNextItems.js.map +0 -1
- package/dist/hooks/useGenerateNextProperties.js.map +0 -1
- package/dist/hooks/useKeyboardShortcut.js.map +0 -1
- package/dist/hooks/useMDXContent.js.map +0 -1
- package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +0 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +0 -1
- package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +0 -1
- package/dist/hooks/useMarkdownCopy.js.map +0 -1
- package/dist/hooks/usePlaygroundSchemaOptions.js.map +0 -1
- package/dist/hooks/usePrefilledInputs/index.js.map +0 -1
- package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +0 -1
- package/dist/hooks/useSecurityOption.js.map +0 -1
- package/dist/hooks/useSendPlaygroundRequest.js.map +0 -1
- package/dist/hooks/useSetDefaultValue.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/openapi/filterEnums.js.map +0 -1
- package/dist/openapi/generateNextAdditionalProperties.js.map +0 -1
- package/dist/openapi/generateNextItems.js.map +0 -1
- package/dist/openapi/generateNextProperties.js.map +0 -1
- package/dist/openapi/generateOptionLabels.js.map +0 -1
- package/dist/openapi/generateSimpleLabels.js.map +0 -1
- package/dist/openapi/generateTypeStringFromSchema.js.map +0 -1
- package/dist/openapi/getAuthFilteredSchemaArray.js.map +0 -1
- package/dist/parser/convert-html-to-mdx.js.map +0 -1
- package/dist/parser/serialize-mdx.js.map +0 -1
- package/dist/paths/isEqualIgnoringLeadingSlash.js.map +0 -1
- package/dist/paths/optionallyRemoveLeadingSlash.js.map +0 -1
- package/dist/paths/optionallyRemoveTrailingSlash.js.map +0 -1
- package/dist/plugins/extract-headings.js.map +0 -1
- package/dist/plugins/rehype/rehype-code-blocks.js.map +0 -1
- package/dist/plugins/remark/remark-heading-ids.js.map +0 -1
- package/dist/plugins/sanitize/rehype-callouts.js.map +0 -1
- package/dist/plugins/sanitize/rehype-details.js.map +0 -1
- package/dist/plugins/sanitize/rehype-heading-ids.js.map +0 -1
- package/dist/plugins/sanitize/rehype-image-urls.js.map +0 -1
- package/dist/plugins/sanitize/rehype-latex.js.map +0 -1
- package/dist/plugins/sanitize/rehype-param-name.js.map +0 -1
- package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js.map +0 -1
- package/dist/plugins/sanitize/rehype-remark.js.map +0 -1
- package/dist/plugins/sanitize/rehype-table-align.js.map +0 -1
- package/dist/plugins/sanitize/rehype-tabs.js.map +0 -1
- package/dist/plugins/sanitize/rehype-unwrap-image-links.js.map +0 -1
- package/dist/plugins/sanitize/rehype-zone-pivots.js.map +0 -1
- package/dist/plugins/sanitize/remove-html-comments.js.map +0 -1
- package/dist/utils/api-playground/defaults.js.map +0 -1
- package/dist/utils/api-playground/paramFieldDefaults.js.map +0 -1
- package/dist/utils/api-reference/getFilteredSecurityOptions.js.map +0 -1
- package/dist/utils/api-reference/getNextPropertiesByType.js.map +0 -1
- package/dist/utils/clean-title.js.map +0 -1
- package/dist/utils/cn.js.map +0 -1
- package/dist/utils/containsMarkdownTable.js.map +0 -1
- package/dist/utils/copyToClipboard.js.map +0 -1
- package/dist/utils/flattenObject.js.map +0 -1
- package/dist/utils/formatJSON.js.map +0 -1
- package/dist/utils/generate-llms-txt.js.map +0 -1
- package/dist/utils/get-node-text.js.map +0 -1
- package/dist/utils/getScrollbarClassname.js.map +0 -1
- package/dist/utils/locales/en.js.map +0 -1
- package/dist/utils/locales/index.js.map +0 -1
- package/dist/utils/rehype.js.map +0 -1
- package/dist/utils/scrollElementIntoView.js.map +0 -1
- package/dist/utils/string.js.map +0 -1
- package/dist/utils/uuid.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.js","sources":["../../../src/components/content-components/code-block.tsx"],"sourcesContent":["import { Copy20Regular, ClipboardCheckmarkRegular } from '@fluentui/react-icons';\nimport Prism from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-javascript.js';\nimport 'prismjs/components/prism-json.js';\nimport 'prismjs/components/prism-markdown.js';\nimport 'prismjs/components/prism-powershell.js';\nimport 'prismjs/components/prism-python.js';\nimport 'prismjs/components/prism-typescript.js';\nimport React, { useEffect, useState } from 'react';\n\nimport { cn } from '../../utils/cn';\nimport { getNodeText } from '../../utils/get-node-text';\nimport { capitalize } from '../../utils/string';\nimport { getCodeBlockScrollbarClassname } from '../../utils/getScrollbarClassname';\n\nconst SUPPORTED_CLIPBOARD_CONTENT_TYPES = ['image/png', 'text/plain'];\n\n// Hook for clipboard operations\nexport function useCopyToClipboard() {\n const [isCopied, setIsCopied] = useState(false);\n\n const copy = async (text: string) => {\n try {\n await navigator.clipboard.writeText(text);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n } catch (error) {\n console.error('Failed to copy to clipboard:', error);\n }\n };\n\n const copyBlob = async (blob: Blob, contentType: string) => {\n try {\n // image/png, text/plain, and text/html are the only filetypes supported in the chromium\n // clipboard - however, text/html crashes chrome for some reason\n if (SUPPORTED_CLIPBOARD_CONTENT_TYPES.includes(contentType)) {\n const buffer = await blob.arrayBuffer();\n const newBlob = new Blob([buffer], { type: contentType });\n const clipboardItem = new ClipboardItem({\n [contentType]: newBlob,\n });\n await navigator.clipboard.write([clipboardItem]);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n } else {\n // Fallback to text copy for unsupported types\n const text = await blob.text();\n await copy(text);\n }\n } catch (error) {\n console.error('Failed to copy blob to clipboard:', error);\n // Fallback to text copy if blob copy fails\n try {\n const text = await blob.text();\n await copy(text);\n } catch (fallbackError) {\n console.error('Failed to copy as text fallback:', fallbackError);\n }\n }\n };\n\n return { isCopied, copy, copyBlob };\n}\n\n// Base copy icon button component\ninterface CopyIconButtonProps {\n onClick: () => void;\n isCopied: boolean;\n showTooltip?: boolean;\n}\n\nexport function CopyIconButton({ onClick, isCopied, showTooltip = true }: CopyIconButtonProps) {\n return (\n <div className=\"mint:relative\">\n {showTooltip && isCopied && (\n <div className=\"mint:absolute mint:bottom-[calc(100%+0.5rem)] mint:left-1/2 mint:-translate-x-1/2 mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#171717] mint:dark:text-[#fafafa] mint:px-2.5 mint:py-1.5 mint:rounded-md mint:text-xs mint:font-medium mint:whitespace-nowrap mint:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)] mint:dark:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.3),0_2px_4px_-1px_rgba(0,0,0,0.2)] mint:z-10 mint:animate-[fadeIn_0.15s_ease-out] mint:after:content-[''] mint:after:absolute mint:after:top-full mint:after:left-1/2 mint:after:-translate-x-1/2 mint:after:w-0 mint:after:h-0 mint:after:border-l-[6px] mint:after:border-l-transparent mint:after:border-r-[6px] mint:after:border-r-transparent mint:after:border-t-[6px] mint:after:border-t-white mint:dark:after:border-t-[#1a1a1a]\">\n Copied!\n </div>\n )}\n <button\n onClick={onClick}\n className=\"mint:flex mint:items-center mint:gap-1.5 mint:px-2 mint:py-1 mint:text-xs mint:text-[#737373] mint:dark:text-[#a3a3a3] mint:rounded mint:transition-colors mint:duration-150 mint:border-none mint:bg-transparent mint:cursor-pointer mint:hover:text-[#9263f1] mint:dark:hover:text-[#c9aaf9]\"\n aria-label={isCopied ? 'Copied' : 'Copy code'}\n >\n {isCopied ? (\n <ClipboardCheckmarkRegular className=\"mint:w-5 mint:h-5 mint:text-[#737373] mint:dark:text-[#a3a3a3]\" />\n ) : (\n <Copy20Regular className=\"mint:w-5 mint:h-5\" />\n )}\n </button>\n </div>\n );\n}\n\n// Convenience component that handles text copying\ninterface CopyToClipboardButtonProps {\n textToCopy: string;\n showTooltip?: boolean;\n}\n\nexport function CopyToClipboardButton({\n textToCopy,\n showTooltip = true,\n}: CopyToClipboardButtonProps) {\n const { isCopied, copy } = useCopyToClipboard();\n\n const handleCopy = () => {\n copy(textToCopy);\n };\n\n return <CopyIconButton onClick={handleCopy} isCopied={isCopied} showTooltip={showTooltip} />;\n}\n\n// Convenience component that handles blob/data copying\ninterface CopyDataToClipboardButtonProps {\n data: {\n type: 'image' | 'audio' | 'video' | 'other';\n blob: Blob;\n contentType?: string;\n content?: string;\n };\n showTooltip?: boolean;\n}\n\nexport function CopyDataToClipboardButton({\n data,\n showTooltip = true,\n}: CopyDataToClipboardButtonProps) {\n const { isCopied, copy, copyBlob } = useCopyToClipboard();\n\n const handleCopy = () => {\n // Check if we can copy as blob (for images, etc.)\n if (data.contentType && SUPPORTED_CLIPBOARD_CONTENT_TYPES.includes(data.contentType)) {\n copyBlob(data.blob, data.contentType);\n } else if (data.type === 'other' && data.content) {\n // For text content, copy as text\n copy(data.content);\n } else {\n console.error('Unsupported content type for clipboard');\n }\n };\n\n return <CopyIconButton onClick={handleCopy} isCopied={isCopied} showTooltip={showTooltip} />;\n}\n\ninterface CodeBlockProps {\n children: React.ReactNode;\n className?: string;\n language?: string;\n fileName?: string;\n // Support for copying blobs (images, etc.)\n blob?: Blob;\n contentType?: string;\n // Control whether scrollbar uses group-hover behavior\n dataGroup?: boolean;\n}\n\nexport function CodeBlock({\n children,\n className,\n fileName,\n language,\n blob,\n contentType,\n dataGroup = false,\n}: CodeBlockProps) {\n const [highlightedCode, setHighlightedCode] = useState<string>('');\n const { isCopied, copy, copyBlob } = useCopyToClipboard();\n const lang = language || className?.replace(/^language-/, '') || 'text';\n const codeText = getNodeText(children);\n const showContainer = !!fileName;\n\n const isSSRHighlighted = React.useMemo(() => {\n if (typeof children !== 'object' || children == null) {\n return false;\n }\n\n const childrenArray = Array.isArray(children) ? children : [children];\n for (const child of childrenArray) {\n if (typeof child === 'object' && child != null && 'props' in child && child.props?.children) {\n const codeChildren = Array.isArray(child.props.children)\n ? child.props.children\n : [child.props.children];\n\n for (const codeChild of codeChildren) {\n if (\n typeof codeChild === 'object' &&\n codeChild != null &&\n 'props' in codeChild &&\n codeChild.props?.className\n ) {\n return true;\n }\n }\n }\n }\n return false;\n }, [children]);\n\n useEffect(() => {\n if (isSSRHighlighted) {\n return;\n }\n\n try {\n const grammar = Prism.languages[lang] || Prism.languages.plaintext;\n const html = Prism.highlight(codeText, grammar, lang);\n setHighlightedCode(html);\n } catch (error) {\n console.error('Failed to highlight code:', error);\n setHighlightedCode(codeText);\n }\n }, [codeText, lang, isSSRHighlighted]);\n\n const handleCopy = () => {\n // If blob and contentType are provided, use blob copying\n if (blob && contentType) {\n copyBlob(blob, contentType);\n } else {\n // Otherwise, use text copying\n copy(codeText);\n }\n };\n\n const scrollbarClass = getCodeBlockScrollbarClassname('system', dataGroup);\n\n return (\n <div\n className={\n showContainer\n ? 'mint:flex mint:flex-col mint:gap-2 mint:px-0.5 mint:pb-0.5 mint:rounded-xl mint:overflow-hidden'\n : undefined\n }\n data-group={dataGroup}\n >\n <div\n className={cn(\n 'not-prose mint:relative mint:rounded-xl mint:bg-[#f5f5f5] mint:dark:bg-[#141414] code-block-wrapper',\n 'mint:px-4 mint:py-2 mint:overflow-scroll mint:[scrollbar-gutter:stable] mint:scrollbar-track-zinc-200 mint:dark:scrollbar-track-zinc-800',\n scrollbarClass,\n dataGroup && 'mint:group'\n )}\n >\n <pre\n className={cn(\n 'mint:m-0 mint:whitespace-pre mint:text-sm'\n )}\n >\n {isSSRHighlighted ? (\n <code\n className={cn(\n `language-${lang}`,\n 'mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]'\n )}\n >\n {children}\n </code>\n ) : highlightedCode ? (\n <code\n className={cn(\n `language-${lang}`,\n 'mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]'\n )}\n dangerouslySetInnerHTML={{ __html: highlightedCode }}\n />\n ) : (\n <code\n className={cn(\n `language-${lang}`,\n 'mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]'\n )}\n >\n {codeText}\n </code>\n )}\n </pre>\n </div>\n </div>\n );\n}\n"],"names":["SUPPORTED_CLIPBOARD_CONTENT_TYPES","useCopyToClipboard","isCopied","setIsCopied","useState","copy","text","error","blob","contentType","buffer","newBlob","clipboardItem","fallbackError","CopyIconButton","onClick","showTooltip","jsxs","jsx","ClipboardCheckmarkRegular","Copy20Regular","CopyToClipboardButton","textToCopy","CopyDataToClipboardButton","data","copyBlob","CodeBlock","children","className","fileName","language","dataGroup","highlightedCode","setHighlightedCode","lang","codeText","getNodeText","showContainer","isSSRHighlighted","React","childrenArray","child","_a","codeChildren","codeChild","_b","useEffect","grammar","Prism","html","scrollbarClass","getCodeBlockScrollbarClassname","cn"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-group.js","sources":["../../../src/components/content-components/code-group.tsx"],"sourcesContent":["\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport React, {\n ComponentPropsWithoutRef,\n ReactElement,\n ReactNode,\n forwardRef,\n useCallback,\n useState,\n useRef,\n} from 'react';\nimport { ChevronDownFilled } from '@fluentui/react-icons';\n\nimport { cn } from '../../utils/cn';\nimport { CodeBlock } from './code-block';\nimport { CopyToClipboardButton } from './code-block';\nimport { getNodeText } from '../../utils/get-node-text';\nimport { capitalize } from '../../utils/string';\n\ntype CodeBlockProps = ComponentPropsWithoutRef<typeof CodeBlock>;\n\nexport type CodeGroupPropsBase = {\n dropdown?: boolean;\n isSmallText?: boolean;\n noMargins?: boolean;\n children?: ReactElement<CodeBlockProps>[] | ReactElement<CodeBlockProps>;\n onChange?: (index: number) => void;\n};\n\nexport type CodeGroupProps = CodeGroupPropsBase &\n Omit<ComponentPropsWithoutRef<'div'>, keyof CodeGroupPropsBase | 'dir'>;\n\ntype CodeBlockChild = Exclude<React.ReactElement<CodeBlockProps>, boolean | null | undefined>;\n\nexport const CodeGroup = forwardRef<HTMLDivElement, CodeGroupProps>(function CodeGroup(\n { children, onChange, className, dropdown, noMargins, ...restProps },\n ref\n) {\n // Filter out props that are incompatible with TabsPrimitive.Root\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const { defaultValue, ...props } = restProps as any;\n const triggerRefs = useRef<Map<number, HTMLButtonElement>>(new Map());\n const childArr = Array.isArray(children)\n ? children\n : (React.Children.toArray(children) as Array<CodeBlockChild>);\n\n const [selectedTab, setSelectedTab] = useState(0);\n\n const handleValueChange = useCallback(\n (value: string) => {\n const index = Number(value);\n const wasFocusOnTab = document.activeElement?.getAttribute('role') === 'tab';\n\n setSelectedTab(index);\n onChange?.(index);\n\n if (wasFocusOnTab) {\n requestAnimationFrame(() => {\n const trigger = triggerRefs.current.get(index);\n if (trigger) {\n trigger.focus();\n }\n });\n }\n },\n [onChange]\n );\n\n if (!children) {\n return null;\n }\n\n if (childArr.length === 0) {\n console.warn('CodeGroup has no children, expected at least one CodeBlock child.');\n return null;\n }\n\n const selectedIndex = Number(selectedTab);\n\n const SelectedFilename = () => {\n return (\n <div className=\"mint:flex mint:items-center mint:gap-1.5 mint:text-xs mint:font-medium mint:min-w-0\">\n <span className=\"mint:truncate mint:text-[#171717] mint:dark:text-[#fafafa]\">\n {childArr[selectedIndex]?.props.fileName}\n </span>\n </div>\n );\n };\n\n const TabList = () => {\n return (\n <TabsPrimitive.List className=\"mint:flex-1 mint:min-w-0 mint:text-xs mint:leading-6 mint:rounded-tl-xl mint:gap-1 mint:flex mint:overflow-x-auto mint:overflow-y-hidden\">\n {childArr.map((child, index) => (\n <TabItem\n key={child.props.fileName + 'TabItem' + index}\n value={String(index)}\n isSelected={selectedIndex === index}\n tabsLength={childArr.length}\n ref={(el) => {\n if (el) {\n triggerRefs.current.set(index, el);\n }\n }}\n >\n {child.props.fileName}\n </TabItem>\n ))}\n </TabsPrimitive.List>\n );\n };\n\n const LanguageDropdown = () => {\n return (\n <div className=\"mint:relative\">\n <select\n value={childArr[selectedIndex]?.props.language || ''}\n onChange={(e) => {\n const language = e.target.value;\n const index = childArr.findIndex((child) => child.props.language === language);\n if (index !== -1) {\n handleValueChange(String(index));\n }\n }}\n className=\"mint:appearance-none mint:bg-transparent mint:border mint:border-[#e5e5e5] mint:dark:border-[#262626] mint:rounded-lg mint:px-2.5 mint:pr-7 mint:py-1 mint:text-xs mint:font-medium mint:text-[#171717] mint:dark:text-[#fafafa] mint:cursor-pointer mint:focus:outline-0\"\n >\n {childArr.map((child, index) => (\n <option key={`${child.props.language}-${child.props.fileName}-${index}`} value={child.props.language}>\n {capitalize(child.props.language || '')}\n </option>\n ))}\n </select>\n <ChevronDownFilled className=\"mint:absolute mint:right-2 mint:top-1/2 mint:-translate-y-1/2 mint:w-3.5 mint:h-3.5 mint:pointer-events-none mint:text-[#737373] mint:dark:text-[#a3a3a3]\" />\n </div>\n );\n };\n\n return (\n <TabsPrimitive.Root\n defaultValue={defaultValue == undefined ? undefined : (typeof defaultValue === 'string' ? defaultValue : String(defaultValue))}\n ref={ref}\n value={String(selectedTab)}\n onValueChange={handleValueChange}\n className={cn(\n !noMargins && 'mint:mt-4 mint:mb-4',\n 'mint:flex mint:flex-col not-prose mint:relative mint:overflow-hidden mint:rounded-2xl mint:border mint:border-[#e5e5e5] mint:dark:border-[#262626] mint:bg-white mint:dark:bg-[#0a0a0a]',\n className\n )}\n asChild={false}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(props as any)}\n >\n <div\n className={cn(\n 'mint:flex mint:items-center mint:justify-between mint:gap-2 mint:relative mint:px-2.5 mint:py-2',\n dropdown ? '' : ''\n )}\n >\n {dropdown ? <SelectedFilename /> : <TabList />}\n <div className=\"mint:flex mint:items-center mint:justify-end mint:shrink-0 mint:gap-1.5\">\n {dropdown && <LanguageDropdown />}\n <CopyToClipboardButton\n textToCopy={getNodeText(childArr[selectedIndex]?.props?.children)}\n showTooltip={true}\n />\n </div>\n </div>\n <div className=\"mint:flex mint:flex-1 mint:overflow-hidden\">\n {childArr.map((child, index) => {\n return (\n <TabsPrimitive.Content\n key={`${child.props.fileName}-${child.props.language}-${index}`}\n value={String(index)}\n className=\"mint:w-full mint:min-w-full mint:max-w-full mint:h-full mint:max-h-full\"\n tabIndex={-1}\n >\n <div className=\"mint:overflow-scroll mint:max-h-[calc(40vh-3rem)] mint:scrollbar-thin mint:scrollbar-thumb-rounded mint:scrollbar-track-zinc-200 mint:dark:scrollbar-track-zinc-800 mint:scrollbar-thumb-black/15 mint:dark:scrollbar-thumb-white/20 mint:hover:scrollbar-thumb-black/20 mint:dark:hover:scrollbar-thumb-white/25 mint:active:scrollbar-thumb-black/20 mint:dark:active:scrollbar-thumb-white/25\">\n {child}\n </div>\n </TabsPrimitive.Content>\n );\n })}\n </div>\n </TabsPrimitive.Root>\n );\n});\n\nconst TabItem = forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n {\n children: ReactNode;\n value: string;\n isSelected: boolean;\n tabsLength: number;\n }\n>(function TabItem({ children, value, isSelected, tabsLength }, ref) {\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n value={value}\n className={cn(\n 'mint:group mint:flex mint:items-center mint:relative mint:gap-1.5 mint:my-1 mint:mb-1.5 mint:outline-0 mint:whitespace-nowrap mint:font-medium mint:ml-0! mint:first:ml-2.5! mint:focus:outline-2',\n isSelected && 'mint:text-[#9263f1] mint:dark:text-[#c9aaf9]',\n !isSelected && 'mint:text-[#737373] mint:dark:text-[#a3a3a3]'\n )}\n >\n <div\n className={cn(\n 'mint:flex mint:items-center mint:gap-1.5 mint:px-1.5 mint:rounded-lg mint:z-10',\n tabsLength > 1 &&\n 'mint:group-hover:bg-[#f5f5f5] mint:group-hover:dark:bg-[#1a1a1a] mint:group-hover:text-[#9263f1] mint:group-hover:dark:text-[#c9aaf9]'\n )}\n >\n {children}\n </div>\n\n {isSelected && (\n <div className=\"mint:absolute mint:-bottom-1.5 mint:left-0 mint:right-0 mint:h-0.5 mint:rounded-full mint:bg-[#9263f1] mint:dark:bg-[#c9aaf9]\" />\n )}\n </TabsPrimitive.Trigger>\n );\n});\n\nexport function CodeBlockTooltip({ text }: { text: string }) {\n return (\n <div\n aria-hidden\n className=\"mint:absolute mint:top-11 mint:left-1/2 mint:transform mint:whitespace-nowrap mint:-translate-x-1/2 mint:-translate-y-1/2 mint:peer-hover:opacity-100 mint:opacity-0 mint:text-white mint:rounded-lg mint:px-1.5 mint:py-0.5 mint:text-xs mint:bg-primary-dark\"\n >\n {text}\n </div>\n );\n}\n"],"names":["CodeGroup","forwardRef","children","onChange","className","dropdown","noMargins","restProps","ref","defaultValue","props","triggerRefs","useRef","childArr","React","selectedTab","setSelectedTab","useState","handleValueChange","useCallback","value","index","wasFocusOnTab","_a","trigger","selectedIndex","SelectedFilename","jsx","TabList","TabsPrimitive","child","TabItem","el","LanguageDropdown","jsxs","e","language","capitalize","ChevronDownFilled","cn","CopyToClipboardButton","getNodeText","_b","isSelected","tabsLength","CodeBlockTooltip","text"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-snippet.js","sources":["../../../src/components/content-components/code-snippet.tsx"],"sourcesContent":["\nimport { ReactNode } from 'react';\nimport Prism from 'prismjs';\nimport 'prismjs/components/prism-javascript.js';\nimport 'prismjs/components/prism-typescript.js';\nimport 'prismjs/components/prism-python.js';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-json.js';\nimport 'prismjs/components/prism-markdown.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-powershell.js';\n\nexport type CodeSnippetProps = {\n language?: string;\n /**\n * If `children` is a `string`, Prism will be used for syntax highlighting\n */\n children?: ReactNode;\n};\n\nexport function CodeSnippet({ language, children }: CodeSnippetProps) {\n const codeString = typeof children === 'string' ? children : '';\n language = language ?? 'text';\n\n let html = '';\n if (codeString) {\n try {\n const grammar = Prism.languages[language] || Prism.languages.plaintext;\n html = Prism.highlight(codeString, grammar, language);\n } catch (error) {\n console.error('Failed to highlight code:', error);\n }\n }\n\n if (typeof children === 'string' && language && html) {\n return (\n <pre suppressHydrationWarning>\n <code suppressHydrationWarning dangerouslySetInnerHTML={{ __html: html }} />\n </pre>\n );\n }\n\n return (\n <pre suppressHydrationWarning>\n <code suppressHydrationWarning>{children}</code>\n </pre>\n );\n}\n"],"names":["CodeSnippet","language","children","codeString","html","grammar","Prism","error","jsx"],"mappings":";;;;;;;;;;AAoBO,SAASA,EAAY,EAAE,UAAAC,GAAU,UAAAC,KAA8B;AACpE,QAAMC,IAAa,OAAOD,KAAa,WAAWA,IAAW;AAC7D,EAAAD,IAAWA,KAAY;AAEvB,MAAIG,IAAO;AACX,MAAID;AACF,QAAI;AACF,YAAME,IAAUC,EAAM,UAAUL,CAAQ,KAAKK,EAAM,UAAU;AAC7D,MAAAF,IAAOE,EAAM,UAAUH,GAAYE,GAASJ,CAAQ;AAAA,IACtD,SAASM,GAAO;AACd,cAAQ,MAAM,6BAA6BA,CAAK;AAAA,IAClD;AAGF,SAAI,OAAOL,KAAa,YAAYD,KAAYG,IAE5C,gBAAAI,EAAC,OAAA,EAAI,0BAAwB,IAC3B,UAAA,gBAAAA,EAAC,QAAA,EAAK,0BAAwB,IAAC,yBAAyB,EAAE,QAAQJ,EAAA,GAAQ,GAC5E,IAKF,gBAAAI,EAAC,SAAI,0BAAwB,IAC3B,4BAAC,QAAA,EAAK,0BAAwB,IAAE,UAAAN,EAAA,CAAS,EAAA,CAC3C;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-snippets.js","sources":["../../../src/components/content-components/code-snippets.tsx"],"sourcesContent":["\nimport { ComponentPropsWithoutRef } from 'react';\n\nimport { CodeBlock } from './code-block';\nimport { CodeGroup } from './code-group';\nimport { ExampleCodeSnippet } from '../../constants/snippetPresets';\n\nimport { CodeSnippet } from './code-snippet';\n\nexport interface CodeSnippetsProps {\n dropdown?: boolean;\n snippets: ExampleCodeSnippet[];\n maxHeight?: string;\n}\n\nexport const CodeSnippets = ({\n snippets,\n dropdown,\n maxHeight,\n ...props\n}: CodeSnippetsProps & ComponentPropsWithoutRef<typeof CodeGroup>) => (\n <CodeGroup isSmallText {...props} dropdown={dropdown} noMargins className={maxHeight}>\n {snippets.map(({ code, ...snippet }: ExampleCodeSnippet, index) => (\n <CodeBlock\n language={snippet.language}\n fileName={snippet.filename}\n key={`${snippet.filename}-${snippet.language}-${index}`}\n >\n <CodeSnippet language={snippet.language}>{code}</CodeSnippet>\n </CodeBlock>\n ))}\n </CodeGroup>\n);\n"],"names":["CodeSnippets","snippets","dropdown","maxHeight","props","CodeGroup","code","snippet","index","jsx","CodeBlock","CodeSnippet"],"mappings":";;;;AAeO,MAAMA,IAAe,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,wBACGC,GAAA,EAAU,aAAW,IAAE,GAAGD,GAAO,UAAAF,GAAoB,WAAS,IAAC,WAAWC,GACxE,UAAAF,EAAS,IAAI,CAAC,EAAE,MAAAK,GAAM,GAAGC,KAA+BC,MACvD,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,UAAUH,EAAQ;AAAA,IAClB,UAAUA,EAAQ;AAAA,IAGlB,UAAA,gBAAAE,EAACE,GAAA,EAAY,UAAUJ,EAAQ,UAAW,UAAAD,EAAA,CAAK;AAAA,EAAA;AAAA,EAF1C,GAAGC,EAAQ,QAAQ,IAAIA,EAAQ,QAAQ,IAAIC,CAAK;AAGvD,CACD,EAAA,CACH;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-components.js","sources":["../../../src/components/content-components/default-components.tsx"],"sourcesContent":["import { Details, Heading, Link, Summary, allComponents, Image } from '.';\nimport type { MDXComponents, LinkComponent } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './table';\n\nexport interface CreateDefaultComponentsOptions {\n LinkComponent?: LinkComponent;\n}\n\nexport function createDefaultComponents(\n options: CreateDefaultComponentsOptions = {}\n): MDXComponents {\n const { LinkComponent: CustomLink } = options;\n\n return {\n h1: (props) => <Heading level={1} {...props} />,\n h2: (props) => <Heading level={2} {...props} />,\n h3: (props) => <Heading level={3} {...props} />,\n h4: (props) => <Heading level={4} {...props} />,\n h5: (props) => <Heading level={5} {...props} />,\n h6: (props) => <Heading level={6} {...props} />,\n code: ({ className, children, ...props }) => {\n const isInline = !className;\n if (isInline) {\n return (\n <code\n className={cn(\n 'not-prose mint:font-medium mint:font-mono mint:text-sm mint:bg-gray-100 mint:shadow-[0_0_0_1px_rgba(156,163,175,0.3)] mint:px-1.5 mint:py-0.5 mint:rounded mint:dark:bg-[#1f1f1f] mint:dark:shadow-[0_0_0_1px_rgba(55,65,81,0.5)]'\n )}\n {...props}\n >\n {children}\n </code>\n );\n }\n return children;\n },\n pre: ({ children }) => <>{children}</>,\n p: (props) => <p className=\"mint:leading-[1.5rem]\" {...props} />,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n a: CustomLink ? (props: any) => <CustomLink {...props} /> : Link,\n blockquote: (props) => (\n <blockquote\n className={cn(\n 'not-prose mint:mx-0! mint:border-l-4 mint:border-gray-200 mint:pl-6 mint:mb-4 mint:dark:border-l-white/20'\n )}\n {...props}\n />\n ),\n img: Image,\n table: Table,\n th: TableHead,\n td: TableCell,\n tr: TableRow,\n thead: TableHeader,\n tbody: TableBody,\n details: Details,\n summary: Summary,\n ...allComponents,\n };\n}\n\n// Export as default for backward compatibility\nexport const defaultComponents: MDXComponents = createDefaultComponents();\n"],"names":["createDefaultComponents","options","CustomLink","props","jsx","Heading","className","children","cn","Link","Image","Table","TableHead","TableCell","TableRow","TableHeader","TableBody","Details","Summary","allComponents","defaultComponents"],"mappings":";;;;;;;;AASO,SAASA,EACdC,IAA0C,IAC3B;AACf,QAAM,EAAE,eAAeC,EAAA,IAAeD;AAEtC,SAAO;AAAA,IACL,IAAI,CAACE,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,MAAM,CAAC,EAAE,WAAAG,GAAW,UAAAC,GAAU,GAAGJ,QACbG,IAaXC,IAVH,gBAAAH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,QAAA;AAAA,QAED,GAAGL;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAMT,KAAK,CAAC,EAAE,UAAAA,EAAA,6BAAkB,UAAAA,GAAS;AAAA,IACnC,GAAG,CAACJ,MAAU,gBAAAC,EAAC,OAAE,WAAU,yBAAyB,GAAGD,GAAO;AAAA;AAAA,IAE9D,GAAGD,IAAa,CAACC,wBAAgBD,GAAA,EAAY,GAAGC,GAAO,IAAKM;AAAA,IAC5D,YAAY,CAACN,MACX,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,QAAA;AAAA,QAED,GAAGL;AAAA,MAAA;AAAA,IAAA;AAAA,IAGR,KAAKO;AAAA,IACL,OAAOC;AAAA,IACP,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,OAAOC;AAAA,IACP,OAAOC;AAAA,IACP,SAASC;AAAA,IACT,SAASC;AAAA,IACT,GAAGC;AAAA,EAAA;AAEP;AAGO,MAAMC,IAAmCpB,EAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sources":["../../../../src/components/content-components/details/details.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { ChevronDown16Regular } from \"@fluentui/react-icons\";\nimport { cn } from \"../../../utils/cn\";\n\ninterface DetailsProps {\n children: React.ReactNode;\n open?: boolean;\n}\n\nexport function Details({ children, open = false }: DetailsProps) {\n const [isOpen, setIsOpen] = useState(open);\n\n const summaryChild = React.Children.toArray(children).find(\n (child) => React.isValidElement(child) && child.type === Summary\n );\n\n const otherChildren = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === Summary)\n );\n\n return (\n <details\n open={isOpen}\n onToggle={(e) => setIsOpen(e.currentTarget.open)}\n className=\"mint:my-4 mint:border mint:border-gray-200 mint:rounded-lg mint:overflow-hidden mint:dark:border-white/10\"\n >\n {summaryChild &&\n React.isValidElement(summaryChild) &&\n React.cloneElement(\n summaryChild as React.ReactElement<\n SummaryProps & { isOpen?: boolean }\n >,\n { isOpen }\n )}\n {isOpen && otherChildren.length > 0 && (\n <div className=\"mint:px-3 mint:py-2 mint:pb-4 mint:border-t mint:border-gray-200 mint:dark:border-t-white/10\">\n {otherChildren}\n </div>\n )}\n </details>\n );\n}\n\ninterface SummaryProps {\n children: React.ReactNode;\n isOpen?: boolean;\n}\n\nexport function Summary({ children, isOpen }: SummaryProps) {\n return (\n <summary className=\"mint:flex mint:items-center mint:gap-2 mint:px-3 mint:py-2 mint:cursor-pointer mint:list-none mint:text-sm mint:font-semibold mint:text-gray-900 mint:hover:bg-gray-50 mint:dark:text-white mint:dark:hover:bg-white/5\">\n <ChevronDown16Regular\n className={cn(\n \"mint:transition-transform mint:duration-150 mint:shrink-0\",\n isOpen ? \"mint:rotate-0\" : \"mint:-rotate-90\"\n )}\n />\n <span className=\"mint:flex-1 not-prose\">{children}</span>\n </summary>\n );\n}\n"],"names":["Details","children","open","isOpen","setIsOpen","useState","summaryChild","React","child","Summary","otherChildren","jsxs","e","jsx","ChevronDown16Regular","cn"],"mappings":";;;;AASO,SAASA,EAAQ,EAAE,UAAAC,GAAU,MAAAC,IAAO,MAAuB;AAChE,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASH,CAAI,GAEnCI,IAAeC,EAAM,SAAS,QAAQN,CAAQ,EAAE;AAAA,IACpD,CAACO,MAAUD,EAAM,eAAeC,CAAK,KAAKA,EAAM,SAASC;AAAA,EAAA,GAGrDC,IAAgBH,EAAM,SAAS,QAAQN,CAAQ,EAAE;AAAA,IACrD,CAACO,MAAU,EAAED,EAAM,eAAeC,CAAK,KAAKA,EAAM,SAASC;AAAA,EAAA;AAG7D,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,UAAU,CAACS,MAAMR,EAAUQ,EAAE,cAAc,IAAI;AAAA,MAC/C,WAAU;AAAA,MAET,UAAA;AAAA,QAAAN,KACCC,EAAM,eAAeD,CAAY,KACjCC,EAAM;AAAA,UACJD;AAAA,UAGA,EAAE,QAAAH,EAAA;AAAA,QAAO;AAAA,QAEZA,KAAUO,EAAc,SAAS,uBAC/B,OAAA,EAAI,WAAU,gGACZ,UAAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAOO,SAASD,EAAQ,EAAE,UAAAR,GAAU,QAAAE,KAAwB;AAC1D,SACE,gBAAAQ,EAAC,WAAA,EAAQ,WAAU,0NACjB,UAAA;AAAA,IAAA,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAZ,IAAS,kBAAkB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAAA;AAAA,IAEF,gBAAAU,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAAZ,EAAA,CAAS;AAAA,EAAA,GACpD;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getNodeText.js","sources":["../../../src/components/content-components/getNodeText.ts"],"sourcesContent":["\n// Gets the text from a component as if you selected it with a mouse and copied it.\nexport const getNodeText = (node: unknown): string => {\n if (typeof node === 'string' || typeof node === 'number') {\n // Convert number into string\n return node.toString();\n }\n\n if (node instanceof Array) {\n return node.map(getNodeText).join('');\n }\n\n if (\n node &&\n typeof node === 'object' &&\n 'props' in node &&\n node.props &&\n typeof node.props === 'object' &&\n 'children' in node.props\n ) {\n return getNodeText(node.props.children);\n }\n\n return '';\n};\n"],"names":["getNodeText","node"],"mappings":"AAEO,MAAMA,IAAc,CAACC,MACtB,OAAOA,KAAS,YAAY,OAAOA,KAAS,WAEvCA,EAAK,SAAA,IAGVA,aAAgB,QACXA,EAAK,IAAID,CAAW,EAAE,KAAK,EAAE,IAIpCC,KACA,OAAOA,KAAS,YAChB,WAAWA,KACXA,EAAK,SACL,OAAOA,EAAK,SAAU,YACtB,cAAcA,EAAK,QAEZD,EAAYC,EAAK,MAAM,QAAQ,IAGjC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sources":["../../../src/components/content-components/heading.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface HeadingProps {\n id: string;\n level: 1 | 2 | 3 | 4 | 5 | 6;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const Heading = ({ id, level, children, className = '' }: HeadingProps) => {\n const Tag = `h${level}` as keyof JSX.IntrinsicElements;\n const [isCopied, setIsCopied] = useState(false);\n\n const handleAnchorClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n const url = window.location.href.split('#')[0] + '#' + id;\n navigator.clipboard.writeText(url).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n });\n\n const scrollContainer = document.getElementById('main-content');\n const targetElement = document.getElementById(id);\n\n if (scrollContainer && targetElement) {\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize;\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const targetRect = targetElement.getBoundingClientRect();\n const relativeTop =\n targetRect.top - containerRect.top + scrollContainer.scrollTop - scrollOffset;\n\n scrollContainer.scrollTo({\n top: relativeTop,\n behavior: 'instant',\n });\n }\n\n history.replaceState(null, '', `#${id}`);\n };\n\n return (\n <Tag id={id} className={cn('mint:group mint:relative', level === 2 && 'mint:mb-4', className)}>\n {children}\n <a\n href={`#${id}`}\n onClick={handleAnchorClick}\n className={cn(\n 'mint:absolute mint:-left-6 mint:top-1/2 mint:-translate-y-1/2 mint:opacity-0 mint:transition-opacity mint:duration-200',\n 'mint:group-hover:opacity-100 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]',\n 'mint:no-underline mint:flex mint:items-center mint:justify-center mint:w-5 mint:h-5',\n 'hover:mint:text-[#005a9e] hover:mint:dark:text-[#9ed2f7]'\n )}\n aria-label={`Link to ${id}`}\n title={isCopied ? 'Link copied!' : 'Copy link'}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n className=\"mint:w-4 mint:h-4\"\n >\n <path d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\" />\n </svg>\n </a>\n </Tag>\n );\n};\n"],"names":["Heading","id","level","children","className","Tag","isCopied","setIsCopied","useState","handleAnchorClick","e","url","scrollContainer","targetElement","style","scrollMtRem","fontSize","scrollOffset","containerRect","relativeTop","jsxs","cn","jsx"],"mappings":";;;AAWO,MAAMA,IAAU,CAAC,EAAE,IAAAC,GAAI,OAAAC,GAAO,UAAAC,GAAU,WAAAC,IAAY,SAAuB;AAChF,QAAMC,IAAM,IAAIH,CAAK,IACf,CAACI,GAAUC,CAAW,IAAIC,EAAS,EAAK,GAExCC,IAAoB,CAACC,MAA2C;AACpE,IAAAA,EAAE,eAAA;AACF,UAAMC,IAAM,OAAO,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC,IAAI,MAAMV;AACvD,cAAU,UAAU,UAAUU,CAAG,EAAE,KAAK,MAAM;AAC5C,MAAAJ,EAAY,EAAI,GAChB,WAAW,MAAMA,EAAY,EAAK,GAAG,GAAI;AAAA,IAC3C,CAAC;AAED,UAAMK,IAAkB,SAAS,eAAe,cAAc,GACxDC,IAAgB,SAAS,eAAeZ,CAAE;AAEhD,QAAIW,KAAmBC,GAAe;AACpC,YAAMC,IAAQ,OAAO,iBAAiB,SAAS,eAAe,GACxDC,IAAc,WAAWD,EAAM,iBAAiB,aAAa,KAAK,GAAG,GACrEE,IAAW,WAAWF,EAAM,QAAQ,GACpCG,IAAeF,IAAcC,GAE7BE,IAAgBN,EAAgB,sBAAA,GAEhCO,IADaN,EAAc,sBAAA,EAEpB,MAAMK,EAAc,MAAMN,EAAgB,YAAYK;AAEnE,MAAAL,EAAgB,SAAS;AAAA,QACvB,KAAKO;AAAA,QACL,UAAU;AAAA,MAAA,CACX;AAAA,IACH;AAEA,YAAQ,aAAa,MAAM,IAAI,IAAIlB,CAAE,EAAE;AAAA,EACzC;AAEA,SACE,gBAAAmB,EAACf,GAAA,EAAI,IAAAJ,GAAQ,WAAWoB,EAAG,4BAA4BnB,MAAU,KAAK,aAAaE,CAAS,GACzF,UAAA;AAAA,IAAAD;AAAA,IACD,gBAAAmB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,IAAIrB,CAAE;AAAA,QACZ,SAASQ;AAAA,QACT,WAAWY;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,cAAY,WAAWpB,CAAE;AAAA,QACzB,OAAOK,IAAW,iBAAiB;AAAA,QAEnC,UAAA,gBAAAgB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,WAAU;AAAA,YAEV,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,kWAAA,CAAkW;AAAA,UAAA;AAAA,QAAA;AAAA,MAC5W;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home.js","sources":["../../../src/components/content-components/home.tsx"],"sourcesContent":["export const Home = () => {\n return (\n <div className=\"mint:w-full mint:h-full mint:flex mint:items-center mint:justify-center mint:max-w-none mint:text-center\">\n Homepage content built on primary codebase\n </div>\n );\n};\n"],"names":["Home","jsx"],"mappings":";AAAO,MAAMA,IAAO,MAEhB,gBAAAC,EAAC,OAAA,EAAI,WAAU,4GAA2G,UAAA,8CAE1H;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sources":["../../../src/components/content-components/image.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface ImageModalProps {\n isOpen: boolean;\n onClose: () => void;\n src: string;\n alt: string;\n}\n\nfunction ImageModal({ isOpen, onClose, src, alt }: ImageModalProps) {\n const modalRef = useRef<HTMLDivElement>(null);\n const previousActiveElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (isOpen) {\n previousActiveElement.current = document.activeElement as HTMLElement;\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"unset\";\n previousActiveElement.current?.focus();\n }\n\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n\n useEffect(() => {\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose();\n }\n };\n\n if (isOpen) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className=\"mint:fixed mint:inset-0 mint:flex mint:items-center mint:justify-center mint:p-4 mint:bg-black/80 mint:backdrop-blur-sm\"\n onClick={onClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Expanded image view\"\n style={{ zIndex: 9999 }}\n >\n <div\n ref={modalRef}\n className=\"mint:relative mint:max-w-[95vw] mint:max-h-[95vh] mint:flex mint:items-center mint:justify-center\"\n onClick={(e) => e.stopPropagation()}\n >\n <img\n src={src}\n alt={alt}\n className=\"mint:max-w-full mint:max-h-[95vh] mint:object-contain mint:rounded-lg\"\n />\n </div>\n </div>\n );\n}\n\nexport function Image(props: React.ImgHTMLAttributes<HTMLImageElement>) {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n return (\n <>\n <img\n {...props}\n className={cn(\n \"mint:max-w-full mint:h-auto mint:object-contain mint:cursor-zoom-in mint:rounded-lg\",\n props.className\n )}\n onClick={() => setIsModalOpen(true)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setIsModalOpen(true);\n }\n }}\n tabIndex={0}\n role=\"button\"\n aria-label={`${props.alt || \"Image\"} - Click to enlarge`}\n />\n {props.src && (\n <ImageModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n src={props.src}\n alt={props.alt || \"\"}\n />\n )}\n </>\n );\n}\n"],"names":["ImageModal","isOpen","onClose","src","alt","modalRef","useRef","previousActiveElement","useEffect","_a","handleEscape","e","jsx","Image","props","isModalOpen","setIsModalOpen","useState","jsxs","Fragment","cn"],"mappings":";;;AAUA,SAASA,EAAW,EAAE,QAAAC,GAAQ,SAAAC,GAAS,KAAAC,GAAK,KAAAC,KAAwB;AAClE,QAAMC,IAAWC,EAAuB,IAAI,GACtCC,IAAwBD,EAA2B,IAAI;AAgC7D,SA9BAE,EAAU,MAAM;;AACd,WAAIP,KACFM,EAAsB,UAAU,SAAS,eACzC,SAAS,KAAK,MAAM,WAAW,aAE/B,SAAS,KAAK,MAAM,WAAW,UAC/BE,IAAAF,EAAsB,YAAtB,QAAAE,EAA+B,UAG1B,MAAM;AACX,eAAS,KAAK,MAAM,WAAW;AAAA,IACjC;AAAA,EACF,GAAG,CAACR,CAAM,CAAC,GAEXO,EAAU,MAAM;AACd,UAAME,IAAe,CAACC,MAAqB;AACzC,MAAIA,EAAE,QAAQ,YACZT,EAAA;AAAA,IAEJ;AAEA,WAAID,KACF,OAAO,iBAAiB,WAAWS,CAAY,GAG1C,MAAM;AACX,aAAO,oBAAoB,WAAWA,CAAY;AAAA,IACpD;AAAA,EACF,GAAG,CAACT,GAAQC,CAAO,CAAC,GAEfD,IAGH,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAASV;AAAA,MACT,MAAK;AAAA,MACL,cAAW;AAAA,MACX,cAAW;AAAA,MACX,OAAO,EAAE,QAAQ,KAAA;AAAA,MAEjB,UAAA,gBAAAU;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKP;AAAA,UACL,WAAU;AAAA,UACV,SAAS,CAACM,MAAMA,EAAE,gBAAA;AAAA,UAElB,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAAT;AAAA,cACA,KAAAC;AAAA,cACA,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,IArBgB;AAwBtB;AAEO,SAASS,EAAMC,GAAkD;AACtE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK;AAEpD,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAP;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGE;AAAA,QACJ,WAAWM;AAAA,UACT;AAAA,UACAN,EAAM;AAAA,QAAA;AAAA,QAER,SAAS,MAAME,EAAe,EAAI;AAAA,QAClC,WAAW,CAACL,MAAM;AAChB,WAAIA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SACjCA,EAAE,eAAA,GACFK,EAAe,EAAI;AAAA,QAEvB;AAAA,QACA,UAAU;AAAA,QACV,MAAK;AAAA,QACL,cAAY,GAAGF,EAAM,OAAO,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAEpCA,EAAM,OACL,gBAAAF;AAAA,MAACZ;AAAA,MAAA;AAAA,QACC,QAAQe;AAAA,QACR,SAAS,MAAMC,EAAe,EAAK;AAAA,QACnC,KAAKF,EAAM;AAAA,QACX,KAAKA,EAAM,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EACpB,GAEJ;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"latex.js","sources":["../../../src/components/content-components/latex.tsx"],"sourcesContent":["'use client';\n\nimport katex from 'katex';\nimport React, { useEffect, useState, useRef } from 'react';\n\nlet katexCssLoaded = false;\n\nconst loadKatexCss = () => {\n if (katexCssLoaded || typeof document === 'undefined') {\n return;\n }\n\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = 'https://d4tuoctqmanu0.cloudfront.net/katex.min.css';\n link.integrity = 'sha384-Xi8rHCmBmhbuyyhbI88391ZKP2dmfnOl4rT9ZfRI7mLTdk1wblIUnrIq35nqwEvC';\n link.crossOrigin = 'anonymous';\n document.head.appendChild(link);\n\n katexCssLoaded = true;\n};\n\nexport interface LaTeXProps {\n children: string;\n latex: string;\n className?: string;\n}\n\nexport function LaTeX({ children, latex, className }: LaTeXProps) {\n const [cssLoaded, setCssLoaded] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n loadKatexCss();\n setCssLoaded(true);\n }, []);\n\n useEffect(() => {\n if (cssLoaded && containerRef.current) {\n try {\n katex.render(latex, containerRef.current, {\n displayMode: true,\n throwOnError: false,\n });\n } catch (error) {\n console.error('KaTeX rendering error:', error);\n if (containerRef.current) {\n containerRef.current.textContent = latex;\n }\n }\n }\n }, [cssLoaded, latex]);\n\n if (!cssLoaded) {\n return (\n <div id=\"mintlify-latex-container\" className={className}>\n {children}\n </div>\n );\n }\n\n return <div ref={containerRef} id=\"mintlify-latex-container\" className={className} />;\n}\n"],"names":["katexCssLoaded","loadKatexCss","link","LaTeX","children","latex","className","cssLoaded","setCssLoaded","useState","containerRef","useRef","useEffect","katex","error","jsx"],"mappings":";;;AAKA,IAAIA,IAAiB;AAErB,MAAMC,IAAe,MAAM;AACzB,MAAID,KAAkB,OAAO,WAAa;AACxC;AAGF,QAAME,IAAO,SAAS,cAAc,MAAM;AAC1C,EAAAA,EAAK,MAAM,cACXA,EAAK,OAAO,sDACZA,EAAK,YAAY,2EACjBA,EAAK,cAAc,aACnB,SAAS,KAAK,YAAYA,CAAI,GAE9BF,IAAiB;AACnB;AAQO,SAASG,EAAM,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,KAAyB;AAChE,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAeC,EAAuB,IAAI;AAuBhD,SArBAC,EAAU,MAAM;AACd,IAAAX,EAAA,GACAO,EAAa,EAAI;AAAA,EACnB,GAAG,CAAA,CAAE,GAELI,EAAU,MAAM;AACd,QAAIL,KAAaG,EAAa;AAC5B,UAAI;AACF,QAAAG,EAAM,OAAOR,GAAOK,EAAa,SAAS;AAAA,UACxC,aAAa;AAAA,UACb,cAAc;AAAA,QAAA,CACf;AAAA,MACH,SAASI,GAAO;AACd,gBAAQ,MAAM,0BAA0BA,CAAK,GACzCJ,EAAa,YACfA,EAAa,QAAQ,cAAcL;AAAA,MAEvC;AAAA,EAEJ,GAAG,CAACE,GAAWF,CAAK,CAAC,GAEhBE,sBAQG,OAAA,EAAI,KAAKG,GAAc,IAAG,4BAA2B,WAAAJ,GAAsB,IAN/E,gBAAAS,EAAC,OAAA,EAAI,IAAG,4BAA2B,WAAAT,GAChC,UAAAF,GACH;AAKN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":["../../../src/components/content-components/link.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface LinkProps {\n href?: string;\n children: React.ReactNode;\n className?: string;\n}\n\nexport function Link({ href, children, className }: LinkProps) {\n const isExternal = href?.startsWith(\"http\") || href?.startsWith(\"//\");\n\n return (\n <a\n href={href}\n className={cn(\"not-prose mint:underline mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\", className)}\n target={isExternal ? \"_blank\" : undefined}\n rel={isExternal ? \"noopener noreferrer\" : undefined}\n aria-label={isExternal ? `${children} (opens in new tab)` : undefined}\n >\n {children}\n {isExternal && <span className=\"mint:sr-only\"> (opens in new tab)</span>}\n </a>\n );\n}\n"],"names":["Link","href","children","className","isExternal","jsxs","cn","jsx"],"mappings":";;AASO,SAASA,EAAK,EAAE,MAAAC,GAAM,UAAAC,GAAU,WAAAC,KAAwB;AAC7D,QAAMC,KAAaH,KAAA,gBAAAA,EAAM,WAAW,aAAWA,KAAA,gBAAAA,EAAM,WAAW;AAEhE,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAJ;AAAA,MACA,WAAWK,EAAG,yEAAyEH,CAAS;AAAA,MAChG,QAAQC,IAAa,WAAW;AAAA,MAChC,KAAKA,IAAa,wBAAwB;AAAA,MAC1C,cAAYA,IAAa,GAAGF,CAAQ,wBAAwB;AAAA,MAE3D,UAAA;AAAA,QAAAA;AAAA,QACAE,KAAc,gBAAAG,EAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,sBAAA,CAAmB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGvE;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"param-name.js","sources":["../../../src/components/content-components/param-name.tsx"],"sourcesContent":["import { cn } from \"../../utils/cn\";\ninterface ParamNameProps {\n children: React.ReactNode;\n}\n\nexport function ParamName({ children }: ParamNameProps) {\n return (\n <span className=\"not-prose mint:inline-block mint:mt-2 mint:mr-1 mint:px-1.5 mint:py-0.5 mint:text-sm mint:font-semibold mint:font-mono mint:rounded mint:bg-gray-100 mint:dark:bg-[#2d2d2d]\">\n {children}\n </span>\n );\n}\n"],"names":["ParamName","children","jsx"],"mappings":";AAKO,SAASA,EAAU,EAAE,UAAAC,KAA4B;AACtD,SACE,gBAAAC,EAAC,QAAA,EAAK,WAAU,+KACb,UAAAD,EAAA,CACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/content-components/table/index.tsx"],"sourcesContent":["import { ArrowExpand20Regular } from '@fluentui/react-icons';\nimport * as React from 'react';\nimport { useState } from 'react';\n\nimport { cn } from '../../../utils/cn';\nimport { TableModal } from './table-modal';\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(\n ({ className, children, ...props }, ref) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const handleExpandClick = () => {\n setIsModalOpen(true);\n };\n\n const handleCloseModal = () => {\n setIsModalOpen(false);\n };\n\n return (\n <>\n <div\n className=\"mint:relative mint:block mint:mb-4 mint:mt-4\"\n role=\"region\"\n aria-label=\"Data table\"\n >\n <button\n onClick={handleExpandClick}\n className=\"mint:ml-auto mint:flex mint:items-center mint:gap-2 mint:px-2 mint:py-1 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-50 mint:dark:hover:bg-[#141414]\"\n aria-label=\"Expand table to full screen view\"\n title=\"Expand table\"\n >\n <ArrowExpand20Regular className=\"mint:h-4 mint:w-4 mint:text-gray-700 mint:dark:text-gray-200\" />\n <span className=\"mint:text-sm mint:text-gray-700 mint:dark:text-gray-200\">\n Expand table\n </span>\n </button>\n <div className=\"mint:mt-1 mint:overflow-x-auto\">\n <table\n ref={ref}\n className={cn(\n 'mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-lg mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#3d3d3d] mint:border-[1.5px] mint:border-gray-50 mint:dark:border-[#3d3d3d]',\n className\n )}\n {...props}\n >\n {children}\n </table>\n </div>\n </div>\n <TableModal isOpen={isModalOpen} onClose={handleCloseModal}>\n <table\n className={cn(\n 'mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-lg mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#3d3d3d] mint:border-[1.5px] mint:border-gray-50 mint:dark:border-[#3d3d3d]',\n className\n )}\n >\n {children}\n </table>\n </TableModal>\n </>\n );\n }\n);\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\n 'mint:text-gray-700 mint:bg-gray-50 mint:dark:text-gray-300 mint:dark:bg-[#141414]',\n className\n )}\n {...props}\n />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\n 'mint:[&>tr:last-child>td:first-child]:rounded-bl-lg mint:[&>tr:last-child>td:last-child]:rounded-br-lg',\n className\n )}\n {...props}\n />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n 'mint:border-t mint:border-gray-200 mint:bg-gray-50/50 mint:font-medium mint:dark:border-t-gray-600 mint:dark:bg-[#141414]/50 mint:[&>tr:last-child]:border-b-0',\n className\n )}\n {...props}\n />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'mint:border-b-[1.5px] mint:border-b-gray-50 mint:dark:border-b-[#3d3d3d]',\n className\n )}\n {...props}\n />\n )\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'mint:h-10 mint:bg-gray-50 mint:overflow-hidden mint:px-4 mint:py-2 mint:text-left mint:font-semibold mint:text-gray-700 mint:first:rounded-tl-lg mint:last:rounded-tr-lg mint:dark:bg-[#141414]! mint:dark:text-gray-300',\n className\n )}\n {...props}\n />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n 'mint:bg-white mint:border-gray-50 mint:px-4 mint:py-2.5 mint:text-[#141414] mint:dark:bg-[#1f1f1f] mint:dark:border-[#141414] mint:dark:text-gray-200',\n className\n )}\n {...props}\n />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mint:mt-4 mint:text-sm mint:text-gray-500 mint:dark:text-gray-400', className)}\n {...props}\n />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"],"names":["Table","React","className","children","props","ref","isModalOpen","setIsModalOpen","useState","handleExpandClick","handleCloseModal","jsxs","Fragment","jsx","ArrowExpand20Regular","cn","TableModal","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-modal.js","sources":["../../../../src/components/content-components/table/table-modal.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { Dismiss20Regular } from \"@fluentui/react-icons\";\nimport { cn } from \"../../../utils/cn\";\n\ninterface TableModalProps {\n isOpen: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nexport function TableModal({ isOpen, onClose, children }: TableModalProps) {\n const modalRef = useRef<HTMLDivElement>(null);\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const previousActiveElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (isOpen) {\n previousActiveElement.current = document.activeElement as HTMLElement;\n document.body.style.overflow = \"hidden\";\n closeButtonRef.current?.focus();\n } else {\n document.body.style.overflow = \"unset\";\n previousActiveElement.current?.focus();\n }\n\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n\n useEffect(() => {\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose();\n }\n };\n\n if (isOpen) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose]);\n\n useEffect(() => {\n if (!isOpen || !modalRef.current) return;\n\n const modal = modalRef.current;\n const focusableElements = modal.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n\n const handleTabKey = (e: KeyboardEvent) => {\n if (e.key !== \"Tab\") return;\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusable) {\n e.preventDefault();\n lastFocusable?.focus();\n }\n } else {\n if (document.activeElement === lastFocusable) {\n e.preventDefault();\n firstFocusable?.focus();\n }\n }\n };\n\n modal.addEventListener(\"keydown\", handleTabKey as EventListener);\n return () => {\n modal.removeEventListener(\"keydown\", handleTabKey as EventListener);\n };\n }, [isOpen]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className=\"mint:fixed mint:inset-0 mint:z-50 mint:flex mint:items-center mint:justify-center mint:p-4 mint:backdrop-blur-sm\"\n onClick={onClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"table-modal-title\"\n >\n <div\n ref={modalRef}\n className=\"mint:relative mint:w-full mint:max-w-screen-2xl mint:max-h-[90vh] mint:overflow-auto mint:bg-white mint:rounded-2xl mint:shadow-[0_25px_50px_-12px_rgba(0,0,0,0.25)] mint:border mint:border-gray-200 mint:dark:bg-[#1f1f1f] mint:dark:border-white/10\"\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"mint:sticky mint:top-0 mint:right-0 mint:z-10 mint:flex mint:justify-end mint:p-2 mint:pr-4 mint:backdrop-blur-sm\">\n <button\n ref={closeButtonRef}\n onClick={onClose}\n className=\"mint:p-2 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-100 mint:dark:hover:bg-[#141414]\"\n aria-label=\"Close table expanded view\"\n >\n <Dismiss20Regular className=\"mint:h-5 mint:w-5 mint:text-gray-700 mint:dark:text-white\" />\n </button>\n </div>\n <div className=\"mint:px-6 mint:py-4\" id=\"table-modal-title\">\n {children}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["TableModal","isOpen","onClose","children","modalRef","useRef","closeButtonRef","previousActiveElement","useEffect","_a","_b","handleEscape","modal","focusableElements","firstFocusable","lastFocusable","handleTabKey","e","jsx","jsxs","Dismiss20Regular"],"mappings":";;;AAUO,SAASA,EAAW,EAAE,QAAAC,GAAQ,SAAAC,GAAS,UAAAC,KAA6B;AACzE,QAAMC,IAAWC,EAAuB,IAAI,GACtCC,IAAiBD,EAA0B,IAAI,GAC/CE,IAAwBF,EAA2B,IAAI;AAiE7D,SA/DAG,EAAU,MAAM;;AACd,WAAIP,KACFM,EAAsB,UAAU,SAAS,eACzC,SAAS,KAAK,MAAM,WAAW,WAC/BE,IAAAH,EAAe,YAAf,QAAAG,EAAwB,YAExB,SAAS,KAAK,MAAM,WAAW,UAC/BC,IAAAH,EAAsB,YAAtB,QAAAG,EAA+B,UAG1B,MAAM;AACX,eAAS,KAAK,MAAM,WAAW;AAAA,IACjC;AAAA,EACF,GAAG,CAACT,CAAM,CAAC,GAEXO,EAAU,MAAM;AACd,UAAMG,IAAe,CAAC,MAAqB;AACzC,MAAI,EAAE,QAAQ,YACZT,EAAA;AAAA,IAEJ;AAEA,WAAID,KACF,OAAO,iBAAiB,WAAWU,CAAY,GAG1C,MAAM;AACX,aAAO,oBAAoB,WAAWA,CAAY;AAAA,IACpD;AAAA,EACF,GAAG,CAACV,GAAQC,CAAO,CAAC,GAEpBM,EAAU,MAAM;AACd,QAAI,CAACP,KAAU,CAACG,EAAS,QAAS;AAElC,UAAMQ,IAAQR,EAAS,SACjBS,IAAoBD,EAAM;AAAA,MAC9B;AAAA,IAAA,GAEIE,IAAiBD,EAAkB,CAAC,GACpCE,IAAgBF,EAAkBA,EAAkB,SAAS,CAAC,GAE9DG,IAAe,CAACC,MAAqB;AACzC,MAAIA,EAAE,QAAQ,UAEVA,EAAE,WACA,SAAS,kBAAkBH,MAC7BG,EAAE,eAAA,GACFF,KAAA,QAAAA,EAAe,WAGb,SAAS,kBAAkBA,MAC7BE,EAAE,eAAA,GACFH,KAAA,QAAAA,EAAgB;AAAA,IAGtB;AAEA,WAAAF,EAAM,iBAAiB,WAAWI,CAA6B,GACxD,MAAM;AACX,MAAAJ,EAAM,oBAAoB,WAAWI,CAA6B;AAAA,IACpE;AAAA,EACF,GAAG,CAACf,CAAM,CAAC,GAENA,IAGH,gBAAAiB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAShB;AAAA,MACT,MAAK;AAAA,MACL,cAAW;AAAA,MACX,mBAAgB;AAAA,MAEhB,UAAA,gBAAAiB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKf;AAAA,UACL,WAAU;AAAA,UACV,SAAS,CAACa,MAAMA,EAAE,gBAAA;AAAA,UAElB,UAAA;AAAA,YAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qHACb,UAAA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKZ;AAAA,gBACL,SAASJ;AAAA,gBACT,WAAU;AAAA,gBACV,cAAW;AAAA,gBAEX,UAAA,gBAAAgB,EAACE,GAAA,EAAiB,WAAU,4DAAA,CAA4D;AAAA,cAAA;AAAA,YAAA,GAE5F;AAAA,8BACC,OAAA,EAAI,WAAU,uBAAsB,IAAG,qBACrC,UAAAjB,EAAA,CACH;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,IA5BgB;AA+BtB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../src/components/content-components/tabs/tab.tsx"],"sourcesContent":["import React from \"react\";\n\ninterface TabProps {\n title: string;\n icon?: string;\n children?: React.ReactNode;\n}\n\nexport function Tab({ children }: TabProps) {\n return <>{children}</>;\n}\n"],"names":["Tab","children"],"mappings":";AAQO,SAASA,EAAI,EAAE,UAAAC,KAAsB;AAC1C,gCAAU,UAAAA,GAAS;AACrB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../src/components/content-components/tabs/tabs.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { cn } from '../../../utils/cn';\n\ninterface TabsProps {\n children: React.ReactNode;\n defaultTab?: number;\n defaultTabIndex?: number;\n className?: string;\n onClickTab?: (index: number) => void;\n onChange?: (index: number) => void;\n}\n\ninterface TabsContextValue {\n activeTab: number;\n setActiveTab: (index: number) => void;\n}\n\nexport const TabsContext = React.createContext<TabsContextValue>({\n activeTab: 0,\n setActiveTab: () => {},\n});\n\nexport function Tabs({\n children,\n defaultTab = 0,\n defaultTabIndex,\n className,\n onClickTab,\n onChange,\n}: TabsProps) {\n const [activeTab, setActiveTab] = useState(defaultTabIndex ?? defaultTab);\n const tabRefs = useRef<(HTMLDivElement | null)[]>([]);\n const [indicatorStyle, setIndicatorStyle] = useState({ left: 0, width: 0 });\n\n const tabs = React.Children.toArray(children);\n\n useEffect(() => {\n tabRefs.current = tabRefs.current.slice(0, tabs.length);\n }, [tabs.length]);\n\n useEffect(() => {\n const activeTabElement = tabRefs.current[activeTab];\n if (activeTabElement) {\n setIndicatorStyle({\n left: activeTabElement.offsetLeft,\n width: activeTabElement.offsetWidth,\n });\n }\n }, [activeTab]);\n\n const handleKeyDown = (event: React.KeyboardEvent, currentIndex: number) => {\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n newIndex = (currentIndex + 1) % tabs.length;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = (currentIndex - 1 + tabs.length) % tabs.length;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n setActiveTab(newIndex);\n tabRefs.current[newIndex]?.focus();\n };\n\n return (\n <TabsContext.Provider value={{ activeTab, setActiveTab }}>\n <div className={cn('mint:my-6', className)}>\n <div\n role=\"tablist\"\n aria-label=\"Content tabs\"\n className=\"mint:relative mint:flex mint:gap-1 mint:mb-4 mint:overflow-x-auto mint:pb-[3px] mint:before:content-[''] mint:before:absolute mint:before:left-0 mint:before:right-0 mint:before:bottom-0 mint:before:h-[1.5px] mint:before:bg-[#f2f3f3] mint:dark:before:bg-[#222223] mint:before:rounded-full\"\n >\n {tabs.map((tab, index) => {\n if (!React.isValidElement(tab)) return null;\n const title = tab.props.title || `Tab ${index + 1}`;\n const icon = tab.props.icon;\n const isActive = activeTab === index;\n\n return (\n <div\n key={index}\n ref={(el) => {\n tabRefs.current[index] = el;\n }}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={`tabpanel-${index}`}\n id={`tab-${index}`}\n tabIndex={isActive ? 0 : -1}\n onClick={() => {\n setActiveTab(index);\n onClickTab?.(index);\n onChange?.(index);\n }}\n onKeyDown={(e) => handleKeyDown(e, index)}\n className={cn(\n 'mint:relative mint:px-4 mint:py-2 mint:text-sm mint:font-medium mint:bg-transparent mint:cursor-pointer mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#fff,0_0_0_4px_#75b6e7] mint:focus-visible:outline-offset-2',\n isActive\n ? 'mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold'\n : 'mint:text-gray-600 mint:hover:text-gray-900 mint:dark:text-gray-400 mint:dark:hover:text-gray-200'\n )}\n >\n <span className=\"mint:flex mint:items-center mint:gap-2\">\n {icon && <span aria-hidden=\"true\">{icon}</span>}\n <span className=\"mint:relative\">\n <span className=\"mint:invisible mint:font-semibold\" aria-hidden=\"true\">\n {title}\n </span>\n <span className=\"mint:absolute mint:inset-0\">{title}</span>\n </span>\n </span>\n </div>\n );\n })}\n <div\n className=\"mint:absolute mint:bottom-0 mint:h-[2px] mint:rounded-full mint:bg-[#8251ee] mint:dark:bg-[#9263f1] mint:transition-all mint:duration-300 mint:ease-out mint:z-10\"\n style={{\n left: `${indicatorStyle.left}px`,\n width: `${indicatorStyle.width}px`,\n }}\n />\n </div>\n\n <div>\n {tabs.map((tab, index) => (\n <div\n key={index}\n role=\"tabpanel\"\n id={`tabpanel-${index}`}\n aria-labelledby={`tab-${index}`}\n tabIndex={0}\n hidden={activeTab !== index}\n className={cn('mint:outline-none', activeTab !== index && 'mint:hidden')}\n >\n {React.isValidElement(tab) ? tab.props.children : null}\n </div>\n ))}\n </div>\n </div>\n </TabsContext.Provider>\n );\n}\n"],"names":["TabsContext","React","Tabs","children","defaultTab","defaultTabIndex","className","onClickTab","onChange","activeTab","setActiveTab","useState","tabRefs","useRef","indicatorStyle","setIndicatorStyle","tabs","useEffect","activeTabElement","handleKeyDown","event","currentIndex","newIndex","_a","jsx","cn","jsxs","tab","index","title","icon","isActive","el","e"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zone-pivot-context.js","sources":["../../../../src/components/content-components/zone-pivots/zone-pivot-context.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useMemo,\n useEffect,\n useRef,\n} from \"react\";\nimport type { ZonePivotGroup } from \"../../../types/page\";\n\ninterface ZonePivotContextValue {\n groups: ZonePivotGroup[];\n activePivots: Set<string>;\n selectedPivots: Record<string, string>;\n setActivePivot: (groupId: string, pivotId: string) => void;\n}\n\nconst ZonePivotContext = createContext<ZonePivotContextValue | undefined>(\n undefined\n);\n\nexport interface ZonePivotProviderProps {\n groups: ZonePivotGroup[];\n children: React.ReactNode;\n defaultPivots?: Record<string, string>;\n}\n\nfunction initializeSelectedPivots(\n groups: ZonePivotGroup[],\n defaultPivots: Record<string, string>\n): Record<string, string> {\n const initial: Record<string, string> = {};\n groups.forEach((group) => {\n if (defaultPivots[group.id]) {\n initial[group.id] = defaultPivots[group.id];\n } else if (group.pivots.length > 0) {\n initial[group.id] = group.pivots[0].id;\n }\n });\n return initial;\n}\n\nexport function ZonePivotProvider({\n groups,\n children,\n defaultPivots = {},\n}: ZonePivotProviderProps) {\n const [selectedPivots, setSelectedPivots] = useState<Record<string, string>>(\n () => initializeSelectedPivots(groups, defaultPivots)\n );\n\n const prevGroupIdsRef = useRef<string>(\"\");\n\n useEffect(() => {\n const currentGroupIds = groups\n .map((g) => g.id)\n .sort()\n .join(\",\");\n\n if (currentGroupIds !== prevGroupIdsRef.current) {\n prevGroupIdsRef.current = currentGroupIds;\n setSelectedPivots(initializeSelectedPivots(groups, defaultPivots));\n }\n }, [groups, defaultPivots]);\n\n const activePivots = useMemo(() => {\n return new Set(Object.values(selectedPivots));\n }, [selectedPivots]);\n\n const setActivePivot = (groupId: string, pivotId: string) => {\n setSelectedPivots((prev) => ({\n ...prev,\n [groupId]: pivotId,\n }));\n };\n\n const contextValue = useMemo(\n () => ({\n groups,\n activePivots,\n selectedPivots,\n setActivePivot,\n }),\n [groups, activePivots, selectedPivots]\n );\n\n return (\n <ZonePivotContext.Provider value={contextValue}>\n {children}\n </ZonePivotContext.Provider>\n );\n}\n\nexport function useZonePivotContext() {\n const context = useContext(ZonePivotContext);\n if (!context) {\n throw new Error(\n \"useZonePivotContext must be used within a ZonePivotProvider\"\n );\n }\n return context;\n}\n"],"names":["ZonePivotContext","createContext","initializeSelectedPivots","groups","defaultPivots","initial","group","ZonePivotProvider","children","selectedPivots","setSelectedPivots","useState","prevGroupIdsRef","useRef","useEffect","currentGroupIds","g","activePivots","useMemo","setActivePivot","groupId","pivotId","prev","contextValue","useZonePivotContext","context","useContext"],"mappings":";;AAiBA,MAAMA,IAAmBC;AAAA,EACvB;AACF;AAQA,SAASC,EACPC,GACAC,GACwB;AACxB,QAAMC,IAAkC,CAAA;AACxC,SAAAF,EAAO,QAAQ,CAACG,MAAU;AACxB,IAAIF,EAAcE,EAAM,EAAE,IACxBD,EAAQC,EAAM,EAAE,IAAIF,EAAcE,EAAM,EAAE,IACjCA,EAAM,OAAO,SAAS,MAC/BD,EAAQC,EAAM,EAAE,IAAIA,EAAM,OAAO,CAAC,EAAE;AAAA,EAExC,CAAC,GACMD;AACT;AAEO,SAASE,EAAkB;AAAA,EAChC,QAAAJ;AAAA,EACA,UAAAK;AAAA,EACA,eAAAJ,IAAgB,CAAA;AAClB,GAA2B;AACzB,QAAM,CAACK,GAAgBC,CAAiB,IAAIC;AAAA,IAC1C,MAAMT,EAAyBC,GAAQC,CAAa;AAAA,EAAA,GAGhDQ,IAAkBC,EAAe,EAAE;AAEzC,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAkBZ,EACrB,IAAI,CAACa,MAAMA,EAAE,EAAE,EACf,OACA,KAAK,GAAG;AAEX,IAAID,MAAoBH,EAAgB,YACtCA,EAAgB,UAAUG,GAC1BL,EAAkBR,EAAyBC,GAAQC,CAAa,CAAC;AAAA,EAErE,GAAG,CAACD,GAAQC,CAAa,CAAC;AAE1B,QAAMa,IAAeC,EAAQ,MACpB,IAAI,IAAI,OAAO,OAAOT,CAAc,CAAC,GAC3C,CAACA,CAAc,CAAC,GAEbU,IAAiB,CAACC,GAAiBC,MAAoB;AAC3D,IAAAX,EAAkB,CAACY,OAAU;AAAA,MAC3B,GAAGA;AAAA,MACH,CAACF,CAAO,GAAGC;AAAA,IAAA,EACX;AAAA,EACJ,GAEME,IAAeL;AAAA,IACnB,OAAO;AAAA,MACL,QAAAf;AAAA,MACA,cAAAc;AAAA,MACA,gBAAAR;AAAA,MACA,gBAAAU;AAAA,IAAA;AAAA,IAEF,CAAChB,GAAQc,GAAcR,CAAc;AAAA,EAAA;AAGvC,2BACGT,EAAiB,UAAjB,EAA0B,OAAOuB,GAC/B,UAAAf,GACH;AAEJ;AAEO,SAASgB,IAAsB;AACpC,QAAMC,IAAUC,EAAW1B,CAAgB;AAC3C,MAAI,CAACyB;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAGJ,SAAOA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zone-pivot-selector.js","sources":["../../../../src/components/content-components/zone-pivots/zone-pivot-selector.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { useZonePivotContext } from \"./zone-pivot-context\";\nimport type { ZonePivotGroup } from \"../../../types/page\";\nimport { cn } from \"../../../utils/cn\";\n\nexport interface ZonePivotSelectorProps {\n group: ZonePivotGroup;\n className?: string;\n}\n\nexport function ZonePivotSelector({\n group,\n className,\n}: ZonePivotSelectorProps) {\n const { activePivots, setActivePivot } = useZonePivotContext();\n const tabListRef = useRef<HTMLDivElement>(null);\n\n const selectedPivotId = group.pivots.find((p) => activePivots.has(p.id))?.id;\n const selectedIndex = group.pivots.findIndex((p) => p.id === selectedPivotId);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n const { key } = event;\n const currentIndex = selectedIndex;\n let nextIndex = currentIndex;\n\n switch (key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : group.pivots.length - 1;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n nextIndex =\n currentIndex < group.pivots.length - 1 ? currentIndex + 1 : 0;\n break;\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = group.pivots.length - 1;\n break;\n default:\n return;\n }\n\n const nextPivot = group.pivots[nextIndex];\n if (nextPivot) {\n setActivePivot(group.id, nextPivot.id);\n const button = tabListRef.current?.querySelector(\n `[data-pivot-id=\"${nextPivot.id}\"]`\n ) as HTMLButtonElement;\n button?.focus();\n }\n };\n\n return (\n <div className={className} data-zone-pivot-group={group.id}>\n <div\n ref={tabListRef}\n role=\"tablist\"\n aria-label={group.prompt}\n className=\"mint:inline-flex mint:items-center mint:gap-1 mint:p-0.5 mint:bg-[#f5f5f5] mint:rounded-lg mint:dark:bg-[#141414]\"\n >\n {group.pivots.map((pivot) => {\n const isSelected = pivot.id === selectedPivotId;\n return (\n <button\n key={pivot.id}\n id={`tab-${group.id}-${pivot.id}`}\n role=\"tab\"\n type=\"button\"\n data-pivot-id={pivot.id}\n aria-selected={isSelected}\n aria-controls={`panel-${group.id}-${pivot.id}`}\n tabIndex={isSelected ? 0 : -1}\n onClick={() => setActivePivot(group.id, pivot.id)}\n onKeyDown={handleKeyDown}\n className={cn(\n \"mint:relative mint:px-3 mint:py-1.5 mint:text-sm mint:rounded-md mint:bg-transparent mint:border-none mint:cursor-pointer mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#3b82f6] mint:focus-visible:outline-offset-2\",\n isSelected\n ? \"mint:bg-white mint:text-[#141414] mint:shadow-sm mint:dark:bg-[#1f1f1f] mint:dark:text-white mint:font-semibold\"\n : \"mint:text-gray-600 mint:hover:text-[#141414] mint:hover:bg-white/50 mint:dark:text-gray-400 mint:dark:hover:text-white mint:dark:hover:bg-[#222223] mint:font-medium\"\n )}\n >\n <span className=\"mint:invisible mint:font-semibold mint:block mint:h-0 mint:overflow-hidden\" aria-hidden=\"true\">\n {pivot.title}\n </span>\n <span className=\"mint:block\">{pivot.title}</span>\n </button>\n );\n })}\n </div>\n </div>\n );\n}\n"],"names":["ZonePivotSelector","group","className","activePivots","setActivePivot","useZonePivotContext","tabListRef","useRef","selectedPivotId","_a","p","selectedIndex","handleKeyDown","event","key","currentIndex","nextIndex","nextPivot","button","jsx","pivot","isSelected","jsxs","cn"],"mappings":";;;;AAUO,SAASA,EAAkB;AAAA,EAChC,OAAAC;AAAA,EACA,WAAAC;AACF,GAA2B;;AACzB,QAAM,EAAE,cAAAC,GAAc,gBAAAC,EAAA,IAAmBC,EAAA,GACnCC,IAAaC,EAAuB,IAAI,GAExCC,KAAkBC,IAAAR,EAAM,OAAO,KAAK,CAACS,MAAMP,EAAa,IAAIO,EAAE,EAAE,CAAC,MAA/C,gBAAAD,EAAkD,IACpEE,IAAgBV,EAAM,OAAO,UAAU,CAACS,MAAMA,EAAE,OAAOF,CAAe,GAEtEI,IAAgB,CAACC,MAAkD;;AACvE,UAAM,EAAE,KAAAC,MAAQD,GACVE,IAAeJ;AACrB,QAAIK,IAAYD;AAEhB,YAAQD,GAAA;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AACH,QAAAD,EAAM,eAAA,GACNG,IACED,IAAe,IAAIA,IAAe,IAAId,EAAM,OAAO,SAAS;AAC9D;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAAY,EAAM,eAAA,GACNG,IACED,IAAed,EAAM,OAAO,SAAS,IAAIc,IAAe,IAAI;AAC9D;AAAA,MACF,KAAK;AACH,QAAAF,EAAM,eAAA,GACNG,IAAY;AACZ;AAAA,MACF,KAAK;AACH,QAAAH,EAAM,eAAA,GACNG,IAAYf,EAAM,OAAO,SAAS;AAClC;AAAA,MACF;AACE;AAAA,IAAA;AAGJ,UAAMgB,IAAYhB,EAAM,OAAOe,CAAS;AACxC,QAAIC,GAAW;AACb,MAAAb,EAAeH,EAAM,IAAIgB,EAAU,EAAE;AACrC,YAAMC,KAAST,IAAAH,EAAW,YAAX,gBAAAG,EAAoB;AAAA,QACjC,mBAAmBQ,EAAU,EAAE;AAAA;AAEjC,MAAAC,KAAA,QAAAA,EAAQ;AAAA,IACV;AAAA,EACF;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAAjB,GAAsB,yBAAuBD,EAAM,IACtD,UAAA,gBAAAkB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,MAAK;AAAA,MACL,cAAYL,EAAM;AAAA,MAClB,WAAU;AAAA,MAET,UAAAA,EAAM,OAAO,IAAI,CAACmB,MAAU;AAC3B,cAAMC,IAAaD,EAAM,OAAOZ;AAChC,eACE,gBAAAc;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,IAAI,OAAOrB,EAAM,EAAE,IAAImB,EAAM,EAAE;AAAA,YAC/B,MAAK;AAAA,YACL,MAAK;AAAA,YACL,iBAAeA,EAAM;AAAA,YACrB,iBAAeC;AAAA,YACf,iBAAe,SAASpB,EAAM,EAAE,IAAImB,EAAM,EAAE;AAAA,YAC5C,UAAUC,IAAa,IAAI;AAAA,YAC3B,SAAS,MAAMjB,EAAeH,EAAM,IAAImB,EAAM,EAAE;AAAA,YAChD,WAAWR;AAAA,YACX,WAAWW;AAAA,cACT;AAAA,cACAF,IACI,oHACA;AAAA,YAAA;AAAA,YAGN,UAAA;AAAA,cAAA,gBAAAF,EAAC,UAAK,WAAU,8EAA6E,eAAY,QACtG,YAAM,OACT;AAAA,cACA,gBAAAA,EAAC,QAAA,EAAK,WAAU,cAAc,YAAM,MAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UApBrCC,EAAM;AAAA,QAAA;AAAA,MAuBjB,CAAC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zone-pivot.js","sources":["../../../../src/components/content-components/zone-pivots/zone-pivot.tsx"],"sourcesContent":["import React from \"react\";\nimport { useZonePivotContext } from \"./zone-pivot-context\";\n\nexport interface ZonePivotProps {\n pivot: string;\n target?: string;\n children: React.ReactNode;\n}\n\nexport function ZonePivot({ pivot, target, children }: ZonePivotProps) {\n const { activePivots, groups } = useZonePivotContext();\n\n const pivotIds = pivot.split(\" \").map((p) => p.trim());\n\n const isActive = pivotIds.some((pivotId) => activePivots.has(pivotId));\n\n if (!isActive) return null;\n\n const groupId = groups.find((g) =>\n g.pivots.some((p) => pivotIds.includes(p.id))\n )?.id;\n\n const panelId = groupId ? `panel-${groupId}-${pivot}` : undefined;\n\n return (\n <div\n role=\"tabpanel\"\n id={panelId}\n aria-labelledby={groupId ? `tab-${groupId}-${pivot}` : undefined}\n data-zone-pivot={pivot}\n {...(target ? { \"data-zone-target\": target } : {})}\n >\n {children}\n </div>\n );\n}\n"],"names":["ZonePivot","pivot","target","children","activePivots","groups","useZonePivotContext","pivotIds","p","pivotId","groupId","_a","g","panelId","jsx"],"mappings":";;AASO,SAASA,EAAU,EAAE,OAAAC,GAAO,QAAAC,GAAQ,UAAAC,KAA4B;;AACrE,QAAM,EAAE,cAAAC,GAAc,QAAAC,EAAA,IAAWC,EAAA,GAE3BC,IAAWN,EAAM,MAAM,GAAG,EAAE,IAAI,CAACO,MAAMA,EAAE,MAAM;AAIrD,MAAI,CAFaD,EAAS,KAAK,CAACE,MAAYL,EAAa,IAAIK,CAAO,CAAC,EAEtD,QAAO;AAEtB,QAAMC,KAAUC,IAAAN,EAAO;AAAA,IAAK,CAACO,MAC3BA,EAAE,OAAO,KAAK,CAACJ,MAAMD,EAAS,SAASC,EAAE,EAAE,CAAC;AAAA,EAAA,MAD9B,gBAAAG,EAEb,IAEGE,IAAUH,IAAU,SAASA,CAAO,IAAIT,CAAK,KAAK;AAExD,SACE,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAID;AAAA,MACJ,mBAAiBH,IAAU,OAAOA,CAAO,IAAIT,CAAK,KAAK;AAAA,MACvD,mBAAiBA;AAAA,MAChB,GAAIC,IAAS,EAAE,oBAAoBA,EAAA,IAAW,CAAA;AAAA,MAE9C,UAAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zone-target.js","sources":["../../../../src/components/content-components/zone-pivots/zone-target.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface ZoneTargetProps {\n target: string;\n children: React.ReactNode;\n}\n\nexport function ZoneTarget({ target, children }: ZoneTargetProps) {\n return <div data-zone-target={target}>{children}</div>;\n}\n"],"names":["ZoneTarget","target","children","jsx"],"mappings":";AAOO,SAASA,EAAW,EAAE,QAAAC,GAAQ,UAAAC,KAA6B;AAChE,SAAO,gBAAAC,EAAC,OAAA,EAAI,oBAAkBF,GAAS,UAAAC,EAAA,CAAS;AAClD;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docsLayout.js","sources":["../../src/components/docsLayout.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { AnchorConfig, NavTreeData } from \"../types\";\nimport type { BottomLinkConfig } from \"./nav-tree\";\nimport type { LinkComponent } from \"../types\";\nimport { NavTree } from \"./nav-tree\";\nimport { ComponentsProvider } from \"../context/components-context\";\nimport { cn } from \"../utils/cn\";\nimport \"../styles.css\";\n\n/**\n * Localization strings for DocsLayout\n */\nexport interface DocsLayoutLocalization {\n /** Aria label for the sidebar navigation. Default: \"Sidebar navigation\" */\n sidebarAriaLabel?: string;\n}\n\n/**\n * Telemetry configuration for DocsLayout\n */\nexport interface DocsLayoutTelemetry {\n /** Activity name for bottom link clicks */\n bottomLinkActivity?: string;\n /** Phase for bottom link clicks (e.g., \"Start\", \"Complete\") */\n bottomLinkPhase?: string;\n}\n\n/**\n * Props for the DocsLayout component\n */\nexport interface DocsLayoutProps {\n /** Navigation tree data structure */\n navTree: NavTreeData;\n\n /** Anchor configurations */\n anchors?: AnchorConfig[];\n\n /** The main content to render in the layout */\n children: ReactNode;\n\n /** Currently active href for navigation highlighting */\n activeHref?: string;\n\n /** Currently active ID for navigation highlighting */\n activeId?: string;\n\n /** Theme for the layout */\n theme?: \"light\" | \"dark\";\n\n /** Additional CSS classes for the outer container */\n className?: string;\n\n /** Bottom links configuration (e.g., blog, GitHub, feedback) */\n bottomLinks?: BottomLinkConfig[];\n\n /** Custom Link component for navigation (e.g., React Router Link, Next.js Link) */\n LinkComponent?: LinkComponent;\n\n /** Localization strings */\n localization?: DocsLayoutLocalization;\n\n /** Telemetry configuration */\n telemetry?: DocsLayoutTelemetry;\n\n /** Whether to show the sidebar. Default: true */\n showSidebar?: boolean;\n\n /** Custom className for the sidebar to control responsive behavior.\n * Default: \"mint:max-lg:hidden\" (hidden below lg breakpoint) */\n sidebarClassName?: string;\n}\n\n/**\n * DocsLayout component provides a complete documentation layout with sidebar navigation\n * and main content area. It's designed to be scalable, customizable, and tree-shakable.\n *\n * @example\n * ```tsx\n * <DocsLayout\n * navTree={{ items: [...] }}\n * activeHref=\"/docs/getting-started\"\n * theme=\"dark\"\n * bottomLinks={[\n * { href: \"https://blog.com\", label: \"Blog\", icon: BlogIcon }\n * ]}\n * LinkComponent={Link}\n * >\n * <YourPageContent />\n * </DocsLayout>\n * ```\n */\nexport const DocsLayout = ({\n navTree,\n anchors,\n children,\n activeHref,\n activeId,\n theme = \"light\",\n className = \"\",\n bottomLinks,\n LinkComponent,\n localization,\n telemetry,\n showSidebar = true,\n sidebarClassName,\n}: DocsLayoutProps) => {\n const resolvedTheme = theme === \"dark\" ? \"dark\" : \"light\";\n\n // Default localization\n const defaultLocalization: Required<DocsLayoutLocalization> = {\n sidebarAriaLabel: \"Sidebar navigation\",\n };\n\n const loc = { ...defaultLocalization, ...localization };\n\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <div\n className={cn(\n \"mintlify-docs\",\n \"mint:flex mint:min-h-0 mint:flex-1\",\n resolvedTheme === \"dark\" && \"dark\",\n className\n )}\n >\n <div className=\"mint:isolate mint:flex mint:flex-row mint:flex-nowrap mint:w-full mint:h-full mint:overflow-hidden mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f]\">\n {showSidebar && navTree && (\n <aside\n aria-label={loc.sidebarAriaLabel}\n className={cn(\n \"mint:flex mint:flex-col mint:shrink-0 mint:w-68 mint:h-full\",\n sidebarClassName ?? \"mint:max-lg:hidden\"\n )}\n >\n <NavTree\n navTree={navTree}\n activeId={activeId ?? activeHref}\n activeHref={activeHref}\n theme={resolvedTheme}\n bottomLinks={bottomLinks}\n anchors={anchors}\n />\n </aside>\n )}\n\n <div className=\"mint:flex mint:flex-1 mint:flex-col mint:min-w-0 mint:h-full mint:overflow-hidden mint:rounded-tl-(--borderRadiusXXLarge,1.5rem)\">\n {children}\n </div>\n </div>\n </div>\n </ComponentsProvider>\n );\n};\n"],"names":["DocsLayout","navTree","anchors","children","activeHref","activeId","theme","className","bottomLinks","LinkComponent","localization","telemetry","showSidebar","sidebarClassName","resolvedTheme","loc","jsx","ComponentsProvider","cn","jsxs","NavTree"],"mappings":";;;;;AA2FO,MAAMA,IAAa,CAAC;AAAA,EACzB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,WAAAC,IAAY;AAAA,EACZ,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,kBAAAC;AACF,MAAuB;AACrB,QAAMC,IAAgBR,MAAU,SAAS,SAAS,SAO5CS,IAAM,EAAE,GAJgD;AAAA,IAC5D,kBAAkB;AAAA,EAAA,GAGkB,GAAGL,EAAA;AAEzC,SACE,gBAAAM,EAACC,KAAmB,eAAAR,GAClB,UAAA,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWE;AAAA,QACT;AAAA,QACA;AAAA,QACAJ,MAAkB,UAAU;AAAA,QAC5BP;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,+IACZ,UAAA;AAAA,QAAAP,KAAeX,KACd,gBAAAe;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,cAAYD,EAAI;AAAA,YAChB,WAAWG;AAAA,cACT;AAAA,cACAL,KAAoB;AAAA,YAAA;AAAA,YAGtB,UAAA,gBAAAG;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,SAAAnB;AAAA,gBACA,UAAUI,KAAYD;AAAA,gBACtB,YAAAA;AAAA,gBACA,OAAOU;AAAA,gBACP,aAAAN;AAAA,gBACA,SAAAN;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QAIJ,gBAAAc,EAAC,OAAA,EAAI,WAAU,oIACZ,UAAAb,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docsPage.js","sources":["../../src/components/docsPage.tsx"],"sourcesContent":["import { TextAlignLeftFilled } from '@fluentui/react-icons';\nimport { useEffect } from 'react';\n\nimport { ApiExamples } from '../api-playground-2/ApiExamples';\nimport { ComponentsProvider } from '../context/components-context';\nimport '../styles.css';\nimport type { DocsPageProps, PayloadData } from '../types';\nimport { cn } from '../utils/cn';\nimport { ZonePivotProvider, ZonePivotSelector } from './content-components/zone-pivots';\nimport { MDXRenderer } from './mdx-renderer';\nimport { PageContextMenu, type ContextualOption } from './page-context-menu';\nimport { TableOfContents } from './toc';\nimport { PivotAwareTOC } from './toc/pivot-aware-toc';\n\n/**\n * Localization strings for DocsPage component\n */\nexport interface DocsPageLocalization {\n /** Text for \"On this page\" heading. Default: \"On this page\" */\n onThisPage?: string;\n /** Loading message. Default: \"Loading...\" */\n loading?: string;\n /** Error title. Default: \"Error\" */\n errorTitle?: string;\n /** Generic error message. Default: \"Something went wrong\" */\n errorMessage?: string;\n /** Not found title. Default: \"Page not found\" */\n notFoundTitle?: string;\n /** Not found message. Default: \"The page you're looking for doesn't exist\" */\n notFoundMessage?: string;\n}\n\n/**\n * Telemetry configuration for DocsPage\n */\nexport interface DocsPageTelemetry {\n /** Activity name for page context menu interactions */\n contextMenuActivity?: string;\n /** Phase for context menu interactions */\n contextMenuPhase?: string;\n /** Activity name for TOC link clicks */\n tocLinkActivity?: string;\n /** Phase for TOC link clicks */\n tocLinkPhase?: string;\n /** Activity name for zone pivot selector changes */\n zonePivotActivity?: string;\n /** Phase for zone pivot changes */\n zonePivotPhase?: string;\n}\n\n/**\n * Configuration for the page context menu\n */\nexport interface PageContextMenuConfig {\n /** Custom actions for the page context menu. If provided, these will replace the default actions. */\n customActions?: ContextualOption[];\n /** Callback fired after markdown is successfully copied */\n onCopyMarkdown?: () => void;\n /** Custom handler for \"Copy Page\" action. If provided, replaces default copy behavior. */\n onCopyPage?: () => void | Promise<void>;\n /** Custom handler for \"View as Markdown\" action. If provided, replaces default view behavior. */\n onViewMarkdown?: (pathname?: string) => void;\n /** Custom handler for \"View llms.txt\" action. If provided, replaces default behavior. */\n onViewLlmsTxt?: () => void;\n /** Custom handler for \"View llms-full.txt\" action. If provided, replaces default behavior. */\n onViewLlmsFullTxt?: () => void;\n}\n\n/**\n * Enhanced DocsPageProps with localization and telemetry support\n */\nexport interface EnhancedDocsPageProps extends DocsPageProps {\n /** Localization strings */\n localization?: DocsPageLocalization;\n /** Telemetry configuration */\n telemetry?: DocsPageTelemetry;\n /** Context menu configuration */\n contextMenu?: PageContextMenuConfig;\n}\n\n/**\n * DocsPage component renders a documentation page with MDX content, table of contents,\n * zone pivot selectors, and page context menu. It supports full customization through\n * props for localization, telemetry, and custom components.\n *\n * @example\n * ```tsx\n * <DocsPage\n * payload={{\n * content: \"...\",\n * serializedContent: Content,\n * title: \"Getting Started\",\n * description: \"Learn how to get started\"\n * }}\n * toc={[{ title: \"Introduction\", slug: \"intro\", level: 2 }]}\n * theme=\"dark\"\n * pathname=\"/docs/getting-started\"\n * LinkComponent={Link}\n * localization={{\n * onThisPage: \"In this article\"\n * }}\n * telemetry={{\n * contextMenuActivity: \"DocsPageContextMenu\",\n * contextMenuPhase: \"Start\"\n * }}\n * />\n * ```\n */\nexport function DocsPage({\n payload,\n toc,\n navTree,\n activeHref,\n theme,\n className = '',\n pathname,\n markdownContent,\n allPages,\n baseUrl,\n bottomLinks,\n LinkComponent,\n localization,\n telemetry,\n contextMenu,\n apiReferenceData2,\n}: EnhancedDocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n const isFullWidth = !payload.title;\n\n // Default localization\n const defaultLocalization: Required<DocsPageLocalization> = {\n onThisPage: 'On this page',\n loading: 'Loading...',\n errorTitle: 'Error',\n errorMessage: 'Something went wrong',\n notFoundTitle: 'Page not found',\n notFoundMessage: \"The page you're looking for doesn't exist\",\n };\n\n const loc = { ...defaultLocalization, ...localization };\n\n useEffect(() => {\n const { hash } = window.location;\n if (!hash) return;\n\n const scrollToHash = () => {\n const targetId = hash.substring(1);\n const scrollContainer = document.getElementById('main-content');\n const targetElement = document.getElementById(targetId);\n\n if (scrollContainer && targetElement) {\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize;\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const targetRect = targetElement.getBoundingClientRect();\n const relativeTop =\n targetRect.top - containerRect.top + scrollContainer.scrollTop - scrollOffset;\n\n scrollContainer.scrollTo({\n top: relativeTop,\n behavior: 'instant',\n });\n }\n };\n\n const timeoutId = setTimeout(scrollToHash, 100);\n\n return () => clearTimeout(timeoutId);\n }, [pathname]);\n\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <div\n className={cn(\n 'mintlify-docs',\n theme === 'dark' && 'dark',\n className,\n 'mint:flex mint:flex-col mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden'\n )}\n >\n <div\n id=\"page-container\"\n className=\"mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:flex-1 mint:min-h-0 mint:h-full mint:flex mint:flex-col mint:overflow-hidden\"\n >\n <div\n id=\"page-wrapper\"\n className=\"mint:flex mint:rounded-tl-2xl mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden\"\n >\n <div\n id=\"main-content\"\n className={cn(\n 'mint:flex-1 mint:p-8 mint:overflow-y-auto mint:overflow-x-hidden mint:rounded-tl-2xl mint:bg-white mint:dark:bg-[#1f1f1f] [scrollbar-gutter:stable] mint:overscroll-contain mint:lg:px-16 mint:lg:pt-12 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30'\n )}\n >\n <ZonePivotProvider groups={zonePivotGroups}>\n <div\n className=\"mint:flex mint:flex-row-reverse mint:gap-12 mint:justify-center mint:mx-auto mint:w-full\"\n id=\"content-layout-container\"\n >\n {apiReferenceData2?.operation ? (\n <div className=\"mint:hidden mint:xl:flex! mint:self-start mint:sticky mint:flex-col mint:max-w-md mint:top-0 mint:gap-6\">\n <ApiExamples apiReferenceData={apiReferenceData2} />\n </div>\n ) : toc && toc.length > 0 ? (\n <aside className=\"mint:w-68 mint:shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block\">\n <div className=\"mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto\">\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:mb-4\">\n <TextAlignLeftFilled className=\"mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#adadad]\" />\n <h2 className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white\">\n {loc.onThisPage}\n </h2>\n </div>\n {pivotTocItems && Object.keys(pivotTocItems).length > 0 ? (\n <PivotAwareTOC baseToc={toc} pivotTocItems={pivotTocItems} />\n ) : (\n <TableOfContents toc={toc} />\n )}\n </div>\n </aside>\n ) : null}\n\n <div\n className={cn(\n 'mint:w-full mint:overflow-x-visible mint:max-w-[730px]',\n isFullWidth && 'mint:max-w-none!'\n )}\n >\n {payload.title && (\n <header className=\"mint:mb-6\">\n <div className=\"mint:flex mint:flex-col mint:gap-5\">\n <div className=\"mint:flex mint:flex-col mint:gap-2 mint:items-start\">\n <h1 className=\"mint:text-[1.875rem] mint:font-bold mint:text-[#141414] mint:dark:text-white mint:m-0 mint:leading-[1.2] mint:pt-3\">\n {payload.title}\n </h1>\n {payload.description && (\n <p className=\"mint:text-lg mint:text-[#4b5563] mint:dark:text-[#d1d5db] mint:m-0\">\n {payload.description}\n </p>\n )}\n </div>\n {pathname && (\n <PageContextMenu\n className=\"mint:shrink-0\"\n pathname={pathname}\n markdownContent={markdownContent}\n allPages={allPages}\n baseUrl={baseUrl}\n onCopyMarkdown={contextMenu?.onCopyMarkdown}\n onViewMarkdown={contextMenu?.onViewMarkdown}\n />\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className=\"mint:mb-6 mint:flex mint:flex-wrap mint:gap-4\">\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm\"\n />\n ))}\n </div>\n )}\n\n <div className=\"mint:pt-4\">\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n </ComponentsProvider>\n );\n}\n\nexport type { DocsPageProps, PayloadData } from '../types';\n\nexport type { EnhancedDocsPageProps as DocsPagePropsWithCustomization };\n\nexport type { ContextualOption };\n"],"names":["DocsPage","payload","toc","navTree","activeHref","theme","className","pathname","markdownContent","allPages","baseUrl","bottomLinks","LinkComponent","localization","telemetry","contextMenu","apiReferenceData2","Content","zonePivotGroups","_a","pivotTocItems","_b","isFullWidth","loc","useEffect","hash","timeoutId","targetId","scrollContainer","targetElement","style","scrollMtRem","fontSize","scrollOffset","containerRect","relativeTop","jsx","ComponentsProvider","cn","ZonePivotProvider","jsxs","ApiExamples","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-renderer.js","sources":["../../src/components/mdx-renderer.tsx"],"sourcesContent":["import { MDXProvider } from '@mdx-js/react';\nimport React from 'react';\n\nimport { useComponents } from '../context/components-context';\nimport type { MDXComponents } from '../types';\nimport { cn } from '../utils/cn';\nimport { createDefaultComponents } from './content-components';\n\ninterface MDXRendererProps {\n children: React.ReactNode;\n components?: MDXComponents;\n}\n\nexport function MDXRenderer({ children, components = {} }: MDXRendererProps) {\n const { LinkComponent } = useComponents();\n const defaultComponents = createDefaultComponents({ LinkComponent });\n const mergedComponents = { ...defaultComponents, ...components };\n\n return (\n <div className={cn('mint:min-w-0 mint:prose mint:dark:prose-invert mint:max-w-none')}>\n <MDXProvider components={mergedComponents}>{children}</MDXProvider>\n </div>\n );\n}\n"],"names":["MDXRenderer","children","components","LinkComponent","useComponents","mergedComponents","createDefaultComponents","jsx","cn","MDXProvider"],"mappings":";;;;;AAaO,SAASA,EAAY,EAAE,UAAAC,GAAU,YAAAC,IAAa,CAAA,KAAwB;AAC3E,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GAEpBC,IAAmB,EAAE,GADDC,EAAwB,EAAE,eAAAH,GAAe,GAClB,GAAGD,EAAA;AAEpD,SACE,gBAAAK,EAAC,OAAA,EAAI,WAAWC,EAAG,gEAAgE,GACjF,UAAA,gBAAAD,EAACE,GAAA,EAAY,YAAYJ,GAAmB,UAAAJ,EAAA,CAAS,EAAA,CACvD;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href?: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n component?: React.ReactNode;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[12px] mint:h-[12px] mint:shrink-0 mint:text-[#707070] mint:dark:text-[#999999]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-sm mint:text-[#242424] mint:dark:text-[#ffffff] mint:mb-2 mint:flex mint:items-start mint:gap-2 mint:pl-3 mint:font-semibold mint:leading-[1.375rem]\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none mint:m-0.25\">\n <div\n id=\"nav-group-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n setIsExpanded(!isExpanded);\n }\n }}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className=\"mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-[3px] mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:leading-[1.375rem]\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </div>\n {hasChildren && isExpanded && item.children && (\n <ul\n className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none mint:m-0.25\">\n <div\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n setIsExpanded(!isExpanded);\n }\n }}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:font-aptos mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-1 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-lg mint:bg-transparent mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:leading-[1.375rem]',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0 mint:font-aptos\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </div>\n {isExpanded && item.children && (\n <ul\n className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none mint:m-0.25\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-1 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-lg mint:no-underline mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1 mint:leading-[1.375rem]',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]'\n )}\n >\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n // Save and restore scroll position\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const savedScrollPos = sessionStorage.getItem('nav-tree-scroll-position');\n\n if (savedScrollPos) {\n // Restore scroll position from sessionStorage\n navElement.scrollTop = parseInt(savedScrollPos, 10);\n } else {\n // If no saved position, scroll to active item\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }\n\n // Save scroll position on scroll\n const handleScroll = () => {\n sessionStorage.setItem('nav-tree-scroll-position', navElement.scrollTop.toString());\n };\n\n navElement.addEventListener('scroll', handleScroll);\n return () => navElement.removeEventListener('scroll', handleScroll);\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className={cn(\n 'mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:[&>*+*]:mt-[32px] mint:py-4'\n )}\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n const matches =\n cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n if (!matches) return false;\n\n const longestMatchingAnchor = anchors\n .filter((a) => {\n if (!a.href) return false;\n const normalizedHref = normalizeAnchorHref(a.href);\n const cleanHref = normalizedHref.replace(/\\/$/, '');\n return cleanActive === cleanHref || cleanActive.startsWith(cleanHref + '/');\n })\n .reduce((longest, current) => {\n const longestHref = normalizeAnchorHref(longest.href || '').replace(\n /\\/$/,\n ''\n );\n const currentHref = normalizeAnchorHref(current.href || '').replace(\n /\\/$/,\n ''\n );\n return currentHref.length > longestHref.length ? current : longest;\n }, anchor);\n\n return longestMatchingAnchor === anchor;\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-1.5 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:leading-[1.375rem]',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#242424] mint:dark:text-[#adadad]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n if (link.component) {\n return (\n <div key={index}>\n {React.isValidElement(link.component) ? (\n React.cloneElement(link.component as React.ReactElement, {\n ...(link.component as React.ReactElement).props,\n className: cn(\n 'mint:flex mint:items-center mint:py-1.5 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer',\n (link.component as React.ReactElement).props?.className\n ),\n children: (\n <>\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </>\n ),\n })\n ) : (\n <div className=\"mint:flex mint:items-center mint:py-1.5 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer\">\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n {link.component}\n </div>\n )}\n </div>\n );\n }\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-1.5 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","e","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","savedScrollPos","allLinks","activeLink","link","handleScroll","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref","React","_a","Fragment"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-nav.js","sources":["../../../src/components/nav-tree/mobile-nav.tsx"],"sourcesContent":["import { NavTreeData, LinkComponent } from \"../../types\";\nimport { Dialog, DialogBackdrop, DialogPanel } from \"@headlessui/react\";\nimport { NavTree, BottomLinkConfig } from \"./index\";\nimport { Dismiss16Regular } from \"@fluentui/react-icons\";\nimport { ComponentsProvider } from \"../../context/components-context\";\nimport { cn } from \"../../utils/cn\";\nimport \"../../styles.css\";\n\nexport interface MobileNavTreeProps {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n activeHref?: string;\n bottomLinks?: BottomLinkConfig[];\n LinkComponent?: LinkComponent;\n}\n\nexport function MobileNavTree({\n isOpen,\n setIsOpen,\n navTree,\n activeId,\n className = \"\",\n theme,\n activeHref,\n bottomLinks,\n LinkComponent,\n}: MobileNavTreeProps) {\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <Dialog\n open={isOpen}\n onClose={() => setIsOpen(false)}\n className={cn(\n \"mint:fixed mint:inset-0 mint:overflow-y-auto mint:z-50 mint:lg:hidden\",\n theme === \"dark\" && \"dark\"\n )}\n >\n <DialogBackdrop\n transition\n className=\"mint:fixed mint:inset-0 mint:bg-black/20 mint:dark:bg-black/80 mint:backdrop-blur mint:transition-opacity mint:duration-300 mint:ease-out mint:data-closed:opacity-0\"\n />\n <div className=\"mint:fixed mint:inset-0 mint:flex\">\n {isOpen && <CloseButton setIsOpen={setIsOpen} />}\n <DialogPanel\n id=\"mobile-nav\"\n transition\n className=\"mint:flex mint:flex-col mint:relative mint:bg-white mint:dark:bg-[#0f0f0f] mint:w-[85vw] mint:min-w-76 mint:max-w-88 mint:min-h-full mint:transition-transform mint:duration-100 mint:ease-in-out mint:data-closed:-translate-x-full\"\n >\n <div className=\"mint:flex mint:flex-col mint:flex-1 mint:p-4 mint:pt-4 mint:pb-12 mint:overflow-y-auto mint:h-full mint:[scrollbar-gutter:stable] mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30\">\n <NavTree\n navTree={navTree}\n activeId={activeId}\n className={className}\n activeHref={activeHref}\n theme={theme}\n bottomLinks={bottomLinks}\n />\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n </ComponentsProvider>\n );\n}\n\nconst CloseButton = ({\n setIsOpen,\n}: {\n setIsOpen: (isOpen: boolean) => void;\n}) => {\n return (\n <button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n className=\"mint:absolute mint:bg-white mint:dark:bg-[#0f0f0f] mint:rounded-full mint:top-4 mint:right-4 mint:w-8 mint:h-8 mint:flex mint:items-center mint:justify-center mint:border-none mint:cursor-pointer\"\n >\n <span className=\"mint:absolute mint:w-px mint:h-px mint:p-0 mint:-m-px mint:overflow-hidden mint:whitespace-nowrap mint:border-0 mint:[clip:rect(0,0,0,0)]\">\n Close navigation\n </span>\n <Dismiss16Regular className=\"mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#adadad] mint:hover:text-[#4b5563] mint:dark:hover:text-[#d1d5db]\" />\n </button>\n );\n};\n"],"names":["MobileNavTree","isOpen","setIsOpen","navTree","activeId","className","theme","activeHref","bottomLinks","LinkComponent","jsx","ComponentsProvider","jsxs","Dialog","cn","DialogBackdrop","CloseButton","DialogPanel","NavTree","Dismiss16Regular"],"mappings":";;;;;;;AAoBO,SAASA,EAAc;AAAA,EAC5B,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AACF,GAAuB;AACrB,SACE,gBAAAC,EAACC,GAAA,EAAmB,eAAeF,GACjC,UAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,SAAS,MAAMC,EAAU,EAAK;AAAA,MAC9B,WAAWY;AAAA,QACT;AAAA,QACAR,MAAU,UAAU;AAAA,MAAA;AAAA,MAGtB,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAH,EAAC,OAAA,EAAI,WAAU,qCACZ,UAAA;AAAA,UAAAX,KAAU,gBAAAS,EAACM,KAAY,WAAAd,EAAA,CAAsB;AAAA,UAC9C,gBAAAQ;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACH,YAAU;AAAA,cACV,WAAU;AAAA,cAEV,UAAA,gBAAAP,EAAC,OAAA,EAAI,WAAU,2lBACb,UAAA,gBAAAA;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACC,SAAAf;AAAA,kBACA,UAAAC;AAAA,kBACA,WAAAC;AAAA,kBACA,YAAAE;AAAA,kBACA,OAAAD;AAAA,kBACA,aAAAE;AAAA,gBAAA;AAAA,cAAA,EACF,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEA,MAAMQ,IAAc,CAAC;AAAA,EACnB,WAAAd;AACF,MAII,gBAAAU;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAMV,EAAU,EAAK;AAAA,IAC9B,WAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAQ,EAAC,QAAA,EAAK,WAAU,6IAA4I,UAAA,oBAE5J;AAAA,MACA,gBAAAA,EAACS,GAAA,EAAiB,WAAU,0HAAA,CAA0H;AAAA,IAAA;AAAA,EAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-context-menu.js","sources":["../../src/components/page-context-menu.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CopyRegular,\n MarkdownRegular,\n ChatSparkleRegular,\n} from \"@fluentui/react-icons\";\nimport { copyMarkdownToClipboard } from \"../hooks/useMarkdownCopy\";\nimport type { LlmsPageConfig } from \"../utils/generate-llms-txt\";\nimport { cn } from \"../utils/cn\";\n\nexport type ContextualOption = {\n id: string;\n title: string;\n description: string;\n icon: React.ElementType;\n action: () => void;\n};\n\nexport interface PageContextMenuProps {\n className?: string;\n pathname: string;\n markdownContent?: string;\n onCopyMarkdown?: () => void;\n onViewMarkdown?: (pathname: string) => void;\n allPages?: LlmsPageConfig[];\n baseUrl?: string;\n}\n\nexport const PageContextMenu = ({\n className,\n pathname,\n markdownContent,\n onCopyMarkdown,\n onViewMarkdown,\n allPages,\n baseUrl,\n}: PageContextMenuProps) => {\n const [isCopied, setIsCopied] = useState(false);\n\n useEffect(() => {\n if (isCopied) {\n const timeout = setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }\n }, [isCopied]);\n\n const copyPageAsMarkdown = async () => {\n setIsCopied(true);\n try {\n if (markdownContent) {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdownContent], { type: \"text/plain\" }),\n });\n await navigator.clipboard.write([clipboardItem]);\n onCopyMarkdown?.();\n } else {\n copyMarkdownToClipboard({\n pathname,\n onSuccess: () => {\n onCopyMarkdown?.();\n },\n });\n }\n } catch (error) {\n console.error(\"Failed to copy markdown:\", error);\n }\n };\n\n const viewAsMarkdown = () => {\n if (onViewMarkdown) {\n onViewMarkdown(pathname);\n } else {\n window.open(`${pathname}.md`, \"_blank\");\n }\n };\n\n const viewLlmsTxtFile = () => {\n window.open(\"/docs/llms.txt\", \"_blank\");\n };\n\n return (\n <div\n className={cn(\n \"mint:flex mint:items-center mint:gap-3 mint:font-aptos\",\n className\n )}\n >\n <button\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]\"\n onClick={viewAsMarkdown}\n aria-label=\"View as Markdown\"\n >\n <MarkdownRegular className=\"mint:w-5 mint:h-5\" />\n <span className=\"mint:font-medium\">View as Markdown</span>\n </button>\n\n <div className=\"mint:h-5 mint:w-px mint:bg-[#d1d1d1] mint:dark:bg-[#404040]\" />\n\n <button\n className={cn(\n \"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]\",\n )}\n onClick={copyPageAsMarkdown}\n aria-label={isCopied ? \"Copied\" : \"Copy for LLM\"}\n >\n <CopyRegular className=\"mint:w-5 mint:h-5\" />\n <span className=\"mint:font-medium\">{isCopied ? \"Copied\" : \"Copy for LLM\"}</span>\n </button>\n </div>\n );\n};\n"],"names":["PageContextMenu","className","pathname","markdownContent","onCopyMarkdown","onViewMarkdown","allPages","baseUrl","isCopied","setIsCopied","useState","useEffect","timeout","copyPageAsMarkdown","clipboardItem","copyMarkdownToClipboard","error","viewAsMarkdown","jsxs","cn","jsx","MarkdownRegular","CopyRegular"],"mappings":";;;;;AA4BO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAA4B;AAC1B,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK;AAE9C,EAAAC,EAAU,MAAM;AACd,QAAIH,GAAU;AACZ,YAAMI,IAAU,WAAW,MAAM;AAC/B,QAAAH,EAAY,EAAK;AAAA,MACnB,GAAG,GAAI;AACP,aAAO,MAAM,aAAaG,CAAO;AAAA,IACnC;AAAA,EACF,GAAG,CAACJ,CAAQ,CAAC;AAEb,QAAMK,IAAqB,YAAY;AACrC,IAAAJ,EAAY,EAAI;AAChB,QAAI;AACF,UAAIN,GAAiB;AACnB,cAAMW,IAAgB,IAAI,cAAc;AAAA,UACtC,cAAc,IAAI,KAAK,CAACX,CAAe,GAAG,EAAE,MAAM,aAAA,CAAc;AAAA,QAAA,CACjE;AACD,cAAM,UAAU,UAAU,MAAM,CAACW,CAAa,CAAC,GAC/CV,KAAA,QAAAA;AAAA,MACF;AACE,QAAAW,EAAwB;AAAA,UACtB,UAAAb;AAAA,UACA,WAAW,MAAM;AACf,YAAAE,KAAA,QAAAA;AAAA,UACF;AAAA,QAAA,CACD;AAAA,IAEL,SAASY,GAAO;AACd,cAAQ,MAAM,4BAA4BA,CAAK;AAAA,IACjD;AAAA,EACF,GAEMC,IAAiB,MAAM;AAC3B,IAAIZ,IACFA,EAAeH,CAAQ,IAEvB,OAAO,KAAK,GAAGA,CAAQ,OAAO,QAAQ;AAAA,EAE1C;AAMA,SACE,gBAAAgB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAlB;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAASD;AAAA,YACT,cAAW;AAAA,YAEX,UAAA;AAAA,cAAA,gBAAAG,EAACC,GAAA,EAAgB,WAAU,oBAAA,CAAoB;AAAA,cAC/C,gBAAAD,EAAC,QAAA,EAAK,WAAU,oBAAmB,UAAA,mBAAA,CAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGrD,gBAAAA,EAAC,OAAA,EAAI,WAAU,8DAAA,CAA8D;AAAA,QAE7E,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,YAAA;AAAA,YAEF,SAASN;AAAA,YACT,cAAYL,IAAW,WAAW;AAAA,YAElC,UAAA;AAAA,cAAA,gBAAAY,EAACE,GAAA,EAAY,WAAU,oBAAA,CAAoB;AAAA,gCAC1C,QAAA,EAAK,WAAU,oBAAoB,UAAAd,IAAW,WAAW,eAAA,CAAe;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC3E;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plain-text-page.js","sources":["../../src/components/plain-text-page.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport interface PlainTextPageProps {\n content: string;\n}\n\nexport function PlainTextPage({ content }: PlainTextPageProps) {\n useEffect(() => {\n document.body.style.backgroundColor = \"#121212\";\n document.body.style.margin = \"0\";\n document.body.style.overflowX = \"hidden\";\n document.documentElement.style.backgroundColor = \"#121212\";\n\n return () => {\n document.body.style.backgroundColor = \"\";\n document.body.style.margin = \"\";\n document.body.style.overflowX = \"\";\n document.documentElement.style.backgroundColor = \"\";\n };\n }, []);\n\n return (\n <div className={cn(\"mintlify-docs\", \"mint:min-h-screen mint:w-full mint:bg-[#121212] mint:overflow-x-hidden\")}>\n <pre className=\"mint:px-3 mint:pb-3 mint:pt-2 mint:m-0 mint:whitespace-pre-wrap mint:text-sm mint:text-white mint:font-[ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation_Mono','Courier_New',monospace]\">\n {content}\n </pre>\n </div>\n );\n}\n"],"names":["PlainTextPage","content","useEffect","jsx","cn"],"mappings":";;;AAOO,SAASA,EAAc,EAAE,SAAAC,KAA+B;AAC7D,SAAAC,EAAU,OACR,SAAS,KAAK,MAAM,kBAAkB,WACtC,SAAS,KAAK,MAAM,SAAS,KAC7B,SAAS,KAAK,MAAM,YAAY,UAChC,SAAS,gBAAgB,MAAM,kBAAkB,WAE1C,MAAM;AACX,aAAS,KAAK,MAAM,kBAAkB,IACtC,SAAS,KAAK,MAAM,SAAS,IAC7B,SAAS,KAAK,MAAM,YAAY,IAChC,SAAS,gBAAgB,MAAM,kBAAkB;AAAA,EACnD,IACC,CAAA,CAAE,GAGH,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAG,iBAAiB,wEAAwE,GAC1G,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,wMACZ,UAAAF,EAAA,CACH,GACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/toc/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { TocItem } from '../../types';\nimport { cn } from '../../utils/cn';\n\ninterface TableOfContentsProps {\n toc: TocItem[];\n}\n\nexport function TableOfContents({ toc }: TableOfContentsProps) {\n const [activeId, setActiveId] = useState('');\n const ignoreScrollRef = useRef(false);\n const ignoreTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n ignoreScrollRef.current = false;\n if (ignoreTimeoutRef.current) {\n clearTimeout(ignoreTimeoutRef.current);\n }\n\n const hash = window.location.hash.slice(1);\n if (hash) {\n setActiveId(hash);\n } else {\n setActiveId(toc[0]?.slug || '');\n }\n\n const handleHashChange = () => {\n const hash = window.location.hash.slice(1);\n if (hash) {\n setActiveId(hash);\n }\n };\n\n const scrollContainer = document.getElementById('main-content');\n\n const getActiveHeading = () => {\n if (!scrollContainer) return toc[0]?.slug;\n\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize + 100;\n\n const scrollY = scrollContainer.scrollTop;\n const maxScroll = scrollContainer.scrollHeight - scrollContainer.clientHeight;\n const isAtBottom = scrollY >= maxScroll - 10;\n\n const headingPositions = toc\n .map((item) => {\n const element = document.getElementById(item.slug);\n if (!element) return null;\n\n const rect = element.getBoundingClientRect();\n const containerRect = scrollContainer.getBoundingClientRect();\n const relativeTop = rect.top - containerRect.top + scrollY;\n\n return { id: item.slug, top: relativeTop };\n })\n .filter(Boolean) as Array<{ id: string; top: number }>;\n\n if (headingPositions.length === 0) return toc[0]?.slug;\n\n if (isAtBottom) {\n const containerRect = scrollContainer.getBoundingClientRect();\n for (let i = headingPositions.length - 1; i >= 0; i--) {\n const element = document.getElementById(headingPositions[i].id);\n if (element) {\n const rect = element.getBoundingClientRect();\n if (rect.top <= containerRect.bottom && rect.bottom >= containerRect.top) {\n return headingPositions[i].id;\n }\n }\n }\n return headingPositions[headingPositions.length - 1].id;\n }\n\n let currentHeading = headingPositions[0];\n for (const heading of headingPositions) {\n if (scrollY + scrollOffset >= heading.top) {\n currentHeading = heading;\n }\n }\n\n return currentHeading?.id;\n };\n\n const handleScroll = () => {\n if (ignoreScrollRef.current) return;\n\n const newActiveId = getActiveHeading();\n if (newActiveId && newActiveId !== activeId) {\n setActiveId(newActiveId);\n history.replaceState(null, '', `#${newActiveId}`);\n }\n };\n\n window.addEventListener('hashchange', handleHashChange);\n\n if (scrollContainer) {\n scrollContainer.addEventListener('scroll', handleScroll, {\n passive: true,\n });\n } else {\n window.addEventListener('scroll', handleScroll, { passive: true });\n }\n\n let timeoutId: NodeJS.Timeout | undefined;\n if (!hash) {\n timeoutId = setTimeout(handleScroll, 100);\n }\n\n return () => {\n if (timeoutId) clearTimeout(timeoutId);\n if (ignoreTimeoutRef.current) clearTimeout(ignoreTimeoutRef.current);\n window.removeEventListener('hashchange', handleHashChange);\n if (scrollContainer) {\n scrollContainer.removeEventListener('scroll', handleScroll);\n } else {\n window.removeEventListener('scroll', handleScroll);\n }\n };\n }, [toc, activeId]);\n\n return (\n <ul className=\"mint:list-none mint:flex mint:flex-col mint:gap-1 mint:text-sm mint:text-[#6b7280] mint:dark:text-[#adadad] mint:font-medium mint:relative mint:pl-[0.15rem] mint:before:content-[''] mint:before:absolute mint:before:left-[0.15rem] mint:before:top-0 mint:before:bottom-0 mint:before:w-[2px] mint:before:bg-[#f2f3f3] mint:dark:before:bg-[#222223] mint:before:rounded-full\">\n {toc.map((item, index) => {\n const isActive = activeId === item.slug;\n return (\n <li key={`${item.slug}-${index}`} className=\"mint:relative\">\n {isActive && (\n <div className=\"mint:absolute mint:left-0 mint:top-0 mint:bottom-0 mint:w-[2px] mint:rounded-full mint:bg-[#643fb2] mint:dark:bg-[#c9aaf9] mint:z-1\" />\n )}\n <a\n href={`#${item.slug}`}\n onClick={(e) => {\n e.preventDefault();\n\n setActiveId(item.slug);\n\n ignoreScrollRef.current = true;\n if (ignoreTimeoutRef.current) {\n clearTimeout(ignoreTimeoutRef.current);\n }\n\n const scrollContainer = document.getElementById('main-content');\n const targetElement = document.getElementById(item.slug);\n\n if (scrollContainer && targetElement) {\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize;\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const targetRect = targetElement.getBoundingClientRect();\n const relativeTop =\n targetRect.top - containerRect.top + scrollContainer.scrollTop - scrollOffset;\n\n const maxScroll = scrollContainer.scrollHeight - scrollContainer.clientHeight;\n const scrollTop = Math.min(relativeTop, maxScroll);\n\n scrollContainer.scrollTo({\n top: scrollTop,\n behavior: 'instant',\n });\n }\n\n history.replaceState(null, '', `#${item.slug}`);\n\n ignoreTimeoutRef.current = setTimeout(() => {\n ignoreScrollRef.current = false;\n }, 100);\n }}\n className={cn(\n 'mint:block mint:pl-6 mint:leading-[1.375rem] mint:no-underline',\n isActive\n ? 'mint:text-[#643fb2] mint:dark:text-[#c9aaf9] mint:[text-shadow:-0.2px_0_0_currentColor,0.2px_0_0_currentColor]'\n : 'mint:text-[#424242] mint:dark:text-[#d6d6d6] mint:dark:hover:text-[#d1d5db] mint:hover:text-[#111827]'\n )}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n );\n}\n"],"names":["TableOfContents","toc","activeId","setActiveId","useState","ignoreScrollRef","useRef","ignoreTimeoutRef","useEffect","hash","_a","handleHashChange","scrollContainer","getActiveHeading","style","scrollMtRem","fontSize","scrollOffset","scrollY","maxScroll","isAtBottom","headingPositions","item","element","rect","containerRect","relativeTop","_b","i","currentHeading","heading","handleScroll","newActiveId","timeoutId","jsx","index","isActive","jsxs","e","targetElement","scrollTop","cn"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pivot-aware-toc.js","sources":["../../../src/components/toc/pivot-aware-toc.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport type { TocItem } from \"../../types\";\nimport { useZonePivotContext } from \"../content-components/zone-pivots/zone-pivot-context\";\nimport { TableOfContents } from \"./index\";\n\ninterface PivotAwareTOCProps {\n baseToc: TocItem[];\n pivotTocItems?: Record<string, TocItem[]>;\n}\n\nexport function PivotAwareTOC({ baseToc, pivotTocItems }: PivotAwareTOCProps) {\n const { selectedPivots, groups } = useZonePivotContext();\n\n const toc = useMemo(() => {\n if (!pivotTocItems || Object.keys(pivotTocItems).length === 0) {\n return baseToc;\n }\n\n const firstGroup = groups[0];\n if (!firstGroup) {\n return baseToc;\n }\n\n const selectedPivotId = selectedPivots[firstGroup.id];\n if (!selectedPivotId) {\n return baseToc;\n }\n\n const pivotSpecificToc = pivotTocItems[selectedPivotId];\n if (!pivotSpecificToc || pivotSpecificToc.length === 0) {\n return baseToc;\n }\n\n return pivotSpecificToc;\n }, [baseToc, pivotTocItems, selectedPivots, groups]);\n\n return <TableOfContents toc={toc} />;\n}\n"],"names":["PivotAwareTOC","baseToc","pivotTocItems","selectedPivots","groups","useZonePivotContext","toc","useMemo","firstGroup","selectedPivotId","pivotSpecificToc","jsx","TableOfContents"],"mappings":";;;;AAUO,SAASA,EAAc,EAAE,SAAAC,GAAS,eAAAC,KAAqC;AAC5E,QAAM,EAAE,gBAAAC,GAAgB,QAAAC,EAAA,IAAWC,EAAA,GAE7BC,IAAMC,EAAQ,MAAM;AACxB,QAAI,CAACL,KAAiB,OAAO,KAAKA,CAAa,EAAE,WAAW;AAC1D,aAAOD;AAGT,UAAMO,IAAaJ,EAAO,CAAC;AAC3B,QAAI,CAACI;AACH,aAAOP;AAGT,UAAMQ,IAAkBN,EAAeK,EAAW,EAAE;AACpD,QAAI,CAACC;AACH,aAAOR;AAGT,UAAMS,IAAmBR,EAAcO,CAAe;AACtD,WAAI,CAACC,KAAoBA,EAAiB,WAAW,IAC5CT,IAGFS;AAAA,EACT,GAAG,CAACT,GAASC,GAAeC,GAAgBC,CAAM,CAAC;AAEnD,SAAO,gBAAAO,EAACC,KAAgB,KAAAN,GAAU;AACpC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/constants/index.ts"],"sourcesContent":["export const SECOND_IN_MILLISECONDS = 1000;\nexport const MINUTE_IN_MILLISECONDS = SECOND_IN_MILLISECONDS * 60;\nexport const HOUR_IN_MILLISECONDS = MINUTE_IN_MILLISECONDS * 60;\nexport const DAY_IN_MILLISECONDS = HOUR_IN_MILLISECONDS * 24;\nexport const TWO_WEEKS_IN_MILLISECONDS = DAY_IN_MILLISECONDS * 14;\n\nexport const SEARCH_KEY_VALIDITY_TIME_IN_MS = HOUR_IN_MILLISECONDS;\n\nexport const USERAUTH_OAUTH_CALLBACK_PATH = '/mintlify-oauth-callback';\n\nexport const END_USER_AUTH_COOKIE_KEY = 'mintlify_end_user_auth';\n\nexport const MAX_PREVIEW_BYTES = 50_000; // 0.05 mb / 50 kb\n\nexport const MINTLIFY_ICONS_CDN_URL = 'https://d3gk2c5xim1je2.cloudfront.net';\nexport const MINTLIFY_CSS_CDN_URL = 'https://d4tuoctqmanu0.cloudfront.net';\n"],"names":["MAX_PREVIEW_BYTES"],"mappings":"AAYO,MAAMA,IAAoB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialRequest.js","sources":["../../src/constants/initialRequest.ts"],"sourcesContent":["export const initialRequest = {\n headers: [],\n method: 'GET' as const,\n url: '',\n httpVersion: 'HTTP/1.1',\n queryString: [],\n headersSize: -1,\n cookies: [],\n bodySize: -1,\n};\n"],"names":["initialRequest"],"mappings":"AAAO,MAAMA,IAAiB;AAAA,EAC5B,SAAS,CAAA;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,aAAa;AAAA,EACb,aAAa,CAAA;AAAA,EACb,aAAa;AAAA,EACb,SAAS,CAAA;AAAA,EACT,UAAU;AACZ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prism-languages.js","sources":["../../src/constants/prism-languages.ts"],"sourcesContent":["export type PrismSupportedLangs =\n | 'bash'\n | 'c'\n | 'csharp'\n | 'cpp'\n | 'go'\n | 'java'\n | 'javascript'\n | 'php'\n | 'python'\n | 'typescript'\n | 'ruby'\n | 'json'\n | 'markdown'\n | 'powershell';\n\n// Map from common language aliases to Prism language identifiers\nexport const userLangToPrismLang: Record<string, PrismSupportedLangs> = {\n 'curl': 'bash',\n 'sh': 'bash',\n 'shell': 'bash',\n 'golang': 'go',\n 'js': 'javascript',\n 'ts': 'typescript',\n 'rb': 'ruby',\n 'c#': 'csharp',\n 'c++': 'cpp',\n 'md': 'markdown',\n 'ps1': 'powershell',\n};\n\n// Map from Prism language names to human-readable display labels\nexport const prismLangToDisplayLang: Record<string, string> = {\n bash: 'cURL',\n c: 'C',\n csharp: 'C#',\n cpp: 'C++',\n go: 'Go',\n java: 'Java',\n javascript: 'JavaScript',\n php: 'PHP',\n python: 'Python',\n typescript: 'TypeScript',\n ruby: 'Ruby',\n json: 'JSON',\n markdown: 'Markdown',\n powershell: 'PowerShell',\n} satisfies Record<PrismSupportedLangs, string>;\n\n// Normalize language string to Prism format\nexport const toPrismLang = (lang: string): string => {\n const lowerLang = lang.toLowerCase();\n return userLangToPrismLang[lowerLang] ?? lowerLang;\n};\n"],"names":["prismLangToDisplayLang"],"mappings":"AAgCO,MAAMA,IAAiD;AAAA,EAC5D,MAAM;AAAA,EACN,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY;AACd;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snippetPresets.js","sources":["../../src/constants/snippetPresets.ts"],"sourcesContent":["export type ExampleCodeSnippet = {\n filename: string;\n code: string;\n language: string;\n};\n\nexport type SnippetPreset = Pick<\n ExampleCodeSnippet,\n \"filename\" | \"language\"\n> & {\n snippet: {\n target: string;\n client?: string;\n };\n};\n\nexport type ShikiSnippetLangs =\n | 'bash'\n | 'c'\n | 'c#'\n | 'c++'\n | 'go'\n | 'java'\n | 'javascript'\n | 'php'\n | 'python'\n | 'typescript'\n | 'ruby';\n\n// map from some common language aliases to the form used by Shiki\nexport const userLangToShikiLang: Record<string, ShikiSnippetLangs> = {\n curl: 'bash',\n golang: 'go',\n js: 'javascript',\n sh: 'bash',\n ts: 'typescript',\n rb: 'ruby',\n};\n\n// map from standardized Shiki language names to a more human-readable label\nexport const shikiLangToDisplayLang: Record<string, string> = {\n bash: 'cURL',\n c: 'C',\n 'c#': 'C#',\n 'c++': 'C++',\n go: 'Go',\n java: 'Java',\n javascript: 'JavaScript',\n php: 'PHP',\n python: 'Python',\n typescript: 'TypeScript',\n ruby: 'Ruby',\n} satisfies Record<ShikiSnippetLangs, string>;\n\nconst curlSnippetPreset: SnippetPreset = {\n filename: 'cURL',\n snippet: {\n target: 'shell',\n },\n language: 'bash',\n};\n\nconst pythonSnippetPreset: SnippetPreset = {\n filename: 'Python',\n snippet: {\n target: 'python',\n client: 'requests',\n },\n language: 'python',\n};\n\nconst javascriptSnippetPreset: SnippetPreset = {\n filename: 'JavaScript',\n snippet: {\n target: 'javascript',\n client: 'fetch',\n },\n language: 'javascript',\n};\n\nconst phpSnippetPreset: SnippetPreset = {\n filename: 'PHP',\n snippet: {\n target: 'php',\n client: 'curl',\n },\n language: 'php',\n};\n\nconst goSnippetPreset: SnippetPreset = {\n filename: 'Go',\n snippet: {\n target: 'go',\n },\n language: 'go',\n};\n\nconst javaSnippetPreset: SnippetPreset = {\n filename: 'Java',\n snippet: {\n target: 'java',\n },\n language: 'java',\n};\n\nconst rubySnippetPreset: SnippetPreset = {\n filename: 'Ruby',\n snippet: {\n target: 'ruby',\n },\n language: 'ruby',\n};\n\nexport const snippetPresets: SnippetPreset[] = [\n curlSnippetPreset,\n pythonSnippetPreset,\n javascriptSnippetPreset,\n phpSnippetPreset,\n goSnippetPreset,\n javaSnippetPreset,\n rubySnippetPreset,\n];\n\nexport const langToPresetMap: Record<string, SnippetPreset> = {\n bash: curlSnippetPreset,\n python: pythonSnippetPreset,\n javascript: javascriptSnippetPreset,\n php: phpSnippetPreset,\n go: goSnippetPreset,\n java: javaSnippetPreset,\n ruby: rubySnippetPreset,\n} satisfies { [k in ShikiSnippetLangs]?: SnippetPreset };\n\nexport const toShikiLang = (lang: string) => {\n const lowerLang = lang.toLowerCase();\n return userLangToShikiLang[lowerLang] ?? lowerLang;\n};\n"],"names":["userLangToShikiLang","shikiLangToDisplayLang","curlSnippetPreset","pythonSnippetPreset","javascriptSnippetPreset","phpSnippetPreset","goSnippetPreset","javaSnippetPreset","rubySnippetPreset","snippetPresets","langToPresetMap","toShikiLang","lang","lowerLang"],"mappings":"AA8BO,MAAMA,IAAyD;AAAA,EACpE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAGaC,IAAiD;AAAA,EAC5D,MAAM;AAAA,EACN,GAAG;AAAA,EACH,MAAM;AAAA,EACN,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AACR,GAEMC,IAAmC;AAAA,EACvC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAqC;AAAA,EACzC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAyC;AAAA,EAC7C,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAkC;AAAA,EACtC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAiC;AAAA,EACrC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAmC;AAAA,EACvC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEMC,IAAmC;AAAA,EACvC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AACZ,GAEaC,IAAkC;AAAA,EAC7CP;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AACF,GAEaE,IAAiD;AAAA,EAC5D,MAAMR;AAAA,EACN,QAAQC;AAAA,EACR,YAAYC;AAAA,EACZ,KAAKC;AAAA,EACL,IAAIC;AAAA,EACJ,MAAMC;AAAA,EACN,MAAMC;AACR,GAEaG,IAAc,CAACC,MAAiB;AAC3C,QAAMC,IAAYD,EAAK,YAAA;AACvB,SAAOZ,EAAoBa,CAAS,KAAKA;AAC3C;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zIndex.js","sources":["../../src/constants/zIndex.tsx"],"sourcesContent":["export const zIndex = {\n Overlay: 'z-50',\n Popup: 'z-40',\n PrimaryNav: 'z-30',\n SecondaryNav: 'z-20',\n Control: 'z-10',\n Banner: 'z-[45]',\n};\n"],"names":["zIndex"],"mappings":"AAAO,MAAMA,IAAS;AAAA,EAEpB,OAAO;AAKT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-context.js","sources":["../../src/context/components-context.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { LinkComponent } from \"../types\";\n\nexport interface ComponentsContextValue {\n LinkComponent?: LinkComponent;\n}\n\nconst ComponentsContext = createContext<ComponentsContextValue>({});\n\nexport function ComponentsProvider({\n children,\n LinkComponent,\n}: {\n children: React.ReactNode;\n LinkComponent?: LinkComponent;\n}) {\n return (\n <ComponentsContext.Provider value={{ LinkComponent }}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n\nexport function useComponents() {\n return useContext(ComponentsContext);\n}\n"],"names":["ComponentsContext","createContext","ComponentsProvider","children","LinkComponent","jsx","useComponents","useContext"],"mappings":";;AAOA,MAAMA,IAAoBC,EAAsC,EAAE;AAE3D,SAASC,EAAmB;AAAA,EACjC,UAAAC;AAAA,EACA,eAAAC;AACF,GAGG;AACD,SACE,gBAAAC,EAACL,EAAkB,UAAlB,EAA2B,OAAO,EAAE,eAAAI,EAAA,GAClC,UAAAD,GACH;AAEJ;AAEO,SAASG,IAAgB;AAC9B,SAAOC,EAAWP,CAAiB;AACrC;"}
|