@redocly/theme 0.59.0 → 0.60.0-custom.2
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/lib/components/AsyncApiDocs/hooks/AfterAsyncApiChannelDescription.d.ts +1 -0
- package/lib/components/AsyncApiDocs/hooks/AfterAsyncApiChannelDescription.js +12 -0
- package/lib/components/Buttons/ConnectMCPButton.js +3 -3
- package/lib/components/Buttons/variables.js +2 -0
- package/lib/components/Catalog/CatalogCardView/CatalogCard.js +4 -3
- package/lib/components/Catalog/CatalogEntity/CatalogEntity.js +5 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.js +2 -2
- package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.js +1 -0
- package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.js +4 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +2 -2
- package/lib/components/Catalog/CatalogFilter/CatalogFilterDateRange.js +2 -2
- package/lib/components/Catalog/CatalogSelector.js +1 -1
- package/lib/components/Catalog/CatalogSortButton.js +4 -1
- package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.js +2 -2
- package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.js +2 -2
- package/lib/components/Catalog/CatalogTagsWithTooltip.js +6 -2
- package/lib/components/Catalog/variables.dark.js +1 -1
- package/lib/components/Catalog/variables.js +5 -3
- package/lib/components/CatalogClassic/variables.js +1 -1
- package/lib/components/CodeBlock/CodeBlock.js +3 -1
- package/lib/components/CodeBlock/CodeBlockTabs.js +3 -3
- package/lib/components/DatePicker/variables.js +2 -0
- package/lib/components/Feedback/Mood.js +2 -2
- package/lib/components/Feedback/Rating.js +2 -2
- package/lib/components/Filter/FilterDateRange.js +2 -2
- package/lib/components/Filter/FilterSelect.js +5 -1
- package/lib/components/Link/Link.d.ts +1 -0
- package/lib/components/Loaders/Loading.js +4 -1
- package/lib/components/Markdown/Markdown.js +9 -9
- package/lib/components/Markdown/styles/{baseTable.js → base-table.js} +1 -1
- package/lib/components/Markdown/styles/{headingAnchor.js → heading-anchor.js} +1 -1
- package/lib/components/Menu/MenuItem.js +5 -1
- package/lib/components/OpenApiDocs/hooks/AdditionalOverviewInfo.d.ts +1 -0
- package/lib/components/OpenApiDocs/hooks/AdditionalOverviewInfo.js +12 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.d.ts +1 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +6 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiOperation.js +1 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiTitle.js +1 -0
- package/lib/components/OpenApiDocs/hooks/BeforeOpenApiOperation.js +1 -0
- package/lib/components/OpenApiDocs/hooks/OpenApiFooter.js +3 -2
- package/lib/components/OpenApiDocs/hooks/OpenApiHeader.js +3 -2
- package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +2 -1
- package/lib/components/Search/FilterFields/SearchFilterFieldTags.js +7 -1
- package/lib/components/Search/SearchAiMessage.js +20 -18
- package/lib/components/Search/SearchAiNegativeFeedbackForm.d.ts +5 -3
- package/lib/components/Search/SearchAiNegativeFeedbackForm.js +5 -4
- package/lib/components/Search/SearchGroups.js +4 -1
- package/lib/components/Search/SearchHighlight.js +1 -0
- package/lib/components/Search/SearchItem.js +9 -2
- package/lib/components/Search/variables.js +2 -0
- package/lib/components/Segmented/Segmented.d.ts +1 -1
- package/lib/components/Segmented/Segmented.js +2 -2
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +4 -2
- package/lib/components/Select/SelectInput.d.ts +1 -1
- package/lib/components/Select/SelectInput.js +2 -0
- package/lib/components/Select/variables.js +2 -2
- package/lib/components/SidebarActions/styled.d.ts +5 -4
- package/lib/components/SidebarActions/styled.js +9 -5
- package/lib/components/Tag/Tag.d.ts +1 -1
- package/lib/components/Tag/Tag.js +1 -1
- package/lib/components/Tag/variables.dark.js +8 -0
- package/lib/components/Tag/variables.js +8 -0
- package/lib/components/Tooltip/Tooltip.js +2 -0
- package/lib/components/VersionPicker/VersionPicker.d.ts +1 -1
- package/lib/config.d.ts +2 -2
- package/lib/core/constants/index.d.ts +1 -0
- package/lib/core/constants/index.js +1 -0
- package/lib/core/constants/request-methods.d.ts +1 -0
- package/lib/core/constants/request-methods.js +14 -0
- package/lib/core/hoc/index.d.ts +1 -1
- package/lib/core/hoc/index.js +1 -1
- package/lib/core/hoc/{typedMemo.js → typed-memo.js} +1 -1
- package/lib/core/hooks/__tests__/mocks/mock-intersection-observer.d.ts +1 -1
- package/lib/core/hooks/__tests__/mocks/mock-intersection-observer.js +1 -3
- package/lib/core/hooks/catalog/{useCatalogEntities.js → use-catalog-entities.js} +1 -1
- package/lib/core/hooks/catalog/{useCatalogEntitySchema.d.ts → use-catalog-entity-schema.d.ts} +1 -1
- package/lib/core/hooks/catalog/{useCatalogEntitySchema.js → use-catalog-entity-schema.js} +1 -1
- package/lib/core/hooks/catalog/{useCatalogTableHeaderCellActions.js → use-catalog-table-header-cell-actions.js} +1 -1
- package/lib/core/hooks/catalog/{useCatalogTableViewRow.js → use-catalog-table-view-row.js} +1 -1
- package/lib/core/hooks/catalog/{useGraph.js → use-graph.js} +2 -2
- package/lib/core/hooks/code-walkthrough/use-code-walkthrough-controls.js +1 -0
- package/lib/core/hooks/code-walkthrough/use-code-walkthrough-steps.d.ts +1 -0
- package/lib/core/hooks/code-walkthrough/use-renderable-files.js +2 -2
- package/lib/core/hooks/index.d.ts +5 -2
- package/lib/core/hooks/index.js +5 -2
- package/lib/core/hooks/menu/use-collapse.js +1 -0
- package/lib/core/hooks/menu/use-mobile-menu-items.js +1 -0
- package/lib/core/hooks/use-mcp-config.js +9 -6
- package/lib/core/hooks/use-page-actions.d.ts +1 -1
- package/lib/core/hooks/use-page-actions.js +24 -4
- package/lib/core/hooks/use-telemetry-fallback.js +1 -0
- package/lib/core/hooks/use-theme-config.js +1 -0
- package/lib/core/hooks/use-theme-hooks.js +1 -0
- package/lib/core/openapi/index.d.ts +2 -1
- package/lib/core/openapi/index.js +5 -3
- package/lib/core/templates/Markdown.js +1 -0
- package/lib/core/types/hooks.d.ts +6 -0
- package/lib/core/types/index.d.ts +20 -19
- package/lib/core/types/index.js +0 -19
- package/lib/core/types/l10n.d.ts +1 -1
- package/lib/core/types/search.d.ts +1 -0
- package/lib/core/types/sidebar.d.ts +1 -0
- package/lib/core/utils/{dynamic.js → Dynamic.js} +1 -1
- package/lib/core/utils/{get-file-icon.js → GetFileIcon.js} +1 -1
- package/lib/core/utils/args-typecheck.d.ts +2 -2
- package/lib/core/utils/clipboard-service.js +2 -0
- package/lib/core/utils/get-operation-color.d.ts +7 -0
- package/lib/core/utils/get-operation-color.js +13 -0
- package/lib/core/utils/get-user-agent.js +1 -0
- package/lib/core/utils/index.d.ts +3 -2
- package/lib/core/utils/index.js +3 -2
- package/lib/core/utils/js-utils.d.ts +1 -1
- package/lib/core/utils/load-and-navigate.js +1 -0
- package/lib/core/utils/markdoc.js +1 -0
- package/lib/core/utils/parse-style-string.js +1 -0
- package/lib/ext/configure.d.ts +2 -2
- package/lib/ext/configure.js +12 -6
- package/lib/ext/process-scorecard.d.ts +5 -0
- package/lib/ext/process-scorecard.js +11 -0
- package/lib/ext/{useConfigureReplay.js → use-configure-replay.js} +5 -4
- package/lib/index.d.ts +6 -3
- package/lib/index.js +5 -3
- package/lib/layouts/ThreePanelLayout.js +4 -4
- package/lib/markdoc/components/Cards/variables.dark.js +2 -0
- package/lib/markdoc/components/Cards/variables.js +2 -0
- package/lib/markdoc/components/CodeWalkthrough/CodePanelHeader.js +1 -0
- package/lib/markdoc/tags/code-walkthrough.js +1 -0
- package/lib/markdoc/tags/html.js +1 -0
- package/package.json +3 -3
- package/src/components/AsyncApiDocs/hooks/AfterAsyncApiChannelDescription.tsx +10 -0
- package/src/components/Button/Button.tsx +1 -0
- package/src/components/Buttons/ConnectMCPButton.tsx +1 -1
- package/src/components/Buttons/variables.ts +2 -0
- package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +4 -3
- package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +4 -0
- package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.tsx +1 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityLinks.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityMetadata.tsx +1 -0
- package/src/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.tsx +5 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +3 -1
- package/src/components/Catalog/CatalogFilter/CatalogFilterDateRange.tsx +2 -2
- package/src/components/Catalog/CatalogSelector.tsx +2 -2
- package/src/components/Catalog/CatalogSortButton.tsx +5 -1
- package/src/components/Catalog/CatalogTableView/CatalogTableHeaderCell.tsx +1 -1
- package/src/components/Catalog/CatalogTableView/CatalogTableViewRow.tsx +1 -1
- package/src/components/Catalog/CatalogTagsWithTooltip.tsx +13 -2
- package/src/components/Catalog/variables.dark.ts +1 -1
- package/src/components/Catalog/variables.ts +5 -3
- package/src/components/CatalogClassic/CatalogClassicInfoBlock.tsx +1 -0
- package/src/components/CatalogClassic/variables.ts +1 -1
- package/src/components/CodeBlock/CodeBlock.tsx +4 -0
- package/src/components/CodeBlock/CodeBlockControls.tsx +1 -0
- package/src/components/CodeBlock/CodeBlockTabs.tsx +1 -1
- package/src/components/DatePicker/variables.ts +3 -1
- package/src/components/Feedback/Mood.tsx +2 -2
- package/src/components/Feedback/Rating.tsx +2 -2
- package/src/components/Filter/FilterDateRange.tsx +2 -2
- package/src/components/Filter/FilterSelect.tsx +1 -0
- package/src/components/JsonViewer/JsonViewer.tsx +1 -0
- package/src/components/JsonViewer/helpers.tsx +3 -0
- package/src/components/LastUpdated/LastUpdated.tsx +1 -0
- package/src/components/Link/Link.tsx +1 -0
- package/src/components/Loaders/Loading.tsx +5 -1
- package/src/components/Markdown/Markdown.tsx +2 -2
- package/src/components/Menu/MenuItem.tsx +6 -2
- package/src/components/OpenApiDocs/hooks/AdditionalOverviewInfo.tsx +10 -0
- package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +2 -0
- package/src/components/OpenApiDocs/hooks/AfterOpenApiOperation.tsx +1 -1
- package/src/components/OpenApiDocs/hooks/AfterOpenApiTitle.tsx +1 -1
- package/src/components/OpenApiDocs/hooks/BeforeOpenApiOperation.tsx +1 -1
- package/src/components/OpenApiDocs/hooks/OpenApiFooter.tsx +1 -1
- package/src/components/OpenApiDocs/hooks/OpenApiHeader.tsx +1 -1
- package/src/components/Search/FilterFields/SearchFilterFieldSelect.tsx +4 -1
- package/src/components/Search/FilterFields/SearchFilterFieldTags.tsx +7 -1
- package/src/components/Search/SearchAiMessage.tsx +42 -37
- package/src/components/Search/SearchAiNegativeFeedbackForm.tsx +7 -5
- package/src/components/Search/SearchGroups.tsx +4 -1
- package/src/components/Search/SearchHighlight.tsx +1 -0
- package/src/components/Search/SearchItem.tsx +15 -3
- package/src/components/Search/variables.ts +2 -0
- package/src/components/Segmented/Segmented.tsx +2 -2
- package/src/components/Select/Select.tsx +8 -4
- package/src/components/Select/SelectInput.tsx +10 -1
- package/src/components/Select/variables.ts +2 -2
- package/src/components/SidebarActions/{styled.tsx → styled.ts} +11 -4
- package/src/components/Tag/Tag.tsx +4 -2
- package/src/components/Tag/variables.dark.ts +8 -0
- package/src/components/Tag/variables.ts +8 -0
- package/src/components/Tooltip/Tooltip.tsx +2 -1
- package/src/components/VersionPicker/VersionPicker.tsx +2 -1
- package/src/config.ts +2 -0
- package/src/core/constants/index.ts +1 -0
- package/src/core/constants/request-methods.ts +10 -0
- package/src/core/hoc/index.ts +1 -1
- package/src/core/hooks/__mocks__/use-theme-hooks.ts +2 -2
- package/src/core/hooks/__tests__/mocks/mock-intersection-observer.ts +9 -8
- package/src/core/hooks/catalog/{useCatalogEntitySchema.ts → use-catalog-entity-schema.ts} +3 -3
- package/src/core/hooks/catalog/{useGraph.ts → use-graph.ts} +1 -1
- package/src/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.ts +1 -1
- package/src/core/hooks/code-walkthrough/__mocks__/mock-intersection-observer.ts +24 -0
- package/src/core/hooks/code-walkthrough/use-code-walkthrough-controls.ts +1 -0
- package/src/core/hooks/code-walkthrough/use-code-walkthrough-steps.ts +2 -2
- package/src/core/hooks/code-walkthrough/use-renderable-files.ts +1 -1
- package/src/core/hooks/index.ts +5 -2
- package/src/core/hooks/menu/use-collapse.ts +3 -3
- package/src/core/hooks/menu/use-mobile-menu-items.ts +1 -0
- package/src/core/hooks/use-mcp-config.ts +11 -5
- package/src/core/hooks/use-page-actions.ts +29 -2
- package/src/core/hooks/use-telemetry-fallback.ts +1 -0
- package/src/core/hooks/use-theme-config.ts +1 -0
- package/src/core/hooks/use-theme-hooks.ts +2 -1
- package/src/core/openapi/index.ts +2 -1
- package/src/core/templates/Markdown.tsx +1 -0
- package/src/core/types/catalog.ts +3 -1
- package/src/core/types/filter.ts +1 -0
- package/src/core/types/hooks.ts +6 -0
- package/src/core/types/index.ts +20 -19
- package/src/core/types/l10n.ts +24 -1
- package/src/core/types/search.ts +2 -1
- package/src/core/types/segmented.ts +1 -0
- package/src/core/types/select.ts +1 -0
- package/src/core/types/sidebar.ts +1 -0
- package/src/core/utils/args-typecheck.ts +2 -2
- package/src/core/utils/clipboard-service.ts +2 -0
- package/src/core/utils/get-operation-color.ts +18 -0
- package/src/core/utils/get-user-agent.ts +1 -0
- package/src/core/utils/index.ts +3 -2
- package/src/core/utils/js-utils.ts +1 -1
- package/src/core/utils/load-and-navigate.ts +1 -0
- package/src/core/utils/markdoc.ts +1 -0
- package/src/core/utils/parse-style-string.ts +1 -0
- package/src/ext/configure.ts +15 -8
- package/src/ext/process-scorecard.ts +14 -0
- package/src/ext/{useConfigureReplay.ts → use-configure-replay.ts} +5 -3
- package/src/index.ts +6 -3
- package/src/layouts/ThreePanelLayout.tsx +1 -1
- package/src/markdoc/components/Cards/variables.dark.ts +2 -0
- package/src/markdoc/components/Cards/variables.ts +3 -1
- package/src/markdoc/components/CodeWalkthrough/CodePanelHeader.tsx +1 -1
- package/src/markdoc/tags/code-walkthrough.ts +2 -0
- package/src/markdoc/tags/html.ts +1 -0
- package/lib/core/hooks/__mocks__/index.d.ts +0 -28
- package/lib/core/hooks/__mocks__/index.js +0 -45
- package/lib/core/hooks/__mocks__/search/use-recent-searches.d.ts +0 -5
- package/lib/core/hooks/__mocks__/search/use-recent-searches.js +0 -13
- package/lib/core/hooks/__mocks__/search/use-search-filter.d.ts +0 -8
- package/lib/core/hooks/__mocks__/search/use-search-filter.js +0 -15
- package/lib/core/hooks/__mocks__/search/use-suggested-pages.d.ts +0 -4
- package/lib/core/hooks/__mocks__/search/use-suggested-pages.js +0 -13
- package/lib/core/hooks/__mocks__/use-controlled-state.d.ts +0 -1
- package/lib/core/hooks/__mocks__/use-controlled-state.js +0 -7
- package/lib/core/hooks/__mocks__/use-element-size.d.ts +0 -4
- package/lib/core/hooks/__mocks__/use-element-size.js +0 -9
- package/lib/core/hooks/__mocks__/use-input-key-commands.d.ts +0 -3
- package/lib/core/hooks/__mocks__/use-input-key-commands.js +0 -8
- package/lib/core/hooks/__mocks__/use-mobile-menu.d.ts +0 -1
- package/lib/core/hooks/__mocks__/use-mobile-menu.js +0 -7
- package/lib/core/hooks/__mocks__/use-theme-config.d.ts +0 -8
- package/lib/core/hooks/__mocks__/use-theme-config.js +0 -13
- package/lib/core/hooks/__mocks__/use-theme-hooks.d.ts +0 -69
- package/lib/core/hooks/__mocks__/use-theme-hooks.js +0 -94
- package/lib/core/hooks/__mocks__/use-time-ago.d.ts +0 -3
- package/lib/core/hooks/__mocks__/use-time-ago.js +0 -8
- package/lib/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.d.ts +0 -10
- package/lib/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.js +0 -56
- package/lib/core/hooks/menu/__mocks__/use-mobile-menu-items.d.ts +0 -1
- package/lib/core/hooks/menu/__mocks__/use-mobile-menu-items.js +0 -35
- /package/lib/components/Markdown/styles/{baseTable.d.ts → base-table.d.ts} +0 -0
- /package/lib/components/Markdown/styles/{headingAnchor.d.ts → heading-anchor.d.ts} +0 -0
- /package/lib/core/hoc/{typedMemo.d.ts → typed-memo.d.ts} +0 -0
- /package/lib/core/hooks/catalog/{useCatalogEntities.d.ts → use-catalog-entities.d.ts} +0 -0
- /package/lib/core/hooks/catalog/{useCatalogTableHeaderCellActions.d.ts → use-catalog-table-header-cell-actions.d.ts} +0 -0
- /package/lib/core/hooks/catalog/{useCatalogTableViewRow.d.ts → use-catalog-table-view-row.d.ts} +0 -0
- /package/lib/core/hooks/catalog/{useGraph.d.ts → use-graph.d.ts} +0 -0
- /package/lib/core/utils/{dynamic.d.ts → Dynamic.d.ts} +0 -0
- /package/lib/core/utils/{get-file-icon.d.ts → GetFileIcon.d.ts} +0 -0
- /package/lib/ext/{useConfigureReplay.d.ts → use-configure-replay.d.ts} +0 -0
- /package/src/components/Markdown/styles/{baseTable.ts → base-table.ts} +0 -0
- /package/src/components/Markdown/styles/{headingAnchor.ts → heading-anchor.ts} +0 -0
- /package/src/components/Panel/{PanelBody.ts → PanelBody.tsx} +0 -0
- /package/src/components/Panel/{PanelHeader.ts → PanelHeader.tsx} +0 -0
- /package/src/components/Panel/{PanelHeaderTitle.ts → PanelHeaderTitle.tsx} +0 -0
- /package/src/components/StatusCode/{StatusCode.ts → StatusCode.tsx} +0 -0
- /package/src/components/Typography/{CompactTypography.ts → CompactTypography.tsx} +0 -0
- /package/src/components/Typography/{Emphasis.ts → Emphasis.tsx} +0 -0
- /package/src/components/Typography/{H1.ts → H1.tsx} +0 -0
- /package/src/components/Typography/{H2.ts → H2.tsx} +0 -0
- /package/src/components/Typography/{H3.ts → H3.tsx} +0 -0
- /package/src/components/Typography/{H4.ts → H4.tsx} +0 -0
- /package/src/components/Typography/{SectionHeader.ts → SectionHeader.tsx} +0 -0
- /package/src/components/Typography/{Typography.ts → Typography.tsx} +0 -0
- /package/src/core/hoc/{typedMemo.ts → typed-memo.ts} +0 -0
- /package/src/core/hooks/catalog/{useCatalogEntities.ts → use-catalog-entities.ts} +0 -0
- /package/src/core/hooks/catalog/{useCatalogTableHeaderCellActions.ts → use-catalog-table-header-cell-actions.ts} +0 -0
- /package/src/core/hooks/catalog/{useCatalogTableViewRow.ts → use-catalog-table-view-row.ts} +0 -0
- /package/src/core/utils/{dynamic.tsx → Dynamic.tsx} +0 -0
- /package/src/core/utils/{get-file-icon.tsx → GetFileIcon.tsx} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { css } from 'styled-components';
|
|
2
2
|
|
|
3
|
+
/* eslint-disable theme/no-raw-colors-in-styles */
|
|
3
4
|
export const tag = css`
|
|
4
5
|
/**
|
|
5
6
|
* @tokens Tag borders
|
|
@@ -310,6 +311,12 @@ export const tag = css`
|
|
|
310
311
|
--tag-color: var(--text-color-disabled); // @presenter Color
|
|
311
312
|
}
|
|
312
313
|
|
|
314
|
+
.tag-http-additional-operation {
|
|
315
|
+
--tag-color: #F97316; // @presenter Color
|
|
316
|
+
--tag-bg-color: #faede3; // @presenter Color
|
|
317
|
+
--tag-bg-color-hover: #fae2cf; // @presenter Color
|
|
318
|
+
}
|
|
319
|
+
|
|
313
320
|
.tag-send {
|
|
314
321
|
--tag-color: #4144F6; // @presenter Color
|
|
315
322
|
--tag-bg-color: #ECECFE; // @presenter Color
|
|
@@ -393,3 +400,4 @@ export const tag = css`
|
|
|
393
400
|
|
|
394
401
|
// @tokens End
|
|
395
402
|
`;
|
|
403
|
+
/* eslint-enable theme/no-raw-colors-in-styles */
|
|
@@ -259,7 +259,7 @@ const TooltipWrapper = styled.div`
|
|
|
259
259
|
position: relative;
|
|
260
260
|
display: flex;
|
|
261
261
|
`;
|
|
262
|
-
|
|
262
|
+
/* eslint-disable theme/no-raw-colors-in-styles */
|
|
263
263
|
const TooltipBody = styled.span<
|
|
264
264
|
Pick<Required<TooltipProps>, 'placement' | 'withArrow' | 'arrowPosition'> & { width?: string }
|
|
265
265
|
>`
|
|
@@ -302,3 +302,4 @@ const TooltipBody = styled.span<
|
|
|
302
302
|
${PLACEMENTS[placement]};
|
|
303
303
|
`}
|
|
304
304
|
`;
|
|
305
|
+
/* eslint-enable theme/no-raw-colors-in-styles */
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
|
|
4
4
|
import type { Version } from '@redocly/config';
|
|
5
|
-
import type { SelectProps } from '@redocly/theme/core/types
|
|
5
|
+
import type { SelectProps } from '@redocly/theme/core/types';
|
|
6
6
|
|
|
7
7
|
import { useThemeHooks, useThemeConfig } from '@redocly/theme/core/hooks';
|
|
8
8
|
import { Select } from '@redocly/theme/components/Select/Select';
|
|
@@ -58,6 +58,7 @@ export function VersionPicker(props: { versions?: Version[]; onChange: (v: Versi
|
|
|
58
58
|
'aria-label': translate('versionPicker.label', 'Select version'),
|
|
59
59
|
}}
|
|
60
60
|
/>
|
|
61
|
+
{/* eslint-disable-next-line theme/require-translate */}
|
|
61
62
|
<SrOnly id="version-picker-description">
|
|
62
63
|
This is version picker select, using it you can select a version of the API.
|
|
63
64
|
</SrOnly>
|
package/src/config.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type {
|
|
|
8
8
|
RudderstackAnalyticsConfig,
|
|
9
9
|
GtmAnalyticsConfig,
|
|
10
10
|
ScorecardConfig,
|
|
11
|
+
ScorecardsConfig,
|
|
11
12
|
ProductGoogleAnalyticsConfig,
|
|
12
13
|
ProductThemeOverrideConfig,
|
|
13
14
|
ProductUiConfig,
|
|
@@ -27,6 +28,7 @@ export type {
|
|
|
27
28
|
RudderstackAnalyticsConfig,
|
|
28
29
|
GtmAnalyticsConfig,
|
|
29
30
|
ScorecardConfig,
|
|
31
|
+
ScorecardsConfig,
|
|
30
32
|
ProductGoogleAnalyticsConfig,
|
|
31
33
|
ProductThemeOverrideConfig,
|
|
32
34
|
ProductUiConfig,
|
package/src/core/hoc/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './typed-memo';
|
|
@@ -2,10 +2,10 @@ import { vi } from 'vitest';
|
|
|
2
2
|
|
|
3
3
|
export const useThemeHooks = vi.fn(() => ({
|
|
4
4
|
useTranslate: vi.fn(() => ({
|
|
5
|
-
translate: vi.fn((key: string, defaultValue: string) =>
|
|
5
|
+
translate: vi.fn((key: string, defaultValue: string | { defaultValue: string }) =>
|
|
6
6
|
defaultValue
|
|
7
7
|
? typeof defaultValue !== 'string'
|
|
8
|
-
? (defaultValue as
|
|
8
|
+
? (defaultValue as { defaultValue: string }).defaultValue
|
|
9
9
|
: defaultValue
|
|
10
10
|
: key,
|
|
11
11
|
),
|
|
@@ -3,8 +3,8 @@ export class MockIntersectionObserver {
|
|
|
3
3
|
public readonly rootMargin: string;
|
|
4
4
|
public readonly thresholds: ReadonlyArray<number>;
|
|
5
5
|
|
|
6
|
-
private viewPort:
|
|
7
|
-
private entries:
|
|
6
|
+
private viewPort: Element | Document | Window;
|
|
7
|
+
private entries: Array<Partial<IntersectionObserverEntry> & { target: HTMLElement }>;
|
|
8
8
|
private readonly callback: IntersectionObserverCallback;
|
|
9
9
|
|
|
10
10
|
constructor(callback: IntersectionObserverCallback, options?: IntersectionObserverInit) {
|
|
@@ -19,10 +19,11 @@ export class MockIntersectionObserver {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
private intersect = () => {
|
|
22
|
-
this.entries.map((entry) => {
|
|
23
|
-
entry
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
this.entries = this.entries.map((entry) => ({
|
|
23
|
+
...entry,
|
|
24
|
+
isIntersecting: this.isInViewPort(entry.target),
|
|
25
|
+
}));
|
|
26
|
+
this.callback(this.entries as IntersectionObserverEntry[], this);
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
isInViewPort(target: HTMLElement): boolean {
|
|
@@ -42,7 +43,7 @@ export class MockIntersectionObserver {
|
|
|
42
43
|
this.entries = [];
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
takeRecords():
|
|
46
|
-
return this.entries;
|
|
46
|
+
takeRecords(): IntersectionObserverEntry[] {
|
|
47
|
+
return this.entries as IntersectionObserverEntry[];
|
|
47
48
|
}
|
|
48
49
|
}
|
|
@@ -16,17 +16,17 @@ export function useCatalogEntitySchema({ entity, relatedEntity }: CatalogEntityS
|
|
|
16
16
|
parsedSchema = undefined;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
let parsedApiDefinition:
|
|
19
|
+
let parsedApiDefinition: Record<string, unknown> | undefined;
|
|
20
20
|
|
|
21
21
|
try {
|
|
22
22
|
parsedApiDefinition = relatedEntity?.metadata?.schema
|
|
23
|
-
? JSON.parse(relatedEntity.metadata.schema)
|
|
23
|
+
? (JSON.parse(relatedEntity.metadata.schema) as Record<string, unknown>)
|
|
24
24
|
: undefined;
|
|
25
25
|
} catch (err) {
|
|
26
26
|
parsedApiDefinition = undefined;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
const definition:
|
|
29
|
+
const definition: Record<string, unknown> =
|
|
30
30
|
!parsedApiDefinition || relatedEntity?.metadata?.specType !== 'openapi'
|
|
31
31
|
? {
|
|
32
32
|
openapi: '3.0.0',
|
|
@@ -42,7 +42,7 @@ type EntityGraphData = {
|
|
|
42
42
|
key: string;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
//
|
|
45
|
+
// Note: This isn't final implementation, leaved comments for future reference.
|
|
46
46
|
export function useGraph({ entity, relations }: UseGraphProps): UseGraphReturn {
|
|
47
47
|
const rootNodeId = entity.id;
|
|
48
48
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
|
|
3
|
+
export class MockIntersectionObserver {
|
|
4
|
+
public readonly root: Element | Document | null;
|
|
5
|
+
public readonly rootMargin: string;
|
|
6
|
+
public readonly thresholds: ReadonlyArray<number>;
|
|
7
|
+
observe: (target: HTMLElement) => void;
|
|
8
|
+
unobserve: (target: HTMLElement) => void;
|
|
9
|
+
disconnect: () => void;
|
|
10
|
+
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
constructor(callback: IntersectionObserverCallback, options?: IntersectionObserverInit) {
|
|
13
|
+
this.root = null;
|
|
14
|
+
this.rootMargin = '0px';
|
|
15
|
+
this.thresholds = [1];
|
|
16
|
+
this.observe = vi.fn();
|
|
17
|
+
this.unobserve = vi.fn();
|
|
18
|
+
this.disconnect = vi.fn();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
takeRecords(): IntersectionObserverEntry[] {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -211,6 +211,7 @@ export function useCodeWalkthroughControls(
|
|
|
211
211
|
continue;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
// eslint-disable-next-line no-warning-comments
|
|
214
215
|
// code-walk-todo: need to check if we have a default fallback
|
|
215
216
|
const items = Array.isArray(filter?.items) ? filter.items : [];
|
|
216
217
|
|
|
@@ -299,7 +299,7 @@ type StepsGroup = {
|
|
|
299
299
|
freeSpace: number;
|
|
300
300
|
usedSpace: number;
|
|
301
301
|
offset: number;
|
|
302
|
-
steps: { offset: number; height: number }[];
|
|
302
|
+
steps: { offset: number; height: number; ref?: HTMLElement }[];
|
|
303
303
|
};
|
|
304
304
|
/**
|
|
305
305
|
* This function analyzes the offset and height of each step to determine
|
|
@@ -358,7 +358,7 @@ function getGroups(steps: CodeWalkthroughStep[]): StepsGroup[] {
|
|
|
358
358
|
offset: stepOffset - currentGroup.offset,
|
|
359
359
|
height: stepHeight,
|
|
360
360
|
ref: step.compRef,
|
|
361
|
-
}
|
|
361
|
+
});
|
|
362
362
|
currentGroup.usedSpace += stepHeight + margin;
|
|
363
363
|
}
|
|
364
364
|
|
|
@@ -3,7 +3,7 @@ import { useMemo } from 'react';
|
|
|
3
3
|
import type { CodeWalkthroughFile } from '@redocly/config';
|
|
4
4
|
|
|
5
5
|
import { findClosestCommonDirectory } from '../../utils/find-closest-common-directory';
|
|
6
|
-
import { getFileIconByExt } from '../../utils/
|
|
6
|
+
import { getFileIconByExt } from '../../utils/GetFileIcon';
|
|
7
7
|
import { removeLeadingSlash } from '../../utils/urls';
|
|
8
8
|
|
|
9
9
|
export type RenderableFile = CodeWalkthroughFile & {
|
package/src/core/hooks/index.ts
CHANGED
|
@@ -37,11 +37,14 @@ export * from './code-walkthrough/use-renderable-files';
|
|
|
37
37
|
export * from './use-element-size';
|
|
38
38
|
export * from './use-time-ago';
|
|
39
39
|
export * from './use-input-key-commands';
|
|
40
|
-
export * from './catalog/
|
|
41
|
-
export * from './catalog/
|
|
40
|
+
export * from './catalog/use-catalog-entities';
|
|
41
|
+
export * from './catalog/use-graph';
|
|
42
42
|
export * from './use-active-page-version';
|
|
43
43
|
export * from './use-page-versions';
|
|
44
44
|
export * from './use-user-teams';
|
|
45
45
|
export * from './use-page-actions';
|
|
46
46
|
export * from './use-mcp-config';
|
|
47
47
|
export * from './use-connect-mcp-button';
|
|
48
|
+
export * from './catalog/use-catalog-table-view-row';
|
|
49
|
+
export * from './catalog/use-catalog-entity-schema';
|
|
50
|
+
export * from './catalog/use-catalog-table-header-cell-actions';
|
|
@@ -199,13 +199,13 @@ function setStyles<T extends Partial<CSSStyleDeclaration>>(
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
-
|
|
203
|
-
export function useEvent<T extends (...args: any[]) => any>(callback?: T) {
|
|
202
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
203
|
+
export function useEvent<T extends (...args: any[]) => any>(callback?: T): T {
|
|
204
204
|
const ref = useRef<T | undefined>(callback);
|
|
205
205
|
|
|
206
206
|
useEffect(() => {
|
|
207
207
|
ref.current = callback;
|
|
208
208
|
});
|
|
209
209
|
|
|
210
|
-
return useCallback(((...args:
|
|
210
|
+
return useCallback(((...args: Parameters<T>) => ref.current?.(...args)) as T, []);
|
|
211
211
|
}
|
|
@@ -42,6 +42,7 @@ export const useMobileMenuItems = (menuType: MobileMenuType) => {
|
|
|
42
42
|
|
|
43
43
|
if (menuType === MobileMenuType.PAGE) {
|
|
44
44
|
if (activeVersion) {
|
|
45
|
+
// eslint-disable-next-line no-warning-comments
|
|
45
46
|
// TODO: consider to refactor
|
|
46
47
|
const versionsSection = buildVersionSection(translate, versions, activeVersion);
|
|
47
48
|
menuItems.push(...versionsSection);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useThemeHooks } from './use-theme-hooks';
|
|
4
4
|
import { IS_BROWSER } from '../utils/dom';
|
|
5
5
|
import { DEFAULT_MCP_SERVER_NAME } from '../constants';
|
|
6
6
|
import { generateMCPDeepLink } from '../utils/mcp';
|
|
@@ -15,12 +15,18 @@ export type McpConfig = {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
export function useMCPConfig(): McpConfig {
|
|
18
|
-
const
|
|
18
|
+
const { useMcpData } = useThemeHooks();
|
|
19
19
|
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const {
|
|
21
|
+
docs: { enabled, name },
|
|
22
|
+
} = useMcpData();
|
|
23
|
+
|
|
24
|
+
const origin = IS_BROWSER
|
|
25
|
+
? window.location.origin
|
|
26
|
+
: ((globalThis as { SSR_HOSTNAME?: string })['SSR_HOSTNAME'] ?? '');
|
|
27
|
+
const serverName = name || DEFAULT_MCP_SERVER_NAME;
|
|
22
28
|
const serverUrl = `${origin}/mcp`;
|
|
23
|
-
const isMcpDisabled =
|
|
29
|
+
const isMcpDisabled = !enabled || false;
|
|
24
30
|
|
|
25
31
|
const cursorUrl = useMemo(
|
|
26
32
|
() => generateMCPDeepLink('cursor', { serverName, url: serverUrl }),
|
|
@@ -24,6 +24,7 @@ const DEFAULT_ENABLED_ACTIONS = [
|
|
|
24
24
|
'claude',
|
|
25
25
|
'docs-mcp-cursor',
|
|
26
26
|
'docs-mcp-vscode',
|
|
27
|
+
'docs-mcp-json',
|
|
27
28
|
] as const;
|
|
28
29
|
|
|
29
30
|
export type PageActionType =
|
|
@@ -33,6 +34,7 @@ export type PageActionType =
|
|
|
33
34
|
| 'claude'
|
|
34
35
|
| 'docs-mcp-cursor'
|
|
35
36
|
| 'docs-mcp-vscode'
|
|
37
|
+
| 'docs-mcp-json'
|
|
36
38
|
| 'mcp-cursor'
|
|
37
39
|
| 'mcp-vscode';
|
|
38
40
|
|
|
@@ -73,11 +75,13 @@ export function usePageActions(
|
|
|
73
75
|
);
|
|
74
76
|
|
|
75
77
|
const result: PageAction[] = useMemo(() => {
|
|
76
|
-
if (shouldHideAllActions) {
|
|
78
|
+
if (shouldHideAllActions && !actions?.length) {
|
|
77
79
|
return [];
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
const origin = IS_BROWSER
|
|
82
|
+
const origin = IS_BROWSER
|
|
83
|
+
? window.location.origin
|
|
84
|
+
: ((globalThis as { SSR_HOSTNAME?: string })['SSR_HOSTNAME'] ?? '');
|
|
81
85
|
const normalizedSlug = pageSlug.startsWith('/') ? pageSlug : '/' + pageSlug;
|
|
82
86
|
const mdPageUrl = new URL(
|
|
83
87
|
origin + normalizedSlug + (normalizedSlug === '/' ? 'index.html.md' : '.md'),
|
|
@@ -141,6 +145,28 @@ export function usePageActions(
|
|
|
141
145
|
link: getExternalAiPromptLink('https://claude.ai/new', mdPageUrl),
|
|
142
146
|
};
|
|
143
147
|
},
|
|
148
|
+
'docs-mcp-json': () => {
|
|
149
|
+
return {
|
|
150
|
+
buttonText: 'Copy MCP configuration',
|
|
151
|
+
title: 'Copy MCP JSON configuration',
|
|
152
|
+
description: 'Copy MCP JSON configuration',
|
|
153
|
+
iconComponent: CopyIcon,
|
|
154
|
+
onClick: async () => {
|
|
155
|
+
ClipboardService.copyCustom(
|
|
156
|
+
JSON.stringify(
|
|
157
|
+
{
|
|
158
|
+
'mcp-server': {
|
|
159
|
+
url: mcpUrl,
|
|
160
|
+
description: 'MCP Server',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
null,
|
|
164
|
+
2,
|
|
165
|
+
),
|
|
166
|
+
);
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
},
|
|
144
170
|
};
|
|
145
171
|
|
|
146
172
|
return (themeConfig.navigation?.actions?.items || actions || DEFAULT_ENABLED_ACTIONS)
|
|
@@ -154,6 +180,7 @@ export function usePageActions(
|
|
|
154
180
|
translate,
|
|
155
181
|
isPublic,
|
|
156
182
|
createMCPHandler,
|
|
183
|
+
mcpUrl,
|
|
157
184
|
]);
|
|
158
185
|
|
|
159
186
|
return result;
|
|
@@ -4,6 +4,7 @@ import type { UiAccessibleConfig } from '../../config';
|
|
|
4
4
|
|
|
5
5
|
import { ThemeDataContext } from '../contexts/ThemeDataContext';
|
|
6
6
|
|
|
7
|
+
// eslint-disable-next-line no-warning-comments
|
|
7
8
|
// TODO: rename and additionally export as alias for backward compatibility
|
|
8
9
|
export function useThemeConfig<T extends Record<string, unknown>>(
|
|
9
10
|
useProductConfig: boolean = true,
|
|
@@ -22,6 +22,7 @@ const fallbacks = {
|
|
|
22
22
|
usePageData: () => null,
|
|
23
23
|
usePageProps: () => ({}),
|
|
24
24
|
usePageSharedData: () => null,
|
|
25
|
+
useMcpData: () => ({ docs: { enabled: false } }),
|
|
25
26
|
};
|
|
26
27
|
|
|
27
28
|
export const useThemeHooks = () => {
|
|
@@ -30,7 +31,7 @@ export const useThemeHooks = () => {
|
|
|
30
31
|
return new Proxy({} as ThemeHooks, {
|
|
31
32
|
get(_, prop) {
|
|
32
33
|
if (context && prop in context.hooks) {
|
|
33
|
-
return (context.hooks as
|
|
34
|
+
return (context.hooks as Record<string, unknown>)[prop as string];
|
|
34
35
|
} else if (prop in fallbacks) {
|
|
35
36
|
return fallbacks[prop as keyof typeof fallbacks];
|
|
36
37
|
} else {
|
|
@@ -19,11 +19,12 @@ export {
|
|
|
19
19
|
withPathPrefix,
|
|
20
20
|
} from '../utils/urls';
|
|
21
21
|
export { capitalize } from '../utils/string';
|
|
22
|
-
export { typedMemo } from '../hoc/
|
|
22
|
+
export { typedMemo } from '../hoc/typed-memo';
|
|
23
23
|
export { useMount } from '../hooks/use-mount';
|
|
24
24
|
export { GlobalStyle } from '../styles/global';
|
|
25
25
|
export { breakpoints } from '../utils/media-css';
|
|
26
26
|
export { isPrimitive } from '../utils/args-typecheck';
|
|
27
|
+
export { getOperationColor } from '../utils/get-operation-color';
|
|
27
28
|
export { ClipboardService } from '../utils/clipboard-service';
|
|
28
29
|
export { getUserAgent } from '../utils/get-user-agent';
|
|
29
30
|
export { useFocusTrap } from '../hooks/use-focus-trap';
|
|
@@ -43,6 +43,7 @@ export default function ({ pageProps, children }: React.PropsWithChildren<Markdo
|
|
|
43
43
|
}
|
|
44
44
|
setWrapperElement(node);
|
|
45
45
|
},
|
|
46
|
+
// eslint-disable-next-line no-warning-comments
|
|
46
47
|
// TODO: is this correct?
|
|
47
48
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
49
|
[pageProps.headings],
|
|
@@ -130,7 +130,7 @@ export type CatalogSwitcherItem = {
|
|
|
130
130
|
slug: string;
|
|
131
131
|
selected: boolean;
|
|
132
132
|
};
|
|
133
|
-
|
|
133
|
+
/* eslint-disable-next-line no-warning-comments */
|
|
134
134
|
// TODO: remove this types after we make api-sdk package public and will be able import them from there
|
|
135
135
|
export type BffCatalogRelatedEntity = {
|
|
136
136
|
readonly id: string;
|
|
@@ -142,6 +142,7 @@ export type BffCatalogRelatedEntity = {
|
|
|
142
142
|
relationRole: 'source' | 'target';
|
|
143
143
|
relationType: EntityRelationType;
|
|
144
144
|
sourceFile?: string | null;
|
|
145
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
145
146
|
metadata?: Record<string, any>;
|
|
146
147
|
readonly createdAt: string | null;
|
|
147
148
|
readonly updatedAt: string | null;
|
|
@@ -159,6 +160,7 @@ export type BffCatalogEntity = {
|
|
|
159
160
|
owners?: Array<BffCatalogRelatedEntity>;
|
|
160
161
|
summary?: string | null;
|
|
161
162
|
tags?: Array<string>;
|
|
163
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
162
164
|
metadata?: Record<string, any>;
|
|
163
165
|
git?: Array<string>;
|
|
164
166
|
contact?: {
|
package/src/core/types/filter.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ResolvedFilter } from './catalog';
|
|
|
2
2
|
import type { RedoclyConfig } from '@redocly/config';
|
|
3
3
|
|
|
4
4
|
export type FilterProps = {
|
|
5
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
5
6
|
filter: ResolvedFilter & { selectedOptions: any };
|
|
6
7
|
filterValuesCasing?:
|
|
7
8
|
| NonNullable<RedoclyConfig['catalog']>[string]['filterValuesCasing']
|
package/src/core/types/hooks.ts
CHANGED
|
@@ -131,6 +131,12 @@ export type ThemeHooks = {
|
|
|
131
131
|
setSearchFacet: React.Dispatch<React.SetStateAction<SearchFacet | null>>;
|
|
132
132
|
setSearchFacetQuery: React.Dispatch<React.SetStateAction<SearchFacetQuery | null>>;
|
|
133
133
|
};
|
|
134
|
+
useMcpData: () => {
|
|
135
|
+
docs: {
|
|
136
|
+
enabled: boolean;
|
|
137
|
+
name?: string;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
134
140
|
useSidebarItems: (activeVersion?: Version | null) => {
|
|
135
141
|
currentItems: ItemState[];
|
|
136
142
|
allSidebarItems: ItemState[];
|
package/src/core/types/index.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
export * from './breadcrumb';
|
|
2
|
-
export * from './catalog';
|
|
3
|
-
export * from './l10n';
|
|
4
|
-
export * from './mcp';
|
|
5
|
-
export * from './feedback';
|
|
6
|
-
export * from './hooks';
|
|
7
|
-
export * from './markdown';
|
|
8
|
-
export * from './navbar';
|
|
1
|
+
export type * from './breadcrumb';
|
|
2
|
+
export type * from './catalog';
|
|
3
|
+
export type * from './l10n';
|
|
4
|
+
export type * from './mcp';
|
|
5
|
+
export type * from './feedback';
|
|
6
|
+
export type * from './hooks';
|
|
7
|
+
export type * from './markdown';
|
|
8
|
+
export type * from './navbar';
|
|
9
9
|
export * from './search';
|
|
10
|
-
export * from './select';
|
|
11
|
-
export * from './sidebar';
|
|
12
|
-
export * from './filter';
|
|
13
|
-
export * from './user-menu';
|
|
14
|
-
export * from './user-claims';
|
|
15
|
-
export * from './common';
|
|
16
|
-
export * from './open-api-server';
|
|
17
|
-
export * from './marker';
|
|
18
|
-
export * from './code-walkthrough';
|
|
19
|
-
export * from './page-actions';
|
|
20
|
-
export * from './open-api-info';
|
|
10
|
+
export type * from './select';
|
|
11
|
+
export type * from './sidebar';
|
|
12
|
+
export type * from './filter';
|
|
13
|
+
export type * from './user-menu';
|
|
14
|
+
export type * from './user-claims';
|
|
15
|
+
export type * from './common';
|
|
16
|
+
export type * from './open-api-server';
|
|
17
|
+
export type * from './marker';
|
|
18
|
+
export type * from './code-walkthrough';
|
|
19
|
+
export type * from './page-actions';
|
|
20
|
+
export type * from './open-api-info';
|
|
21
|
+
export type * from './segmented';
|
package/src/core/types/l10n.ts
CHANGED
|
@@ -107,6 +107,10 @@ export type TranslationKey =
|
|
|
107
107
|
| 'search.ai.error.header'
|
|
108
108
|
| 'search.ai.error.header.forbidden'
|
|
109
109
|
| 'search.ai.error.header.unauthorized'
|
|
110
|
+
| 'search.ai.feedback.more'
|
|
111
|
+
| 'search.searchItem.deprecated'
|
|
112
|
+
| 'search.groups.all'
|
|
113
|
+
| 'search.filter.field.footer'
|
|
110
114
|
| 'aiAssistant.trigger'
|
|
111
115
|
| 'toc.header'
|
|
112
116
|
| 'footer.copyrightText'
|
|
@@ -151,6 +155,21 @@ export type TranslationKey =
|
|
|
151
155
|
| 'catalog.entity.schema.title'
|
|
152
156
|
| 'catalog.entity.properties.apiDescription.title'
|
|
153
157
|
| 'catalog.backToAllLabel'
|
|
158
|
+
| 'catalog.tags.more'
|
|
159
|
+
| 'catalog.tags.label'
|
|
160
|
+
| 'catalog.sort'
|
|
161
|
+
| 'catalog.catalogs.label'
|
|
162
|
+
| 'catalog.owners.label'
|
|
163
|
+
| 'catalog.repositories.label'
|
|
164
|
+
| 'catalog.email.label'
|
|
165
|
+
| 'catalog.format.label'
|
|
166
|
+
| 'catalog.entityType.label'
|
|
167
|
+
| 'catalog.domains.label'
|
|
168
|
+
| 'catalog.contact.label'
|
|
169
|
+
| 'catalog.methodAndPath.label'
|
|
170
|
+
| 'catalog.links.label'
|
|
171
|
+
| 'catalog.metadata.domains'
|
|
172
|
+
| 'catalog.metadata.owners'
|
|
154
173
|
| 'sidebar.menu.backLabel'
|
|
155
174
|
| 'sidebar.menu.backToLabel'
|
|
156
175
|
| 'sidebar.actions.show'
|
|
@@ -369,7 +388,11 @@ export type TranslationKey =
|
|
|
369
388
|
| 'time.past.years'
|
|
370
389
|
| 'page.internalServerError.title'
|
|
371
390
|
| 'page.internalServerError.description'
|
|
372
|
-
| 'page.skipToContent.label'
|
|
391
|
+
| 'page.skipToContent.label'
|
|
392
|
+
| 'select.noResults'
|
|
393
|
+
| 'loaders.loading'
|
|
394
|
+
| 'filter.dateRange.from'
|
|
395
|
+
| 'filter.dateRange.to';
|
|
373
396
|
|
|
374
397
|
export type Locale = { code: string; name: string };
|
|
375
398
|
|
package/src/core/types/search.ts
CHANGED
|
@@ -14,7 +14,7 @@ export type OperationParameter = {
|
|
|
14
14
|
example: string | undefined;
|
|
15
15
|
enum: string[] | undefined;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
/* eslint-disable-next-line no-warning-comments */
|
|
18
18
|
// TODO: review SearchHit type as it might contain properties that are not in the search results
|
|
19
19
|
export type SearchHit = {
|
|
20
20
|
id: string;
|
|
@@ -25,6 +25,7 @@ export type SearchHit = {
|
|
|
25
25
|
httpMethod?: string;
|
|
26
26
|
httpPath?: string | string[];
|
|
27
27
|
deprecated?: boolean;
|
|
28
|
+
isAdditionalOperation?: boolean;
|
|
28
29
|
security?: string[];
|
|
29
30
|
parameters?: OperationParameter[];
|
|
30
31
|
version?: string;
|
package/src/core/types/select.ts
CHANGED
|
@@ -51,6 +51,7 @@ export type ItemState = Omit<SidebarNavItem, 'items'> & {
|
|
|
51
51
|
languageInsensitive?: boolean;
|
|
52
52
|
modified?: boolean; //item from openapi-docs sidebar
|
|
53
53
|
deprecated?: boolean; //item from openapi-docs sidebar
|
|
54
|
+
isAdditionalOperation?: boolean; //item from openapi-docs sidebar
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
export type DrilldownMenuItemDetails = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export function isEmptyArray(items:
|
|
1
|
+
export function isEmptyArray(items: unknown): boolean {
|
|
2
2
|
return Array.isArray(items) && !items?.length;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
export function isPrimitive(arg:
|
|
5
|
+
export function isPrimitive(arg: unknown): boolean {
|
|
6
6
|
return ['string', 'boolean', 'number', 'undefined'].includes(typeof arg);
|
|
7
7
|
}
|