@redocly/theme 0.59.0-rc.3 → 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.
Files changed (427) hide show
  1. package/LICENSE +7 -1
  2. package/lib/components/AsyncApiDocs/hooks/AfterAsyncApiChannelDescription.js +1 -0
  3. package/lib/components/Buttons/AIAssistantButton.js +6 -2
  4. package/lib/components/Buttons/ConnectMCPButton.d.ts +8 -0
  5. package/lib/components/Buttons/ConnectMCPButton.js +145 -0
  6. package/lib/components/Buttons/variables.d.ts +1 -0
  7. package/lib/components/Buttons/variables.js +44 -2
  8. package/lib/components/Catalog/CatalogCardView/CatalogCard.js +4 -3
  9. package/lib/components/Catalog/CatalogEntity/CatalogEntity.js +5 -1
  10. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.js +2 -2
  11. package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.js +1 -0
  12. package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.js +4 -1
  13. package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.js +1 -0
  14. package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.js +4 -1
  15. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.js +4 -1
  16. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.js +4 -1
  17. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.js +4 -1
  18. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.js +4 -1
  19. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.js +4 -1
  20. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +4 -1
  21. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.js +4 -1
  22. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.js +4 -1
  23. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.js +1 -1
  24. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +1 -1
  25. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +2 -2
  26. package/lib/components/Catalog/CatalogEntityIcon.js +2 -1
  27. package/lib/components/Catalog/CatalogFilter/CatalogFilter.js +4 -0
  28. package/lib/components/Catalog/CatalogFilter/CatalogFilterDateRange.js +2 -2
  29. package/lib/components/Catalog/CatalogSelector.js +1 -1
  30. package/lib/components/Catalog/CatalogSortButton.js +4 -1
  31. package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.js +2 -2
  32. package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.js +2 -2
  33. package/lib/components/Catalog/CatalogTagsWithTooltip.js +5 -1
  34. package/lib/components/Catalog/variables.dark.js +1 -1
  35. package/lib/components/Catalog/variables.js +6 -4
  36. package/lib/components/CatalogClassic/variables.js +1 -1
  37. package/lib/components/CodeBlock/CodeBlock.js +3 -1
  38. package/lib/components/CodeBlock/CodeBlockTabs.js +3 -3
  39. package/lib/components/DatePicker/variables.js +2 -0
  40. package/lib/components/Dropdown/Dropdown.d.ts +16 -2
  41. package/lib/components/Dropdown/Dropdown.js +5 -5
  42. package/lib/components/Feedback/Mood.js +2 -2
  43. package/lib/components/Feedback/Rating.js +2 -2
  44. package/lib/components/Filter/FilterDateRange.js +2 -2
  45. package/lib/components/Filter/FilterSelect.js +5 -1
  46. package/lib/components/Link/Link.d.ts +1 -0
  47. package/lib/components/Loaders/Loading.js +4 -1
  48. package/lib/components/Markdown/Markdown.js +9 -9
  49. package/lib/components/Markdown/styles/{baseTable.js → base-table.js} +1 -1
  50. package/lib/components/Markdown/styles/{headingAnchor.js → heading-anchor.js} +1 -1
  51. package/lib/components/Menu/MenuItem.js +6 -2
  52. package/lib/components/Navbar/NavbarItem.js +3 -3
  53. package/lib/components/OpenApiDocs/hooks/AdditionalOverviewInfo.js +1 -0
  54. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +1 -0
  55. package/lib/components/OpenApiDocs/hooks/AfterOpenApiOperation.js +1 -0
  56. package/lib/components/OpenApiDocs/hooks/AfterOpenApiTitle.js +1 -0
  57. package/lib/components/OpenApiDocs/hooks/BeforeOpenApiOperation.js +1 -0
  58. package/lib/components/OpenApiDocs/hooks/OpenApiFooter.js +3 -2
  59. package/lib/components/OpenApiDocs/hooks/OpenApiHeader.js +3 -2
  60. package/lib/components/PageActions/PageActions.js +4 -1
  61. package/lib/components/PageActions/variables.js +2 -0
  62. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +2 -1
  63. package/lib/components/Search/FilterFields/SearchFilterFieldTags.js +8 -3
  64. package/lib/components/Search/SearchAiActionButtons.d.ts +10 -0
  65. package/lib/components/Search/SearchAiActionButtons.js +43 -0
  66. package/lib/components/Search/SearchAiConversationInput.d.ts +3 -1
  67. package/lib/components/Search/SearchAiConversationInput.js +39 -7
  68. package/lib/components/Search/SearchAiDialog.d.ts +3 -6
  69. package/lib/components/Search/SearchAiDialog.js +20 -9
  70. package/lib/components/Search/SearchAiMessage.d.ts +9 -5
  71. package/lib/components/Search/SearchAiMessage.js +147 -21
  72. package/lib/components/Search/SearchAiNegativeFeedbackForm.d.ts +10 -0
  73. package/lib/components/Search/SearchAiNegativeFeedbackForm.js +170 -0
  74. package/lib/components/Search/SearchDialog.js +36 -5
  75. package/lib/components/Search/SearchGroups.js +5 -2
  76. package/lib/components/Search/SearchHighlight.js +1 -0
  77. package/lib/components/Search/SearchItem.js +9 -2
  78. package/lib/components/Search/variables.js +38 -64
  79. package/lib/components/Segmented/Segmented.d.ts +1 -8
  80. package/lib/components/Segmented/Segmented.js +5 -3
  81. package/lib/components/Select/Select.d.ts +1 -1
  82. package/lib/components/Select/Select.js +4 -2
  83. package/lib/components/Select/SelectInput.d.ts +1 -1
  84. package/lib/components/Select/SelectInput.js +3 -1
  85. package/lib/components/SidebarActions/styled.d.ts +5 -4
  86. package/lib/components/SidebarActions/styled.js +9 -5
  87. package/lib/components/Tag/Tag.d.ts +3 -2
  88. package/lib/components/Tag/Tag.js +65 -16
  89. package/lib/components/Tag/variables.dark.js +143 -36
  90. package/lib/components/Tag/variables.js +85 -60
  91. package/lib/components/Tooltip/Tooltip.js +2 -0
  92. package/lib/components/VersionPicker/VersionPicker.d.ts +1 -1
  93. package/lib/config.d.ts +2 -2
  94. package/lib/core/constants/index.d.ts +2 -0
  95. package/lib/core/constants/index.js +2 -0
  96. package/lib/core/constants/mcp.d.ts +1 -0
  97. package/lib/core/constants/mcp.js +5 -0
  98. package/lib/core/constants/request-methods.d.ts +1 -0
  99. package/lib/core/constants/request-methods.js +14 -0
  100. package/lib/core/constants/search.d.ts +5 -4
  101. package/lib/core/constants/search.js +4 -5
  102. package/lib/core/hoc/index.d.ts +1 -1
  103. package/lib/core/hoc/index.js +1 -1
  104. package/lib/core/hoc/{typedMemo.js → typed-memo.js} +1 -1
  105. package/lib/core/hooks/__tests__/mocks/mock-intersection-observer.d.ts +1 -1
  106. package/lib/core/hooks/__tests__/mocks/mock-intersection-observer.js +1 -3
  107. package/lib/core/hooks/catalog/{useCatalogEntities.js → use-catalog-entities.js} +1 -1
  108. package/lib/core/hooks/catalog/{useCatalogEntitySchema.d.ts → use-catalog-entity-schema.d.ts} +1 -1
  109. package/lib/core/hooks/catalog/{useCatalogEntitySchema.js → use-catalog-entity-schema.js} +1 -1
  110. package/lib/core/hooks/catalog/{useCatalogTableHeaderCellActions.js → use-catalog-table-header-cell-actions.js} +1 -1
  111. package/lib/core/hooks/catalog/{useCatalogTableViewRow.js → use-catalog-table-view-row.js} +1 -1
  112. package/lib/core/hooks/catalog/{useGraph.js → use-graph.js} +2 -2
  113. package/lib/core/hooks/code-walkthrough/use-code-walkthrough-controls.js +1 -0
  114. package/lib/core/hooks/code-walkthrough/use-code-walkthrough-steps.d.ts +1 -0
  115. package/lib/core/hooks/code-walkthrough/use-renderable-files.js +2 -2
  116. package/lib/core/hooks/index.d.ts +8 -2
  117. package/lib/core/hooks/index.js +8 -2
  118. package/lib/core/hooks/menu/use-collapse.js +1 -0
  119. package/lib/core/hooks/menu/use-mobile-menu-items.js +1 -0
  120. package/lib/core/hooks/menu/use-nested-menu.js +1 -1
  121. package/lib/core/hooks/search/use-feedback-tooltip.d.ts +6 -0
  122. package/lib/core/hooks/search/use-feedback-tooltip.js +26 -0
  123. package/lib/core/hooks/use-connect-mcp-button.d.ts +13 -0
  124. package/lib/core/hooks/use-connect-mcp-button.js +50 -0
  125. package/lib/core/hooks/use-mcp-config.d.ts +9 -0
  126. package/lib/core/hooks/use-mcp-config.js +30 -0
  127. package/lib/core/hooks/use-page-actions.d.ts +1 -1
  128. package/lib/core/hooks/use-page-actions.js +120 -120
  129. package/lib/core/hooks/use-product-picker.js +2 -1
  130. package/lib/core/hooks/use-tabs.d.ts +3 -2
  131. package/lib/core/hooks/use-tabs.js +115 -57
  132. package/lib/core/hooks/use-telemetry-fallback.d.ts +10 -8
  133. package/lib/core/hooks/use-telemetry-fallback.js +11 -8
  134. package/lib/core/hooks/use-theme-config.js +1 -0
  135. package/lib/core/hooks/use-theme-hooks.js +1 -0
  136. package/lib/core/openapi/index.d.ts +3 -1
  137. package/lib/core/openapi/index.js +5 -3
  138. package/lib/core/styles/dark.js +4 -0
  139. package/lib/core/styles/global.js +5 -0
  140. package/lib/core/templates/Markdown.js +1 -0
  141. package/lib/core/types/hooks.d.ts +8 -2
  142. package/lib/core/types/index.d.ts +20 -18
  143. package/lib/core/types/index.js +0 -18
  144. package/lib/core/types/l10n.d.ts +1 -1
  145. package/lib/core/types/mcp.d.ts +6 -0
  146. package/lib/core/types/mcp.js +3 -0
  147. package/lib/core/types/search.d.ts +12 -4
  148. package/lib/core/types/search.js +6 -0
  149. package/lib/core/types/segmented.d.ts +12 -0
  150. package/lib/core/types/segmented.js +3 -0
  151. package/lib/core/types/sidebar.d.ts +1 -0
  152. package/lib/core/utils/{dynamic.js → Dynamic.js} +1 -1
  153. package/lib/core/utils/{get-file-icon.js → GetFileIcon.js} +1 -1
  154. package/lib/core/utils/args-typecheck.d.ts +2 -2
  155. package/lib/core/utils/clipboard-service.js +2 -0
  156. package/lib/core/utils/frontmatter-translate.d.ts +6 -0
  157. package/lib/core/utils/frontmatter-translate.js +14 -0
  158. package/lib/core/utils/get-operation-color.d.ts +7 -0
  159. package/lib/core/utils/get-operation-color.js +13 -0
  160. package/lib/core/utils/get-user-agent.js +1 -0
  161. package/lib/core/utils/index.d.ts +5 -2
  162. package/lib/core/utils/index.js +5 -2
  163. package/lib/core/utils/js-utils.d.ts +1 -1
  164. package/lib/core/utils/load-and-navigate.js +1 -0
  165. package/lib/core/utils/markdoc.js +1 -0
  166. package/lib/core/utils/mcp.d.ts +2 -0
  167. package/lib/core/utils/mcp.js +31 -0
  168. package/lib/core/utils/parse-style-string.js +1 -0
  169. package/lib/ext/configure.d.ts +2 -2
  170. package/lib/ext/configure.js +12 -6
  171. package/lib/ext/{useConfigureReplay.js → use-configure-replay.js} +5 -4
  172. package/lib/icons/AiStarsGradientIcon/AiStarsGradientIcon.js +44 -4
  173. package/lib/icons/AiStarsIcon/AiStarsIcon.js +11 -2
  174. package/lib/icons/ConnectIcon/ConnectIcon.d.ts +9 -0
  175. package/lib/icons/ConnectIcon/ConnectIcon.js +17 -0
  176. package/lib/icons/CubeIcon/CubeIcon.d.ts +9 -0
  177. package/lib/icons/CubeIcon/CubeIcon.js +17 -0
  178. package/lib/icons/HashtagIcon/HashtagIcon.d.ts +9 -0
  179. package/lib/icons/HashtagIcon/HashtagIcon.js +22 -0
  180. package/lib/icons/RedoclyIcon/RedoclyIcon.js +4 -7
  181. package/lib/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.d.ts +9 -0
  182. package/lib/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.js +34 -0
  183. package/lib/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.d.ts +9 -0
  184. package/lib/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.js +34 -0
  185. package/lib/icons/VSCodeIcon/VSCodeIcon.d.ts +9 -0
  186. package/lib/icons/VSCodeIcon/VSCodeIcon.js +17 -0
  187. package/lib/index.d.ts +4 -3
  188. package/lib/index.js +3 -3
  189. package/lib/layouts/ThreePanelLayout.js +4 -4
  190. package/lib/markdoc/components/Cards/Card.js +1 -28
  191. package/lib/markdoc/components/Cards/variables.dark.js +2 -0
  192. package/lib/markdoc/components/Cards/variables.js +2 -0
  193. package/lib/markdoc/components/CodeWalkthrough/CodePanelHeader.js +1 -0
  194. package/lib/markdoc/components/ConnectMCP/ConnectMCP.d.ts +8 -0
  195. package/lib/markdoc/components/ConnectMCP/ConnectMCP.js +19 -0
  196. package/lib/markdoc/components/Tabs/TabList.d.ts +3 -1
  197. package/lib/markdoc/components/Tabs/TabList.js +197 -47
  198. package/lib/markdoc/components/Tabs/Tabs.d.ts +2 -1
  199. package/lib/markdoc/components/Tabs/Tabs.js +57 -12
  200. package/lib/markdoc/components/default.d.ts +1 -0
  201. package/lib/markdoc/components/default.js +1 -0
  202. package/lib/markdoc/default.d.ts +6 -0
  203. package/lib/markdoc/default.js +2 -0
  204. package/lib/markdoc/tags/card.js +0 -1
  205. package/lib/markdoc/tags/code-walkthrough.js +1 -0
  206. package/lib/markdoc/tags/connect-mcp.d.ts +2 -0
  207. package/lib/markdoc/tags/connect-mcp.js +27 -0
  208. package/lib/markdoc/tags/html.js +1 -0
  209. package/package.json +6 -6
  210. package/src/components/AsyncApiDocs/hooks/AfterAsyncApiChannelDescription.tsx +1 -0
  211. package/src/components/Button/Button.tsx +1 -0
  212. package/src/components/Buttons/AIAssistantButton.tsx +6 -2
  213. package/src/components/Buttons/ConnectMCPButton.tsx +180 -0
  214. package/src/components/Buttons/variables.ts +44 -1
  215. package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +4 -3
  216. package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +4 -0
  217. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.tsx +1 -1
  218. package/src/components/Catalog/CatalogEntity/CatalogEntityInfoBar.tsx +1 -0
  219. package/src/components/Catalog/CatalogEntity/CatalogEntityLinks.tsx +5 -1
  220. package/src/components/Catalog/CatalogEntity/CatalogEntityMetadata.tsx +1 -0
  221. package/src/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.tsx +5 -1
  222. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.tsx +5 -1
  223. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +5 -1
  224. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.tsx +5 -1
  225. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.tsx +5 -1
  226. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.tsx +5 -1
  227. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +5 -1
  228. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.tsx +5 -1
  229. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.tsx +5 -1
  230. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +1 -1
  231. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +1 -1
  232. package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +3 -1
  233. package/src/components/Catalog/CatalogEntityIcon.tsx +2 -1
  234. package/src/components/Catalog/CatalogFilter/CatalogFilter.tsx +5 -0
  235. package/src/components/Catalog/CatalogFilter/CatalogFilterDateRange.tsx +2 -2
  236. package/src/components/Catalog/CatalogSelector.tsx +2 -2
  237. package/src/components/Catalog/CatalogSortButton.tsx +5 -1
  238. package/src/components/Catalog/CatalogTableView/CatalogTableHeaderCell.tsx +1 -1
  239. package/src/components/Catalog/CatalogTableView/CatalogTableViewRow.tsx +1 -1
  240. package/src/components/Catalog/CatalogTagsWithTooltip.tsx +8 -1
  241. package/src/components/Catalog/variables.dark.ts +1 -1
  242. package/src/components/Catalog/variables.ts +6 -4
  243. package/src/components/CatalogClassic/CatalogClassicInfoBlock.tsx +1 -0
  244. package/src/components/CatalogClassic/variables.ts +1 -1
  245. package/src/components/CodeBlock/CodeBlock.tsx +4 -0
  246. package/src/components/CodeBlock/CodeBlockControls.tsx +1 -0
  247. package/src/components/CodeBlock/CodeBlockTabs.tsx +1 -1
  248. package/src/components/DatePicker/variables.ts +3 -1
  249. package/src/components/Dropdown/Dropdown.tsx +84 -79
  250. package/src/components/Feedback/Mood.tsx +2 -2
  251. package/src/components/Feedback/Rating.tsx +2 -2
  252. package/src/components/Filter/FilterDateRange.tsx +2 -2
  253. package/src/components/Filter/FilterSelect.tsx +1 -0
  254. package/src/components/JsonViewer/JsonViewer.tsx +1 -0
  255. package/src/components/JsonViewer/helpers.tsx +3 -0
  256. package/src/components/LastUpdated/LastUpdated.tsx +1 -0
  257. package/src/components/Link/Link.tsx +1 -0
  258. package/src/components/Loaders/Loading.tsx +5 -1
  259. package/src/components/Markdown/Markdown.tsx +2 -2
  260. package/src/components/Menu/MenuItem.tsx +7 -2
  261. package/src/components/Navbar/NavbarItem.tsx +6 -5
  262. package/src/components/OpenApiDocs/hooks/AdditionalOverviewInfo.tsx +1 -0
  263. package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +1 -0
  264. package/src/components/OpenApiDocs/hooks/AfterOpenApiOperation.tsx +1 -1
  265. package/src/components/OpenApiDocs/hooks/AfterOpenApiTitle.tsx +1 -1
  266. package/src/components/OpenApiDocs/hooks/BeforeOpenApiOperation.tsx +1 -1
  267. package/src/components/OpenApiDocs/hooks/OpenApiFooter.tsx +1 -1
  268. package/src/components/OpenApiDocs/hooks/OpenApiHeader.tsx +1 -1
  269. package/src/components/PageActions/PageActions.tsx +5 -1
  270. package/src/components/PageActions/variables.ts +2 -0
  271. package/src/components/Search/FilterFields/SearchFilterFieldSelect.tsx +4 -1
  272. package/src/components/Search/FilterFields/SearchFilterFieldTags.tsx +10 -4
  273. package/src/components/Search/SearchAiActionButtons.tsx +76 -0
  274. package/src/components/Search/SearchAiConversationInput.tsx +61 -18
  275. package/src/components/Search/SearchAiDialog.tsx +52 -23
  276. package/src/components/Search/SearchAiMessage.tsx +173 -39
  277. package/src/components/Search/SearchAiNegativeFeedbackForm.tsx +212 -0
  278. package/src/components/Search/SearchDialog.tsx +49 -13
  279. package/src/components/Search/SearchGroups.tsx +6 -1
  280. package/src/components/Search/SearchHighlight.tsx +1 -0
  281. package/src/components/Search/SearchItem.tsx +15 -3
  282. package/src/components/Search/variables.ts +38 -64
  283. package/src/components/Segmented/Segmented.tsx +16 -21
  284. package/src/components/Select/Select.tsx +8 -4
  285. package/src/components/Select/SelectInput.tsx +11 -1
  286. package/src/components/SidebarActions/{styled.tsx → styled.ts} +11 -4
  287. package/src/components/Tag/Tag.tsx +36 -18
  288. package/src/components/Tag/variables.dark.ts +143 -36
  289. package/src/components/Tag/variables.ts +85 -60
  290. package/src/components/Tooltip/Tooltip.tsx +2 -1
  291. package/src/components/VersionPicker/VersionPicker.tsx +2 -1
  292. package/src/config.ts +2 -0
  293. package/src/core/constants/index.ts +2 -0
  294. package/src/core/constants/mcp.ts +1 -0
  295. package/src/core/constants/request-methods.ts +10 -0
  296. package/src/core/constants/search.ts +8 -4
  297. package/src/core/hoc/index.ts +1 -1
  298. package/src/core/hooks/__mocks__/use-theme-hooks.ts +2 -2
  299. package/src/core/hooks/__tests__/mocks/mock-intersection-observer.ts +9 -8
  300. package/src/core/hooks/catalog/{useCatalogEntitySchema.ts → use-catalog-entity-schema.ts} +3 -3
  301. package/src/core/hooks/catalog/{useGraph.ts → use-graph.ts} +1 -1
  302. package/src/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.ts +1 -1
  303. package/src/core/hooks/code-walkthrough/__mocks__/mock-intersection-observer.ts +24 -0
  304. package/src/core/hooks/code-walkthrough/use-code-walkthrough-controls.ts +1 -0
  305. package/src/core/hooks/code-walkthrough/use-code-walkthrough-steps.ts +2 -2
  306. package/src/core/hooks/code-walkthrough/use-renderable-files.ts +1 -1
  307. package/src/core/hooks/index.ts +8 -2
  308. package/src/core/hooks/menu/use-collapse.ts +3 -3
  309. package/src/core/hooks/menu/use-mobile-menu-items.ts +1 -0
  310. package/src/core/hooks/menu/use-nested-menu.ts +2 -2
  311. package/src/core/hooks/search/use-feedback-tooltip.ts +32 -0
  312. package/src/core/hooks/use-connect-mcp-button.ts +79 -0
  313. package/src/core/hooks/use-mcp-config.ts +49 -0
  314. package/src/core/hooks/use-page-actions.ts +164 -146
  315. package/src/core/hooks/use-product-picker.ts +2 -1
  316. package/src/core/hooks/use-tabs.ts +168 -86
  317. package/src/core/hooks/use-telemetry-fallback.ts +11 -8
  318. package/src/core/hooks/use-theme-config.ts +1 -0
  319. package/src/core/hooks/use-theme-hooks.ts +2 -1
  320. package/src/core/openapi/index.ts +3 -1
  321. package/src/core/styles/dark.ts +4 -0
  322. package/src/core/styles/global.ts +6 -1
  323. package/src/core/templates/Markdown.tsx +1 -0
  324. package/src/core/types/catalog.ts +3 -1
  325. package/src/core/types/filter.ts +1 -0
  326. package/src/core/types/hooks.ts +11 -1
  327. package/src/core/types/index.ts +20 -18
  328. package/src/core/types/l10n.ts +37 -1
  329. package/src/core/types/mcp.ts +8 -0
  330. package/src/core/types/search.ts +15 -5
  331. package/src/core/types/segmented.ts +15 -0
  332. package/src/core/types/select.ts +1 -0
  333. package/src/core/types/sidebar.ts +1 -0
  334. package/src/core/utils/args-typecheck.ts +2 -2
  335. package/src/core/utils/clipboard-service.ts +2 -0
  336. package/src/core/utils/frontmatter-translate.ts +9 -0
  337. package/src/core/utils/get-operation-color.ts +18 -0
  338. package/src/core/utils/get-user-agent.ts +1 -0
  339. package/src/core/utils/index.ts +5 -2
  340. package/src/core/utils/js-utils.ts +1 -1
  341. package/src/core/utils/load-and-navigate.ts +1 -0
  342. package/src/core/utils/markdoc.ts +1 -0
  343. package/src/core/utils/mcp.ts +34 -0
  344. package/src/core/utils/parse-style-string.ts +1 -0
  345. package/src/ext/configure.ts +15 -8
  346. package/src/ext/process-scorecard.ts +1 -0
  347. package/src/ext/{useConfigureReplay.ts → use-configure-replay.ts} +5 -3
  348. package/src/icons/AiStarsGradientIcon/AiStarsGradientIcon.tsx +13 -4
  349. package/src/icons/AiStarsIcon/AiStarsIcon.tsx +11 -2
  350. package/src/icons/ConnectIcon/ConnectIcon.tsx +27 -0
  351. package/src/icons/CubeIcon/CubeIcon.tsx +27 -0
  352. package/src/icons/HashtagIcon/HashtagIcon.tsx +23 -0
  353. package/src/icons/RedoclyIcon/RedoclyIcon.tsx +4 -22
  354. package/src/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.tsx +38 -0
  355. package/src/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.tsx +35 -0
  356. package/src/icons/VSCodeIcon/VSCodeIcon.tsx +29 -0
  357. package/src/index.ts +4 -3
  358. package/src/layouts/ThreePanelLayout.tsx +1 -1
  359. package/src/markdoc/components/Cards/Card.tsx +1 -28
  360. package/src/markdoc/components/Cards/variables.dark.ts +2 -0
  361. package/src/markdoc/components/Cards/variables.ts +3 -1
  362. package/src/markdoc/components/CodeWalkthrough/CodePanelHeader.tsx +1 -1
  363. package/src/markdoc/components/ConnectMCP/ConnectMCP.tsx +28 -0
  364. package/src/markdoc/components/Tabs/TabList.tsx +312 -105
  365. package/src/markdoc/components/Tabs/Tabs.tsx +136 -11
  366. package/src/markdoc/components/default.ts +1 -0
  367. package/src/markdoc/default.ts +2 -0
  368. package/src/markdoc/tags/card.ts +0 -1
  369. package/src/markdoc/tags/code-walkthrough.ts +2 -0
  370. package/src/markdoc/tags/connect-mcp.ts +25 -0
  371. package/src/markdoc/tags/html.ts +1 -0
  372. package/lib/core/hooks/__mocks__/index.d.ts +0 -28
  373. package/lib/core/hooks/__mocks__/index.js +0 -45
  374. package/lib/core/hooks/__mocks__/search/use-recent-searches.d.ts +0 -5
  375. package/lib/core/hooks/__mocks__/search/use-recent-searches.js +0 -13
  376. package/lib/core/hooks/__mocks__/search/use-search-filter.d.ts +0 -8
  377. package/lib/core/hooks/__mocks__/search/use-search-filter.js +0 -15
  378. package/lib/core/hooks/__mocks__/search/use-suggested-pages.d.ts +0 -4
  379. package/lib/core/hooks/__mocks__/search/use-suggested-pages.js +0 -13
  380. package/lib/core/hooks/__mocks__/use-controlled-state.d.ts +0 -1
  381. package/lib/core/hooks/__mocks__/use-controlled-state.js +0 -7
  382. package/lib/core/hooks/__mocks__/use-element-size.d.ts +0 -4
  383. package/lib/core/hooks/__mocks__/use-element-size.js +0 -9
  384. package/lib/core/hooks/__mocks__/use-input-key-commands.d.ts +0 -3
  385. package/lib/core/hooks/__mocks__/use-input-key-commands.js +0 -8
  386. package/lib/core/hooks/__mocks__/use-mobile-menu.d.ts +0 -1
  387. package/lib/core/hooks/__mocks__/use-mobile-menu.js +0 -7
  388. package/lib/core/hooks/__mocks__/use-theme-config.d.ts +0 -8
  389. package/lib/core/hooks/__mocks__/use-theme-config.js +0 -13
  390. package/lib/core/hooks/__mocks__/use-theme-hooks.d.ts +0 -69
  391. package/lib/core/hooks/__mocks__/use-theme-hooks.js +0 -94
  392. package/lib/core/hooks/__mocks__/use-time-ago.d.ts +0 -3
  393. package/lib/core/hooks/__mocks__/use-time-ago.js +0 -8
  394. package/lib/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.d.ts +0 -10
  395. package/lib/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.js +0 -56
  396. package/lib/core/hooks/menu/__mocks__/use-mobile-menu-items.d.ts +0 -1
  397. package/lib/core/hooks/menu/__mocks__/use-mobile-menu-items.js +0 -35
  398. /package/lib/components/Markdown/styles/{baseTable.d.ts → base-table.d.ts} +0 -0
  399. /package/lib/components/Markdown/styles/{headingAnchor.d.ts → heading-anchor.d.ts} +0 -0
  400. /package/lib/core/hoc/{typedMemo.d.ts → typed-memo.d.ts} +0 -0
  401. /package/lib/core/hooks/catalog/{useCatalogEntities.d.ts → use-catalog-entities.d.ts} +0 -0
  402. /package/lib/core/hooks/catalog/{useCatalogTableHeaderCellActions.d.ts → use-catalog-table-header-cell-actions.d.ts} +0 -0
  403. /package/lib/core/hooks/catalog/{useCatalogTableViewRow.d.ts → use-catalog-table-view-row.d.ts} +0 -0
  404. /package/lib/core/hooks/catalog/{useGraph.d.ts → use-graph.d.ts} +0 -0
  405. /package/lib/core/utils/{dynamic.d.ts → Dynamic.d.ts} +0 -0
  406. /package/lib/core/utils/{get-file-icon.d.ts → GetFileIcon.d.ts} +0 -0
  407. /package/lib/ext/{useConfigureReplay.d.ts → use-configure-replay.d.ts} +0 -0
  408. /package/src/components/Markdown/styles/{baseTable.ts → base-table.ts} +0 -0
  409. /package/src/components/Markdown/styles/{headingAnchor.ts → heading-anchor.ts} +0 -0
  410. /package/src/components/Panel/{PanelBody.ts → PanelBody.tsx} +0 -0
  411. /package/src/components/Panel/{PanelHeader.ts → PanelHeader.tsx} +0 -0
  412. /package/src/components/Panel/{PanelHeaderTitle.ts → PanelHeaderTitle.tsx} +0 -0
  413. /package/src/components/StatusCode/{StatusCode.ts → StatusCode.tsx} +0 -0
  414. /package/src/components/Typography/{CompactTypography.ts → CompactTypography.tsx} +0 -0
  415. /package/src/components/Typography/{Emphasis.ts → Emphasis.tsx} +0 -0
  416. /package/src/components/Typography/{H1.ts → H1.tsx} +0 -0
  417. /package/src/components/Typography/{H2.ts → H2.tsx} +0 -0
  418. /package/src/components/Typography/{H3.ts → H3.tsx} +0 -0
  419. /package/src/components/Typography/{H4.ts → H4.tsx} +0 -0
  420. /package/src/components/Typography/{SectionHeader.ts → SectionHeader.tsx} +0 -0
  421. /package/src/components/Typography/{Typography.ts → Typography.tsx} +0 -0
  422. /package/src/core/hoc/{typedMemo.ts → typed-memo.ts} +0 -0
  423. /package/src/core/hooks/catalog/{useCatalogEntities.ts → use-catalog-entities.ts} +0 -0
  424. /package/src/core/hooks/catalog/{useCatalogTableHeaderCellActions.ts → use-catalog-table-header-cell-actions.ts} +0 -0
  425. /package/src/core/hooks/catalog/{useCatalogTableViewRow.ts → use-catalog-table-view-row.ts} +0 -0
  426. /package/src/core/utils/{dynamic.tsx → Dynamic.tsx} +0 -0
  427. /package/src/core/utils/{get-file-icon.tsx → GetFileIcon.tsx} +0 -0
