@redocly/theme 0.15.1 → 0.16.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 (345) hide show
  1. package/lib/I18n/LanguagePicker.js +2 -1
  2. package/lib/components/Breadcrumbs/Breadcrumb.js +0 -1
  3. package/lib/components/Breadcrumbs/Breadcrumbs.js +6 -0
  4. package/lib/components/Cards/Card.d.ts +1 -0
  5. package/lib/components/Cards/Card.js +1 -1
  6. package/lib/components/Cards/CardsBlock.d.ts +1 -3
  7. package/lib/components/Cards/CardsBlock.js +2 -1
  8. package/lib/components/Catalog/Catalog.js +1 -1
  9. package/lib/components/CodeBlock/CodeBlock.d.ts +1 -3
  10. package/lib/components/CodeBlock/CodeBlock.js +2 -1
  11. package/lib/components/CodeSample/CodeSample.d.ts +2 -1
  12. package/lib/components/CodeSample/CodeSample.js +3 -2
  13. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.d.ts +5 -1
  14. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +3 -2
  15. package/lib/components/Feedback/Comment.d.ts +1 -1
  16. package/lib/components/Feedback/Comment.js +3 -3
  17. package/lib/components/Feedback/Rating.d.ts +1 -1
  18. package/lib/components/Feedback/Rating.js +2 -2
  19. package/lib/components/Feedback/Reasons.d.ts +1 -1
  20. package/lib/components/Feedback/Reasons.js +2 -2
  21. package/lib/components/Feedback/ReportDialog.js +1 -1
  22. package/lib/components/Feedback/Sentiment.d.ts +1 -1
  23. package/lib/components/Feedback/Sentiment.js +2 -2
  24. package/lib/components/Feedback/types.d.ts +5 -0
  25. package/lib/components/Footer/CustomFooter.d.ts +2 -1
  26. package/lib/components/Footer/CustomFooter.js +2 -2
  27. package/lib/components/Footer/CustomFooterNavItem.d.ts +2 -1
  28. package/lib/components/Footer/CustomFooterNavItem.js +2 -2
  29. package/lib/components/Footer/Footer.d.ts +2 -1
  30. package/lib/components/Footer/Footer.js +2 -2
  31. package/lib/components/Footer/FooterColumn.d.ts +2 -1
  32. package/lib/components/Footer/FooterColumn.js +2 -2
  33. package/lib/components/Footer/FooterColumns.d.ts +2 -1
  34. package/lib/components/Footer/FooterColumns.js +2 -2
  35. package/lib/components/Footer/FooterCopyright.d.ts +2 -1
  36. package/lib/components/Footer/FooterCopyright.js +2 -2
  37. package/lib/components/JsonViewer/JsonViewer.d.ts +1 -3
  38. package/lib/components/LastUpdated/LastUpdated.d.ts +1 -0
  39. package/lib/components/LastUpdated/LastUpdated.js +1 -1
  40. package/lib/components/Markdown/ContainerWrapper.d.ts +1 -3
  41. package/lib/components/Markdown/ContainerWrapper.js +2 -1
  42. package/lib/components/Markdown/Heading.d.ts +2 -1
  43. package/lib/components/Markdown/Heading.js +2 -2
  44. package/lib/components/Markdown/MarkdownLayout.d.ts +2 -1
  45. package/lib/components/Markdown/MarkdownLayout.js +2 -2
  46. package/lib/components/Markdown/MarkdownWrapper.d.ts +1 -3
  47. package/lib/components/Markdown/MarkdownWrapper.js +2 -1
  48. package/lib/components/Markdown/Mermaid.d.ts +2 -1
  49. package/lib/components/Markdown/Mermaid.js +3 -2
  50. package/lib/components/Markdown/PageWrapper.d.ts +1 -3
  51. package/lib/components/Markdown/PageWrapper.js +2 -1
  52. package/lib/components/Markdown/Sup.d.ts +3 -1
  53. package/lib/components/Markdown/Sup.js +2 -2
  54. package/lib/components/Menu/Menu.d.ts +3 -1
  55. package/lib/components/Menu/Menu.js +6 -4
  56. package/lib/components/Menu/MenuContainer.d.ts +1 -0
  57. package/lib/components/Menu/MenuContainer.js +2 -1
  58. package/lib/components/Menu/MenuGroup.d.ts +2 -1
  59. package/lib/components/Menu/MenuGroup.js +3 -3
  60. package/lib/components/Menu/MenuItem.d.ts +1 -1
  61. package/lib/components/Menu/MenuItem.js +19 -3
  62. package/lib/components/Menu/MenuItemLabel.d.ts +1 -3
  63. package/lib/components/Menu/MenuItemLabel.js +18 -9
  64. package/lib/components/Menu/MenuItemSwitch.js +4 -2
  65. package/lib/components/Menu/MenuLink.d.ts +1 -3
  66. package/lib/components/Menu/MenuLink.js +2 -1
  67. package/lib/components/Menu/MenuLinkItem.d.ts +1 -1
  68. package/lib/components/Menu/MenuLinkItem.js +2 -2
  69. package/lib/components/Menu/MobileMenu.d.ts +11 -0
  70. package/lib/components/Menu/MobileMenu.js +179 -0
  71. package/lib/components/Menu/MobileMenuGroup.d.ts +9 -0
  72. package/lib/components/Menu/MobileMenuGroup.js +53 -0
  73. package/lib/components/Menu/index.d.ts +1 -0
  74. package/lib/components/Menu/index.js +1 -0
  75. package/lib/components/Navbar/BurgerButton.d.ts +5 -0
  76. package/lib/components/Navbar/BurgerButton.js +29 -0
  77. package/lib/components/Navbar/MobileUserProfile.d.ts +2 -0
  78. package/lib/components/Navbar/MobileUserProfile.js +78 -0
  79. package/lib/components/Navbar/Navbar.d.ts +1 -0
  80. package/lib/components/Navbar/Navbar.js +29 -9
  81. package/lib/components/Navbar/NavbarDropdown.d.ts +2 -1
  82. package/lib/components/Navbar/NavbarDropdown.js +2 -2
  83. package/lib/components/Navbar/NavbarMenu.d.ts +2 -1
  84. package/lib/components/Navbar/NavbarMenu.js +2 -2
  85. package/lib/components/NavbarLogo/NavbarLogo.d.ts +2 -1
  86. package/lib/components/NavbarLogo/NavbarLogo.js +2 -2
  87. package/lib/components/OpenApiDocs/DevOnboardingTryItSecurity.d.ts +1 -1
  88. package/lib/components/OpenApiDocs/DevOnboardingTryItSecurity.js +1 -1
  89. package/lib/components/PageNavigation/NextButton.d.ts +2 -1
  90. package/lib/components/PageNavigation/NextButton.js +2 -2
  91. package/lib/components/PageNavigation/PageNavigation.d.ts +2 -1
  92. package/lib/components/PageNavigation/PageNavigation.js +2 -2
  93. package/lib/components/PageNavigation/PreviousButton.d.ts +2 -1
  94. package/lib/components/PageNavigation/PreviousButton.js +2 -2
  95. package/lib/components/Panel/PanelBody.d.ts +1 -3
  96. package/lib/components/Panel/PanelBody.js +2 -1
  97. package/lib/components/Panel/PanelHeader.d.ts +1 -3
  98. package/lib/components/Panel/PanelHeader.js +2 -1
  99. package/lib/components/Panel/PanelHeaderTitle.d.ts +1 -3
  100. package/lib/components/Panel/PanelHeaderTitle.js +2 -1
  101. package/lib/components/Profile/Profile.d.ts +6 -0
  102. package/lib/components/Profile/Profile.js +7 -7
  103. package/lib/components/Profile/types.d.ts +1 -0
  104. package/lib/components/SamplesPanelControls/SamplesPanelControls.d.ts +2 -6
  105. package/lib/components/SamplesPanelControls/SamplesPanelControls.js +2 -1
  106. package/lib/components/Search/CancelSearch.d.ts +2 -1
  107. package/lib/components/Search/CancelSearch.js +2 -2
  108. package/lib/components/Search/ClearIcon.d.ts +1 -3
  109. package/lib/components/Search/ClearIcon.js +2 -1
  110. package/lib/components/Search/ClockBackwardsIcon.d.ts +1 -4
  111. package/lib/components/Search/Input.d.ts +1 -3
  112. package/lib/components/Search/Input.js +2 -1
  113. package/lib/components/Search/InputWrapper.d.ts +2 -1
  114. package/lib/components/Search/InputWrapper.js +2 -2
  115. package/lib/components/Search/MobileSearchTrigger.d.ts +2 -1
  116. package/lib/components/Search/MobileSearchTrigger.js +6 -5
  117. package/lib/components/Search/Popover.d.ts +1 -3
  118. package/lib/components/Search/Popover.js +3 -2
  119. package/lib/components/Search/RecentSearches.d.ts +2 -1
  120. package/lib/components/Search/RecentSearches.js +3 -3
  121. package/lib/components/Search/Search.d.ts +3 -1
  122. package/lib/components/Search/Search.js +2 -2
  123. package/lib/components/Search/SearchDialog.d.ts +2 -1
  124. package/lib/components/Search/SearchDialog.js +4 -3
  125. package/lib/components/Search/SearchIcon.d.ts +1 -3
  126. package/lib/components/Search/SearchIcon.js +2 -1
  127. package/lib/components/Search/SearchItem.d.ts +2 -1
  128. package/lib/components/Search/SearchItem.js +3 -3
  129. package/lib/components/Search/SearchTrigger.d.ts +2 -1
  130. package/lib/components/Search/SearchTrigger.js +2 -2
  131. package/lib/components/Search/Shortcut.d.ts +2 -1
  132. package/lib/components/Search/Shortcut.js +2 -2
  133. package/lib/components/Search/ShortcutKey.d.ts +1 -0
  134. package/lib/components/Search/ShortcutKey.js +1 -1
  135. package/lib/components/Search/SidebarSearch.d.ts +1 -3
  136. package/lib/components/Search/SidebarSearch.js +2 -1
  137. package/lib/components/Search/SuggestedPages.d.ts +3 -1
  138. package/lib/components/Search/SuggestedPages.js +2 -2
  139. package/lib/components/Separator/Separator.d.ts +1 -1
  140. package/lib/components/Separator/Separator.js +2 -2
  141. package/lib/components/Separator/SeparatorItem.d.ts +1 -5
  142. package/lib/components/Separator/SeparatorItem.js +7 -2
  143. package/lib/components/Separator/SeparatorLine.d.ts +1 -3
  144. package/lib/components/Separator/SeparatorLine.js +2 -1
  145. package/lib/components/Sidebar/ApiCallItem.d.ts +1 -1
  146. package/lib/components/Sidebar/ApiCallItem.js +10 -3
  147. package/lib/components/Sidebar/BackButton.d.ts +2 -1
  148. package/lib/components/Sidebar/BackButton.js +2 -2
  149. package/lib/components/Sidebar/Drilldown.d.ts +2 -1
  150. package/lib/components/Sidebar/Drilldown.js +2 -2
  151. package/lib/components/Sidebar/DrilldownMenu.d.ts +1 -1
  152. package/lib/components/Sidebar/DrilldownMenu.js +3 -3
  153. package/lib/components/Sidebar/DrilldownMenuItem.d.ts +1 -1
  154. package/lib/components/Sidebar/DrilldownMenuItem.js +2 -2
  155. package/lib/components/Sidebar/HeaderWrapper.d.ts +1 -3
  156. package/lib/components/Sidebar/HeaderWrapper.js +2 -1
  157. package/lib/components/Sidebar/MobileSidebarButton.d.ts +1 -3
  158. package/lib/components/Sidebar/MobileSidebarButton.js +3 -2
  159. package/lib/components/Sidebar/Sidebar.d.ts +1 -3
  160. package/lib/components/Sidebar/Sidebar.js +2 -1
  161. package/lib/components/Sidebar/SidebarLayout.d.ts +2 -1
  162. package/lib/components/Sidebar/SidebarLayout.js +2 -4
  163. package/lib/components/Sidebar/types.d.ts +3 -0
  164. package/lib/components/SidebarActions/SidebarActions.d.ts +2 -1
  165. package/lib/components/SidebarActions/SidebarActions.js +2 -2
  166. package/lib/components/SidebarLogo/SidebarLogo.d.ts +2 -1
  167. package/lib/components/SidebarLogo/SidebarLogo.js +2 -2
  168. package/lib/components/TableOfContent/TableOfContent.d.ts +1 -0
  169. package/lib/components/TableOfContent/TableOfContent.js +2 -2
  170. package/lib/components/Tags/Tags.d.ts +2 -1
  171. package/lib/components/Tags/Tags.js +2 -2
  172. package/lib/components/Tiles/TileHeader.d.ts +1 -3
  173. package/lib/components/Tiles/TileHeader.js +2 -1
  174. package/lib/components/Tiles/TileText.d.ts +1 -3
  175. package/lib/components/Tiles/TileText.js +2 -1
  176. package/lib/components/Typography/CompactTypography.d.ts +1 -3
  177. package/lib/components/Typography/Emphasis.d.ts +1 -3
  178. package/lib/components/Typography/Emphasis.js +2 -1
  179. package/lib/components/Typography/H1.d.ts +1 -3
  180. package/lib/components/Typography/H1.js +2 -1
  181. package/lib/components/Typography/H2.d.ts +1 -3
  182. package/lib/components/Typography/H2.js +2 -1
  183. package/lib/components/Typography/H3.d.ts +1 -3
  184. package/lib/components/Typography/H3.js +2 -1
  185. package/lib/components/Typography/SectionHeader.d.ts +1 -3
  186. package/lib/components/Typography/SectionHeader.js +2 -1
  187. package/lib/components/Typography/Typography.d.ts +1 -3
  188. package/lib/components/Typography/Typography.js +2 -1
  189. package/lib/globalStyle.js +62 -2
  190. package/lib/hooks/useMobileMenu.js +7 -1
  191. package/lib/icons/BurgerIcon/BurgerIcon.d.ts +5 -0
  192. package/lib/icons/BurgerIcon/BurgerIcon.js +15 -0
  193. package/lib/icons/BurgerIcon/index.d.ts +1 -0
  194. package/lib/icons/BurgerIcon/index.js +6 -0
  195. package/lib/icons/CloseIcon/CloseIcon.d.ts +5 -0
  196. package/lib/icons/CloseIcon/CloseIcon.js +16 -0
  197. package/lib/icons/CloseIcon/index.d.ts +1 -0
  198. package/lib/icons/CloseIcon/index.js +6 -0
  199. package/lib/icons/ColorModeIcon/ColorModeIcon.js +5 -1
  200. package/lib/icons/ExpandIcon/ExpandIcon.d.ts +8 -0
  201. package/lib/icons/ExpandIcon/ExpandIcon.js +31 -0
  202. package/lib/icons/ExpandIcon/index.d.ts +1 -0
  203. package/lib/icons/ExpandIcon/index.js +6 -0
  204. package/lib/icons/LogoutIcon/LogoutIcon.d.ts +5 -0
  205. package/lib/icons/LogoutIcon/LogoutIcon.js +17 -0
  206. package/lib/icons/LogoutIcon/index.d.ts +1 -0
  207. package/lib/icons/LogoutIcon/index.js +6 -0
  208. package/lib/icons/index.d.ts +4 -0
  209. package/lib/icons/index.js +4 -0
  210. package/lib/mocks/Sidebar/useSidebarItems.d.ts +3 -0
  211. package/lib/mocks/Sidebar/useSidebarItems.js +8 -0
  212. package/lib/mocks/hooks/index.d.ts +4 -1
  213. package/lib/mocks/hooks/index.js +16 -1
  214. package/lib/mocks/media-css.d.ts +5 -0
  215. package/lib/mocks/media-css.js +5 -0
  216. package/lib/ui/Dropdown.js +1 -1
  217. package/lib/ui/darkColors.js +11 -3
  218. package/package.json +4 -3
  219. package/src/I18n/LanguagePicker.tsx +2 -1
  220. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -1
  221. package/src/components/Breadcrumbs/Breadcrumbs.tsx +6 -0
  222. package/src/components/Cards/Card.tsx +2 -1
  223. package/src/components/Cards/CardsBlock.tsx +2 -1
  224. package/src/components/Catalog/Catalog.tsx +1 -1
  225. package/src/components/CodeBlock/CodeBlock.ts +2 -1
  226. package/src/components/CodeSample/CodeSample.tsx +4 -1
  227. package/src/components/ColorModeSwitcher/ColorModeSwitcher.tsx +7 -1
  228. package/src/components/Feedback/Comment.tsx +3 -3
  229. package/src/components/Feedback/Rating.tsx +2 -2
  230. package/src/components/Feedback/Reasons.tsx +6 -2
  231. package/src/components/Feedback/ReportDialog.tsx +1 -1
  232. package/src/components/Feedback/Sentiment.tsx +2 -2
  233. package/src/components/Feedback/types.ts +5 -0
  234. package/src/components/Footer/CustomFooter.tsx +3 -2
  235. package/src/components/Footer/CustomFooterNavItem.tsx +3 -2
  236. package/src/components/Footer/Footer.tsx +3 -1
  237. package/src/components/Footer/FooterColumn.tsx +3 -2
  238. package/src/components/Footer/FooterColumns.tsx +3 -2
  239. package/src/components/Footer/FooterCopyright.tsx +6 -1
  240. package/src/components/LastUpdated/LastUpdated.tsx +2 -0
  241. package/src/components/Markdown/ContainerWrapper.tsx +2 -1
  242. package/src/components/Markdown/Heading.tsx +3 -1
  243. package/src/components/Markdown/MarkdownLayout.tsx +3 -1
  244. package/src/components/Markdown/MarkdownWrapper.tsx +2 -1
  245. package/src/components/Markdown/Mermaid.tsx +5 -1
  246. package/src/components/Markdown/PageWrapper.tsx +2 -1
  247. package/src/components/Markdown/Sup.tsx +9 -2
  248. package/src/components/Menu/Menu.tsx +16 -5
  249. package/src/components/Menu/MenuContainer.tsx +3 -1
  250. package/src/components/Menu/MenuGroup.tsx +4 -5
  251. package/src/components/Menu/MenuItem.tsx +22 -4
  252. package/src/components/Menu/MenuItemLabel.tsx +19 -10
  253. package/src/components/Menu/MenuItemSwitch.tsx +7 -5
  254. package/src/components/Menu/MenuLink.tsx +2 -1
  255. package/src/components/Menu/MenuLinkItem.tsx +2 -1
  256. package/src/components/Menu/MobileMenu.tsx +209 -0
  257. package/src/components/Menu/MobileMenuGroup.tsx +73 -0
  258. package/src/components/Menu/index.ts +1 -0
  259. package/src/components/Navbar/BurgerButton.tsx +34 -0
  260. package/src/components/Navbar/MobileUserProfile.tsx +90 -0
  261. package/src/components/Navbar/Navbar.tsx +43 -14
  262. package/src/components/Navbar/NavbarDropdown.tsx +3 -2
  263. package/src/components/Navbar/NavbarMenu.tsx +8 -2
  264. package/src/components/NavbarLogo/NavbarLogo.tsx +11 -3
  265. package/src/components/OpenApiDocs/DevOnboardingTryItSecurity.tsx +2 -4
  266. package/src/components/PageNavigation/NextButton.tsx +3 -1
  267. package/src/components/PageNavigation/PageNavigation.tsx +10 -2
  268. package/src/components/PageNavigation/PreviousButton.tsx +3 -1
  269. package/src/components/Panel/PanelBody.ts +2 -1
  270. package/src/components/Panel/PanelHeader.ts +2 -1
  271. package/src/components/Panel/PanelHeaderTitle.ts +2 -1
  272. package/src/components/Profile/Profile.tsx +2 -2
  273. package/src/components/Profile/types.ts +1 -0
  274. package/src/components/SamplesPanelControls/SamplesPanelControls.ts +6 -3
  275. package/src/components/Search/CancelSearch.tsx +8 -2
  276. package/src/components/Search/ClearIcon.tsx +2 -1
  277. package/src/components/Search/ClockBackwardsIcon.tsx +1 -1
  278. package/src/components/Search/Input.tsx +2 -1
  279. package/src/components/Search/InputWrapper.tsx +3 -1
  280. package/src/components/Search/MobileSearchTrigger.tsx +16 -5
  281. package/src/components/Search/Popover.tsx +3 -2
  282. package/src/components/Search/RecentSearches.tsx +9 -3
  283. package/src/components/Search/Search.tsx +2 -2
  284. package/src/components/Search/SearchDialog.tsx +10 -3
  285. package/src/components/Search/SearchIcon.tsx +2 -1
  286. package/src/components/Search/SearchItem.tsx +4 -1
  287. package/src/components/Search/SearchTrigger.tsx +8 -2
  288. package/src/components/Search/Shortcut.tsx +3 -1
  289. package/src/components/Search/ShortcutKey.tsx +2 -1
  290. package/src/components/Search/SidebarSearch.tsx +2 -1
  291. package/src/components/Search/SuggestedPages.tsx +2 -2
  292. package/src/components/Separator/Separator.tsx +2 -2
  293. package/src/components/Separator/SeparatorItem.tsx +11 -4
  294. package/src/components/Separator/SeparatorLine.tsx +2 -1
  295. package/src/components/Sidebar/ApiCallItem.tsx +12 -4
  296. package/src/components/Sidebar/BackButton.tsx +3 -1
  297. package/src/components/Sidebar/Drilldown.tsx +3 -1
  298. package/src/components/Sidebar/DrilldownMenu.tsx +3 -2
  299. package/src/components/Sidebar/DrilldownMenuItem.tsx +2 -2
  300. package/src/components/Sidebar/HeaderWrapper.tsx +2 -1
  301. package/src/components/Sidebar/MobileSidebarButton.tsx +3 -2
  302. package/src/components/Sidebar/Sidebar.tsx +2 -1
  303. package/src/components/Sidebar/SidebarLayout.tsx +3 -4
  304. package/src/components/Sidebar/types.ts +3 -0
  305. package/src/components/SidebarActions/SidebarActions.tsx +3 -0
  306. package/src/components/SidebarLogo/SidebarLogo.tsx +3 -0
  307. package/src/components/TableOfContent/TableOfContent.tsx +3 -2
  308. package/src/components/Tags/Tags.tsx +2 -2
  309. package/src/components/Tiles/TileHeader.ts +2 -1
  310. package/src/components/Tiles/TileText.tsx +2 -1
  311. package/src/components/Typography/Emphasis.ts +2 -1
  312. package/src/components/Typography/H1.ts +2 -1
  313. package/src/components/Typography/H2.ts +2 -1
  314. package/src/components/Typography/H3.ts +2 -1
  315. package/src/components/Typography/SectionHeader.ts +2 -1
  316. package/src/components/Typography/Typography.ts +2 -1
  317. package/src/globalStyle.ts +66 -3
  318. package/src/hooks/useMobileMenu.ts +5 -1
  319. package/src/icons/BurgerIcon/BurgerIcon.tsx +12 -0
  320. package/src/icons/BurgerIcon/index.ts +1 -0
  321. package/src/icons/CloseIcon/CloseIcon.tsx +13 -0
  322. package/src/icons/CloseIcon/index.ts +1 -0
  323. package/src/icons/ColorModeIcon/ColorModeIcon.tsx +5 -1
  324. package/src/icons/ExpandIcon/ExpandIcon.tsx +46 -0
  325. package/src/icons/ExpandIcon/index.ts +1 -0
  326. package/src/icons/LogoutIcon/LogoutIcon.tsx +20 -0
  327. package/src/icons/LogoutIcon/index.ts +1 -0
  328. package/src/icons/index.ts +4 -0
  329. package/src/mocks/Sidebar/useSidebarItems.tsx +7 -0
  330. package/src/mocks/hooks/index.ts +16 -1
  331. package/src/mocks/media-css.ts +1 -0
  332. package/src/ui/Dropdown.tsx +1 -1
  333. package/src/ui/darkColors.tsx +11 -3
  334. package/lib/components/Navbar/MobileNavbarDropdown.d.ts +0 -8
  335. package/lib/components/Navbar/MobileNavbarDropdown.js +0 -30
  336. package/lib/components/Navbar/MobileNavbarItem.d.ts +0 -15
  337. package/lib/components/Navbar/MobileNavbarItem.js +0 -110
  338. package/lib/components/Navbar/MobileNavbarMenu.d.ts +0 -6
  339. package/lib/components/Navbar/MobileNavbarMenu.js +0 -92
  340. package/lib/components/Navbar/MobileNavbarMenuButton.d.ts +0 -4
  341. package/lib/components/Navbar/MobileNavbarMenuButton.js +0 -18
  342. package/src/components/Navbar/MobileNavbarDropdown.tsx +0 -37
  343. package/src/components/Navbar/MobileNavbarItem.tsx +0 -121
  344. package/src/components/Navbar/MobileNavbarMenu.tsx +0 -111
  345. package/src/components/Navbar/MobileNavbarMenuButton.tsx +0 -13
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSidebarItems = void 0;
4
+ function useSidebarItems(_) {
5
+ return [];
6
+ }
7
+ exports.useSidebarItems = useSidebarItems;
8
+ //# sourceMappingURL=useSidebarItems.js.map
@@ -1,5 +1,5 @@
1
1
  import type { ThemeUIConfig } from '../../config';
