@redocly/theme 0.9.15 → 0.11.0

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 (901) hide show
  1. package/lib/components/ApiOnboarding/AppCustomAttributes.js +10 -0
  2. package/lib/components/Button/Button.js +156 -0
  3. package/lib/components/Button/index.d.ts +1 -0
  4. package/lib/components/Button/index.js +18 -0
  5. package/lib/components/Cards/Card.d.ts +8 -0
  6. package/lib/components/Cards/Card.js +36 -0
  7. package/lib/components/Cards/index.d.ts +2 -0
  8. package/lib/components/Cards/index.js +19 -0
  9. package/lib/components/Catalog/Catalog.d.ts +8 -0
  10. package/lib/components/Catalog/Catalog.js +167 -0
  11. package/lib/components/Catalog/CatalogCard.d.ts +5 -0
  12. package/lib/components/Catalog/CatalogCard.js +113 -0
  13. package/lib/components/Catalog/useCatalog.d.ts +3 -0
  14. package/lib/components/Catalog/useCatalog.js +241 -0
  15. package/lib/components/CodeBlock/CodeBlock.js +103 -0
  16. package/lib/components/CodeBlock/index.d.ts +1 -0
  17. package/lib/components/CodeBlock/index.js +18 -0
  18. package/lib/components/CodeSample/CodeSample.js +217 -0
  19. package/lib/components/CodeSample/index.d.ts +1 -0
  20. package/lib/components/CodeSample/index.js +18 -0
  21. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +81 -0
  22. package/lib/components/ColorModeSwitcher/index.d.ts +1 -0
  23. package/lib/components/ColorModeSwitcher/index.js +18 -0
  24. package/lib/components/CopyButton/CopyButton.js +54 -0
  25. package/lib/components/CopyButton/CopyButtonWrapper.d.ts +11 -0
  26. package/lib/components/CopyButton/CopyButtonWrapper.js +53 -0
  27. package/lib/components/CopyButton/index.d.ts +2 -0
  28. package/lib/components/CopyButton/index.js +19 -0
  29. package/lib/components/EditPageButton/EditPageButton.js +36 -0
  30. package/lib/components/EditPageButton/index.d.ts +1 -0
  31. package/lib/components/EditPageButton/index.js +18 -0
  32. package/lib/components/Feedback/Comment.d.ts +3 -0
  33. package/lib/components/Feedback/Comment.js +93 -0
  34. package/lib/components/Feedback/Feedback.d.ts +5 -0
  35. package/lib/components/Feedback/Feedback.js +54 -0
  36. package/lib/components/Feedback/Rating.d.ts +3 -0
  37. package/lib/components/Feedback/Rating.js +82 -0
  38. package/lib/components/Feedback/Reasons.d.ts +3 -0
  39. package/lib/components/Feedback/Reasons.js +85 -0
  40. package/lib/components/Feedback/ReportDialog.d.ts +3 -0
  41. package/lib/components/Feedback/ReportDialog.js +64 -0
  42. package/lib/components/Feedback/Sentiment.d.ts +3 -0
  43. package/lib/components/Feedback/Sentiment.js +79 -0
  44. package/lib/components/Feedback/index.d.ts +8 -0
  45. package/lib/components/Feedback/index.js +33 -0
  46. package/lib/components/Feedback/types.d.ts +76 -0
  47. package/lib/components/Filter/Filter.d.ts +5 -0
  48. package/lib/components/Filter/Filter.js +86 -0
  49. package/lib/components/Filter/index.d.ts +1 -0
  50. package/lib/components/Filter/index.js +18 -0
  51. package/lib/components/Footer/CustomFooter.d.ts +7 -0
  52. package/lib/components/Footer/CustomFooter.js +35 -0
  53. package/lib/components/Footer/CustomFooterNavItem.d.ts +7 -0
  54. package/lib/components/Footer/CustomFooterNavItem.js +33 -0
  55. package/lib/components/Footer/Footer.d.ts +9 -0
  56. package/lib/components/Footer/Footer.js +40 -0
  57. package/lib/components/Footer/FooterColumn.d.ts +7 -0
  58. package/lib/components/Footer/FooterColumn.js +54 -0
  59. package/lib/components/Footer/FooterColumns.d.ts +9 -0
  60. package/lib/components/Footer/FooterColumns.js +44 -0
  61. package/lib/components/Footer/FooterCopyright.d.ts +7 -0
  62. package/lib/components/Footer/index.d.ts +4 -0
  63. package/lib/components/Footer/index.js +21 -0
  64. package/lib/components/JsonViewer/JsonViewer.js +240 -0
  65. package/lib/components/JsonViewer/index.d.ts +1 -0
  66. package/lib/components/JsonViewer/index.js +18 -0
  67. package/lib/components/LastUpdated/LastUpdated.js +75 -0
  68. package/lib/components/Markdown/Admonition.js +56 -0
  69. package/lib/components/Markdown/Heading.js +48 -0
  70. package/lib/components/Markdown/MarkdownLayout.d.ts +18 -0
  71. package/lib/components/Markdown/MarkdownLayout.js +40 -0
  72. package/lib/components/Markdown/MarkdownWrapper.js +394 -0
  73. package/lib/components/Markdown/index.d.ts +9 -0
  74. package/lib/components/Markdown/index.js +26 -0
  75. package/lib/components/Menu/Menu.d.ts +10 -0
  76. package/lib/components/Menu/Menu.js +28 -0
  77. package/lib/components/Menu/MenuContainer.js +17 -0
  78. package/lib/components/Menu/MenuGroup.d.ts +9 -0
  79. package/lib/components/Menu/MenuGroup.js +88 -0
  80. package/lib/components/Menu/MenuItem.d.ts +3 -0
  81. package/lib/components/Menu/MenuItem.js +23 -0
  82. package/lib/components/Menu/MenuItemLabel.js +46 -0
  83. package/lib/components/Menu/MenuItemSwitch.d.ts +3 -0
  84. package/lib/components/Menu/MenuItemSwitch.js +39 -0
  85. package/lib/components/Menu/MenuLink.d.ts +4 -0
  86. package/lib/components/Menu/MenuLink.js +15 -0
  87. package/lib/components/Menu/MenuLinkItem.d.ts +3 -0
  88. package/lib/components/Menu/MenuLinkItem.js +15 -0
  89. package/lib/components/Menu/index.d.ts +7 -0
  90. package/lib/components/Menu/index.js +24 -0
  91. package/lib/components/Navbar/MobileNavbarDropdown.d.ts +8 -0
  92. package/lib/components/Navbar/MobileNavbarDropdown.js +30 -0
  93. package/lib/components/Navbar/MobileNavbarItem.d.ts +15 -0
  94. package/lib/components/Navbar/MobileNavbarItem.js +106 -0
  95. package/lib/components/Navbar/MobileNavbarMenu.d.ts +7 -0
  96. package/lib/components/Navbar/MobileNavbarMenu.js +104 -0
  97. package/lib/components/Navbar/MobileNavbarMenuButton.d.ts +4 -0
  98. package/lib/components/Navbar/MobileNavbarMenuButton.js +18 -0
  99. package/lib/components/Navbar/Navbar.d.ts +17 -0
  100. package/lib/components/Navbar/Navbar.js +132 -0
  101. package/lib/components/Navbar/NavbarDropdown.d.ts +8 -0
  102. package/lib/components/Navbar/NavbarDropdown.js +38 -0
  103. package/lib/components/Navbar/NavbarItem.d.ts +13 -0
  104. package/lib/components/Navbar/NavbarItem.js +72 -0
  105. package/lib/components/Navbar/NavbarMenu.d.ts +5 -0
  106. package/lib/components/Navbar/NavbarMenu.js +34 -0
  107. package/lib/components/Navbar/index.d.ts +3 -0
  108. package/lib/components/Navbar/index.js +20 -0
  109. package/lib/components/NavbarLogo/NavbarLogo.d.ts +6 -0
  110. package/lib/components/NavbarLogo/NavbarLogo.js +24 -0
  111. package/lib/components/NavbarLogo/index.d.ts +1 -0
  112. package/lib/components/NavbarLogo/index.js +18 -0
  113. package/lib/components/OpenAPIDocs/DevOnboardingTryItSecurity.js +177 -0
  114. package/lib/components/OpenAPIDocs/TryItSecurityApps.d.ts +8 -0
  115. package/lib/components/OpenAPIDocs/TryItSecurityApps.js +15 -0
  116. package/lib/components/OperationBadge/index.d.ts +1 -0
  117. package/lib/components/OperationBadge/index.js +18 -0
  118. package/lib/components/PageNavigation/NextButton.d.ts +7 -0
  119. package/lib/components/PageNavigation/NextButton.js +47 -0
  120. package/lib/components/PageNavigation/PageNavigation.d.ts +8 -0
  121. package/lib/components/PageNavigation/PageNavigation.js +32 -0
  122. package/lib/components/PageNavigation/PreviousButton.d.ts +7 -0
  123. package/lib/components/PageNavigation/PreviousButton.js +24 -0
  124. package/lib/components/PageNavigation/index.d.ts +3 -0
  125. package/lib/components/PageNavigation/index.js +20 -0
  126. package/lib/components/Panel/Panel.d.ts +5 -0
  127. package/lib/components/Panel/Panel.js +39 -0
  128. package/lib/components/Panel/PanelComponent.d.ts +13 -0
  129. package/lib/components/Panel/PanelComponent.js +65 -0
  130. package/lib/components/Panel/index.d.ts +5 -0
  131. package/lib/components/Panel/index.js +22 -0
  132. package/lib/components/Profile/AuthUserProfile.d.ts +2 -0
  133. package/lib/components/Profile/AuthUserProfile.js +22 -0
  134. package/lib/components/Profile/LoginLink.js +30 -0
  135. package/lib/components/Profile/Profile.js +104 -0
  136. package/lib/components/Profile/UserProfile.d.ts +3 -0
  137. package/lib/components/Profile/UserProfile.js +46 -0
  138. package/lib/components/Profile/UserProfileMenu.js +87 -0
  139. package/lib/components/Profile/index.d.ts +6 -0
  140. package/lib/components/Profile/types.d.ts +11 -0
  141. package/lib/components/Profile/types.js +3 -0
  142. package/lib/components/SamplesPanelControls/SamplesPanelControls.js +75 -0
  143. package/lib/components/SamplesPanelControls/index.d.ts +1 -0
  144. package/lib/components/SamplesPanelControls/index.js +18 -0
  145. package/lib/components/Search/Autocomplete.d.ts +16 -0
  146. package/lib/components/Search/Autocomplete.js +122 -0
  147. package/lib/components/Search/Parameters.d.ts +7 -0
  148. package/lib/components/Search/Parameters.js +55 -0
  149. package/lib/components/Search/Search.js +65 -0
  150. package/lib/components/Search/SearchItem.d.ts +8 -0
  151. package/lib/components/Search/SearchItem.js +98 -0
  152. package/lib/components/Search/SidebarSearch.d.ts +4 -0
  153. package/lib/components/Search/SidebarSearch.js +20 -0
  154. package/lib/components/Search/index.d.ts +9 -0
  155. package/lib/components/Search/index.js +26 -0
  156. package/lib/components/Separator/Separator.d.ts +3 -0
  157. package/lib/components/Separator/Separator.js +18 -0
  158. package/lib/components/Separator/SeparatorItem.js +29 -0
  159. package/lib/components/Separator/index.d.ts +3 -0
  160. package/lib/components/Separator/index.js +20 -0
  161. package/lib/components/Sidebar/ApiCallItem.d.ts +9 -0
  162. package/lib/components/Sidebar/ApiCallItem.js +34 -0
  163. package/lib/components/Sidebar/BackButton.js +39 -0
  164. package/lib/components/Sidebar/Drilldown.d.ts +8 -0
  165. package/lib/components/Sidebar/Drilldown.js +43 -0
  166. package/lib/components/Sidebar/DrilldownMenu.d.ts +3 -0
  167. package/lib/components/Sidebar/DrilldownMenu.js +71 -0
  168. package/lib/components/Sidebar/DrilldownMenuItem.d.ts +3 -0
  169. package/lib/components/Sidebar/SidebarLayout.js +85 -0
  170. package/lib/components/Sidebar/index.d.ts +11 -0
  171. package/lib/components/Sidebar/index.js +28 -0
  172. package/lib/components/Sidebar/types.d.ts +43 -0
  173. package/lib/components/Sidebar/types.js +8 -0
  174. package/lib/components/SidebarActions/ChangeViewButton.d.ts +8 -0
  175. package/lib/components/SidebarActions/ChangeViewButton.js +14 -0
  176. package/lib/components/SidebarActions/CollapseSidebarButton.js +13 -0
  177. package/lib/components/SidebarActions/SidebarActions.js +26 -0
  178. package/lib/components/SidebarActions/ToggleRightPanelButton.js +13 -0
  179. package/lib/components/SidebarActions/index.d.ts +1 -0
  180. package/lib/components/SidebarActions/index.js +7 -0
  181. package/lib/components/SidebarLogo/index.d.ts +1 -0
  182. package/lib/components/SidebarLogo/index.js +18 -0
  183. package/lib/components/SourceCode/SourceCode.js +60 -0
  184. package/lib/components/SourceCode/index.d.ts +1 -0
  185. package/lib/components/SourceCode/index.js +18 -0
  186. package/lib/components/TableOfContent/TableOfContent.d.ts +8 -0
  187. package/lib/components/TableOfContent/TableOfContent.js +109 -0
  188. package/lib/components/TableOfContent/index.d.ts +1 -0
  189. package/lib/components/TableOfContent/index.js +18 -0
  190. package/lib/components/TableOfContent/utils.d.ts +4 -0
  191. package/lib/components/Tabs/Tabs.d.ts +11 -0
  192. package/lib/components/Tabs/Tabs.js +73 -0
  193. package/lib/components/Tabs/index.d.ts +2 -0
  194. package/lib/components/Tabs/index.js +19 -0
  195. package/lib/components/Tags/Tags.js +32 -0
  196. package/lib/components/Tags/index.d.ts +1 -0
  197. package/lib/components/Tags/index.js +18 -0
  198. package/lib/components/Tiles/ThinTile.d.ts +5 -0
  199. package/lib/components/Tiles/ThinTile.js +124 -0
  200. package/lib/components/Tiles/WideTile.d.ts +7 -0
  201. package/lib/components/Tiles/WideTile.js +114 -0
  202. package/lib/components/Tiles/index.d.ts +4 -0
  203. package/lib/components/Tiles/index.js +21 -0
  204. package/lib/components/Tiles/types.d.ts +17 -0
  205. package/lib/components/Tiles/types.js +3 -0
  206. package/lib/components/Tooltip/Tooltip.js +173 -0
  207. package/lib/components/Tooltip/index.d.ts +1 -0
  208. package/lib/components/Tooltip/index.js +18 -0
  209. package/lib/components/Typography/CompactTypography.d.ts +7 -0
  210. package/lib/components/Typography/CompactTypography.js +14 -0
  211. package/lib/components/Typography/H1.js +17 -0
  212. package/lib/components/Typography/H2.js +17 -0
  213. package/lib/components/Typography/H3.js +17 -0
  214. package/lib/components/Typography/index.d.ts +7 -0
  215. package/lib/components/Typography/index.js +24 -0
  216. package/lib/components/index.d.ts +28 -0
  217. package/lib/components/index.js +45 -0
  218. package/lib/hooks/useThemeConfig.d.ts +4 -1
  219. package/lib/hooks/useThemeConfig.js +7 -3
  220. package/lib/icons/ExternalIcon/ExternalIcon.d.ts +5 -0
  221. package/lib/icons/ExternalIcon/ExternalIcon.js +22 -0
  222. package/lib/icons/ExternalIcon/index.d.ts +1 -0
  223. package/lib/icons/ExternalIcon/index.js +18 -0
  224. package/lib/icons/index.d.ts +1 -0
  225. package/lib/icons/index.js +1 -0
  226. package/lib/index.d.ts +3 -21
  227. package/lib/index.js +3 -21
  228. package/lib/layouts/Forbidden.js +39 -0
  229. package/lib/layouts/NotFound.js +39 -0
  230. package/lib/layouts/RootLayout.d.ts +6 -0
  231. package/lib/layouts/RootLayout.js +19 -0
  232. package/lib/layouts/index.d.ts +4 -0
  233. package/lib/layouts/index.js +21 -0
  234. package/lib/mocks/Profile/useProfileProps.d.ts +1 -0
  235. package/lib/mocks/Profile/useProfileProps.js +17 -0
  236. package/lib/mocks/Sidebar/getMenuType.d.ts +2 -0
  237. package/lib/mocks/Sidebar/getMenuType.js +10 -0
  238. package/lib/mocks/Sidebar/types.d.ts +11 -0
  239. package/lib/mocks/Sidebar/types.js +11 -0
  240. package/lib/mocks/Sidebar/useDrilldown.d.ts +8 -0
  241. package/lib/mocks/Sidebar/useDrilldown.js +19 -0
  242. package/lib/mocks/Sidebar/useMenuGroup.d.ts +6 -0
  243. package/lib/mocks/Sidebar/useMenuGroup.js +17 -0
  244. package/lib/mocks/hooks/index.d.ts +2 -2
  245. package/lib/mocks/hooks/usePageData.d.ts +1 -1
  246. package/lib/types/portal/index.d.ts +2 -0
  247. package/lib/types/portal/index.js +18 -0
  248. package/lib/types/portal/src/shared/constants.d.ts +17 -0
  249. package/lib/types/portal/src/shared/constants.js +22 -0
  250. package/lib/types/portal/src/shared/types/activeItem.d.ts +3 -0
  251. package/lib/types/portal/src/shared/types/activeItem.js +3 -0
  252. package/lib/types/portal/src/shared/types/catalog.d.ts +49 -0
  253. package/lib/types/portal/src/shared/types/catalog.js +3 -0
  254. package/lib/types/portal/src/shared/types/feedback.d.ts +11 -0
  255. package/lib/types/portal/src/shared/types/feedback.js +3 -0
  256. package/lib/types/portal/src/shared/types/markdown.d.ts +5 -0
  257. package/lib/types/portal/src/shared/types/markdown.js +3 -0
  258. package/lib/types/portal/src/shared/types/nav.d.ts +149 -0
  259. package/lib/types/portal/src/shared/types/nav.js +8 -0
  260. package/lib/types/portal/src/shared/types/searchDocument.d.ts +19 -0
  261. package/lib/types/portal/src/shared/types/searchDocument.js +5 -0
  262. package/lib/ui/ArrowBack.d.ts +5 -0
  263. package/lib/ui/ArrowBack.js +22 -0
  264. package/lib/ui/Dropdown.d.ts +1 -1
  265. package/lib/ui/Jumbotron.js +1 -1
  266. package/lib/ui/index.d.ts +1 -1
  267. package/lib/ui/index.js +1 -1
  268. package/lib/utils/index.d.ts +2 -0
  269. package/lib/utils/index.js +2 -0
  270. package/lib/utils/jsUtils.d.ts +4 -0
  271. package/lib/utils/jsUtils.js +21 -0
  272. package/lib/utils/urls.d.ts +11 -0
  273. package/lib/utils/urls.js +55 -0
  274. package/package.json +1 -1
  275. package/src/components/ApiOnboarding/AppCustomAttributes.tsx +9 -0
  276. package/src/components/Button/index.ts +1 -0
  277. package/src/components/Cards/Card.tsx +49 -0
  278. package/src/components/Cards/index.ts +2 -0
  279. package/src/components/Catalog/Catalog.tsx +200 -0
  280. package/src/components/Catalog/CatalogCard.tsx +95 -0
  281. package/src/components/Catalog/useCatalog.ts +280 -0
  282. package/src/components/CodeBlock/index.ts +1 -0
  283. package/src/components/CodeSample/CodeSample.tsx +236 -0
  284. package/src/components/CodeSample/index.ts +1 -0
  285. package/src/components/ColorModeSwitcher/index.ts +1 -0
  286. package/src/components/CopyButton/CopyButton.tsx +31 -0
  287. package/src/components/CopyButton/CopyButtonWrapper.tsx +55 -0
  288. package/src/components/CopyButton/index.ts +2 -0
  289. package/src/components/EditPageButton/index.ts +1 -0
  290. package/src/components/Feedback/Comment.tsx +80 -0
  291. package/src/components/Feedback/Feedback.tsx +47 -0
  292. package/src/components/Feedback/Rating.tsx +107 -0
  293. package/src/components/Feedback/Reasons.tsx +81 -0
  294. package/src/components/Feedback/ReportDialog.tsx +51 -0
  295. package/src/components/Feedback/Sentiment.tsx +74 -0
  296. package/src/components/Feedback/index.ts +8 -0
  297. package/src/components/Feedback/types.ts +69 -0
  298. package/src/components/Feedback/useReportDialog.ts +34 -0
  299. package/src/components/Filter/index.ts +1 -0
  300. package/src/components/Footer/CustomFooter.tsx +45 -0
  301. package/src/components/Footer/Footer.tsx +54 -0
  302. package/src/components/Footer/FooterColumns.tsx +53 -0
  303. package/src/components/Footer/index.ts +4 -0
  304. package/src/components/JsonViewer/JsonViewer.tsx +256 -0
  305. package/src/components/JsonViewer/index.ts +1 -0
  306. package/src/components/Markdown/MarkdownLayout.tsx +69 -0
  307. package/src/components/Markdown/index.ts +9 -0
  308. package/src/components/Menu/Menu.tsx +38 -0
  309. package/src/components/Menu/MenuContainer.tsx +15 -0
  310. package/src/components/Menu/MenuGroup.tsx +91 -0
  311. package/src/components/Menu/MenuItem.tsx +25 -0
  312. package/src/components/Menu/MenuItemLabel.tsx +41 -0
  313. package/src/components/Menu/MenuItemSwitch.tsx +63 -0
  314. package/src/components/Menu/MenuLinkItem.tsx +24 -0
  315. package/src/components/Menu/index.ts +7 -0
  316. package/src/components/Navbar/MobileNavbarItem.tsx +115 -0
  317. package/src/components/Navbar/MobileNavbarMenu.tsx +125 -0
  318. package/src/components/Navbar/Navbar.tsx +149 -0
  319. package/src/components/Navbar/NavbarItem.tsx +102 -0
  320. package/src/components/Navbar/NavbarMenu.tsx +37 -0
  321. package/src/components/Navbar/index.ts +3 -0
  322. package/src/components/NavbarLogo/index.ts +1 -0
  323. package/src/components/OpenAPIDocs/DevOnboardingTryItSecurity.tsx +178 -0
  324. package/src/components/OpenAPIDocs/TryItSecurityApps.tsx +18 -0
  325. package/src/components/OperationBadge/index.ts +1 -0
  326. package/src/components/PageNavigation/NextButton.tsx +38 -0
  327. package/src/components/PageNavigation/PageNavigation.tsx +37 -0
  328. package/src/components/PageNavigation/PreviousButton.tsx +38 -0
  329. package/src/components/PageNavigation/index.ts +3 -0
  330. package/src/components/Panel/Panel.ts +34 -0
  331. package/src/components/Panel/PanelComponent.tsx +79 -0
  332. package/src/components/Panel/index.ts +5 -0
  333. package/src/components/Profile/AuthUserProfile.tsx +25 -0
  334. package/src/components/Profile/UserProfile.tsx +46 -0
  335. package/src/components/Profile/index.ts +6 -0
  336. package/src/components/Profile/types.ts +11 -0
  337. package/src/components/SamplesPanelControls/SamplesPanelControls.ts +73 -0
  338. package/src/components/SamplesPanelControls/index.ts +1 -0
  339. package/src/components/Search/Autocomplete.tsx +148 -0
  340. package/src/components/Search/Parameters.tsx +61 -0
  341. package/src/components/Search/Search.tsx +50 -0
  342. package/src/components/Search/SearchItem.tsx +91 -0
  343. package/src/components/Search/SidebarSearch.tsx +15 -0
  344. package/src/components/Search/index.ts +9 -0
  345. package/src/components/Separator/Separator.tsx +17 -0
  346. package/src/components/Separator/SeparatorItem.tsx +24 -0
  347. package/src/components/Separator/index.ts +3 -0
  348. package/src/components/Sidebar/ApiCallItem.tsx +39 -0
  349. package/src/components/Sidebar/BackButton.tsx +44 -0
  350. package/src/components/Sidebar/Drilldown.tsx +44 -0
  351. package/src/components/Sidebar/DrilldownMenu.tsx +58 -0
  352. package/src/components/Sidebar/DrilldownMenuItem.tsx +44 -0
  353. package/src/components/Sidebar/SidebarLayout.tsx +107 -0
  354. package/src/components/Sidebar/index.ts +11 -0
  355. package/src/components/Sidebar/types.ts +47 -0
  356. package/src/components/SidebarActions/ChangeViewButton.tsx +24 -0
  357. package/src/components/SidebarActions/CollapseSidebarButton.tsx +25 -0
  358. package/src/components/SidebarActions/SidebarActions.tsx +71 -0
  359. package/src/components/SidebarActions/ToggleRightPanelButton.tsx +25 -0
  360. package/src/components/SidebarActions/index.tsx +1 -0
  361. package/src/components/SidebarLogo/index.ts +1 -0
  362. package/src/components/SourceCode/SourceCode.tsx +128 -0
  363. package/src/components/SourceCode/index.ts +1 -0
  364. package/src/components/TableOfContent/TableOfContent.tsx +116 -0
  365. package/src/components/TableOfContent/index.ts +1 -0
  366. package/src/components/Tabs/Tabs.tsx +58 -0
  367. package/src/components/Tabs/index.ts +2 -0
  368. package/src/components/Tags/index.ts +1 -0
  369. package/src/components/Tiles/ThinTile.tsx +134 -0
  370. package/src/components/Tiles/WideTile.tsx +138 -0
  371. package/src/components/Tiles/index.ts +4 -0
  372. package/src/components/Tiles/types.ts +19 -0
  373. package/src/components/Tooltip/index.ts +1 -0
  374. package/src/components/Typography/CompactTypography.ts +9 -0
  375. package/src/components/Typography/index.ts +7 -0
  376. package/src/components/index.ts +28 -0
  377. package/src/hooks/useThemeConfig.ts +10 -1
  378. package/src/icons/ExternalIcon/ExternalIcon.tsx +44 -0
  379. package/src/icons/ExternalIcon/index.ts +1 -0
  380. package/src/icons/index.ts +1 -0
  381. package/src/index.ts +3 -21
  382. package/src/layouts/Forbidden.tsx +41 -0
  383. package/src/layouts/NotFound.tsx +42 -0
  384. package/src/layouts/RootLayout.tsx +21 -0
  385. package/src/layouts/index.ts +4 -0
  386. package/src/mocks/Profile/useProfileProps.tsx +12 -0
  387. package/src/mocks/Sidebar/getMenuType.ts +6 -0
  388. package/src/mocks/Sidebar/types.ts +15 -0
  389. package/src/mocks/Sidebar/useDrilldown.tsx +12 -0
  390. package/src/mocks/Sidebar/useMenuGroup.tsx +10 -0
  391. package/src/types/portal/src/shared/constants.ts +17 -0
  392. package/src/types/portal/src/shared/types/activeItem.ts +1 -0
  393. package/src/types/portal/src/shared/types/catalog.ts +51 -0
  394. package/src/types/portal/src/shared/types/feedback.ts +14 -0
  395. package/src/types/portal/src/shared/types/markdown.ts +6 -0
  396. package/src/types/portal/src/shared/types/nav.ts +167 -0
  397. package/src/types/portal/src/shared/types/searchDocument.ts +20 -0
  398. package/src/ui/ArrowBack.tsx +34 -0
  399. package/src/ui/Jumbotron.tsx +1 -1
  400. package/src/ui/index.tsx +1 -1
  401. package/src/utils/index.ts +2 -0
  402. package/src/utils/jsUtils.ts +18 -0
  403. package/src/utils/urls.ts +54 -0
  404. package/lib/ApiOnboarding/AppCustomAttributes.js +0 -8
  405. package/lib/Button/Button.js +0 -156
  406. package/lib/Button/index.d.ts +0 -1
  407. package/lib/Button/index.js +0 -18
  408. package/lib/Cards/Card.d.ts +0 -8
  409. package/lib/Cards/Card.js +0 -36
  410. package/lib/Catalog/Catalog.d.ts +0 -8
  411. package/lib/Catalog/Catalog.js +0 -167
  412. package/lib/Catalog/CatalogCard.d.ts +0 -5
  413. package/lib/Catalog/CatalogCard.js +0 -113
  414. package/lib/Catalog/Filter.d.ts +0 -5
  415. package/lib/Catalog/Filter.js +0 -86
  416. package/lib/Catalog/Tags.js +0 -32
  417. package/lib/CodeBlock/CodeBlock.js +0 -103
  418. package/lib/CodeBlock/index.d.ts +0 -1
  419. package/lib/CodeBlock/index.js +0 -18
  420. package/lib/ColorModeSwitcher/ColorModeSwitcher.js +0 -81
  421. package/lib/ColorModeSwitcher/index.d.ts +0 -1
  422. package/lib/ColorModeSwitcher/index.js +0 -18
  423. package/lib/CopyButton/CopyButton.js +0 -54
  424. package/lib/CopyButton/CopyButtonWrapper.d.ts +0 -11
  425. package/lib/CopyButton/CopyButtonWrapper.js +0 -53
  426. package/lib/CopyButton/index.d.ts +0 -2
  427. package/lib/CopyButton/index.js +0 -19
  428. package/lib/EditPageButton/EditPageButton.js +0 -36
  429. package/lib/EditPageButton/index.d.ts +0 -1
  430. package/lib/EditPageButton/index.js +0 -18
  431. package/lib/Feedback/Comment.d.ts +0 -3
  432. package/lib/Feedback/Comment.js +0 -93
  433. package/lib/Feedback/Feedback.d.ts +0 -5
  434. package/lib/Feedback/Feedback.js +0 -50
  435. package/lib/Feedback/Rating.d.ts +0 -3
  436. package/lib/Feedback/Rating.js +0 -82
  437. package/lib/Feedback/Reasons.d.ts +0 -3
  438. package/lib/Feedback/Reasons.js +0 -85
  439. package/lib/Feedback/ReportDialog.d.ts +0 -3
  440. package/lib/Feedback/ReportDialog.js +0 -66
  441. package/lib/Feedback/Sentiment.d.ts +0 -3
  442. package/lib/Feedback/Sentiment.js +0 -79
  443. package/lib/Feedback/index.d.ts +0 -8
  444. package/lib/Feedback/index.js +0 -33
  445. package/lib/Feedback/types.d.ts +0 -74
  446. package/lib/Footer/CustomFooter.d.ts +0 -7
  447. package/lib/Footer/CustomFooter.js +0 -35
  448. package/lib/Footer/CustomFooterNavItem.d.ts +0 -7
  449. package/lib/Footer/CustomFooterNavItem.js +0 -33
  450. package/lib/Footer/Footer.d.ts +0 -10
  451. package/lib/Footer/Footer.js +0 -35
  452. package/lib/Footer/FooterColumn.d.ts +0 -7
  453. package/lib/Footer/FooterColumn.js +0 -54
  454. package/lib/Footer/FooterColumns.d.ts +0 -9
  455. package/lib/Footer/FooterColumns.js +0 -44
  456. package/lib/Footer/FooterCopyright.d.ts +0 -7
  457. package/lib/Footer/index.d.ts +0 -4
  458. package/lib/Footer/index.js +0 -21
  459. package/lib/JsonViewer/JsonViewer.js +0 -240
  460. package/lib/JsonViewer/index.d.ts +0 -1
  461. package/lib/JsonViewer/index.js +0 -18
  462. package/lib/LastUpdated/LastUpdated.js +0 -75
  463. package/lib/Layout/RootLayout.d.ts +0 -7
  464. package/lib/Layout/RootLayout.js +0 -19
  465. package/lib/Layout/index.d.ts +0 -2
  466. package/lib/Layout/index.js +0 -19
  467. package/lib/Markdown/Admonition.js +0 -56
  468. package/lib/Markdown/CodeSample/CodeSample.js +0 -217
  469. package/lib/Markdown/CodeSample/index.d.ts +0 -1
  470. package/lib/Markdown/CodeSample/index.js +0 -18
  471. package/lib/Markdown/Heading.js +0 -48
  472. package/lib/Markdown/MarkdownLayout.d.ts +0 -15
  473. package/lib/Markdown/MarkdownLayout.js +0 -40
  474. package/lib/Markdown/MarkdownWrapper.js +0 -394
  475. package/lib/Markdown/Tabs/Tabs.d.ts +0 -10
  476. package/lib/Markdown/Tabs/Tabs.js +0 -71
  477. package/lib/Markdown/Tabs/index.d.ts +0 -2
  478. package/lib/Markdown/Tabs/index.js +0 -19
  479. package/lib/Markdown/index.d.ts +0 -10
  480. package/lib/Markdown/index.js +0 -27
  481. package/lib/Navbar/MobileNavbarDropdown.d.ts +0 -8
  482. package/lib/Navbar/MobileNavbarDropdown.js +0 -30
  483. package/lib/Navbar/MobileNavbarItem.d.ts +0 -15
  484. package/lib/Navbar/MobileNavbarItem.js +0 -106
  485. package/lib/Navbar/MobileNavbarMenu.d.ts +0 -7
  486. package/lib/Navbar/MobileNavbarMenu.js +0 -104
  487. package/lib/Navbar/MobileNavbarMenuButton.d.ts +0 -4
  488. package/lib/Navbar/MobileNavbarMenuButton.js +0 -18
  489. package/lib/Navbar/Navbar.d.ts +0 -12
  490. package/lib/Navbar/Navbar.js +0 -80
  491. package/lib/Navbar/NavbarDropdown.d.ts +0 -8
  492. package/lib/Navbar/NavbarDropdown.js +0 -38
  493. package/lib/Navbar/NavbarItem.d.ts +0 -13
  494. package/lib/Navbar/NavbarItem.js +0 -72
  495. package/lib/Navbar/NavbarMenu.d.ts +0 -5
  496. package/lib/Navbar/NavbarMenu.js +0 -34
  497. package/lib/Navbar/index.d.ts +0 -3
  498. package/lib/Navbar/index.js +0 -20
  499. package/lib/NavbarLogo/NavbarLogo.d.ts +0 -6
  500. package/lib/NavbarLogo/NavbarLogo.js +0 -24
  501. package/lib/NavbarLogo/index.d.ts +0 -1
  502. package/lib/NavbarLogo/index.js +0 -18
  503. package/lib/OperationBadge/index.d.ts +0 -1
  504. package/lib/OperationBadge/index.js +0 -18
  505. package/lib/PageNavigation/NextButton.d.ts +0 -2
  506. package/lib/PageNavigation/NextButton.js +0 -49
  507. package/lib/PageNavigation/PageNavigation.d.ts +0 -2
  508. package/lib/PageNavigation/PageNavigation.js +0 -32
  509. package/lib/PageNavigation/PreviousButton.d.ts +0 -2
  510. package/lib/PageNavigation/PreviousButton.js +0 -26
  511. package/lib/PageNavigation/index.d.ts +0 -3
  512. package/lib/PageNavigation/index.js +0 -20
  513. package/lib/Pages/Forbidden.js +0 -39
  514. package/lib/Pages/NotFound.js +0 -39
  515. package/lib/Pages/index.d.ts +0 -1
  516. package/lib/Pages/index.js +0 -18
  517. package/lib/Panel/Panel.d.ts +0 -5
  518. package/lib/Panel/Panel.js +0 -39
  519. package/lib/Panel/PanelComponent.d.ts +0 -13
  520. package/lib/Panel/PanelComponent.js +0 -65
  521. package/lib/Panel/index.d.ts +0 -5
  522. package/lib/Panel/index.js +0 -22
  523. package/lib/Profile/LoginLink.js +0 -30
  524. package/lib/Profile/Profile.js +0 -104
  525. package/lib/Profile/UserProfile.d.ts +0 -12
  526. package/lib/Profile/UserProfile.js +0 -46
  527. package/lib/Profile/UserProfileMenu.js +0 -87
  528. package/lib/Profile/index.d.ts +0 -6
  529. package/lib/ReferenceDocs/DevOnboardingTryItSecurity.js +0 -178
  530. package/lib/ReferenceDocs/TryItSecurityApps.d.ts +0 -7
  531. package/lib/ReferenceDocs/TryItSecurityApps.js +0 -15
  532. package/lib/SamplesPanelControls/SamplesPanelControls.js +0 -75
  533. package/lib/SamplesPanelControls/index.d.ts +0 -1
  534. package/lib/SamplesPanelControls/index.js +0 -18
  535. package/lib/Search/Autocomplete.d.ts +0 -16
  536. package/lib/Search/Autocomplete.js +0 -122
  537. package/lib/Search/Parameters.d.ts +0 -7
  538. package/lib/Search/Parameters.js +0 -55
  539. package/lib/Search/Search.js +0 -65
  540. package/lib/Search/SearchItem.d.ts +0 -7
  541. package/lib/Search/SearchItem.js +0 -98
  542. package/lib/Search/SidebarSearch.d.ts +0 -4
  543. package/lib/Search/SidebarSearch.js +0 -20
  544. package/lib/Search/index.d.ts +0 -9
  545. package/lib/Search/index.js +0 -26
  546. package/lib/Sidebar/ApiCallItem.d.ts +0 -9
  547. package/lib/Sidebar/ApiCallItem.js +0 -34
  548. package/lib/Sidebar/ArrowBack.d.ts +0 -4
  549. package/lib/Sidebar/ArrowBack.js +0 -22
  550. package/lib/Sidebar/BackButton.js +0 -39
  551. package/lib/Sidebar/Drilldown.d.ts +0 -8
  552. package/lib/Sidebar/Drilldown.js +0 -43
  553. package/lib/Sidebar/DrilldownMenu.d.ts +0 -3
  554. package/lib/Sidebar/DrilldownMenu.js +0 -71
  555. package/lib/Sidebar/DrilldownMenuItem.d.ts +0 -3
  556. package/lib/Sidebar/ExternalIcon.d.ts +0 -4
  557. package/lib/Sidebar/ExternalIcon.js +0 -21
  558. package/lib/Sidebar/Menu.d.ts +0 -3
  559. package/lib/Sidebar/Menu.js +0 -17
  560. package/lib/Sidebar/MenuContainer.js +0 -17
  561. package/lib/Sidebar/MenuGroup.d.ts +0 -9
  562. package/lib/Sidebar/MenuGroup.js +0 -88
  563. package/lib/Sidebar/MenuItem.d.ts +0 -3
  564. package/lib/Sidebar/MenuItem.js +0 -23
  565. package/lib/Sidebar/MenuItemLabel.js +0 -46
  566. package/lib/Sidebar/MenuLink.d.ts +0 -4
  567. package/lib/Sidebar/MenuLink.js +0 -15
  568. package/lib/Sidebar/MenuLinkItem.d.ts +0 -3
  569. package/lib/Sidebar/MenuLinkItem.js +0 -15
  570. package/lib/Sidebar/Separator.d.ts +0 -3
  571. package/lib/Sidebar/Separator.js +0 -18
  572. package/lib/Sidebar/SeparatorItem.js +0 -29
  573. package/lib/Sidebar/SidebarLayout.js +0 -85
  574. package/lib/Sidebar/index.d.ts +0 -22
  575. package/lib/Sidebar/index.js +0 -39
  576. package/lib/Sidebar/types/DrilldownMenuProps.d.ts +0 -6
  577. package/lib/Sidebar/types/DrilldownMenuProps.js +0 -3
  578. package/lib/Sidebar/types/ItemState.d.ts +0 -8
  579. package/lib/Sidebar/types/ItemState.js +0 -3
  580. package/lib/Sidebar/types/MenuItemProps.d.ts +0 -5
  581. package/lib/Sidebar/types/MenuItemProps.js +0 -3
  582. package/lib/Sidebar/types/MenuStyle.d.ts +0 -3
  583. package/lib/Sidebar/types/MenuStyle.js +0 -8
  584. package/lib/Sidebar/types/NavItem.d.ts +0 -26
  585. package/lib/Sidebar/types/NavItem.js +0 -3
  586. package/lib/Sidebar/types/index.d.ts +0 -5
  587. package/lib/Sidebar/types/index.js +0 -22
  588. package/lib/SidebarActions/ChangeViewButton.d.ts +0 -8
  589. package/lib/SidebarActions/ChangeViewButton.js +0 -14
  590. package/lib/SidebarActions/CollapseSidebarButton.js +0 -13
  591. package/lib/SidebarActions/SidebarActions.js +0 -26
  592. package/lib/SidebarActions/ToggleRightPanelButton.js +0 -13
  593. package/lib/SidebarActions/index.d.ts +0 -1
  594. package/lib/SidebarActions/index.js +0 -7
  595. package/lib/SidebarLogo/index.d.ts +0 -1
  596. package/lib/SidebarLogo/index.js +0 -18
  597. package/lib/SourceCode/SourceCode.js +0 -60
  598. package/lib/SourceCode/index.d.ts +0 -1
  599. package/lib/SourceCode/index.js +0 -18
  600. package/lib/TableOfContent/TableOfContent.d.ts +0 -8
  601. package/lib/TableOfContent/TableOfContent.js +0 -109
  602. package/lib/TableOfContent/index.d.ts +0 -1
  603. package/lib/TableOfContent/index.js +0 -18
  604. package/lib/TableOfContent/utils.d.ts +0 -4
  605. package/lib/Tooltip/Tooltip.js +0 -173
  606. package/lib/Tooltip/index.d.ts +0 -1
  607. package/lib/Tooltip/index.js +0 -18
  608. package/lib/Typography/CompactTypography.d.ts +0 -7
  609. package/lib/Typography/CompactTypography.js +0 -14
  610. package/lib/Typography/H1.js +0 -17
  611. package/lib/Typography/H2.js +0 -17
  612. package/lib/Typography/H3.js +0 -17
  613. package/lib/Typography/index.d.ts +0 -7
  614. package/lib/Typography/index.js +0 -24
  615. package/lib/ui/Tiles/ThinTile.d.ts +0 -22
  616. package/lib/ui/Tiles/ThinTile.js +0 -124
  617. package/lib/ui/Tiles/WideTile.d.ts +0 -7
  618. package/lib/ui/Tiles/WideTile.js +0 -114
  619. package/lib/ui/Tiles/index.d.ts +0 -4
  620. package/lib/ui/Tiles/index.js +0 -21
  621. package/src/ApiOnboarding/AppCustomAttributes.tsx +0 -6
  622. package/src/Button/index.ts +0 -1
  623. package/src/Cards/Card.tsx +0 -49
  624. package/src/Catalog/Catalog.tsx +0 -198
  625. package/src/Catalog/CatalogCard.tsx +0 -95
  626. package/src/CodeBlock/index.ts +0 -1
  627. package/src/ColorModeSwitcher/index.ts +0 -1
  628. package/src/CopyButton/CopyButton.tsx +0 -32
  629. package/src/CopyButton/CopyButtonWrapper.tsx +0 -55
  630. package/src/CopyButton/index.ts +0 -2
  631. package/src/EditPageButton/index.ts +0 -1
  632. package/src/Feedback/Comment.tsx +0 -80
  633. package/src/Feedback/Feedback.tsx +0 -42
  634. package/src/Feedback/Rating.tsx +0 -107
  635. package/src/Feedback/Reasons.tsx +0 -81
  636. package/src/Feedback/ReportDialog.tsx +0 -52
  637. package/src/Feedback/Sentiment.tsx +0 -74
  638. package/src/Feedback/index.ts +0 -8
  639. package/src/Feedback/types.ts +0 -66
  640. package/src/Feedback/useReportDialog.ts +0 -34
  641. package/src/Footer/CustomFooter.tsx +0 -45
  642. package/src/Footer/Footer.tsx +0 -43
  643. package/src/Footer/FooterColumns.tsx +0 -53
  644. package/src/Footer/index.ts +0 -4
  645. package/src/JsonViewer/JsonViewer.tsx +0 -256
  646. package/src/JsonViewer/index.ts +0 -1
  647. package/src/Layout/RootLayout.tsx +0 -24
  648. package/src/Layout/index.ts +0 -2
  649. package/src/Markdown/CodeSample/CodeSample.tsx +0 -236
  650. package/src/Markdown/CodeSample/index.ts +0 -1
  651. package/src/Markdown/MarkdownLayout.tsx +0 -64
  652. package/src/Markdown/Tabs/Tabs.tsx +0 -56
  653. package/src/Markdown/Tabs/index.ts +0 -2
  654. package/src/Markdown/index.ts +0 -10
  655. package/src/Navbar/MobileNavbarItem.tsx +0 -114
  656. package/src/Navbar/MobileNavbarMenu.tsx +0 -122
  657. package/src/Navbar/Navbar.tsx +0 -100
  658. package/src/Navbar/NavbarItem.tsx +0 -102
  659. package/src/Navbar/NavbarMenu.tsx +0 -37
  660. package/src/Navbar/index.ts +0 -3
  661. package/src/NavbarLogo/index.ts +0 -1
  662. package/src/OperationBadge/index.ts +0 -1
  663. package/src/PageNavigation/NextButton.tsx +0 -40
  664. package/src/PageNavigation/PageNavigation.tsx +0 -31
  665. package/src/PageNavigation/PreviousButton.tsx +0 -40
  666. package/src/PageNavigation/index.ts +0 -3
  667. package/src/Pages/Forbidden.tsx +0 -42
  668. package/src/Pages/NotFound.tsx +0 -42
  669. package/src/Pages/index.ts +0 -1
  670. package/src/Panel/Panel.ts +0 -34
  671. package/src/Panel/PanelComponent.tsx +0 -79
  672. package/src/Panel/index.ts +0 -5
  673. package/src/Profile/UserProfile.tsx +0 -55
  674. package/src/Profile/index.ts +0 -6
  675. package/src/ReferenceDocs/DevOnboardingTryItSecurity.tsx +0 -180
  676. package/src/ReferenceDocs/TryItSecurityApps.tsx +0 -17
  677. package/src/SamplesPanelControls/SamplesPanelControls.ts +0 -73
  678. package/src/SamplesPanelControls/index.ts +0 -1
  679. package/src/Search/Autocomplete.tsx +0 -148
  680. package/src/Search/Parameters.tsx +0 -62
  681. package/src/Search/Search.tsx +0 -67
  682. package/src/Search/SearchItem.tsx +0 -90
  683. package/src/Search/SidebarSearch.tsx +0 -15
  684. package/src/Search/index.ts +0 -9
  685. package/src/Sidebar/ApiCallItem.tsx +0 -39
  686. package/src/Sidebar/ArrowBack.tsx +0 -28
  687. package/src/Sidebar/BackButton.tsx +0 -44
  688. package/src/Sidebar/Drilldown.tsx +0 -44
  689. package/src/Sidebar/DrilldownMenu.tsx +0 -58
  690. package/src/Sidebar/DrilldownMenuItem.tsx +0 -44
  691. package/src/Sidebar/ExternalIcon.tsx +0 -37
  692. package/src/Sidebar/Menu.tsx +0 -11
  693. package/src/Sidebar/MenuContainer.tsx +0 -15
  694. package/src/Sidebar/MenuGroup.tsx +0 -91
  695. package/src/Sidebar/MenuItem.tsx +0 -25
  696. package/src/Sidebar/MenuItemLabel.tsx +0 -41
  697. package/src/Sidebar/MenuLinkItem.tsx +0 -24
  698. package/src/Sidebar/Separator.tsx +0 -17
  699. package/src/Sidebar/SeparatorItem.tsx +0 -24
  700. package/src/Sidebar/SidebarLayout.tsx +0 -107
  701. package/src/Sidebar/index.ts +0 -22
  702. package/src/Sidebar/types/DrilldownMenuProps.ts +0 -7
  703. package/src/Sidebar/types/ItemState.ts +0 -9
  704. package/src/Sidebar/types/MenuItemProps.ts +0 -6
  705. package/src/Sidebar/types/MenuStyle.ts +0 -3
  706. package/src/Sidebar/types/NavItem.ts +0 -27
  707. package/src/Sidebar/types/index.ts +0 -5
  708. package/src/SidebarActions/ChangeViewButton.tsx +0 -20
  709. package/src/SidebarActions/CollapseSidebarButton.tsx +0 -21
  710. package/src/SidebarActions/SidebarActions.tsx +0 -64
  711. package/src/SidebarActions/ToggleRightPanelButton.tsx +0 -21
  712. package/src/SidebarActions/index.tsx +0 -1
  713. package/src/SidebarLogo/index.ts +0 -1
  714. package/src/SourceCode/SourceCode.tsx +0 -128
  715. package/src/SourceCode/index.ts +0 -1
  716. package/src/TableOfContent/TableOfContent.tsx +0 -113
  717. package/src/TableOfContent/index.ts +0 -1
  718. package/src/Tooltip/index.ts +0 -1
  719. package/src/Typography/CompactTypography.ts +0 -9
  720. package/src/Typography/index.ts +0 -7
  721. package/src/types/portal/src/shared/constants.d.ts +0 -46
  722. package/src/types/portal/src/shared/types/catalog.d.ts +0 -55
  723. package/src/types/portal/src/shared/types/feedback.d.ts +0 -8
  724. package/src/types/portal/src/shared/types/markdown.d.ts +0 -5
  725. package/src/types/portal/src/shared/types/nav.d.ts +0 -158
  726. package/src/ui/Tiles/ThinTile.tsx +0 -153
  727. package/src/ui/Tiles/WideTile.tsx +0 -138
  728. package/src/ui/Tiles/index.ts +0 -4
  729. /package/lib/{ApiOnboarding → components/ApiOnboarding}/AppCustomAttributes.d.ts +0 -0
  730. /package/lib/{Button → components/Button}/Button.d.ts +0 -0
  731. /package/lib/{Cards → components/Cards}/CardsBlock.d.ts +0 -0
  732. /package/lib/{Cards → components/Cards}/CardsBlock.js +0 -0
  733. /package/lib/{CodeBlock → components/CodeBlock}/CodeBlock.d.ts +0 -0
  734. /package/lib/{Markdown → components}/CodeSample/CodeSample.d.ts +0 -0
  735. /package/lib/{ColorModeSwitcher → components/ColorModeSwitcher}/ColorModeSwitcher.d.ts +0 -0
  736. /package/lib/{CopyButton → components/CopyButton}/CopyButton.d.ts +0 -0
  737. /package/lib/{EditPageButton → components/EditPageButton}/EditPageButton.d.ts +0 -0
  738. /package/lib/{Feedback → components/Feedback}/Thumbs.d.ts +0 -0
  739. /package/lib/{Feedback → components/Feedback}/Thumbs.js +0 -0
  740. /package/lib/{Feedback → components/Feedback}/types.js +0 -0
  741. /package/lib/{Feedback → components/Feedback}/useReportDialog.d.ts +0 -0
  742. /package/lib/{Feedback → components/Feedback}/useReportDialog.js +0 -0
  743. /package/lib/{Footer → components/Footer}/FooterCopyright.js +0 -0
  744. /package/lib/{JsonViewer → components/JsonViewer}/JsonViewer.d.ts +0 -0
  745. /package/lib/{LastUpdated → components/LastUpdated}/LastUpdated.d.ts +0 -0
  746. /package/lib/{Markdown → components/Markdown}/Admonition.d.ts +0 -0
  747. /package/lib/{Markdown → components/Markdown}/ContainerWrapper.d.ts +0 -0
  748. /package/lib/{Markdown → components/Markdown}/ContainerWrapper.js +0 -0
  749. /package/lib/{Markdown → components/Markdown}/Details.d.ts +0 -0
  750. /package/lib/{Markdown → components/Markdown}/Details.js +0 -0
  751. /package/lib/{Markdown → components/Markdown}/Heading.d.ts +0 -0
  752. /package/lib/{Markdown → components/Markdown}/MarkdownWrapper.d.ts +0 -0
  753. /package/lib/{Markdown → components/Markdown}/Mermaid.d.ts +0 -0
  754. /package/lib/{Markdown → components/Markdown}/Mermaid.js +0 -0
  755. /package/lib/{Markdown → components/Markdown}/PageWrapper.d.ts +0 -0
  756. /package/lib/{Markdown → components/Markdown}/PageWrapper.js +0 -0
  757. /package/lib/{Markdown → components/Markdown}/Sup.d.ts +0 -0
  758. /package/lib/{Markdown → components/Markdown}/Sup.js +0 -0
  759. /package/lib/{Sidebar → components/Menu}/MenuContainer.d.ts +0 -0
  760. /package/lib/{Sidebar → components/Menu}/MenuItemLabel.d.ts +0 -0
  761. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/ClearButton.d.ts +0 -0
  762. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/ClearButton.js +0 -0
  763. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/DevOnboardingTryItSecurity.d.ts +0 -0
  764. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/Dropdown.d.ts +0 -0
  765. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/Dropdown.js +0 -0
  766. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/index.d.ts +0 -0
  767. /package/lib/{ReferenceDocs → components/OpenAPIDocs}/index.js +0 -0
  768. /package/lib/{OperationBadge → components/OperationBadge}/OperationBadge.d.ts +0 -0
  769. /package/lib/{OperationBadge → components/OperationBadge}/OperationBadge.js +0 -0
  770. /package/lib/{Panel → components/Panel}/PanelBody.d.ts +0 -0
  771. /package/lib/{Panel → components/Panel}/PanelBody.js +0 -0
  772. /package/lib/{Panel → components/Panel}/PanelHeader.d.ts +0 -0
  773. /package/lib/{Panel → components/Panel}/PanelHeader.js +0 -0
  774. /package/lib/{Panel → components/Panel}/PanelHeaderTitle.d.ts +0 -0
  775. /package/lib/{Panel → components/Panel}/PanelHeaderTitle.js +0 -0
  776. /package/lib/{Profile → components/Profile}/LoginLink.d.ts +0 -0
  777. /package/lib/{Profile → components/Profile}/Profile.d.ts +0 -0
  778. /package/lib/{Profile → components/Profile}/UserProfileMenu.d.ts +0 -0
  779. /package/lib/{Profile → components/Profile}/index.js +0 -0
  780. /package/lib/{SamplesPanelControls → components/SamplesPanelControls}/SamplesPanelControls.d.ts +0 -0
  781. /package/lib/{Search → components/Search}/ClearIcon.d.ts +0 -0
  782. /package/lib/{Search → components/Search}/ClearIcon.js +0 -0
  783. /package/lib/{Search → components/Search}/Input.d.ts +0 -0
  784. /package/lib/{Search → components/Search}/Input.js +0 -0
  785. /package/lib/{Search → components/Search}/Popover.d.ts +0 -0
  786. /package/lib/{Search → components/Search}/Popover.js +0 -0
  787. /package/lib/{Search → components/Search}/Search.d.ts +0 -0
  788. /package/lib/{Search → components/Search}/SearchIcon.d.ts +0 -0
  789. /package/lib/{Search → components/Search}/SearchIcon.js +0 -0
  790. /package/lib/{Search → components/Search}/ShortcutKey.d.ts +0 -0
  791. /package/lib/{Search → components/Search}/ShortcutKey.js +0 -0
  792. /package/lib/{Search → components/Search}/utils.d.ts +0 -0
  793. /package/lib/{Search → components/Search}/utils.js +0 -0
  794. /package/lib/{Sidebar → components/Separator}/SeparatorItem.d.ts +0 -0
  795. /package/lib/{Sidebar → components/Separator}/SeparatorLine.d.ts +0 -0
  796. /package/lib/{Sidebar → components/Separator}/SeparatorLine.js +0 -0
  797. /package/lib/{Sidebar → components/Sidebar}/BackButton.d.ts +0 -0
  798. /package/lib/{Sidebar → components/Sidebar}/DrilldownMenuItem.js +0 -0
  799. /package/lib/{Sidebar → components/Sidebar}/FooterWrapper.d.ts +0 -0
  800. /package/lib/{Sidebar → components/Sidebar}/FooterWrapper.js +0 -0
  801. /package/lib/{Sidebar → components/Sidebar}/HeaderWrapper.d.ts +0 -0
  802. /package/lib/{Sidebar → components/Sidebar}/HeaderWrapper.js +0 -0
  803. /package/lib/{Sidebar → components/Sidebar}/MobileSidebarButton.d.ts +0 -0
  804. /package/lib/{Sidebar → components/Sidebar}/MobileSidebarButton.js +0 -0
  805. /package/lib/{Sidebar → components/Sidebar}/MobileSidebarIcon.d.ts +0 -0
  806. /package/lib/{Sidebar → components/Sidebar}/MobileSidebarIcon.js +0 -0
  807. /package/lib/{Sidebar → components/Sidebar}/Sidebar.d.ts +0 -0
  808. /package/lib/{Sidebar → components/Sidebar}/Sidebar.js +0 -0
  809. /package/lib/{Sidebar → components/Sidebar}/SidebarLayout.d.ts +0 -0
  810. /package/lib/{SidebarActions → components/SidebarActions}/CollapseSidebarButton.d.ts +0 -0
  811. /package/lib/{SidebarActions → components/SidebarActions}/SidebarActions.d.ts +0 -0
  812. /package/lib/{SidebarActions → components/SidebarActions}/ToggleRightPanelButton.d.ts +0 -0
  813. /package/lib/{SidebarActions → components/SidebarActions}/styled.d.ts +0 -0
  814. /package/lib/{SidebarActions → components/SidebarActions}/styled.js +0 -0
  815. /package/lib/{SidebarLogo → components/SidebarLogo}/SidebarLogo.d.ts +0 -0
  816. /package/lib/{SidebarLogo → components/SidebarLogo}/SidebarLogo.js +0 -0
  817. /package/lib/{SourceCode → components/SourceCode}/SourceCode.d.ts +0 -0
  818. /package/lib/{TableOfContent → components/TableOfContent}/utils.js +0 -0
  819. /package/lib/{Markdown → components}/Tabs/Tab.d.ts +0 -0
  820. /package/lib/{Markdown → components}/Tabs/Tab.js +0 -0
  821. /package/lib/{Catalog → components/Tags}/Tags.d.ts +0 -0
  822. /package/lib/{ui → components}/Tiles/TileHeader.d.ts +0 -0
  823. /package/lib/{ui → components}/Tiles/TileHeader.js +0 -0
  824. /package/lib/{ui → components}/Tiles/TileText.d.ts +0 -0
  825. /package/lib/{ui → components}/Tiles/TileText.js +0 -0
  826. /package/lib/{Tooltip → components/Tooltip}/Tooltip.d.ts +0 -0
  827. /package/lib/{Typography → components/Typography}/Emphasis.d.ts +0 -0
  828. /package/lib/{Typography → components/Typography}/Emphasis.js +0 -0
  829. /package/lib/{Typography → components/Typography}/H1.d.ts +0 -0
  830. /package/lib/{Typography → components/Typography}/H2.d.ts +0 -0
  831. /package/lib/{Typography → components/Typography}/H3.d.ts +0 -0
  832. /package/lib/{Typography → components/Typography}/SectionHeader.d.ts +0 -0
  833. /package/lib/{Typography → components/Typography}/SectionHeader.js +0 -0
  834. /package/lib/{Typography → components/Typography}/Typography.d.ts +0 -0
  835. /package/lib/{Typography → components/Typography}/Typography.js +0 -0
  836. /package/lib/{Pages → layouts}/Forbidden.d.ts +0 -0
  837. /package/lib/{Pages → layouts}/NotFound.d.ts +0 -0
  838. /package/lib/{Layout → layouts}/PageLayout.d.ts +0 -0
  839. /package/lib/{Layout → layouts}/PageLayout.js +0 -0
  840. /package/src/{Button → components/Button}/Button.tsx +0 -0
  841. /package/src/{Cards → components/Cards}/CardsBlock.tsx +0 -0
  842. /package/src/{CodeBlock → components/CodeBlock}/CodeBlock.ts +0 -0
  843. /package/src/{ColorModeSwitcher → components/ColorModeSwitcher}/ColorModeSwitcher.tsx +0 -0
  844. /package/src/{EditPageButton → components/EditPageButton}/EditPageButton.tsx +0 -0
  845. /package/src/{Feedback → components/Feedback}/Thumbs.tsx +0 -0
  846. /package/src/{Catalog → components/Filter}/Filter.tsx +0 -0
  847. /package/src/{Footer → components/Footer}/CustomFooterNavItem.tsx +0 -0
  848. /package/src/{Footer → components/Footer}/FooterColumn.tsx +0 -0
  849. /package/src/{Footer → components/Footer}/FooterCopyright.tsx +0 -0
  850. /package/src/{LastUpdated → components/LastUpdated}/LastUpdated.tsx +0 -0
  851. /package/src/{Markdown → components/Markdown}/Admonition.tsx +0 -0
  852. /package/src/{Markdown → components/Markdown}/ContainerWrapper.tsx +0 -0
  853. /package/src/{Markdown → components/Markdown}/Details.tsx +0 -0
  854. /package/src/{Markdown → components/Markdown}/Heading.tsx +0 -0
  855. /package/src/{Markdown → components/Markdown}/MarkdownWrapper.tsx +0 -0
  856. /package/src/{Markdown → components/Markdown}/Mermaid.tsx +0 -0
  857. /package/src/{Markdown → components/Markdown}/PageWrapper.tsx +0 -0
  858. /package/src/{Markdown → components/Markdown}/Sup.tsx +0 -0
  859. /package/src/{Sidebar → components/Menu}/MenuLink.tsx +0 -0
  860. /package/src/{Navbar → components/Navbar}/MobileNavbarDropdown.tsx +0 -0
  861. /package/src/{Navbar → components/Navbar}/MobileNavbarMenuButton.tsx +0 -0
  862. /package/src/{Navbar → components/Navbar}/NavbarDropdown.tsx +0 -0
  863. /package/src/{NavbarLogo → components/NavbarLogo}/NavbarLogo.tsx +0 -0
  864. /package/src/{ReferenceDocs → components/OpenAPIDocs}/ClearButton.tsx +0 -0
  865. /package/src/{ReferenceDocs → components/OpenAPIDocs}/Dropdown.tsx +0 -0
  866. /package/src/{ReferenceDocs → components/OpenAPIDocs}/index.ts +0 -0
  867. /package/src/{OperationBadge → components/OperationBadge}/OperationBadge.ts +0 -0
  868. /package/src/{Panel → components/Panel}/PanelBody.ts +0 -0
  869. /package/src/{Panel → components/Panel}/PanelHeader.ts +0 -0
  870. /package/src/{Panel → components/Panel}/PanelHeaderTitle.ts +0 -0
  871. /package/src/{Profile → components/Profile}/LoginLink.tsx +0 -0
  872. /package/src/{Profile → components/Profile}/Profile.tsx +0 -0
  873. /package/src/{Profile → components/Profile}/UserProfileMenu.tsx +0 -0
  874. /package/src/{Search → components/Search}/ClearIcon.tsx +0 -0
  875. /package/src/{Search → components/Search}/Input.tsx +0 -0
  876. /package/src/{Search → components/Search}/Popover.tsx +0 -0
  877. /package/src/{Search → components/Search}/SearchIcon.tsx +0 -0
  878. /package/src/{Search → components/Search}/ShortcutKey.tsx +0 -0
  879. /package/src/{Search → components/Search}/utils.tsx +0 -0
  880. /package/src/{Sidebar → components/Separator}/SeparatorLine.tsx +0 -0
  881. /package/src/{Sidebar → components/Sidebar}/FooterWrapper.tsx +0 -0
  882. /package/src/{Sidebar → components/Sidebar}/HeaderWrapper.tsx +0 -0
  883. /package/src/{Sidebar → components/Sidebar}/MobileSidebarButton.tsx +0 -0
  884. /package/src/{Sidebar → components/Sidebar}/MobileSidebarIcon.tsx +0 -0
  885. /package/src/{Sidebar → components/Sidebar}/Sidebar.tsx +0 -0
  886. /package/src/{SidebarActions → components/SidebarActions}/styled.tsx +0 -0
  887. /package/src/{SidebarLogo → components/SidebarLogo}/SidebarLogo.tsx +0 -0
  888. /package/src/{TableOfContent → components/TableOfContent}/utils.ts +0 -0
  889. /package/src/{Markdown → components}/Tabs/Tab.tsx +0 -0
  890. /package/src/{Catalog → components/Tags}/Tags.tsx +0 -0
  891. /package/src/{ui → components}/Tiles/TileHeader.ts +0 -0
  892. /package/src/{ui → components}/Tiles/TileText.tsx +0 -0
  893. /package/src/{Tooltip → components/Tooltip}/Tooltip.tsx +0 -0
  894. /package/src/{Typography → components/Typography}/Emphasis.ts +0 -0
  895. /package/src/{Typography → components/Typography}/H1.ts +0 -0
  896. /package/src/{Typography → components/Typography}/H2.ts +0 -0
  897. /package/src/{Typography → components/Typography}/H3.ts +0 -0
  898. /package/src/{Typography → components/Typography}/SectionHeader.ts +0 -0
  899. /package/src/{Typography → components/Typography}/Typography.ts +0 -0
  900. /package/src/{Layout → layouts}/PageLayout.tsx +0 -0
  901. /package/src/types/portal/{index.d.ts → index.ts} +0 -0