@@ -1,5 +1,6 @@
1
- import React, { useState, useEffect } from 'react';
2
- import styled from 'styled-components';
1
+ import React, { useState, useEffect, useLayoutEffect, useRef, useCallback } from 'react';
2
+ import { useInRouterContext } from 'react-router-dom';
3
+ import styled, { css } from 'styled-components';
3
4
 
4
5
  import type { JSX } from 'react';
5
6
 
@@ -26,6 +27,26 @@ type TabsProps = {
26
27
  className?: string;
27
28
  size: TabsSize;
28
29
  initialTab?: string;
30
+ forceReady?: boolean;
31
+ };
32
+
33
+ type UseActiveTabFn = (
34
+ initialTab: string,
35
+ tabsId: string | undefined,
36
+ childrenArray: React.ReactElement<TabItemProps>[],
37
+ ) => {
38
+ activeTab: string;
39
+ setActiveTab: (tab: string) => void;
40
+ };
41
+
42
+ type TabsViewProps = Omit<TabsProps, 'children'> & {
43
+ childrenArray: React.ReactElement<TabItemProps>[];
44
+ initialTab: string;
45
+ isReady: boolean;
46
+ labelsHash: string;
47
+ useActiveTab: UseActiveTabFn;
48
+ containerRef: React.RefObject<HTMLUListElement | null>;
49
+ onReadyChange: (ready: boolean) => void;
29
50
  };