2
- import type { ResolvedNavItem, TFunction } from '../../types/portal';
2
+ import type { ResolvedNavItem, TFunction, Version } from '../../types/portal';
3
3
  import type { CatalogConfig, FilteredCatalog } from '../../types/portal/src/shared/types/catalog';
4
4
  interface PageLink {
5
5
  label: string;
@@ -28,3 +28,6 @@ export declare function useI18nConfig(): {
28
28
  name: string;
29
29
  }[];
30
30
  };
31
+ export declare function usePageVersions(): {
32
+ versions: Version[];
33
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useI18nConfig = exports.useGlobalData = exports.useI18n = exports.useTranslate = exports.useCatalog = exports.usePageSharedData = exports.useSidebarSiblingsData = exports.useThemeConfig = void 0;
3
+ exports.usePageVersions = exports.useI18nConfig = exports.useGlobalData = exports.useI18n = exports.useTranslate = exports.useCatalog = exports.usePageSharedData = exports.useSidebarSiblingsData = exports.useThemeConfig = void 0;
4
4
  function useThemeConfig() {
5
5
  return {
6
6
  search: {
@@ -89,4 +89,19 @@ function useI18nConfig() {
89
89
  };
90
90
  }
91
91
  exports.useI18nConfig = useI18nConfig;
92
+ function usePageVersions() {
93
+ return {
94
+ versions: [
95
+ {
96
+ version: '1.0',
97
+ label: 'First',
98
+ link: '',
99
+ default: true,
100
+ active: true,
101
+ folderId: 'id',
102
+ },
103
+ ],
104
+ };
105
+ }
106
+ exports.usePageVersions = usePageVersions;
92
107
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ export declare const breakpoints: {
2
+ small: string;
3
+ medium: string;
4
+ large: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.breakpoints = void 0;
4
+ exports.breakpoints = { small: '550px', medium: '900px', large: '1200px' };
5
+ //# sourceMappingURL=media-css.js.map
@@ -54,7 +54,7 @@ const DropDownList = styled_components_1.default.div `
54
54
  padding: 0;
55
55
  border-radius: 4px;
56
56
  border: 1px solid var(--border-color);
57
- z-index: 9999;
57
+ z-index: var(--z-index-popover);
58
58
  left: 0;
59
59
  right: 0;
60
60
  `;
@@ -7,9 +7,17 @@ exports.darkMode = (0, styled_components_1.css) `
7
7
  * @tokens Dark Colors
8
8
  * @presenter Color
9
9
  */
10
- --background-color: #0d1117;
11
- --footer-background-color: #16202e;
12
- --navbar-background-color: #16202e;
10
+ --background-color: #141414;
11
+ --footer-background-color: #1F1F1F;
12
+ --navbar-background-color: #1F1F1F;
13
+ --mobile-menu-background: #141414;
14
+ --mobile-menu-profile-background: var(--mobile-menu-background);
15
+ --mobile-menu-login-button-background: var(--mobile-menu-profile-background); rgba(255, 255, 255, 0.6);
16
+ --mobile-menu-item-text-color: rgba(255, 255, 255, 0.6);
17
+ --mobile-menu-item-active-color: #1F1F1F;
18
+ --mobile-menu-item-active-text-color: rgba(255, 255, 255, 0.85);
19
+ --mobile-menu-control-button-color: #ffffff;
20
+ --mobile-menu-profile-border-color: #222222;
13
21
  --color-primary-500: #57a5fd;
14
22
  --color-primary-300: #15396e;
15
23
  --color-secondary-300: #22262e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "Shared UI components library",
5
5
  "keywords": [
6
6
  "theme",
@@ -77,6 +77,7 @@
77
77
  "ts-node": "^10.7.0",
78
78
  "ts-node-dev": "^2.0.0",
79
79
  "tsc-alias": "^1.8.2",
80
+ "tsconfig-paths": "^4.2.0",
80
81
  "tsconfig-paths-webpack-plugin": "^3.5.2",
81
82
  "typescript": "^4.8.4",
82
83
  "webpack": "^5.72.0"
@@ -85,9 +86,9 @@
85
86
  "@redocly/ajv": "^8.11.0",
86
87
  "copy-to-clipboard": "^3.3.3",
87
88
  "highlight-words-core": "^1.2.2",
88
- "react-date-picker": "10.0.3",
89
- "react-calendar": "4.2.1",
90
89
  "hotkeys-js": "^3.10.1",
90
+ "react-calendar": "4.2.1",
91
+ "react-date-picker": "10.0.3",
91
92
  "timeago.js": "^4.0.2"
92
93
  },
93
94
  "scripts": {
@@ -70,6 +70,7 @@ const Dropdown = styled.div<{ isOpen: boolean }>`
70
70
  ? `
71
71
  ${DropdownMenu} {
72
72
  display: block;
73
+ z-index: var(--z-index-popover);
73
74
  }
74
75
  `
75
76
  : ``}
@@ -101,7 +102,7 @@ const DropdownMenu = styled.ul`
101
102
  overflow: hidden;
102
103
  display: none;
103
104
  overflow-y: auto;
104
- z-index: 9;
105
+ z-index: var(--z-index-surface);
105
106
  padding: 0;
106
107
  list-style: none;
107
108
  `;
@@ -27,7 +27,6 @@ const BreadcrumbText = styled.div`
27
27
 
28
28
  const BreadcrumbWrapper = styled.div<{ isActive: boolean; isLink: boolean }>`
29
29
  border-radius: var(--border-radius);
30
- padding: 0 var(--breadcrumbs-padding-horizontal);
31
30
 
32
31
  &:first-child {
33
32
  padding-left: 0;
@@ -32,6 +32,12 @@ const Container = styled.div`
32
32
  flex-direction: row;
33
33
  align-items: center;
34
34
  color: var(--breadcrumbs-text-color);
35
+ font-size: var(--breadcrumbs-font-size);
36
+ flex-wrap: wrap;
37
+
38
+ > div {
39
+ padding-right: var(--breadcrumbs-padding-horizontal);
40
+ }
35
41
 
36
42
  @media print {
37
43
  display: none;
@@ -10,12 +10,13 @@ export interface CardProps {
10
10
  title?: string;
11
11
  icon?: string;
12
12
  links: ResolvedNavItem;
13
+ className?: string;
13
14
  }
14
15
 
15
16
  export function Card(props: CardProps): JSX.Element {
16
17
  const { translate } = useTranslate();
17
18
  return (
18
- <CardWrapper data-component-name="Cards/Card">
19
+ <CardWrapper data-component-name="Cards/Card" className={props.className}>
19
20
  {props.icon && <img src={props?.icon} alt={props?.title} />}
20
21
  {props.title && <H3>{props.title}</H3>}
21
22
  {props.links.items && (
@@ -1,7 +1,8 @@
1
1
  import styled from 'styled-components';
2
2
 
3
- export const CardsBlock = styled.div.attrs(() => ({
3
+ export const CardsBlock = styled.div.attrs<{ className?: string }>(({ className }) => ({
4
4
  'data-component-name': 'Cards/CardsBlock',
5
+ className,
5
6
  }))`
6
7
  display: flex;
7
8
  padding: 20px 0;
@@ -117,7 +117,7 @@ const CatalogPageSidebar = styled.aside<{ isActiveInMobileMode?: boolean }>`
117
117
  isActiveInMobileMode ? 'padding-bottom: 66px;' : 'height: 76px;'};
118
118
  background-color: var(--sidebar-background-color);
119
119
  border-bottom: 1px solid var(--sidebar-border-color);
120
- z-index: 100;
120
+ z-index: var(--z-index-surface);
121
121
 
122
122
  ${MobileStickyApplyFilters} {
123
123
  display: ${({ isActiveInMobileMode }) => (isActiveInMobileMode ? 'block' : 'none')};
@@ -2,8 +2,9 @@ import styled from 'styled-components';
2
2
 
3
3
  import { generateCodeBlockTokens } from '@theme/utils';
4
4
 
5
- export const CodeBlock = styled.div.attrs(() => ({
5
+ export const CodeBlock = styled.div.attrs<{ className?: string }>(({ className }) => ({
6
6
  'data-component-name': 'CodeBlock/CodeBlock',
7
+ className,
7
8
  }))`
8
9
  max-height: var(--code-block-max-height, 600px);
9
10
  word-break: var(--code-block-word-break, initial);
@@ -5,6 +5,7 @@ import { ClipboardService } from '@theme/utils/ClipboardService';
5
5
  import { useThemeConfig } from '@theme/hooks/useThemeConfig';
6
6
  import { ReportDialog, useReportDialog } from '@theme/components/Feedback';
7
7
  import { useTranslate } from '@portal/hooks';
8
+ import { concatClassNames } from '@theme/utils';
8
9
 
9
10
  export type CodeSampleProps = {
10
11
  language: string;
@@ -12,6 +13,7 @@ export type CodeSampleProps = {
12
13
  rawContent: string;
13
14
  'data-source'?: string;
14
15
  'data-hash'?: string;
16
+ className?: string;
15
17
  };
16
18
 
17
19
  export function CodeSample({
@@ -20,6 +22,7 @@ export function CodeSample({
20
22
  language,
21
23
  'data-source': dataSource,
22
24
  'data-hash': dataHash,
25
+ className = '',
23
26
  }: CodeSampleProps): JSX.Element {
24
27
  const langClassName = language ? `language-${language}` : '';
25
28
  const { codeSnippet: { copy = {}, report = {} } = {} } = useThemeConfig();
@@ -44,7 +47,7 @@ export function CodeSample({
44
47
 
45
48
  return (
46
49
  <Wrapper
47
- className="code-sample"
50
+ className={concatClassNames('code-sample', className)}
48
51
  data-component-name="Markdown/CodeSample/CodeSample"
49
52
  data-source={dataSource}
50
53
  data-hash={dataHash}
@@ -4,7 +4,12 @@ import styled from 'styled-components';
4
4
  import { ColorModeIcon } from '@theme/icons/ColorModeIcon';
5
5
  import { useMount, useThemeConfig } from '@theme/hooks';
6
6
 
7
- export function ColorModeSwitcher(): JSX.Element | null {
7
+ interface ColorModeSwitcherProps {
8
+ className?: string;
9
+ }
10
+
11
+ export function ColorModeSwitcher(props: ColorModeSwitcherProps): JSX.Element | null {
12
+ const { className } = props;
8
13
  const themeSettings = useThemeConfig();
9
14
  const colorMode = themeSettings.colorMode;
10
15
  const [activeColorMode, setActiveColorMode] = useState('');
@@ -37,6 +42,7 @@ export function ColorModeSwitcher(): JSX.Element | null {
37
42
  onClick={handelChangeColorMode}
38
43
  modes={modes}
39
44
  role="link"
45
+ className={className}
40
46
  >
41
47
  {modes.map((mode) => (
42
48
  <ColorModeIcon mode={mode} key={mode} />
@@ -5,7 +5,7 @@ import { Button } from '@theme/components/Button/Button';
5
5
  import type { CommentProps } from '@theme/components/Feedback';
6
6
  import { useTranslate } from '@portal/hooks';
7
7
 
8
- export const Comment = ({ settings, onSubmit, onCancel }: CommentProps): JSX.Element => {
8
+ export const Comment = ({ settings, onSubmit, onCancel, className }: CommentProps): JSX.Element => {
9
9
  const { label, submitText } = settings || {};
10
10
  const [text, setText] = React.useState('');
11
11
  const [submitValue, setSubmitValue] = React.useState('');
@@ -28,7 +28,7 @@ export const Comment = ({ settings, onSubmit, onCancel }: CommentProps): JSX.Ele
28
28
 
29
29
  if (submitValue) {
30
30
  return (
31
- <Wrapper>
31
+ <Wrapper className={className}>
32
32
  <Label data-translation-key={translationKeys.submitText}>
33
33
  {translate(
34
34
  translationKeys.submitText,
@@ -40,7 +40,7 @@ export const Comment = ({ settings, onSubmit, onCancel }: CommentProps): JSX.Ele
40
40
  }
41
41
 
42
42
  return (
43
- <Wrapper data-component-name="Feedback/Comment">
43
+ <Wrapper data-component-name="Feedback/Comment" className={className}>
44
44
  <Label data-translation-key={translationKeys.label}>
45
45
  {translate(translationKeys.label, label || 'Please share your feedback with us.')}
46
46
  </Label>
@@ -10,7 +10,7 @@ type StarsProps = {
10
10
  max: number;
11
11
  };
12
12
 
13
- export const Rating = ({ settings, onSubmit }: RatingProps): JSX.Element => {
13
+ export const Rating = ({ settings, onSubmit, className }: RatingProps): JSX.Element => {
14
14
  const {
15
15
  label,
16
16
  max,
@@ -66,7 +66,7 @@ export const Rating = ({ settings, onSubmit }: RatingProps): JSX.Element => {
66
66
  }
67
67
 
68
68
  return (
69
- <Wrapper data-component-name="Feedback/Rating">
69
+ <Wrapper data-component-name="Feedback/Rating" className={className}>
70
70
  <Label data-translation-key={translationKeys.label}>
71
71
  {translate(translationKeys.label, label || 'How helpful was this page?')}
72
72
  </Label>
@@ -5,7 +5,7 @@ import { Button } from '@theme/components/Button/Button';
5
5
  import type { ReasonsProps } from '@theme/components/Feedback';
6
6
  import { useTranslate } from '@portal/hooks';
7
7
 
8
- export const Reasons = ({ settings, onSubmit }: ReasonsProps): JSX.Element => {
8
+ export const Reasons = ({ settings, onSubmit, className }: ReasonsProps): JSX.Element => {
9
9
  const { label, multi, buttonText, items = [] } = settings;
10
10
  const [checkedState, setCheckedState] = React.useState(new Array(items.length).fill(false));
11
11
  const { translate } = useTranslate();
@@ -34,7 +34,11 @@ export const Reasons = ({ settings, onSubmit }: ReasonsProps): JSX.Element => {
34
34
  };
35
35
 
36
36
  return (
37
- <Wrapper data-component-name="Feedback/Reasons" data-translation-key={translationKeys.label}>
37
+ <Wrapper
38
+ data-component-name="Feedback/Reasons"
39
+ data-translation-key={translationKeys.label}
40
+ className={className}
41
+ >
38
42
  <Label>
39
43
  {translate(
40
44
  translationKeys.label,
@@ -35,7 +35,7 @@ const Wrapper = styled.div`
35
35
  width: 100vw;
36
36
  height: 100vh;
37
37
  background: var(--modal-overlay-background-color);
38
- z-index: 10000;
38
+ z-index: var(--z-index-overlay);
39
39
  display: flex;
40
40
  align-items: center;
41
41
  justify-content: center;
@@ -6,7 +6,7 @@ import { Comment, Reasons } from '@theme/components/Feedback';
6
6
  import { ThumbUp, ThumbDown } from '@theme/components/Feedback/Thumbs';
7
7
  import { useTranslate } from '@portal/hooks';
8
8
 
9
- export const Sentiment = ({ settings, onSubmit }: SentimentProps): JSX.Element => {
9
+ export const Sentiment = ({ settings, onSubmit, className }: SentimentProps): JSX.Element => {
10
10
  const { label, submitText, comment: commentSettings, reasons: reasonsSettings } = settings || {};
11
11
  const [score, setScore] = React.useState(0);
12
12
  const [comment, setComment] = React.useState('');
@@ -65,7 +65,7 @@ export const Sentiment = ({ settings, onSubmit }: SentimentProps): JSX.Element =
65
65
  }
66
66
 
67
67
  return (
68
- <Wrapper data-component-name="Feedback/Sentiment">
68
+ <Wrapper data-component-name="Feedback/Sentiment" className={className}>
69
69
  <Label data-translation-key={translationKeys.label}>
70
70
  {translate(translationKeys.label, label || 'Was this page helpful?')}
71
71
  </Label>
@@ -17,6 +17,7 @@ export type RatingProps = {
17
17
  items: string[];
18
18
  };
19
19
  };
20
+ className?: string;
20
21
  };
21
22
 
22
23
  export type SentimentProps = {
@@ -36,6 +37,7 @@ export type SentimentProps = {
36
37
  items: string[];
37
38
  };
38
39
  };
40
+ className?: string;
39
41
  };
40
42
 
41
43
  export type CommentProps = {
@@ -45,6 +47,7 @@ export type CommentProps = {
45
47
  label?: string;
46
48
  submitText?: string;
47
49
  };
50
+ className?: string;
48
51
  };
49
52
 
50
53
  export type ReasonsProps = {
@@ -56,6 +59,7 @@ export type ReasonsProps = {
56
59
  submitText?: string;
57
60
  buttonText?: string;
58
61
  };
62
+ className?: string;
59
63
  };
60
64
 
61
65
  export type ReportDialogProps = {
@@ -66,4 +70,5 @@ export type ReportDialogProps = {
66
70
  label?: string;
67
71
  };
68
72
  submitFeedback: ({ type, values, path }: SubmitFeedbackParams) => Promise<void>;
73
+ className?: string;
69
74
  };
@@ -7,15 +7,16 @@ import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
7
7
 
8
8
  interface FooterProps {
9
9
  data: NavGroupRecord;
10
+ className?: string;
10
11
  }
11
12
 
12
- export function CustomFooter({ data }: FooterProps): JSX.Element | null {
13
+ export function CustomFooter({ data, className }: FooterProps): JSX.Element | null {
13
14
  if (!data) {
14
15
  return null;
15
16
  }
16
17
 
17
18
  return (
18
- <FooterContainer data-component-name="Footer/CustomFooter">
19
+ <FooterContainer data-component-name="Footer/CustomFooter" className={className}>
19
20
  {(data.links as ResolvedNavItem[]).map((navItem, index) => {
20
21
  return (
21
22
  <CustomFooterNavItem
@@ -6,13 +6,14 @@ import type { ResolvedNavItem, ResolvedNavLinkItem } from '@theme/types/portal';
6
6
 
7
7
  interface CustomFooterNavItemProps {
8
8
  navItem: ResolvedNavItem;
9
+ className?: string;
9
10
  }
10
11
 
11
- export function CustomFooterNavItem({ navItem }: CustomFooterNavItemProps): JSX.Element {
12
+ export function CustomFooterNavItem({ navItem, className }: CustomFooterNavItemProps): JSX.Element {
12
13
  const item = navItem as ResolvedNavLinkItem;
13
14
 
14
15
  return (
15
- <FooterItem data-component-name="Navbar/NavbarItem">
16
+ <FooterItem data-component-name="Navbar/NavbarItem" className={className}>
16
17
  <FooterLink to={item.link}>
17
18
  <FooterLabel>{item.label}</FooterLabel>
18
19
  </FooterLink>
@@ -26,14 +26,16 @@ export function Footer(): JSX.Element | null {
26
26
  interface FooterPresentationalComponentProps {
27
27
  items: ResolvedNavItem[];
28
28
  copyrightText: string;
29
+ className?: string;
29
30
  }
30
31
 
31
32
  export function FooterPresentationalComponent({
32
33
  items,
33
34
  copyrightText,
35
+ className,
34
36
  }: FooterPresentationalComponentProps): JSX.Element | null {
35
37
  return (
36
- <FooterContainer data-component-name="Footer/Footer">
38
+ <FooterContainer data-component-name="Footer/Footer" className={className}>
37
39
  <FooterColumns columns={items as ResolvedNavItem[]} />
38
40
  <FooterCopyright copyrightText={copyrightText} />
39
41
  </FooterContainer>
@@ -7,14 +7,15 @@ import { useTranslate } from '@portal/hooks';
7
7
 
8
8
  interface FooterColumnProps {
9
9
  column: ResolvedNavItem;
10
+ className?: string;
10
11
  }
11
12
 
12
- export function FooterColumn({ column }: FooterColumnProps): JSX.Element {
13
+ export function FooterColumn({ column, className }: FooterColumnProps): JSX.Element {
13
14
  const { translate } = useTranslate();
14
15
  const hasIcon = column.items ? column.items.some((item) => !!item.icon) : false;
15
16
 
16
17
  return (
17
- <FooterColumnContainer data-component-name="Footer/FooterColumn">
18
+ <FooterColumnContainer data-component-name="Footer/FooterColumn" className={className}>
18
19
  <FooterColumnTitle withIconPadding={hasIcon}>
19
20
  {translate(column.labelTranslationKey, column.label)}
20
21
  </FooterColumnTitle>
@@ -6,15 +6,16 @@ import type { ResolvedNavItem } from '@theme/types/portal';
6
6
 
7
7
  interface FooterColumnsProps {
8
8
  columns: ResolvedNavItem[];
9
+ className?: string;
9
10
  }
10
11
 
11
- export function FooterColumns({ columns }: FooterColumnsProps): JSX.Element | null {
12
+ export function FooterColumns({ columns, className }: FooterColumnsProps): JSX.Element | null {
12
13
  if (!columns?.length) {
13
14
  return null;
14
15
  }
15
16
 
16
17
  return (
17
- <FooterColumnsContainer data-component-name="Footer/FooterColumns">
18
+ <FooterColumnsContainer data-component-name="Footer/FooterColumns" className={className}>
18
19
  <FooterRow>
19
20
  {columns.map((column, index) => (
20
21
  <FooterColumn key={`${column.label}_${index}`} column={column} />
@@ -5,15 +5,20 @@ import { useTranslate } from '@portal/hooks';
5
5
 
6
6
  interface FooterCopyrightProps {
7
7
  copyrightText: string;
8
+ className?: string;
8
9
  }
9
10
 
10
- export function FooterCopyright({ copyrightText = '' }: FooterCopyrightProps): JSX.Element | null {
11
+ export function FooterCopyright({
12
+ copyrightText = '',
13
+ className,
14
+ }: FooterCopyrightProps): JSX.Element | null {
11
15
  const { translate } = useTranslate();
12
16
  const translationKeys = {
13
17
  copyrightText: 'theme.footer.copyrightText',
14
18
  };
15
19
  return copyrightText ? (
16
20
  <Wrapper
21
+ className={className}
17
22
  data-component-name="Footer/FooterCopyright"
18
23
  data-translation-key={translationKeys.copyrightText}
19
24
  >
@@ -18,6 +18,7 @@ export interface LastUpdatedProps {
18
18
  lastModified: Date;
19
19
  format?: keyof typeof FORMATS;
20
20
  locale?: string;
21
+ className?: string;
21
22
  }
22
23
 
23
24
  export function LastUpdated(props: LastUpdatedProps): JSX.Element | null {
@@ -44,6 +45,7 @@ export function LastUpdated(props: LastUpdatedProps): JSX.Element | null {
44
45
 
45
46
  return (
46
47
  <Wrapper
48
+ className={props.className}
47
49
  data-component-name="LastUpdated/LastUpdated"
48
50
  rawOnPrint={format === 'timeago'}
49
51
  data-print-datetime={isoDate}
@@ -1,7 +1,8 @@
1
1
  import styled from 'styled-components';
2
2
 
3
- export const ContainerWrapper = styled.section.attrs(() => ({
3
+ export const ContainerWrapper = styled.section.attrs<{ className?: string }>(({ className }) => ({
4
4
  'data-component-name': 'Markdown/ContainerWrapper',
5
+ className,
5
6
  }))<{ withToc: boolean }>`
6
7
  max-width: var(--md-container-max-width);
7
8
  width: 90%;
@@ -16,11 +16,13 @@ export function Heading({
16
16
  children,
17
17
  'data-source': dataSource,
18
18
  'data-hash': dataHash,
19
+ className,
19
20
  }: PropsWithChildren<{
20
21
  level: number;
21
22
  id: string;
22
23
  'data-source'?: string;
23
24
  'data-hash'?: string;
25
+ className?: string;
24
26
  }>): JSX.Element {
25
27
  const linkEl = (
26
28
  <a href={`#${id}`} className={concatClassNames('anchor', 'before')}>
@@ -32,7 +34,7 @@ export function Heading({
32
34
  `h${level}`,
33
35
  {
34
36
  id,
35
- className: concatClassNames('heading-anchor', mdClassName),
37
+ className: concatClassNames('heading-anchor', mdClassName, className),
36
38
  'data-component-name': 'Markdown/Heading',
37
39
  'data-source': dataSource,
38
40
  'data-hash': dataHash,
@@ -24,6 +24,7 @@ type MarkdownLayoutProps = {
24
24
  lastModified?: string | null;
25
25
  nextPage?: ResolvedNavItemWithLink | null;
26
26
  prevPage?: ResolvedNavItemWithLink | null;
27
+ className?: string;
27
28
  };
28
29
 
29
30
  export function MarkdownLayout({
@@ -34,6 +35,7 @@ export function MarkdownLayout({
34
35
  lastModified,
35
36
  nextPage,
36
37
  prevPage,
38
+ className,
37
39
  }: MarkdownLayoutProps): JSX.Element {
38
40
  const { markdown } = useThemeConfig();
39
41
  const { translate } = useTranslate();
@@ -45,7 +47,7 @@ export function MarkdownLayout({
45
47
  const mergedConf = editPage ? { ...themeEditPage, ...editPage } : undefined;
46
48
 
47
49
  return (
48
- <PageWrapper data-component-name="Markdown/MarkdownLayout">
50
+ <PageWrapper data-component-name="Markdown/MarkdownLayout" className={className}>
49
51
  <ContainerWrapper withToc={true}>
50
52
  <Breadcrumbs />
51
53
  <LayoutTop>
@@ -117,8 +117,9 @@ export function headingAnchor(className = 'anchor'): FlattenSimpleInterpolation
117
117
  `;
118
118
  }
119
119
 
120
- export const MarkdownWrapper = styled.main.attrs(() => ({
120
+ export const MarkdownWrapper = styled.main.attrs<{ className?: string }>(({ className }) => ({
121
121
  'data-component-name': 'Markdown/MarkdownWrapper',
122
+ className,
122
123
  }))`
123
124
  font-weight: var(--font-weight-regular);
124
125
  padding: 0;
@@ -1,20 +1,24 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
+ import { concatClassNames } from '@theme/utils';
5
+
4
6
  type MermaidProps = {
5
7
  diagramHtml: string;
6
8
  'data-source'?: string;
7
9
  'data-hash'?: string;
10
+ className?: string;
8
11
  };
9
12
 
10
13
  export function Mermaid({
11
14
  diagramHtml,
12
15
  'data-source': dataSource,
13
16
  'data-hash': dataHash,
17
+ className,
14
18
  }: MermaidProps): JSX.Element {
15
19
  return (
16
20
  <Wrapper
17
- className="mermaid-wrapper"
21
+ className={concatClassNames('mermaid-wrapper', className)}
18
22
  dangerouslySetInnerHTML={{ __html: diagramHtml }}
19
23
  data-component-name="Markdown/Mermaid"
20
24
  data-source={dataSource}
@@ -1,7 +1,8 @@
1
1
  import styled from 'styled-components';
2
2
 
3
- export const PageWrapper = styled.div.attrs(() => ({
3
+ export const PageWrapper = styled.div.attrs<{ className?: string }>(({ className }) => ({
4
4
  'data-component-name': 'Markdown/PageWrapper',
5
+ className,
5
6
  }))`
6
7
  display: flex;
7
8
  flex: 1;