@@ -0,0 +1,95 @@
1
+ import * as React from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import type { CatalogItem } from '@theme/types/portal/src/shared/types/catalog';
5
+ import { Link } from '@portal/Link';
6
+ import { Highlight } from '@theme/ui/Highlight';
7
+ import { Tags } from '@theme/components/Tags';
8
+
9
+ export function CatalogCard({ item }: { item: CatalogItem }): JSX.Element {
10
+ return (
11
+ <Link key={item.docsLink || item.link} to={item.docsLink || item.link}>
12
+ <StyledCard>
13
+ <CardTitle>
14
+ <Highlight>{item.title}</Highlight>
15
+ </CardTitle>
16
+ {/* <div>{item.image}</div> */}
17
+ <CardDescription>
18
+ <Highlight>{item.description ?? ''}</Highlight>
19
+ </CardDescription>
20
+ {item.tags ? <Tags tags={item.tags as string[]} /> : null}
21
+ <hr />
22
+ <CardFooter>View documentation</CardFooter>
23
+ </StyledCard>
24
+ </Link>
25
+ );
26
+ }
27
+
28
+ const StyledCard = styled.div`
29
+ min-height: 268px;
30
+ height: 100%;
31
+ box-shadow: var(--box-shadow);
32
+
33
+ display: flex;
34
+ flex-direction: column;
35
+
36
+ color: var(--text-color);
37
+ background-color: var(--thin-tile-background-color);
38
+ border-radius: 4px;
39
+
40
+ border: 1px solid var(--border-color);
41
+ box-shadow: 0px 0px 10px 0px rgba(35, 35, 35, 0.05);
42
+ transition: all 0.2s ease-in-out;
43
+
44
+ &:hover {
45
+ /* box-shadow: 0px 12px 30px 0px rgba(35, 35, 35, 0.2); */
46
+ box-shadow: 0px 10px 30px 0px rgba(35, 35, 35, 0.1);
47
+ border: 1px solid var(--border-color);
48
+ transform: translateY(-2px);
49
+ }
50
+
51
+ border-radius: 8px;
52
+ width: 100%;
53
+ padding: 24px 24px 0;
54
+ display: flex;
55
+ flex-direction: column;
56
+ cursor: pointer;
57
+ `;
58
+
59
+ const CardTitle = styled.h4`
60
+ line-height: 26px;
61
+ letter-spacing: 0.8px;
62
+ font-size: 20px;
63
+ font-weight: var(--font-weight-bold);
64
+ margin: 0;
65
+ margin-bottom: 16px;
66
+ `;
67
+
68
+ const CardDescription = styled.div`
69
+ display: -webkit-box;
70
+ -webkit-line-clamp: 3;
71
+ -webkit-box-orient: vertical;
72
+ overflow: hidden;
73
+ text-overflow: ellipsis;
74
+ line-height: var(--line-height);
75
+ letter-spacing: 0px;
76
+ font-size: 16px;
77
+ color: var(--text-color-secondary);
78
+ text-align: inherit;
79
+ font-weight: 400;
80
+ `;
81
+
82
+ const CardFooter = styled.div`
83
+ height: 46px;
84
+ display: flex;
85
+ align-items: flex-start;
86
+ justify-content: center;
87
+ flex-direction: column;
88
+ font-size: 16px;
89
+ font-weight: var(--font-weight-bold);
90
+
91
+ a:hover & {
92
+ text-decoration: var(--link-hover-text-decoration);
93
+ color: var(--link-hover-text-color);
94
+ }
95
+ `;
@@ -0,0 +1,280 @@
1
+ import * as React from 'react';
2
+ import { useLocation, useNavigate } from 'react-router-dom';
3
+
4
+ import type { Location } from 'react-router-dom';
5
+
6
+ import type { ResolvedNavItem } from '@theme/types/portal';
7
+ import type {
8
+ CatalogConfig,
9
+ FilteredCatalog,
10
+ ResolvedFilter,
11
+ CatalogItem,
12
+ Filter,
13
+ } from '@theme/types/portal/src/shared/types/catalog';
14
+ import { findDeepFirst, toStringIfDefined, withoutHash } from '@theme/utils';
15
+
16
+ export function useCatalog(items: ResolvedNavItem[], config: CatalogConfig): FilteredCatalog {
17
+ const location = useLocation();
18
+ const navigate = useNavigate();
19
+ const searchParams = useSearchParams(location);
20
+ const [filtersState, setFiltersState] = React.useState(() =>
21
+ (config.filters ?? []).map((f) => {
22
+ return new Set(searchParams.getAll(f.property));
23
+ }),
24
+ );
25
+ const [filterTerm, setFilterTerm] = React.useState(() => searchParams.get('filter') || '');
26
+
27
+ const filtersWithOptions = React.useMemo(
28
+ () => collectFilterOptions(items, config.filters),
29
+ [items, config.filters],
30
+ );
31
+ const normalizedItems = React.useMemo(() => normalizeItems(items, config), [items, config]);
32
+
33
+ const toggleOption = React.useCallback((filterIdx, option) => {
34
+ setFiltersState((prev) => {
35
+ const newFilterOptions = prev[filterIdx] ? prev[filterIdx] : new Set<string>();
36
+ if (newFilterOptions.has(option)) {
37
+ newFilterOptions.delete(option);
38
+ } else {
39
+ newFilterOptions.add(option);
40
+ }
41
+ return [...prev.slice(0, filterIdx), newFilterOptions, ...prev.slice(filterIdx + 1)];
42
+ });
43
+ window.scrollTo(0, 0);
44
+ }, []);
45
+
46
+ const selectOption = React.useCallback(
47
+ (filterIdx, option) => {
48
+ setFiltersState((prev) => {
49
+ const newFilterOptions = new Set<string>(option ? [option] : []);
50
+ const filter = filtersWithOptions[filterIdx];
51
+
52
+ return prev.map((f, idx) =>
53
+ idx === filterIdx
54
+ ? newFilterOptions
55
+ : filtersWithOptions[idx].parentFilter === filter.property
56
+ ? new Set()
57
+ : f,
58
+ );
59
+ });
60
+ window.scrollTo(0, 0);
61
+ },
62
+ [filtersWithOptions],
63
+ );
64
+
65
+ React.useEffect(() => {
66
+ filtersState.forEach((filterValues, filterIdx) => {
67
+ const filter = config.filters?.[filterIdx];
68
+ if (!filter) return;
69
+ searchParams.delete(filter.property);
70
+ filterValues.forEach((value) => {
71
+ searchParams.append(filter.property, value);
72
+ });
73
+ });
74
+ searchParams;
75
+ if (filterTerm) {
76
+ searchParams.set('filter', filterTerm);
77
+ } else {
78
+ searchParams.delete('filter');
79
+ }
80
+ const newSearch = searchParams.toString();
81
+ navigate({ search: newSearch });
82
+ }, [config.filters, searchParams, filtersState, filterTerm, navigate]);
83
+
84
+ // filterParents[i] is a Set with indexes of parents of this filter
85
+ const filterParents = React.useMemo(() => collectFilterParents(config.filters), [config.filters]);
86
+
87
+ return React.useMemo(() => {
88
+ const filters = filtersWithOptions.map((filter, idx) => ({
89
+ ...filter,
90
+ toggleOption: (value: string) => toggleOption(idx, value),
91
+ selectOption: (value: string) => selectOption(idx, value),
92
+ selectedOptions: filtersState[idx] ?? new Set<string>(),
93
+ isFilterUsed: (filtersState[idx]?.size ?? 0) > 0, // TODO: rename to isUsed
94
+ }));
95
+
96
+ const filteredItems = filterItems(normalizedItems, filters, filterTerm);
97
+
98
+ // add more information to filters state which is known only after filtering items
99
+ const resolvedFilters = filters.map((filter, idx) => {
100
+ const parentFilterIdx = filters.findIndex((f) => f.property === filter.parentFilter);
101
+ const parentUsed = filter.parentFilter
102
+ ? (filtersState[parentFilterIdx]?.size ?? 0) > 0
103
+ : true;
104
+
105
+ // we filter items with all the other independent filters current state
106
+ // then we can calculate the options for this filter after other filters are applied
107
+ // we need it to have correct numbers but also to eliminate options which are not available due to other filters
108
+ const otherIndependentFilters = filters.filter(
109
+ (_f, i) => i !== idx && !filterParents[idx]?.has(i),
110
+ );
111
+ const filteredWithOtherFilters = filterItems(
112
+ normalizedItems,
113
+ otherIndependentFilters,
114
+ filterTerm,
115
+ );
116
+ // collect filter options for this filter, this is probably not optimal but perf is not critical here
117
+ const adjustedFilterOptions = collectFilterOptions(
118
+ filteredWithOtherFilters.map((m) => ({ metadata: m })),
119
+ config.filters,
120
+ );
121
+
122
+ return {
123
+ ...filter,
124
+ parentUsed,
125
+ filteredOptions: adjustedFilterOptions[idx].options,
126
+ };
127
+ });
128
+
129
+ const groups =
130
+ config.groupByFirstFilter && filters[0].selectedOptions.size > 0
131
+ ? groupByFirstFilter(resolvedFilters, filteredItems)
132
+ : [{ title: 'APIs', items: filteredItems }];
133
+
134
+ return { groups, filters: resolvedFilters, setFilterTerm, filterTerm };
135
+ }, [
136
+ filtersWithOptions,
137
+ normalizedItems,
138
+ filterTerm,
139
+ config.groupByFirstFilter,
140
+ config.filters,
141
+ filtersState,
142
+ toggleOption,
143
+ selectOption,
144
+ filterParents,
145
+ ]);
146
+ }
147
+
148
+ function groupByFirstFilter(filters: ResolvedFilter[], filteredItems: CatalogItem[]) {
149
+ return filters[0].options
150
+ .map((option) => ({
151
+ title: option.value,
152
+ items: filteredItems.filter((item) => {
153
+ const itemValue = item?.[filters[0].property] || filters[0].missingCategoryName || 'Others';
154
+ if (Array.isArray(itemValue)) {
155
+ return itemValue.includes(option.value);
156
+ }
157
+ return itemValue === option.value;
158
+ }),
159
+ }))
160
+ .filter((group) => group.items.length > 0);
161
+ }
162
+
163
+ function useSearchParams(location: Location) {
164
+ return React.useMemo(() => new URLSearchParams(location.search), [location.search]);
165
+ }
166
+
167
+ function normalizeItems(items: ResolvedNavItem[], config: CatalogConfig): CatalogItem[] {
168
+ if (!config.separateVersions) {
169
+ // keep only default version
170
+ // idea: save other versions information (may be useful for cards)
171
+ items = items.filter((item) => item.isDefault === true || item.isDefault === undefined);
172
+ }
173
+
174
+ return items.map((item) => {
175
+ const metadata = item.metadata || {};
176
+ const link = item.link || findDeepFirst(item.items || [], (i) => 'link' in i && !!i.link)?.link;
177
+ const firstSidebarItem = (item as any).sidebar?.[0];
178
+ return {
179
+ ...metadata,
180
+ title: toStringIfDefined(metadata?.title) || item.label || 'Untitled',
181
+ description: toStringIfDefined(metadata?.description),
182
+ link: withoutHash(link) ?? '#',
183
+ docsLink: withoutHash(firstSidebarItem?.link),
184
+ image: toStringIfDefined(metadata?.image), // TODO: resolve image?
185
+ } as CatalogItem;
186
+ });
187
+ }
188
+
189
+ function collectFilterParents(filtersWithOptions: Filter[] | undefined) {
190
+ if (!filtersWithOptions) return [];
191
+ const parents: Set<number>[] = [];
192
+ // use filter idx as id so we don't need users to provide unique ids
193
+ for (let i = 0; i < filtersWithOptions.length; i++) {
194
+ const filter = filtersWithOptions[i];
195
+ if (filter.parentFilter) {
196
+ const idx = filtersWithOptions.findIndex((f) => f.property === filter.parentFilter);
197
+ parents[idx] = parents[idx] || new Set();
198
+ parents[idx].add(i);
199
+ }
200
+ }
201
+ return parents;
202
+ }
203
+
204
+ function collectFilterOptions(
205
+ items: { metadata?: Record<string, unknown> }[],
206
+ filters: CatalogConfig['filters'],
207
+ ) {
208
+ return (filters ?? []).map((filter) => {
209
+ const staticOptions = filter.options
210
+ ? Object.fromEntries(filter.options.map((o) => [o, 0]))
211
+ : undefined;
212
+
213
+ const usedOptions = staticOptions ?? {};
214
+
215
+ let othersCount = 0;
216
+ for (const item of items) {
217
+ const values = Array.isArray(item.metadata?.[filter.property])
218
+ ? (item.metadata?.[filter.property] as string[])
219
+ : [item.metadata?.[filter.property]];
220
+
221
+ for (const value of values) {
222
+ const str = String(value);
223
+ if (staticOptions) {
224
+ if (str in staticOptions) {
225
+ usedOptions[str] = usedOptions[str] + 1;
226
+ }
227
+ continue;
228
+ }
229
+
230
+ if (value) {
231
+ usedOptions[str] = (usedOptions[str] ?? 0) + 1;
232
+ } else {
233
+ othersCount++;
234
+ }
235
+ }
236
+ }
237
+
238
+ const options = Object.entries(usedOptions)
239
+ .map(([value, count]) => ({ value, count }))
240
+ .sort((a, b) => b.value.localeCompare(a.value));
241
+
242
+ if (othersCount) {
243
+ options.push({ value: filter.missingCategoryName || 'Others', count: othersCount });
244
+ }
245
+ return { ...filter, options };
246
+ });
247
+ }
248
+
249
+ function filterItems(
250
+ normalizedItems: CatalogItem[],
251
+ filters: Omit<ResolvedFilter, 'parentUsed' | 'filteredOptions'>[],
252
+ term: string,
253
+ ) {
254
+ // filter by filters first, and then by search term
255
+ const filteredByFilters = normalizedItems.filter((item) => {
256
+ return filters.every((filter) => {
257
+ if (filter.selectedOptions.size === 0) {
258
+ return true;
259
+ }
260
+ const itemValue = item?.[filter.property] || filter.missingCategoryName || 'Others';
261
+ if (Array.isArray(itemValue)) {
262
+ return itemValue.some((value) => filter.selectedOptions.has(value));
263
+ }
264
+ return filter.selectedOptions.has(itemValue as string);
265
+ });
266
+ });
267
+
268
+ if (term) {
269
+ term = term.toLowerCase();
270
+ return filteredByFilters.filter((item) => {
271
+ return Object.values(item).some((value) => {
272
+ return Array.isArray(value)
273
+ ? value.some((value) => String(value).toLowerCase().includes(term))
274
+ : String(value).toLowerCase().includes(term);
275
+ });
276
+ });
277
+ } else {
278
+ return filteredByFilters;
279
+ }
280
+ }
@@ -0,0 +1 @@
1
+ export * from '@theme/components/CodeBlock/CodeBlock';
@@ -0,0 +1,236 @@
1
+ import React, { useState } from 'react';
2
+ import styled, { css } from 'styled-components';
3
+
4
+ import { ClipboardService } from '@theme/utils/ClipboardService';
5
+ import { useThemeConfig } from '@theme/hooks/useThemeConfig';
6
+ import { ReportDialog, useReportDialog } from '@theme/components/Feedback';
7
+
8
+ export type CodeSampleProps = {
9
+ language: string;
10
+ highlighted: string;
11
+ rawContent: string;
12
+ 'data-source'?: string;
13
+ 'data-hash'?: string;
14
+ };
15
+
16
+ export function CodeSample({
17
+ rawContent,
18
+ highlighted,
19
+ language,
20
+ 'data-source': dataSource,
21
+ 'data-hash': dataHash,
22
+ }: CodeSampleProps): JSX.Element {
23
+ const langClassName = language ? `language-${language}` : '';
24
+ const { codeSnippet: { copy = {}, report = {} } = {} } = useThemeConfig();
25
+
26
+ const [isCopied, setIsCopied] = useState(false);
27
+ const { isReportDialogShown, isReportButtonShown, reportButtonProps, reportDialogProps } =
28
+ useReportDialog(report);
29
+
30
+ const copyCode = (code: string) => {
31
+ ClipboardService.copyCustom(code);
32
+ setIsCopied(true);
33
+ setTimeout(() => setIsCopied(false), copy.toasterDuration || 1500);
34
+ };
35
+
36
+ return (
37
+ <Wrapper
38
+ className="code-sample"
39
+ data-component-name="Markdown/CodeSample/CodeSample"
40
+ data-source={dataSource}
41
+ data-hash={dataHash}
42
+ >
43
+ <CodeSampleButtonContainer>
44
+ {!copy.hide && (
45
+ <>
46
+ {!isCopied && (
47
+ <Button
48
+ onClick={() => copyCode(rawContent)}
49
+ title={copy.tooltipText || 'Copy to clipboard'}
50
+ >
51
+ {copy.buttonText || 'Copy'}
52
+ </Button>
53
+ )}
54
+ {isCopied && <DoneIndicator>{copy.toasterText || 'Copied!'}</DoneIndicator>}
55
+ </>
56
+ )}
57
+
58
+ {isReportButtonShown && <Button {...reportButtonProps}>Report</Button>}
59
+
60
+ {isReportDialogShown && <ReportDialog {...reportDialogProps} location={rawContent} />}
61
+ </CodeSampleButtonContainer>
62
+ <pre className={langClassName}>
63
+ <code className={langClassName} dangerouslySetInnerHTML={{ __html: highlighted }} />
64
+ </pre>
65
+ </Wrapper>
66
+ );
67
+ }
68
+
69
+ const CodeSampleButtonContainer = styled.div`
70
+ display: flex;
71
+ position: absolute;
72
+ top: 12px;
73
+ right: 5px;
74
+ `;
75
+
76
+ const Button = styled.div`
77
+ padding: var(--code-block-controls-padding);
78
+ border-radius: var(--code-block-controls-border-radius);
79
+ font-size: var(--code-block-controls-font-size);
80
+ font-family: var(--code-block-controls-font-family);
81
+ &:hover {
82
+ cursor: pointer;
83
+ }
84
+
85
+ @media print {
86
+ display: none;
87
+ }
88
+ `;
89
+
90
+ const DoneIndicator = styled.div`
91
+ padding: var(--code-block-controls-padding);
92
+ border-radius: var(--code-block-controls-border-radius);
93
+ font-size: var(--code-block-controls-font-size);
94
+ font-family: var(--code-block-controls-font-family);
95
+ cursor: default;
96
+ `;
97
+
98
+ const darkStyleTokens = css`
99
+ .token.comment,
100
+ .token.prolog,
101
+ .token.doctype,
102
+ .token.cdata {
103
+ color: hsl(30, 20%, 50%);
104
+ }
105
+ .token.property,
106
+ .token.tag,
107
+ .token.number,
108
+ .token.constant,
109
+ .token.symbol {
110
+ color: #62bff9;
111
+ }
112
+ .token.boolean {
113
+ color: firebrick;
114
+ }
115
+ .token.selector,
116
+ .token.attr-name,
117
+ .token.string,
118
+ .token.char,
119
+ .token.builtin,
120
+ .token.inserted {
121
+ color: #a0fbaa;
122
+ & + a,
123
+ & + a:visited {
124
+ color: #4ed2ba;
125
+ text-decoration: underline;
126
+ }
127
+ }
128
+ .token.operator,
129
+ .token.entity,
130
+ .token.url,
131
+ .token.variable {
132
+ color: hsl(40, 90%, 60%);
133
+ }
134
+ .token.atrule,
135
+ .token.attr-value,
136
+ .token.keyword {
137
+ color: hsl(350, 40%, 70%);
138
+ }
139
+ .token.regex,
140
+ .token.important {
141
+ color: #e90;
142
+ }
143
+ .token.deleted {
144
+ color: red;
145
+ }
146
+ `;
147
+
148
+ const Wrapper = styled.div`
149
+ overflow: auto;
150
+ border-radius: 4px;
151
+ position: relative;
152
+
153
+ ${Button},
154
+ ${DoneIndicator} {
155
+ color: var(--code-block-controls-text-color);
156
+ background-color: var(--code-block-controls-background-color);
157
+ opacity: var(--code-block-controls-opacity);
158
+ }
159
+ ${Button}:hover {
160
+ color: var(--code-block-controls-hover-text-color);
161
+ background-color: var(--code-block-controls-hover-background-color);
162
+ opacity: var(--code-block-controls-active-opacity);
163
+ }
164
+
165
+ pre {
166
+ white-space: var(--code-wrap);
167
+ color: white;
168
+ padding: 12px 14px 15px 14px;
169
+ overflow-x: auto;
170
+ line-height: normal;
171
+ border-radius: var(--code-block-border-radius);
172
+ font-family: var(--code-font-family);
173
+ background-color: var(--code-block-background-color);
174
+
175
+ print-color-adjust: exact;
176
+ -webkit-print-color-adjust: exact;
177
+
178
+ code {
179
+ background-color: transparent;
180
+ border: 0;
181
+ padding: 0;
182
+ color: var(--code-block-text-color);
183
+ &:before,
184
+ &:after {
185
+ content: none;
186
+ }
187
+ }
188
+ }
189
+ pre[class*='language-'] {
190
+ padding: 1em;
191
+ margin: 0.5em 0;
192
+ overflow: auto;
193
+ border: 0;
194
+ border-radius: var(--border-radius);
195
+ }
196
+ code[class='language-text'] {
197
+ line-height: 1.2em;
198
+ display: inline-flex;
199
+ white-space: pre-wrap;
200
+ overflow-wrap: anywhere;
201
+ }
202
+ code[class*='language-'],
203
+ pre[class*='language-'] {
204
+ text-align: left;
205
+ white-space: pre;
206
+ word-spacing: normal;
207
+ word-break: normal;
208
+ word-wrap: normal;
209
+ line-height: 1.5;
210
+ -moz-tab-size: 4;
211
+ -o-tab-size: 4;
212
+ tab-size: 4;
213
+ -webkit-hyphens: none;
214
+ -moz-hyphens: none;
215
+ -ms-hyphens: none;
216
+ hyphens: none;
217
+ .token.important,
218
+ .token.bold {
219
+ font-weight: bold;
220
+ }
221
+ .token.italic {
222
+ font-style: italic;
223
+ }
224
+ .token.entity {
225
+ cursor: help;
226
+ }
227
+ .token.punctuation {
228
+ opacity: 0.7;
229
+ }
230
+ .namespace {
231
+ opacity: 0.7;
232
+ }
233
+
234
+ ${darkStyleTokens};
235
+ }
236
+ `;
@@ -0,0 +1 @@
1
+ export * from '@theme/components/CodeSample/CodeSample';
@@ -0,0 +1 @@
1
+ export * from '@theme/components/ColorModeSwitcher/ColorModeSwitcher';
@@ -0,0 +1,31 @@
1
+ import React, { useState } from 'react';
2
+ import copy from 'copy-to-clipboard';
3
+ import { Button } from '@theme';
4
+
5
+ export interface CopyButtonProps {
6
+ text: string;
7
+ dataTestId?: string;
8
+ }
9
+
10
+ export const CopyButton = ({ text, dataTestId = 'copy-button' }: CopyButtonProps): JSX.Element => {
11
+ const [title, setTitle] = useState('Copy');
12
+
13
+ async function write() {
14
+ await copy(text);
15
+
16
+ setTitle('Copied!');
17
+
18
+ setTimeout(() => setTitle('Copy'), 1500);
19
+ }
20
+
21
+ return (
22
+ <Button
23
+ color="secondary"
24
+ onClick={write}
25
+ data-cy={dataTestId}
26
+ data-component-name="CopyButton/CopyButton"
27
+ >
28
+ {title}
29
+ </Button>
30
+ );
31
+ };
@@ -0,0 +1,55 @@
1
+ import React, { memo } from 'react';
2
+
3
+ import { SamplesControlButton } from '@theme/components/SamplesPanelControls';
4
+ import { Tooltip } from '@theme/components/Tooltip';
5
+ import { useControl } from '@theme/hooks';
6
+ import { ClipboardService } from '@theme/utils';
7
+ import type { TooltipProps } from '@theme/components/Tooltip';
8
+
9
+ export interface CopyButtonWrapperProps {
10
+ data: unknown;
11
+ children: (props: {
12
+ renderCopyButton: (placement?: TooltipProps['placement']) => JSX.Element;
13
+ }) => JSX.Element;
14
+ onCopyClick?: () => void;
15
+ dataTestId?: string;
16
+ }
17
+
18
+ function CopyButtonWrapperComponent({
19
+ data,
20
+ children,
21
+ onCopyClick,
22
+ dataTestId = 'copy-button',
23
+ }: CopyButtonWrapperProps): JSX.Element {
24
+ const tooltip = useControl();
25
+
26
+ const showTooltip = (): void => {
27
+ tooltip.handleOpen();
28
+
29
+ setTimeout(() => {
30
+ tooltip.handleClose();
31
+ }, 1500);
32
+ };
33
+
34
+ const copy = (): void => {
35
+ const content = typeof data === 'string' ? data : JSON.stringify(data, null, 2);
36
+ ClipboardService.copyCustom(content);
37
+ showTooltip();
38
+
39
+ onCopyClick?.();
40
+ };
41
+
42
+ const renderCopyButton = (placement: TooltipProps['placement'] = 'top'): JSX.Element => {
43
+ return (
44
+ <Tooltip className="copy-button" tip="Copied" isOpen={tooltip.isOpened} placement={placement}>
45
+ <SamplesControlButton onClick={copy} data-cy={dataTestId}>
46
+ Copy
47
+ </SamplesControlButton>
48
+ </Tooltip>
49
+ );
50
+ };
51
+
52
+ return children({ renderCopyButton });
53
+ }
54
+
55
+ export const CopyButtonWrapper = memo<CopyButtonWrapperProps>(CopyButtonWrapperComponent);
@@ -0,0 +1,2 @@
1
+ export * from '@theme/components/CopyButton/CopyButtonWrapper';
2
+ export * from '@theme/components/CopyButton/CopyButton';