@redocly/theme 0.1.7 → 0.1.10

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 (454) hide show
  1. package/Button/index.d.ts +1 -1
  2. package/Button/index.js +1 -1
  3. package/CodeBlock/index.d.ts +1 -1
  4. package/CodeBlock/index.js +1 -1
  5. package/CopyButton/index.d.ts +2 -2
  6. package/CopyButton/index.js +2 -2
  7. package/Footer/Footer.d.ts +3 -0
  8. package/Footer/Footer.js +35 -0
  9. package/Footer/FooterColumn.d.ts +7 -0
  10. package/Footer/FooterColumn.js +39 -0
  11. package/Footer/FooterColumns.d.ts +7 -0
  12. package/Footer/FooterColumns.js +44 -0
  13. package/Footer/FooterCopyright.d.ts +5 -0
  14. package/Footer/FooterCopyright.js +30 -0
  15. package/Footer/index.d.ts +4 -0
  16. package/Footer/index.js +20 -0
  17. package/Headings/index.d.ts +1 -1
  18. package/Headings/index.js +1 -1
  19. package/JsonViewer/JsonViewer.js +1 -1
  20. package/JsonViewer/index.d.ts +2 -1
  21. package/JsonViewer/index.js +2 -1
  22. package/Layout/PageLayout.d.ts +6 -0
  23. package/Layout/PageLayout.js +31 -0
  24. package/Layout/RootLayout.d.ts +7 -0
  25. package/Layout/RootLayout.js +32 -0
  26. package/Layout/index.d.ts +2 -0
  27. package/Layout/index.js +18 -0
  28. package/Markdown/Admonition.d.ts +9 -0
  29. package/Markdown/Admonition.js +39 -0
  30. package/Markdown/CodeSample/CodeSample.d.ts +8 -0
  31. package/Markdown/CodeSample/CodeSample.js +30 -0
  32. package/Markdown/CodeSample/index.d.ts +3 -0
  33. package/Markdown/CodeSample/index.js +19 -0
  34. package/Markdown/CodeSample/styled.d.ts +5 -0
  35. package/Markdown/CodeSample/styled.js +109 -0
  36. package/Markdown/CodeSample/types.d.ts +9 -0
  37. package/Markdown/CodeSample/types.js +2 -0
  38. package/Markdown/ContentWrapper.d.ts +5 -0
  39. package/Markdown/ContentWrapper.js +21 -0
  40. package/Markdown/Heading.d.ts +5 -0
  41. package/Markdown/Heading.js +23 -0
  42. package/Markdown/MarkdownLayout.d.ts +7 -0
  43. package/Markdown/MarkdownLayout.js +23 -0
  44. package/Markdown/Mermaid.d.ts +6 -0
  45. package/Markdown/Mermaid.js +19 -0
  46. package/Markdown/PageWrapper.d.ts +3 -0
  47. package/Markdown/PageWrapper.js +15 -0
  48. package/Markdown/StyledMarkdown.d.ts +8 -0
  49. package/Markdown/StyledMarkdown.js +54 -0
  50. package/Markdown/Tabs/Tab.d.ts +8 -0
  51. package/Markdown/Tabs/Tab.js +35 -0
  52. package/Markdown/Tabs/Tabs.d.ts +10 -0
  53. package/Markdown/Tabs/Tabs.js +43 -0
  54. package/Markdown/Tabs/index.d.ts +2 -0
  55. package/Markdown/Tabs/index.js +18 -0
  56. package/Markdown/index.d.ts +9 -0
  57. package/Markdown/index.js +25 -0
  58. package/Navbar/Navbar.d.ts +1 -1
  59. package/Navbar/Navbar.js +9 -3
  60. package/Navbar/NavbarItem.d.ts +1 -1
  61. package/Navbar/NavbarItem.js +4 -4
  62. package/Navbar/NavbarMenu.d.ts +1 -1
  63. package/Navbar/NavbarMenu.js +8 -4
  64. package/Navbar/index.d.ts +3 -0
  65. package/Navbar/index.js +19 -0
  66. package/NavbarLogo/NavbarLogo.d.ts +6 -0
  67. package/{Logo/Logo.js → NavbarLogo/NavbarLogo.js} +8 -5
  68. package/NavbarLogo/index.d.ts +1 -0
  69. package/NavbarLogo/index.js +17 -0
  70. package/OperationBadge/OperationBadge.d.ts +5 -0
  71. package/OperationBadge/OperationBadge.js +15 -0
  72. package/OperationBadge/index.d.ts +1 -0
  73. package/OperationBadge/index.js +17 -0
  74. package/PageNavigation/NextPageLink.d.ts +2 -0
  75. package/PageNavigation/NextPageLink.js +25 -0
  76. package/PageNavigation/PageNavigation.d.ts +2 -0
  77. package/PageNavigation/PageNavigation.js +31 -0
  78. package/PageNavigation/PreviousPageLink.d.ts +2 -0
  79. package/PageNavigation/PreviousPageLink.js +25 -0
  80. package/PageNavigation/index.d.ts +3 -0
  81. package/PageNavigation/index.js +19 -0
  82. package/Panel/CodePanel.js +6 -6
  83. package/Panel/ContentPanel.js +4 -4
  84. package/Panel/Panel.d.ts +1 -1
  85. package/Panel/Panel.js +3 -3
  86. package/Panel/PanelComponent.d.ts +1 -1
  87. package/Panel/PanelComponent.js +3 -3
  88. package/Panel/index.d.ts +8 -7
  89. package/Panel/index.js +8 -7
  90. package/REAMDE.md +1 -0
  91. package/SamplesPanelControls/index.d.ts +1 -1
  92. package/SamplesPanelControls/index.js +1 -1
  93. package/Search/Autocomplete.d.ts +13 -0
  94. package/Search/Autocomplete.js +79 -0
  95. package/Search/ClearIcon.d.ts +2 -0
  96. package/Search/ClearIcon.js +29 -0
  97. package/Search/Input.d.ts +3 -0
  98. package/Search/Input.js +15 -0
  99. package/Search/Parameters.d.ts +7 -0
  100. package/Search/Parameters.js +42 -0
  101. package/Search/Popover.d.ts +3 -0
  102. package/Search/Popover.js +15 -0
  103. package/Search/Search.d.ts +2 -0
  104. package/Search/Search.js +39 -0
  105. package/Search/SearchIcon.d.ts +2 -0
  106. package/Search/SearchIcon.js +29 -0
  107. package/Search/SearchItem.d.ts +7 -0
  108. package/Search/SearchItem.js +47 -0
  109. package/Search/index.d.ts +9 -0
  110. package/Search/index.js +25 -0
  111. package/Search/utils.d.ts +2 -0
  112. package/Search/utils.js +21 -0
  113. package/Sidebar/ApiCallItem.d.ts +8 -0
  114. package/Sidebar/ApiCallItem.js +35 -0
  115. package/Sidebar/ArrowBack.d.ts +4 -0
  116. package/Sidebar/ArrowBack.js +29 -0
  117. package/Sidebar/BackButton.d.ts +6 -0
  118. package/Sidebar/BackButton.js +31 -0
  119. package/Sidebar/Drilldown.d.ts +8 -0
  120. package/Sidebar/Drilldown.js +46 -0
  121. package/Sidebar/DrilldownMenu.d.ts +3 -0
  122. package/Sidebar/DrilldownMenu.js +55 -0
  123. package/Sidebar/DrilldownMenuItem.d.ts +3 -0
  124. package/Sidebar/DrilldownMenuItem.js +32 -0
  125. package/Sidebar/ExternalIcon.d.ts +4 -0
  126. package/Sidebar/ExternalIcon.js +29 -0
  127. package/Sidebar/Menu.d.ts +3 -0
  128. package/Sidebar/Menu.js +15 -0
  129. package/Sidebar/MenuContainer.d.ts +1 -0
  130. package/Sidebar/MenuContainer.js +13 -0
  131. package/Sidebar/MenuGroup.d.ts +9 -0
  132. package/Sidebar/MenuGroup.js +37 -0
  133. package/Sidebar/MenuItem.d.ts +3 -0
  134. package/Sidebar/MenuItem.js +34 -0
  135. package/Sidebar/MenuItemLabel.d.ts +5 -0
  136. package/Sidebar/MenuItemLabel.js +19 -0
  137. package/Sidebar/MenuLink.d.ts +5 -0
  138. package/Sidebar/MenuLink.js +16 -0
  139. package/Sidebar/MenuLinkItem.d.ts +3 -0
  140. package/Sidebar/MenuLinkItem.js +31 -0
  141. package/Sidebar/MobileSidebarButton.d.ts +5 -0
  142. package/Sidebar/MobileSidebarButton.js +21 -0
  143. package/Sidebar/Separator.d.ts +3 -0
  144. package/Sidebar/Separator.js +32 -0
  145. package/Sidebar/SeparatorItem.d.ts +5 -0
  146. package/Sidebar/SeparatorItem.js +14 -0
  147. package/Sidebar/SeparatorLine.d.ts +3 -0
  148. package/Sidebar/SeparatorLine.js +15 -0
  149. package/Sidebar/Sidebar.d.ts +8 -0
  150. package/Sidebar/Sidebar.js +24 -0
  151. package/Sidebar/SidebarLayout.d.ts +7 -0
  152. package/Sidebar/SidebarLayout.js +36 -0
  153. package/Sidebar/index.d.ts +19 -0
  154. package/Sidebar/index.js +35 -0
  155. package/Sidebar/types/DrilldownMenuProps.d.ts +6 -0
  156. package/Sidebar/types/DrilldownMenuProps.js +2 -0
  157. package/Sidebar/types/ItemState.d.ts +8 -0
  158. package/Sidebar/types/ItemState.js +2 -0
  159. package/Sidebar/types/MenuItemProps.d.ts +5 -0
  160. package/Sidebar/types/MenuItemProps.js +2 -0
  161. package/Sidebar/types/MenuStyle.d.ts +3 -0
  162. package/Sidebar/types/MenuStyle.js +8 -0
  163. package/Sidebar/types/NavItem.d.ts +26 -0
  164. package/Sidebar/types/NavItem.js +2 -0
  165. package/Sidebar/types/index.d.ts +5 -0
  166. package/Sidebar/types/index.js +21 -0
  167. package/SidebarLogo/index.d.ts +1 -1
  168. package/SidebarLogo/index.js +1 -1
  169. package/SourceCode/SourceCode.js +2 -2
  170. package/SourceCode/index.d.ts +1 -1
  171. package/SourceCode/index.js +1 -1
  172. package/TableOfContent/TableOfContent.d.ts +9 -0
  173. package/TableOfContent/TableOfContent.js +65 -0
  174. package/TableOfContent/index.d.ts +1 -0
  175. package/TableOfContent/index.js +17 -0
  176. package/Tooltip/index.d.ts +1 -1
  177. package/Tooltip/index.js +1 -1
  178. package/globalStyle.js +1 -1
  179. package/hooks/index.d.ts +7 -3
  180. package/hooks/index.js +7 -3
  181. package/hooks/useActiveHeading.d.ts +2 -0
  182. package/hooks/useActiveHeading.js +34 -0
  183. package/hooks/useActiveSectionId.d.ts +3 -0
  184. package/hooks/useActiveSectionId.js +49 -0
  185. package/hooks/useFullHeight.d.ts +2 -0
  186. package/hooks/useFullHeight.js +47 -0
  187. package/hooks/useMobileMenu.d.ts +2 -0
  188. package/hooks/useMobileMenu.js +13 -0
  189. package/hooks/useNavbarHeight.d.ts +3 -0
  190. package/hooks/useNavbarHeight.js +20 -0
  191. package/icons/ShelfIcon/ShelfIcon.js +2 -2
  192. package/icons/ShelfIcon/index.d.ts +2 -2
  193. package/icons/ShelfIcon/index.js +1 -1
  194. package/icons/index.d.ts +1 -1
  195. package/icons/index.js +1 -1
  196. package/index.d.ts +2 -0
  197. package/index.js +2 -0
  198. package/mocks/hooks/usePageData.d.ts +5 -0
  199. package/mocks/hooks/usePageData.js +7 -0
  200. package/mocks/models.d.ts +3 -0
  201. package/mocks/models.js +2 -0
  202. package/mocks/search.d.ts +22 -0
  203. package/mocks/search.js +13 -0
  204. package/mocks/types/index.d.ts +1 -0
  205. package/mocks/types/index.js +2 -0
  206. package/mocks/usePreloadHistory.d.ts +3 -0
  207. package/mocks/usePreloadHistory.js +12 -0
  208. package/package.json +5 -2
  209. package/src/Button/Button.stories.tsx +2 -2
  210. package/src/Button/__tests__/Button.test.tsx +1 -1
  211. package/src/Button/index.ts +1 -1
  212. package/src/CodeBlock/__tests__/CodeBlock.test.tsx +1 -1
  213. package/src/CodeBlock/index.ts +1 -1
  214. package/src/CopyButton/CopyButton.stories.tsx +2 -2
  215. package/src/CopyButton/CopyButton.tsx +1 -1
  216. package/src/CopyButton/CopyButtonWrapper.tsx +4 -4
  217. package/src/CopyButton/__tests__/CopyButton.test.tsx +1 -1
  218. package/src/CopyButton/__tests__/CopyButtonWrapper.test.tsx +2 -1
  219. package/src/CopyButton/index.ts +2 -2
  220. package/src/Footer/Footer.stories.tsx +57 -0
  221. package/src/Footer/Footer.tsx +31 -0
  222. package/src/Footer/FooterColumn.tsx +62 -0
  223. package/src/Footer/FooterColumns.tsx +53 -0
  224. package/src/Footer/FooterCopyright.tsx +28 -0
  225. package/src/Footer/__tests__/Footer.test.tsx +55 -0
  226. package/src/Footer/__tests__/__snapshots__/Footer.test.tsx.snap +253 -0
  227. package/src/Footer/index.ts +4 -0
  228. package/src/Headings/Headings.stories.tsx +1 -1
  229. package/src/Headings/Headings.ts +1 -1
  230. package/src/Headings/__tests__/Headings.test.tsx +1 -1
  231. package/src/Headings/index.ts +1 -1
  232. package/src/JsonViewer/JsonViewer.stories.tsx +2 -2
  233. package/src/JsonViewer/JsonViewer.tsx +6 -7
  234. package/src/JsonViewer/__tests__/JsonViewer.test.tsx +2 -1
  235. package/src/JsonViewer/index.ts +2 -1
  236. package/src/Layout/PageLayout.tsx +34 -0
  237. package/src/Layout/RootLayout.tsx +24 -0
  238. package/src/Layout/__tests__/PageLayout.test.tsx +17 -0
  239. package/src/Layout/__tests__/RootLayout.test.tsx +17 -0
  240. package/src/Layout/__tests__/__snapshots__/PageLayout.test.tsx.snap +38 -0
  241. package/src/Layout/__tests__/__snapshots__/RootLayout.test.tsx.snap +18 -0
  242. package/src/Layout/index.ts +2 -0
  243. package/src/Markdown/Admonition.tsx +64 -0
  244. package/src/Markdown/CodeSample/CodeSample.tsx +39 -0
  245. package/src/Markdown/CodeSample/index.ts +3 -0
  246. package/src/Markdown/CodeSample/styled.ts +289 -0
  247. package/src/Markdown/CodeSample/types.ts +40 -0
  248. package/src/Markdown/ContentWrapper.tsx +20 -0
  249. package/src/Markdown/Heading.tsx +38 -0
  250. package/src/Markdown/MarkdownLayout.tsx +25 -0
  251. package/src/Markdown/Mermaid.tsx +23 -0
  252. package/src/Markdown/PageWrapper.tsx +9 -0
  253. package/src/Markdown/StyledMarkdown.tsx +312 -0
  254. package/src/Markdown/Tabs/Tab.tsx +37 -0
  255. package/src/Markdown/Tabs/Tabs.tsx +45 -0
  256. package/src/Markdown/Tabs/index.ts +2 -0
  257. package/src/Markdown/index.ts +9 -0
  258. package/src/Navbar/Navbar.stories.tsx +9 -15
  259. package/src/Navbar/Navbar.tsx +21 -28
  260. package/src/Navbar/NavbarItem.tsx +3 -3
  261. package/src/Navbar/NavbarMenu.tsx +6 -6
  262. package/src/Navbar/index.ts +3 -0
  263. package/src/NavbarLogo/NavbarLogo.stories.tsx +20 -0
  264. package/src/NavbarLogo/NavbarLogo.tsx +24 -0
  265. package/src/NavbarLogo/__tests__/NavbarLogo.test.tsx +47 -0
  266. package/src/NavbarLogo/__tests__/__snapshots__/NavbarLogo.test.tsx.snap +38 -0
  267. package/src/NavbarLogo/index.ts +1 -0
  268. package/src/OperationBadge/OperationBadge.stories.tsx +35 -0
  269. package/src/OperationBadge/OperationBadge.ts +59 -0
  270. package/src/OperationBadge/__tests__/OperationBadge.test.tsx +59 -0
  271. package/src/OperationBadge/__tests__/__snapshots__/OperationBadge.test.tsx.snap +651 -0
  272. package/src/OperationBadge/index.ts +1 -0
  273. package/src/PageNavigation/NextPageLink.tsx +22 -0
  274. package/src/PageNavigation/PageNavigation.tsx +20 -0
  275. package/src/PageNavigation/PreviousPageLink.tsx +22 -0
  276. package/src/PageNavigation/index.ts +3 -0
  277. package/src/Panel/CodePanel.stories.tsx +1 -2
  278. package/src/Panel/CodePanel.ts +8 -7
  279. package/src/Panel/ContentPanel.stories.tsx +1 -2
  280. package/src/Panel/ContentPanel.ts +5 -6
  281. package/src/Panel/Panel.stories.tsx +1 -3
  282. package/src/Panel/Panel.ts +3 -3
  283. package/src/Panel/PanelComponent.tsx +4 -5
  284. package/src/Panel/__tests__/CodePanel.test.tsx +1 -1
  285. package/src/Panel/__tests__/ContentPanel.test.tsx +1 -1
  286. package/src/Panel/__tests__/Panel.test.tsx +1 -2
  287. package/src/Panel/__tests__/__snapshots__/CodePanel.test.tsx.snap +8 -8
  288. package/src/Panel/__tests__/__snapshots__/ContentPanel.test.tsx.snap +22 -22
  289. package/src/Panel/__tests__/__snapshots__/Panel.test.tsx.snap +16 -16
  290. package/src/Panel/index.ts +8 -7
  291. package/src/SamplesPanelControls/SamplesControlButton.stories.tsx +2 -2
  292. package/src/SamplesPanelControls/SamplesPanelControls.ts +1 -1
  293. package/src/SamplesPanelControls/index.ts +1 -1
  294. package/src/Search/Autocomplete.tsx +128 -0
  295. package/src/Search/ClearIcon.tsx +31 -0
  296. package/src/Search/Input.tsx +19 -0
  297. package/src/Search/Parameters.tsx +62 -0
  298. package/src/Search/Popover.tsx +20 -0
  299. package/src/Search/Search.tsx +52 -0
  300. package/src/Search/SearchIcon.tsx +32 -0
  301. package/src/Search/SearchItem.tsx +85 -0
  302. package/src/Search/index.ts +9 -0
  303. package/src/Search/utils.tsx +19 -0
  304. package/src/Sidebar/ApiCallItem.tsx +33 -0
  305. package/src/Sidebar/ArrowBack.tsx +22 -0
  306. package/src/Sidebar/BackButton.tsx +44 -0
  307. package/src/Sidebar/Drilldown.tsx +46 -0
  308. package/src/Sidebar/DrilldownMenu.tsx +58 -0
  309. package/src/Sidebar/DrilldownMenuItem.tsx +40 -0
  310. package/src/Sidebar/ExternalIcon.tsx +37 -0
  311. package/src/Sidebar/Menu.tsx +11 -0
  312. package/src/Sidebar/MenuContainer.tsx +8 -0
  313. package/src/Sidebar/MenuGroup.tsx +55 -0
  314. package/src/Sidebar/MenuItem.tsx +25 -0
  315. package/src/Sidebar/MenuItemLabel.tsx +41 -0
  316. package/src/Sidebar/MenuLink.tsx +14 -0
  317. package/src/Sidebar/MenuLinkItem.tsx +24 -0
  318. package/src/Sidebar/MobileSidebarButton.tsx +44 -0
  319. package/src/Sidebar/Separator.tsx +17 -0
  320. package/src/Sidebar/SeparatorItem.tsx +14 -0
  321. package/src/Sidebar/SeparatorLine.tsx +9 -0
  322. package/src/Sidebar/Sidebar.tsx +54 -0
  323. package/src/Sidebar/SidebarLayout.tsx +30 -0
  324. package/src/Sidebar/index.ts +19 -0
  325. package/src/Sidebar/types/DrilldownMenuProps.ts +7 -0
  326. package/src/Sidebar/types/ItemState.ts +9 -0
  327. package/src/Sidebar/types/MenuItemProps.ts +6 -0
  328. package/src/Sidebar/types/MenuStyle.ts +4 -0
  329. package/src/Sidebar/types/NavItem.ts +27 -0
  330. package/src/Sidebar/types/index.ts +5 -0
  331. package/src/SidebarLogo/SidebarLogo.stories.tsx +2 -2
  332. package/src/SidebarLogo/__tests__/SidebarLogo.test.tsx +1 -1
  333. package/src/SidebarLogo/index.ts +1 -1
  334. package/src/SourceCode/SourceCode.stories.tsx +2 -2
  335. package/src/SourceCode/SourceCode.tsx +7 -3
  336. package/src/SourceCode/__tests__/SourceCode.test.tsx +2 -1
  337. package/src/SourceCode/index.ts +1 -1
  338. package/src/TableOfContent/TableOfContent.stories.tsx +39 -0
  339. package/src/TableOfContent/TableOfContent.tsx +112 -0
  340. package/src/TableOfContent/index.ts +1 -0
  341. package/src/Tooltip/Tooltip.stories.tsx +2 -2
  342. package/src/Tooltip/Tooltip.tsx +1 -1
  343. package/src/Tooltip/__tests__/Tooltip.test.tsx +1 -1
  344. package/src/Tooltip/index.ts +1 -1
  345. package/src/Welcome.stories.mdx +7 -0
  346. package/src/globalStyle.ts +99 -28
  347. package/src/hooks/index.ts +7 -3
  348. package/src/hooks/useActiveHeading.ts +46 -0
  349. package/src/hooks/useActiveSectionId.ts +53 -0
  350. package/src/hooks/useFullHeight.ts +47 -0
  351. package/src/hooks/useMobileMenu.ts +11 -0
  352. package/src/hooks/useNavbarHeight.ts +24 -0
  353. package/src/icons/ShelfIcon/ShelfIcon.stories.tsx +1 -1
  354. package/src/icons/ShelfIcon/ShelfIcon.tsx +1 -1
  355. package/src/icons/ShelfIcon/__tests__/ShelfIcon.test.tsx +1 -1
  356. package/src/icons/ShelfIcon/index.ts +2 -2
  357. package/src/icons/index.ts +1 -1
  358. package/src/index.ts +2 -0
  359. package/src/mocks/hooks/usePageData.ts +8 -0
  360. package/src/mocks/models.ts +3 -0
  361. package/src/mocks/search.ts +31 -0
  362. package/src/mocks/types/index.ts +1 -0
  363. package/src/mocks/usePreloadHistory.ts +9 -0
  364. package/src/types/portal/index.d.ts +5 -0
  365. package/src/types/portal/src/client/app/Sidebar/types.d.ts +41 -0
  366. package/src/types/portal/src/client/app/media-css.d.ts +7 -0
  367. package/src/types/portal/src/client/styling/default.d.ts +601 -0
  368. package/src/types/portal/src/client/styling/index.d.ts +10 -0
  369. package/src/types/portal/src/client/styling/resolve.d.ts +1 -0
  370. package/src/types/portal/src/server/constants.d.ts +7 -0
  371. package/src/types/portal/src/server/plugins/markdown/types.d.ts +23 -0
  372. package/src/types/portal/src/server/plugins/portal-config/types.d.ts +23 -0
  373. package/src/types/portal/src/server/plugins/types.d.ts +55 -0
  374. package/src/types/portal/src/server/store.d.ts +53 -0
  375. package/src/types/portal/src/server/utils/async.d.ts +1 -0
  376. package/src/types/portal/src/server/utils/content-provider.d.ts +51 -0
  377. package/src/types/portal/src/server/utils/crypto.d.ts +3 -0
  378. package/src/types/portal/src/server/utils/fs.d.ts +3 -0
  379. package/src/types/portal/src/server/utils/index.d.ts +6 -0
  380. package/src/types/portal/src/server/utils/paths.d.ts +13 -0
  381. package/src/types/portal/src/server/utils/reporter/formatter.d.ts +11 -0
  382. package/src/types/portal/src/server/utils/reporter/reporter.d.ts +17 -0
  383. package/src/types/portal/src/server/utils/yaml.d.ts +1 -0
  384. package/src/types/portal/src/server/version-store.d.ts +35 -0
  385. package/src/types/portal/src/shared/constants.d.ts +8 -0
  386. package/src/types/portal/src/shared/types.d.ts +116 -0
  387. package/src/types/portal/src/shared/urls.d.ts +8 -0
  388. package/src/types/portal/src/shared/utils.d.ts +10 -0
  389. package/src/ui/AlertIcon.tsx +111 -0
  390. package/src/ui/Arrow.tsx +36 -0
  391. package/src/ui/Background.tsx +16 -0
  392. package/src/ui/Box.tsx +39 -0
  393. package/src/ui/Button.tsx +19 -0
  394. package/src/ui/Dropdown.tsx +132 -0
  395. package/src/ui/Flex.tsx +21 -0
  396. package/src/ui/Jumbotron.tsx +57 -0
  397. package/src/ui/Tiles/ThinTile.tsx +151 -0
  398. package/src/ui/Tiles/TileHeader.ts +13 -0
  399. package/src/ui/Tiles/TileText.tsx +12 -0
  400. package/src/ui/Tiles/WideTile.tsx +138 -0
  401. package/src/ui/Tiles/index.ts +4 -0
  402. package/src/ui/Typography.tsx +167 -0
  403. package/src/ui/UniversalLink.tsx +100 -0
  404. package/src/ui/index.tsx +17 -0
  405. package/src/utils/__tests__/ClipboardService.test.ts +1 -1
  406. package/src/utils/__tests__/css-variables.test.ts +1 -1
  407. package/src/utils/__tests__/highlight.test.ts +1 -1
  408. package/src/utils/__tests__/jsonToHtml.test.ts +1 -1
  409. package/src/utils/__tests__/media-css.test.ts +1 -1
  410. package/src/utils/__tests__/theme-helpers.test.ts +1 -1
  411. package/src/utils/getNavbarElement.ts +10 -0
  412. package/src/utils/isUrl.ts +42 -0
  413. package/src/utils/replaceHashInColor.ts +3 -0
  414. package/ui/AlertIcon.d.ts +10 -0
  415. package/ui/AlertIcon.js +45 -0
  416. package/ui/Arrow.d.ts +7 -0
  417. package/ui/Arrow.js +42 -0
  418. package/ui/Background.d.ts +7 -0
  419. package/ui/Background.js +16 -0
  420. package/ui/Box.d.ts +6 -0
  421. package/ui/Box.js +16 -0
  422. package/ui/Button.d.ts +7 -0
  423. package/ui/Button.js +27 -0
  424. package/ui/Dropdown.d.ts +8 -0
  425. package/ui/Dropdown.js +55 -0
  426. package/ui/Flex.d.ts +10 -0
  427. package/ui/Flex.js +31 -0
  428. package/ui/Jumbotron.d.ts +18 -0
  429. package/ui/Jumbotron.js +44 -0
  430. package/ui/Tiles/ThinTile.d.ts +21 -0
  431. package/ui/Tiles/ThinTile.js +98 -0
  432. package/ui/Tiles/TileHeader.d.ts +5 -0
  433. package/ui/Tiles/TileHeader.js +15 -0
  434. package/ui/Tiles/TileText.d.ts +5 -0
  435. package/ui/Tiles/TileText.js +15 -0
  436. package/ui/Tiles/WideTile.d.ts +7 -0
  437. package/ui/Tiles/WideTile.js +93 -0
  438. package/ui/Tiles/index.d.ts +4 -0
  439. package/ui/Tiles/index.js +20 -0
  440. package/ui/Typography.d.ts +110 -0
  441. package/ui/Typography.js +137 -0
  442. package/ui/UniversalLink.d.ts +17 -0
  443. package/ui/UniversalLink.js +62 -0
  444. package/ui/index.d.ts +14 -0
  445. package/ui/index.js +34 -0
  446. package/utils/getNavbarElement.d.ts +1 -0
  447. package/utils/getNavbarElement.js +14 -0
  448. package/utils/isUrl.d.ts +12 -0
  449. package/utils/isUrl.js +36 -0
  450. package/utils/replaceHashInColor.d.ts +1 -0
  451. package/utils/replaceHashInColor.js +7 -0
  452. package/Logo/Logo.d.ts +0 -10
  453. package/src/Introduction.stories.mdx +0 -7
  454. package/src/Logo/Logo.tsx +0 -23
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import { MenuItemProps } from '@theme/Sidebar/types/MenuItemProps';
5
+ import { SeparatorLine } from '@theme/Sidebar/SeparatorLine';
6
+ import { SeparatorItem } from '@theme/Sidebar/SeparatorItem';
7
+
8
+ export function Separator({ item }: MenuItemProps): JSX.Element {
9
+ return (
10
+ <Wrapper data-component-name="Sidebar/Separator">
11
+ <SeparatorItem>{item.label}</SeparatorItem>
12
+ {item.separatorLine ? <SeparatorLine /> : null}
13
+ </Wrapper>
14
+ );
15
+ }
16
+
17
+ const Wrapper = styled.div``;
@@ -0,0 +1,14 @@
1
+ import styled from 'styled-components';
2
+
3
+ import { MenuItemLabel } from '@theme/Sidebar/MenuItemLabel';
4
+
5
+ export const SeparatorItem = styled(MenuItemLabel)`
6
+ cursor: default;
7
+ font-weight: var(--font-weight-bold);
8
+ color: var(--sidebar-separator-label-color);
9
+
10
+ :hover {
11
+ color: inherit;
12
+ background-color: inherit;
13
+ }
14
+ `;
@@ -0,0 +1,9 @@
1
+ import styled from 'styled-components';
2
+
3
+ export const SeparatorLine = styled.div.attrs(() => ({
4
+ 'data-component-name': 'Sidebar/SeparatorLine',
5
+ }))`
6
+ height: 1px;
7
+ background-color: var(--sidebar-separator-line-color);
8
+ margin: var(--sidebar-spacing-padding-vertical) 0;
9
+ `;
@@ -0,0 +1,54 @@
1
+ import styled from 'styled-components';
2
+
3
+ interface SidebarProps {
4
+ opened?: boolean;
5
+ animate?: boolean;
6
+ }
7
+
8
+ export const Sidebar = styled.aside.attrs(() => ({
9
+ 'data-component-name': 'Sidebar/Sidebar',
10
+ }))<SidebarProps>`
11
+ border-right: 1px solid var(--sidebar-right-line-color);
12
+ position: fixed;
13
+ left: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ z-index: 2;
17
+ background: var(--sidebar-background-color);
18
+ font-size: var(--sidebar-font-size);
19
+ font-family: var(--sidebar-font-family);
20
+ color: var(--sidebar-item-color);
21
+ top: var(--navbar-height);
22
+ height: calc(100vh - var(--navbar-height));
23
+ display: flex;
24
+ flex-direction: column;
25
+ width: 100%;
26
+ -webkit-font-smoothing: antialiased;
27
+
28
+ ${({ opened, animate }) => `
29
+ opacity: ${opened ? '1' : '0'};
30
+ pointer-events: ${opened ? 'auto' : 'none'};
31
+
32
+ & > * {
33
+ transform: ${opened ? 'translate(0, 0)' : 'translate(0, 40px)'};
34
+ transition: ${animate ? 'transform 0.65s ease, opacity 0.25s ease;' : 'none'};
35
+ }
36
+ `};
37
+
38
+ ${({ theme }) => theme.mediaQueries.medium} {
39
+ position: sticky;
40
+ pointer-events: auto;
41
+ display: flex;
42
+ opacity: 1;
43
+ flex-shrink: 0;
44
+ width: var(--sidebar-width);
45
+
46
+ & > * {
47
+ transform: none;
48
+ }
49
+ }
50
+
51
+ ${({ theme }) => theme.mediaQueries.large} {
52
+ transform: none;
53
+ }
54
+ `;
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import { Sidebar } from '@theme/Sidebar/Sidebar';
5
+ import { useMobileMenu } from '@theme/hooks/useMobileMenu';
6
+ import { MobileSidebarButton } from '@theme/Sidebar/MobileSidebarButton';
7
+ import { MenuContainer } from '@theme/Sidebar/MenuContainer';
8
+
9
+ interface SidebarLayoutProps {
10
+ versions: React.ReactNode;
11
+ menu: React.ReactNode;
12
+ }
13
+
14
+ export function SidebarLayout({ versions, menu }: SidebarLayoutProps): JSX.Element {
15
+ const [isOpen, setIsOpen] = useMobileMenu();
16
+ const toggleMenu = () => setIsOpen(!isOpen);
17
+
18
+ return (
19
+ <Wrapper data-component-name="Sidebar/SidebarLayout">
20
+ <MobileSidebarButton opened={isOpen} onClick={toggleMenu} />
21
+
22
+ <Sidebar animate={true} opened={isOpen}>
23
+ {versions}
24
+ <MenuContainer>{menu}</MenuContainer>
25
+ </Sidebar>
26
+ </Wrapper>
27
+ );
28
+ }
29
+
30
+ const Wrapper = styled.div``;
@@ -0,0 +1,19 @@
1
+ export * from '@theme/Sidebar/ApiCallItem';
2
+ export * from '@theme/Sidebar/ArrowBack';
3
+ export * from '@theme/Sidebar/BackButton';
4
+ export * from '@theme/Sidebar/Drilldown';
5
+ export * from '@theme/Sidebar/DrilldownMenu';
6
+ export * from '@theme/Sidebar/DrilldownMenuItem';
7
+ export * from '@theme/Sidebar/ExternalIcon';
8
+ export * from '@theme/Sidebar/Menu';
9
+ export * from '@theme/Sidebar/MenuContainer';
10
+ export * from '@theme/Sidebar/MenuGroup';
11
+ export * from '@theme/Sidebar/MenuItem';
12
+ export * from '@theme/Sidebar/MenuItemLabel';
13
+ export * from '@theme/Sidebar/MenuLink';
14
+ export * from '@theme/Sidebar/MenuLinkItem';
15
+ export * from '@theme/Sidebar/MobileSidebarButton';
16
+ export * from '@theme/Sidebar/Separator';
17
+ export * from '@theme/Sidebar/SeparatorItem';
18
+ export * from '@theme/Sidebar/Sidebar';
19
+ export * from '@theme/Sidebar/SidebarLayout';
@@ -0,0 +1,7 @@
1
+ import { ItemState } from '@theme/Sidebar/types/ItemState';
2
+
3
+ export interface DrilldownMenuProps {
4
+ back: () => void;
5
+ item: ItemState;
6
+ prevActiveItem?: ItemState;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { NavItem } from '@theme/Sidebar/types/NavItem';
2
+ import { MenuStyle } from '@theme/Sidebar/types/MenuStyle';
3
+
4
+ export interface ItemState extends NavItem {
5
+ items: ItemState[];
6
+ active: boolean;
7
+ hasActiveSubItem: boolean;
8
+ menuStyle?: MenuStyle;
9
+ }
@@ -0,0 +1,6 @@
1
+ import { ItemState } from '@theme/Sidebar/types/ItemState';
2
+
3
+ export interface MenuItemProps {
4
+ item: ItemState;
5
+ activeItem?: ItemState;
6
+ }
@@ -0,0 +1,4 @@
1
+ //TODO: make default export
2
+ export enum MenuStyle {
3
+ Drilldown = 'drilldown',
4
+ }
@@ -0,0 +1,27 @@
1
+ import { MenuStyle } from '@theme/Sidebar/types/MenuStyle';
2
+
3
+ export interface NavItem {
4
+ label?: string;
5
+ sublabel?: string;
6
+ icon?: string;
7
+ link?: string;
8
+ type?: string;
9
+ httpVerb?: string;
10
+ expanded?: string;
11
+ selectFirstItemOnExpand?: boolean;
12
+ pageId?: string;
13
+ redocPrevLink?: string;
14
+ redocPrevLabel?: string;
15
+ redocNextLink?: string;
16
+ redocNextLabel?: string;
17
+ redocFakePage?: boolean;
18
+ redocInfoPageId?: string;
19
+ target?: string;
20
+ external?: boolean;
21
+ items?: NavItem[];
22
+ permission?: string;
23
+ menuStyle?: MenuStyle;
24
+ separatorLine?: boolean;
25
+ version?: string;
26
+ default?: boolean;
27
+ }
@@ -0,0 +1,5 @@
1
+ export * from '@theme/Sidebar/types/DrilldownMenuProps';
2
+ export * from '@theme/Sidebar/types/ItemState';
3
+ export * from '@theme/Sidebar/types/MenuItemProps';
4
+ export * from '@theme/Sidebar/types/MenuStyle';
5
+ export * from '@theme/Sidebar/types/NavItem';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { ComponentStory, ComponentMeta } from '@storybook/react';
3
3
 
4
- import { SidebarLogo } from './SidebarLogo';
4
+ import { SidebarLogo } from '@theme/SidebarLogo';
5
5
 
6
6
  export default {
7
- title: 'SidebarLogo',
7
+ title: 'Components/SidebarLogo',
8
8
  component: SidebarLogo,
9
9
  argTypes: {
10
10
  backgroundColor: { control: 'color' },
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
3
 
4
- import { SidebarLogo } from '../SidebarLogo';
4
+ import { SidebarLogo } from '@theme/SidebarLogo';
5
5
 
6
6
  describe('SidebarLogo', () => {
7
7
  it('renders', () => {
@@ -1 +1 @@
1
- export * from './SidebarLogo';
1
+ export * from '@theme/SidebarLogo/SidebarLogo';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { ComponentStory, ComponentMeta } from '@storybook/react';
3
3
 
4
- import { SourceCode } from './SourceCode';
4
+ import { SourceCode } from '@theme/SourceCode';
5
5
 
6
6
  export default {
7
- title: 'SourceCode',
7
+ title: 'Components/SourceCode',
8
8
  component: SourceCode,
9
9
  } as ComponentMeta<typeof SourceCode>;
10
10
 
@@ -1,8 +1,12 @@
1
1
  import React from 'react';
2
2
 
3
- import { highlight } from '../utils/highlight';
4
- import { SampleControls, SampleControlsWrap, PreformattedCodeBlock } from '../SamplesPanelControls';
5
- import { CopyButtonWrapper } from '../CopyButton';
3
+ import { highlight } from '@theme/utils';
4
+ import {
5
+ SampleControls,
6
+ SampleControlsWrap,
7
+ PreformattedCodeBlock,
8
+ } from '@theme/SamplesPanelControls';
9
+ import { CopyButtonWrapper } from '@theme/CopyButton';
6
10
 
7
11
  export interface SourceCodeProps {
8
12
  lang: string;
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
 
3
- import { SourceCode } from '../SourceCode';
4
3
  import { renderWithTheme } from '../../../tests/utils';
5
4
 
5
+ import { SourceCode } from '@theme/SourceCode';
6
+
6
7
  describe('SourceCode', () => {
7
8
  it('renders without copy button', () => {
8
9
  const { container } = renderWithTheme(
@@ -1 +1 @@
1
- export * from './SourceCode';
1
+ export * from '@theme/SourceCode/SourceCode';
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { ComponentStory, ComponentMeta } from '@storybook/react';
3
+ import { ThemeProvider } from 'styled-components';
4
+
5
+ import { TableOfContent } from '@theme/TableOfContent';
6
+ import { generateMediaQueries } from '@theme/utils/media-css';
7
+
8
+ const breakpoints = { small: '1rem', medium: '1rem', large: '1rem' };
9
+
10
+ const theme = {
11
+ mediaQueries: generateMediaQueries(breakpoints),
12
+ };
13
+
14
+ export default {
15
+ title: 'Portal/TableOfContent',
16
+ component: TableOfContent,
17
+ decorators: [
18
+ (Story) => (
19
+ <ThemeProvider theme={theme}>
20
+ <Story />
21
+ </ThemeProvider>
22
+ ),
23
+ ],
24
+ } as ComponentMeta<typeof TableOfContent>;
25
+
26
+ const Template: ComponentStory<typeof TableOfContent> = (args) => (
27
+ <TableOfContent {...args}>Click</TableOfContent>
28
+ );
29
+
30
+ export const Default = Template.bind({});
31
+ Default.args = {
32
+ headings: [
33
+ { id: '1', value: 'test 1', depth: 1 },
34
+ { id: '2', value: 'test 2', depth: 1 },
35
+ { id: '3', value: 'test 3', depth: 2 },
36
+ { id: '4', value: 'test 4', depth: 2 },
37
+ { id: '5', value: 'test 5', depth: 1 },
38
+ ],
39
+ };
@@ -0,0 +1,112 @@
1
+ import React, { useRef } from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import { useFullHeight } from '@theme/hooks/useFullHeight';
5
+ import { useActiveHeading } from '@theme/hooks/useActiveHeading';
6
+ import { MdHeading } from '@theme/types/portal';
7
+
8
+ interface TableOfContentProps {
9
+ headings?: Array<MdHeading | null> | null | undefined;
10
+ contentWrapper: HTMLDivElement | null;
11
+ tocMaxDepth: number;
12
+ }
13
+
14
+ export function TableOfContent(props: TableOfContentProps): JSX.Element | null {
15
+ const { headings, tocMaxDepth } = props;
16
+
17
+ const sidebar = useRef<HTMLDivElement | null>(null);
18
+ useFullHeight(sidebar);
19
+ const activeHeadingId = useActiveHeading(props.contentWrapper);
20
+
21
+ if (headings && headings.length === 1 && headings[0]?.depth === 1) {
22
+ return null;
23
+ }
24
+ if (!headings?.length) {
25
+ return null;
26
+ }
27
+
28
+ return (
29
+ <>
30
+ {headings && (
31
+ <TableOfContentMenu data-component-name="TableOfContent/TableOfContent">
32
+ <TableOfContentItems ref={sidebar}>
33
+ <TocHeader>On this page</TocHeader>
34
+ {headings.map((heading: MdHeading | null, idx: number) => {
35
+ // TODO: not sure about !heading
36
+ if (!heading) {
37
+ return null;
38
+ }
39
+ if (idx === 0 && heading.depth === 1) {
40
+ return null;
41
+ }
42
+ if (heading.depth && heading.depth > tocMaxDepth) {
43
+ return null;
44
+ }
45
+ const href = '#' + heading.id;
46
+ return (
47
+ <MenuItem
48
+ key={href}
49
+ depth={heading.depth || 0}
50
+ href={href}
51
+ className={activeHeadingId === heading.id ? 'active' : ''}
52
+ dangerouslySetInnerHTML={{ __html: heading.value || '' }}
53
+ data-cy={`toc-${heading.value}`}
54
+ />
55
+ );
56
+ })}
57
+ </TableOfContentItems>
58
+ </TableOfContentMenu>
59
+ )}
60
+ </>
61
+ );
62
+ }
63
+
64
+ const TocHeader = styled.div`
65
+ font-size: 0.8em;
66
+ padding: 10px 15px;
67
+ font-weight: bold;
68
+ text-transform: uppercase;
69
+ `;
70
+
71
+ const MenuItem = styled.a<{ depth: number }>`
72
+ display: block;
73
+ color: var(--color-content);
74
+ cursor: pointer;
75
+ font-size: 0.8em;
76
+ padding: 10px 15px;
77
+ padding-left: ${({ depth }) => (depth - 1) * 15}px;
78
+ transition: background-color 0.3s, color 0.3s;
79
+ text-decoration: none;
80
+ word-break: break-word;
81
+ font-family: var(--h-font-family);
82
+ :hover,
83
+ &.active {
84
+ color: var(--sidebar-item-active-color);
85
+ background-color: var(--sidebar-item-active-background-color);
86
+ }
87
+ :empty {
88
+ padding: 0;
89
+ }
90
+ `;
91
+
92
+ const TableOfContentMenu = styled.aside`
93
+ font-size: 1rem;
94
+ background-color: transparent;
95
+ flex-shrink: 0;
96
+ display: none !important;
97
+ font-family: var(--font-family-base);
98
+
99
+ ${({ theme }) => theme.mediaQueries.medium} {
100
+ width: var(--toc-width);
101
+ display: block !important;
102
+ }
103
+ `;
104
+
105
+ const TableOfContentItems = styled.div`
106
+ position: sticky;
107
+ top: calc(var(--navbar-height) + 20px);
108
+ max-height: calc(100vh - var(--navbar-height) - 20px);
109
+ border-left: 1px solid var(--global-border-color);
110
+ overflow-y: auto;
111
+ width: var(--toc-width); ;
112
+ `;
@@ -0,0 +1 @@
1
+ export * from '@theme/TableOfContent/TableOfContent';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { ComponentStory, ComponentMeta } from '@storybook/react';
3
3
 
4
- import { Tooltip } from './Tooltip';
4
+ import { Tooltip } from '@theme/Tooltip';
5
5
 
6
6
  export default {
7
- title: 'Tooltip',
7
+ title: 'Components/Tooltip',
8
8
  component: Tooltip,
9
9
  } as ComponentMeta<typeof Tooltip>;
10
10
 
@@ -2,7 +2,7 @@ import type { PropsWithChildren } from 'react';
2
2
  import React, { useCallback, useEffect, memo } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
4
 
5
- import { useControl } from '../hooks';
5
+ import { useControl } from '@theme/hooks';
6
6
 
7
7
  export interface TooltipProps {
8
8
  tip: string;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { render, fireEvent } from '@testing-library/react';
3
3
 
4
- import { Tooltip } from '../Tooltip';
4
+ import { Tooltip } from '@theme/Tooltip';
5
5
 
6
6
  describe('Tooltip', () => {
7
7
  it('renders closed', () => {
@@ -1 +1 @@
1
- export * from './Tooltip';
1
+ export * from '@theme/Tooltip/Tooltip';
@@ -0,0 +1,7 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Welcome" />
4
+
5
+ # @redocly/theme
6
+
7
+ Welcome to storybook for [@redocly/theme](https://www.npmjs.com/package/@redocly/theme) package.