30
51
 
31
52
  export function Tabs({
@@ -34,25 +55,72 @@ export function Tabs({
34
55
  className,
35
56
  size,
36
57
  initialTab: propInitialTab,
58
+ forceReady = false,
37
59
  }: TabsProps): JSX.Element {
38
- const [childrenArray, setChildrenArray] = useState<React.ReactElement<TabItemProps>[]>(
39
- React.Children.toArray(children) as React.ReactElement<TabItemProps>[],
40
- );
60
+ const childrenArray = React.Children.toArray(children) as React.ReactElement<TabItemProps>[];
61
+ const [isReady, setIsReady] = useState(false);
62
+ const containerRef = useRef<HTMLUListElement | null>(null);
41
63
 
42
64
  const initialTab = propInitialTab ?? childrenArray[0]?.props.label ?? '';
43
- const { activeTab, setActiveTab } = useActiveTab({ tabsId: id, initialTab });
65
+ const labelsHash = childrenArray.map((c) => c.props.label).join('|');
44
66
 
45
- useEffect(() => {
46
- setChildrenArray(React.Children.toArray(children) as React.ReactElement<TabItemProps>[]);
47
- }, [children]);
67
+ const handleReadyChange = useCallback((ready: boolean) => {
68
+ setIsReady(ready);
69
+ }, []);
70
+
71
+ // Reset isReady when children change (new page/tabs)
72
+ // Use useLayoutEffect to run synchronously before paint
73
+ useLayoutEffect(() => {
74
+ setIsReady(false);
75
+ }, [labelsHash]);
76
+
77
+ const inRouter = useInRouterContext();
78
+
79
+ return (
80
+ <TabsView
81
+ id={id}
82
+ className={className}
83
+ size={size}
84
+ childrenArray={childrenArray}
85
+ initialTab={initialTab}
86
+ useActiveTab={inRouter ? useActiveTabWithRouter : useActiveTabWithoutRouter}
87
+ isReady={isReady || forceReady}
88
+ labelsHash={labelsHash}
89
+ containerRef={containerRef}
90
+ onReadyChange={handleReadyChange}
91
+ />
92
+ );
93
+ }
94
+
95
+ function TabsView({
96
+ id,
97
+ className,
98
+ size,
99
+ childrenArray,
100
+ useActiveTab,
101
+ initialTab,
102
+ isReady,
103
+ labelsHash,
104
+ containerRef,
105
+ onReadyChange,
106
+ }: TabsViewProps): JSX.Element {
107
+ const { activeTab, setActiveTab } = useActiveTab(initialTab, id, childrenArray);
48
108
 
49
109
  return (
50
- <TabsContainer data-component-name="Markdoc/Tabs/Tabs" className={className} key={id}>
110
+ <TabsContainer
111
+ data-component-name="Markdoc/Tabs/Tabs"
112
+ className={className}
113
+ key={id}
114
+ $isReady={isReady}
115
+ >
51
116
  <TabList
117
+ key={labelsHash}
52
118
  size={size}
53
119
  childrenArray={childrenArray}
54
120
  activeTab={activeTab}
55
121
  onTabChange={setActiveTab}
122
+ containerRef={containerRef}
123
+ onReadyChange={onReadyChange}
56
124
  />
57
125
  {childrenArray.map((child, index) => {
58
126
  const { label } = child.props;
@@ -72,7 +140,56 @@ export function Tabs({
72
140
  </TabsContainer>
73
141
  );
74
142
  }
75
- const TabsContainer = styled.div`
143
+
144
+ /**
145
+ * Validates that the active tab exists in children and resets to initial tab if not found.
146
+ * Ensures tab state remains consistent when tab structure changes.
147
+ */
148
+ function useValidateActiveTab(
149
+ activeTab: string,
150
+ setActiveTab: (tab: string) => void,
151
+ childrenArray: React.ReactElement<TabItemProps>[],
152
+ initialTab: string,
153
+ ) {
154
+ useEffect(() => {
155
+ const availableLabels = childrenArray.map((child) => child.props.label);
156
+ if (activeTab && !availableLabels.includes(activeTab) && availableLabels.length > 0) {
157
+ setActiveTab(initialTab);
158
+ }
159
+ }, [childrenArray, activeTab, initialTab, setActiveTab]);
160
+ }
161
+
162
+ const useActiveTabWithRouter = (
163
+ initialTab: string,
164
+ tabsId: string | undefined,
165
+ childrenArray: React.ReactElement<TabItemProps>[],
166
+ ) => {
167
+ const { activeTab, setActiveTab } = useActiveTab({ initialTab, tabsId });
168
+
169
+ useValidateActiveTab(activeTab, setActiveTab, childrenArray, initialTab);
170
+
171
+ return {
172
+ activeTab,
173
+ setActiveTab,
174
+ };
175
+ };
176
+
177
+ const useActiveTabWithoutRouter = (
178
+ initialTab: string,
179
+ _tabsId: string | undefined,
180
+ childrenArray: React.ReactElement<TabItemProps>[],
181
+ ) => {
182
+ const [activeTab, setActiveTab] = useState(initialTab);
183
+
184
+ useValidateActiveTab(activeTab, setActiveTab, childrenArray, initialTab);
185
+
186
+ return {
187
+ activeTab,
188
+ setActiveTab,
189
+ };
190
+ };
191
+
192
+ const TabsContainer = styled.div<{ $isReady: boolean }>`
76
193
  position: relative;
77
194
  color: var(--md-tabs-container-text-color);
78
195
  font-size: var(--md-tabs-container-font-size);
@@ -88,6 +205,14 @@ const TabsContainer = styled.div`
88
205
  margin: 0;
89
206
  padding: 0;
90
207
  }
208
+
209
+ ${({ $isReady }) =>
210
+ !$isReady &&
211
+ css`
212
+ opacity: 0;
213
+ pointer-events: none;
214
+ overflow: hidden;
215
+ `}
91
216
  `;
92
217
 
93
218
  export const TabContent = styled.div`
@@ -20,3 +20,4 @@ export * from '@redocly/theme/markdoc/components/CodeWalkthrough/CodeToggle';
20
20
  export * from '@redocly/theme/markdoc/components/CodeWalkthrough/CodeContainer';
21
21
  export * from '@redocly/theme/markdoc/components/CodeGroup/CodeGroup';
22
22
  export * from '@redocly/theme/markdoc/components/Icon/Icon';
23
+ export * from '@redocly/theme/markdoc/components/ConnectMCP/ConnectMCP';
@@ -25,6 +25,7 @@ import { input } from '@redocly/theme/markdoc/tags/input';
25
25
  import { toggle } from '@redocly/theme/markdoc/tags/code-toggle';
26
26
  import { codeGroup } from '@redocly/theme/markdoc/tags/code-group';
27
27
  import { icon } from '@redocly/theme/markdoc/tags/icon';
28
+ import { connectMcp } from '@redocly/theme/markdoc/tags/connect-mcp';
28
29
 
29
30
  export const tags = {
30
31
  [admonition.tagName]: admonition.schema,
@@ -45,4 +46,5 @@ export const tags = {
45
46
  [input.tagName]: input.schema,
46
47
  [codeGroup.tagName]: codeGroup.schema,
47
48
  [icon.tagName]: icon.schema,
49
+ [connectMcp.tagName]: connectMcp.schema,
48
50
  };
@@ -54,7 +54,6 @@ export const card: MarkdocSchemaWrapper = {
54
54
  },
55
55
  to: { type: String, resolver: 'link' },
56
56
  },
57
- children: ['paragraph', 'tag', 'list'],
58
57
  },
59
58
  tagName: 'card',
60
59
  };
@@ -68,6 +68,7 @@ export const codeWalkthrough: MarkdocSchemaWrapper = {
68
68
  filesets: node.attributes.resolvedFilesets || [],
69
69
  steps: steps.map((step) => {
70
70
  return {
71
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
71
72
  ...((step as any)?.attributes || {}),
72
73
  } as CodeWalkthroughStepAttr;
73
74
  }),
@@ -79,6 +80,7 @@ export const codeWalkthrough: MarkdocSchemaWrapper = {
79
80
  },
80
81
  validate(node) {
81
82
  const errors: ValidationError[] = [];
83
+ /* eslint-disable-next-line no-warning-comments */
82
84
  // code-walk-todo: validate when/unless for steps, toggles, inputs, and chunks
83
85
 
84
86
  const toggleIds = Object.keys(collectTogglesFromChildren(node.children));
@@ -0,0 +1,25 @@
1
+ import type { MarkdocSchemaWrapper } from '@redocly/theme/markdoc/tags/types';
2
+
3
+ export const connectMcp: MarkdocSchemaWrapper = {
4
+ schema: {
5
+ render: 'ConnectMCP',
6
+ attributes: {
7
+ placement: {
8
+ type: String,
9
+ default: 'bottom',
10
+ matches: ['top', 'bottom'],
11
+ },
12
+ alignment: {
13
+ type: String,
14
+ default: 'start',
15
+ matches: ['start', 'end'],
16
+ },
17
+ options: {
18
+ type: Array,
19
+ default: ['cursor', 'vscode', 'copy'],
20
+ },
21
+ },
22
+ selfClosing: true,
23
+ },
24
+ tagName: 'connect-mcp',
25
+ };
@@ -12,6 +12,7 @@ export const html: MarkdocSchemaWrapper = {
12
12
  name: { type: String, required: true },
13
13
  attrs: { type: Object },
14
14
  },
15
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
15
16
  transform(node: any, config: any) {
16
17
  const { name, attrs } = node.attributes;
17
18
  const children = node.transformChildren(config);
@@ -1,28 +0,0 @@
1
- export * from './use-theme-config';
2
- export * from './use-theme-hooks';
3
- export * from './use-mobile-menu';
4
- export * from './use-controlled-state';
5
- export * from './search/use-recent-searches';
6
- export * from './search/use-suggested-pages';
7
- export * from './search/use-search-filter';
8
- export * from '../menu/__mocks__/use-mobile-menu-items';
9
- export * from '../menu/use-collapse';
10
- export * from '../use-active-heading';
11
- export * from '../use-control';
12
- export * from '../use-dialog-hotkeys';
13
- export * from '../use-full-height';
14
- export * from '../use-modal-scroll-lock';
15
- export * from '../use-mount';
16
- export * from '../use-outside-click';
17
- export * from '../use-unmount';
18
- export * from '../use-color-switcher';
19
- export * from '../menu/use-nested-menu';
20
- export * from '../menu/use-menu-item-expanded';
21
- export * from '../menu/use-mobile-menu-levels';
22
- export * from '../feedback/use-report-dialog';
23
- export * from '../use-product-picker';
24
- export * from '../search/use-search-dialog';
25
- export * from '../use-language-picker';
26
- export * from './use-element-size';
27
- export * from './use-time-ago';
28
- export * from './use-input-key-commands';
@@ -1,45 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./use-theme-config"), exports);
18
- __exportStar(require("./use-theme-hooks"), exports);
19
- __exportStar(require("./use-mobile-menu"), exports);
20
- __exportStar(require("./use-controlled-state"), exports);
21
- __exportStar(require("./search/use-recent-searches"), exports);
22
- __exportStar(require("./search/use-suggested-pages"), exports);
23
- __exportStar(require("./search/use-search-filter"), exports);
24
- __exportStar(require("../menu/__mocks__/use-mobile-menu-items"), exports);
25
- __exportStar(require("../menu/use-collapse"), exports);
26
- __exportStar(require("../use-active-heading"), exports);
27
- __exportStar(require("../use-control"), exports);
28
- __exportStar(require("../use-dialog-hotkeys"), exports);
29
- __exportStar(require("../use-full-height"), exports);
30
- __exportStar(require("../use-modal-scroll-lock"), exports);
31
- __exportStar(require("../use-mount"), exports);
32
- __exportStar(require("../use-outside-click"), exports);
33
- __exportStar(require("../use-unmount"), exports);
34
- __exportStar(require("../use-color-switcher"), exports);
35
- __exportStar(require("../menu/use-nested-menu"), exports);
36
- __exportStar(require("../menu/use-menu-item-expanded"), exports);
37
- __exportStar(require("../menu/use-mobile-menu-levels"), exports);
38
- __exportStar(require("../feedback/use-report-dialog"), exports);
39
- __exportStar(require("../use-product-picker"), exports);
40
- __exportStar(require("../search/use-search-dialog"), exports);
41
- __exportStar(require("../use-language-picker"), exports);
42
- __exportStar(require("./use-element-size"), exports);
43
- __exportStar(require("./use-time-ago"), exports);
44
- __exportStar(require("./use-input-key-commands"), exports);
45
- //# sourceMappingURL=index.js.map
@@ -1,5 +0,0 @@
1
- export declare const useRecentSearches: import("vitest").Mock<() => {
2
- items: string[];
3
- addSearchHistoryItem: (value: string) => string;
4
- removeSearchHistoryItem: (value: string) => string;
5
- }>;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useRecentSearches = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useRecentSearches = vitest_1.vi.fn(() => {
6
- const items = ['test'];
7
- return {
8
- items,
9
- addSearchHistoryItem: (value) => value,
10
- removeSearchHistoryItem: (value) => value,
11
- };
12
- });
13
- //# sourceMappingURL=use-recent-searches.js.map
@@ -1,8 +0,0 @@
1
- export declare const useSearchFilter: import("vitest").Mock<() => {
2
- isFilterOpen: boolean;
3
- onFacetReset: () => void;
4
- onFilterChange: () => void;
5
- onFilterToggle: () => void;
6
- onFilterReset: () => void;
7
- onQuickFilterReset: () => void;
8
- }>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSearchFilter = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useSearchFilter = vitest_1.vi.fn(() => {
6
- return {
7
- isFilterOpen: false,
8
- onFacetReset: () => { },
9
- onFilterChange: () => { },
10
- onFilterToggle: () => { },
11
- onFilterReset: () => { },
12
- onQuickFilterReset: () => { },
13
- };
14
- });
15
- //# sourceMappingURL=use-search-filter.js.map
@@ -1,4 +0,0 @@
1
- export declare const useSuggestedPages: import("vitest").Mock<() => {
2
- link: string;
3
- label: string;
4
- }[]>;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSuggestedPages = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useSuggestedPages = vitest_1.vi.fn(() => {
6
- return [
7
- {
8
- link: '/',
9
- label: 'some page',
10
- },
11
- ];
12
- });
13
- //# sourceMappingURL=use-suggested-pages.js.map
@@ -1 +0,0 @@
1
- export declare const useControlledState: () => (boolean | import("vitest").Mock<(...args: any[]) => any>)[];
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useControlledState = void 0;
4
- const vitest_1 = require("vitest");
5
- const useControlledState = () => [false, vitest_1.vi.fn()];
6
- exports.useControlledState = useControlledState;
7
- //# sourceMappingURL=use-controlled-state.js.map
@@ -1,4 +0,0 @@
1
- export declare function useElementSize(): (import("react").RefObject<null> | {
2
- width: number;
3
- height: number;
4
- })[];
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useElementSize = useElementSize;
4
- const react_1 = require("react");
5
- function useElementSize() {
6
- // Return mock size and a ref
7
- return [{ width: 1024, height: 768 }, (0, react_1.useRef)(null)];
8
- }
9
- //# sourceMappingURL=use-element-size.js.map
@@ -1,3 +0,0 @@
1
- export declare const useInputKeyCommands: import("vitest").Mock<() => {
2
- onKeyDown: import("vitest").Mock<(...args: any[]) => any>;
3
- }>;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useInputKeyCommands = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useInputKeyCommands = vitest_1.vi.fn(() => ({
6
- onKeyDown: vitest_1.vi.fn(),
7
- }));
8
- //# sourceMappingURL=use-input-key-commands.js.map
@@ -1 +0,0 @@
1
- export declare const useMobileMenu: () => (boolean | import("vitest").Mock<(...args: any[]) => any>)[];
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useMobileMenu = void 0;
4
- const vitest_1 = require("vitest");
5
- const useMobileMenu = () => [false, vitest_1.vi.fn()];
6
- exports.useMobileMenu = useMobileMenu;
7
- //# sourceMappingURL=use-mobile-menu.js.map
@@ -1,8 +0,0 @@
1
- export declare const useThemeConfig: import("vitest").Mock<() => {
2
- userMenu: {
3
- items: never[];
4
- };
5
- codeSnippet: {
6
- elementFormat: string;
7
- };
8
- }>;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useThemeConfig = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useThemeConfig = vitest_1.vi.fn(() => ({
6
- userMenu: {
7
- items: [],
8
- },
9
- codeSnippet: {
10
- elementFormat: 'icon',
11
- },
12
- }));
13
- //# sourceMappingURL=use-theme-config.js.map
@@ -1,69 +0,0 @@
1
- export declare const useThemeHooks: import("vitest").Mock<() => {
2
- useTranslate: import("vitest").Mock<() => {
3
- translate: import("vitest").Mock<(key: string, defaultValue: string) => any>;
4
- }>;
5
- useTelemetry: import("vitest").Mock<() => {
6
- send: import("vitest").Mock<(...args: any[]) => any>;
7
- sendCodeSnippetReportedMessage: import("vitest").Mock<(...args: any[]) => any>;
8
- }>;
9
- useBreadcrumbs: import("vitest").Mock<(...args: any[]) => any>;
10
- usePageSharedData: import("vitest").Mock<(...args: any[]) => any>;
11
- useCatalogClassic: import("vitest").Mock<() => {
12
- groups: never[];
13
- filters: never[];
14
- filterTerm: string;
15
- setFilterTerm: import("vitest").Mock<(...args: any[]) => any>;
16
- }>;
17
- useL10n: import("vitest").Mock<() => {
18
- changeLanguage: import("vitest").Mock<(...args: any[]) => any>;
19
- }>;
20
- useL10nConfig: import("vitest").Mock<() => {
21
- currentLocale: string;
22
- defaultLocale: string;
23
- locales: {
24
- code: string;
25
- name: string;
26
- }[];
27
- }>;
28
- usePreloadHistory: import("vitest").Mock<() => {
29
- push: import("vitest").Mock<(...args: any[]) => any>;
30
- }>;
31
- useCurrentProduct: import("vitest").Mock<(...args: any[]) => any>;
32
- useProducts: import("vitest").Mock<() => never[]>;
33
- useSearch: import("vitest").Mock<() => {
34
- query: import("vitest").Mock<(...args: any[]) => any>;
35
- setQuery: import("vitest").Mock<(...args: any[]) => any>;
36
- items: never[];
37
- isLoading: boolean;
38
- }>;
39
- useAiSearch: import("vitest").Mock<() => {
40
- askQuestion: import("vitest").Mock<(...args: any[]) => any>;
41
- references: never[];
42
- }>;
43
- useFacetQuery: import("vitest").Mock<() => {
44
- searchFacet: null;
45
- setSearchFacet: import("vitest").Mock<(...args: any[]) => any>;
46
- setSearchFacetQuery: import("vitest").Mock<(...args: any[]) => any>;
47
- }>;
48
- useMarkdownText: import("vitest").Mock<() => null>;
49
- useUserMenu: import("vitest").Mock<() => {
50
- userData: {
51
- isAuthenticated: boolean;
52
- name: string;
53
- email: string;
54
- picture: string;
55
- };
56
- handleLogout: import("vitest").Mock<(...args: any[]) => any>;
57
- loginUrl: string;
58
- hasDeveloperOnboarding: boolean;
59
- }>;
60
- usePageVersions: import("vitest").Mock<(...args: any[]) => any>;
61
- useSidebarItems: import("vitest").Mock<(...args: any[]) => any>;
62
- useSidebarSiblingsData: import("vitest").Mock<(...args: any[]) => any>;
63
- useSubmitFeedback: import("vitest").Mock<() => {
64
- submitFeedback: import("vitest").Mock<(...args: any[]) => any>;
65
- }>;
66
- useLoadAndNavigate: import("vitest").Mock<(...args: any[]) => any>;
67
- usePageProps: import("vitest").Mock<(...args: any[]) => any>;
68
- usePageData: import("vitest").Mock<(...args: any[]) => any>;
69
- }>;
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useThemeHooks = void 0;
4
- const vitest_1 = require("vitest");
5
- exports.useThemeHooks = vitest_1.vi.fn(() => ({
6
- useTranslate: vitest_1.vi.fn(() => ({
7
- translate: vitest_1.vi.fn((key, defaultValue) => defaultValue
8
- ? typeof defaultValue !== 'string'
9
- ? defaultValue.defaultValue
10
- : defaultValue
11
- : key),
12
- })),
13
- useTelemetry: vitest_1.vi.fn(() => ({
14
- send: vitest_1.vi.fn(),
15
- sendCodeSnippetReportedMessage: vitest_1.vi.fn(),
16
- })),
17
- useBreadcrumbs: vitest_1.vi.fn().mockReturnValue({ breadcrumbs: [], siblings: undefined }),
18
- usePageSharedData: vitest_1.vi.fn().mockReturnValue({}),
19
- useCatalogClassic: vitest_1.vi.fn(() => ({
20
- groups: [],
21
- filters: [],
22
- filterTerm: '',
23
- setFilterTerm: vitest_1.vi.fn(),
24
- })),
25
- useL10n: vitest_1.vi.fn(() => ({
26
- changeLanguage: vitest_1.vi.fn(),
27
- })),
28
- useL10nConfig: vitest_1.vi.fn(() => ({
29
- currentLocale: 'en',
30
- defaultLocale: 'en',
31
- locales: [
32
- { code: 'en', name: 'English' },
33
- { code: 'fr', name: 'France' },
34
- { code: 'uk', name: 'Ukraine' },
35
- ],
36
- })),
37
- usePreloadHistory: vitest_1.vi.fn(() => ({
38
- push: vitest_1.vi.fn(),
39
- })),
40
- useCurrentProduct: vitest_1.vi.fn(),
41
- useProducts: vitest_1.vi.fn(() => []),
42
- useSearch: vitest_1.vi.fn(() => ({
43
- query: vitest_1.vi.fn().mockReturnValue(''),
44
- setQuery: vitest_1.vi.fn(),
45
- items: [],
46
- isLoading: false,
47
- })),
48
- useAiSearch: vitest_1.vi.fn(() => ({
49
- askQuestion: vitest_1.vi.fn(),
50
- references: [],
51
- })),
52
- useFacetQuery: vitest_1.vi.fn(() => ({
53
- searchFacet: null,
54
- setSearchFacet: vitest_1.vi.fn(),
55
- setSearchFacetQuery: vitest_1.vi.fn(),
56
- })),
57
- useMarkdownText: vitest_1.vi.fn(() => {
58
- return null;
59
- }),
60
- useUserMenu: vitest_1.vi.fn(() => ({
61
- userData: {
62
- isAuthenticated: true,
63
- name: 'test-name',
64
- email: 'test-email@test.xyz',
65
- picture: 'picture',
66
- },
67
- handleLogout: vitest_1.vi.fn(),
68
- loginUrl: 'https://login.redoc.ly',
69
- hasDeveloperOnboarding: true,
70
- })),
71
- usePageVersions: vitest_1.vi.fn(),
72
- useSidebarItems: vitest_1.vi.fn().mockReturnValue({
73
- currentItems: [
74
- {
75
- label: 'Item',
76
- },
77
- ],
78
- allSidebarItems: [
79
- {
80
- label: 'Item',
81
- },
82
- ],
83
- popDrilldownState: vitest_1.vi.fn(),
84
- pushDrilldownState: vitest_1.vi.fn(),
85
- }),
86
- useSidebarSiblingsData: vitest_1.vi.fn(),
87
- useSubmitFeedback: vitest_1.vi.fn(() => ({
88
- submitFeedback: vitest_1.vi.fn(),
89
- })),
90
- useLoadAndNavigate: vitest_1.vi.fn(),
91
- usePageProps: vitest_1.vi.fn().mockReturnValue({}),
92
- usePageData: vitest_1.vi.fn().mockReturnValue(null),
93
- }));
94
- //# sourceMappingURL=use-theme-hooks.js.map
@@ -1,3 +0,0 @@
1
- export declare const useTimeAgo: import("vitest").Mock<() => {
2
- format: () => "5 days ago";
3
- }>;