@redocly/theme 0.4.15 → 0.5.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 (553) hide show
  1. package/{REAMDE.md → README.md} +0 -0
  2. package/lib/ApiOnboarding/AppCustomAttributes.d.ts +5 -0
  3. package/lib/ApiOnboarding/AppCustomAttributes.js +8 -0
  4. package/{Button → lib/Button}/Button.d.ts +0 -0
  5. package/lib/Button/Button.js +156 -0
  6. package/{Button → lib/Button}/index.d.ts +0 -0
  7. package/{Button → lib/Button}/index.js +1 -0
  8. package/{Cards → lib/Cards}/Card.d.ts +0 -0
  9. package/lib/Cards/Card.js +36 -0
  10. package/{Cards → lib/Cards}/CardsBlock.d.ts +0 -0
  11. package/lib/Cards/CardsBlock.js +15 -0
  12. package/{CodeBlock → lib/CodeBlock}/CodeBlock.d.ts +0 -0
  13. package/lib/CodeBlock/CodeBlock.js +103 -0
  14. package/{CodeBlock → lib/CodeBlock}/index.d.ts +0 -0
  15. package/{CodeBlock → lib/CodeBlock}/index.js +1 -0
  16. package/{ColorModeSwitcher → lib/ColorModeSwitcher}/ColorModeSwitcher.d.ts +0 -0
  17. package/{ColorModeSwitcher → lib/ColorModeSwitcher}/ColorModeSwitcher.js +22 -36
  18. package/{ColorModeSwitcher → lib/ColorModeSwitcher}/index.d.ts +0 -0
  19. package/{ColorModeSwitcher → lib/ColorModeSwitcher}/index.js +1 -0
  20. package/{CopyButton → lib/CopyButton}/CopyButton.d.ts +0 -0
  21. package/lib/CopyButton/CopyButton.js +50 -0
  22. package/{CopyButton → lib/CopyButton}/CopyButtonWrapper.d.ts +0 -0
  23. package/{CopyButton → lib/CopyButton}/CopyButtonWrapper.js +14 -15
  24. package/{CopyButton → lib/CopyButton}/index.d.ts +0 -0
  25. package/{CopyButton → lib/CopyButton}/index.js +1 -0
  26. package/{EditPageButton → lib/EditPageButton}/EditPageButton.d.ts +0 -0
  27. package/lib/EditPageButton/EditPageButton.js +36 -0
  28. package/{EditPageButton → lib/EditPageButton}/index.d.ts +0 -0
  29. package/{EditPageButton → lib/EditPageButton}/index.js +1 -0
  30. package/{Footer → lib/Footer}/CustomFooter.d.ts +0 -0
  31. package/lib/Footer/CustomFooter.js +35 -0
  32. package/{Footer → lib/Footer}/CustomFooterNavItem.d.ts +0 -0
  33. package/lib/Footer/CustomFooterNavItem.js +33 -0
  34. package/{Footer → lib/Footer}/Footer.d.ts +0 -0
  35. package/lib/Footer/Footer.js +35 -0
  36. package/{Footer → lib/Footer}/FooterColumn.d.ts +0 -0
  37. package/lib/Footer/FooterColumn.js +54 -0
  38. package/{Footer → lib/Footer}/FooterColumns.d.ts +0 -0
  39. package/lib/Footer/FooterColumns.js +44 -0
  40. package/{Footer → lib/Footer}/FooterCopyright.d.ts +0 -0
  41. package/lib/Footer/FooterCopyright.js +26 -0
  42. package/{Footer → lib/Footer}/index.d.ts +0 -0
  43. package/{Footer → lib/Footer}/index.js +1 -0
  44. package/{JsonViewer → lib/JsonViewer}/JsonViewer.d.ts +0 -0
  45. package/lib/JsonViewer/JsonViewer.js +240 -0
  46. package/{JsonViewer → lib/JsonViewer}/index.d.ts +0 -0
  47. package/{JsonViewer → lib/JsonViewer}/index.js +1 -0
  48. package/lib/LastUpdated/LastUpdated.d.ts +14 -0
  49. package/lib/LastUpdated/LastUpdated.js +52 -0
  50. package/{Layout → lib/Layout}/PageLayout.d.ts +0 -0
  51. package/lib/Layout/PageLayout.js +29 -0
  52. package/{Layout → lib/Layout}/RootLayout.d.ts +0 -0
  53. package/lib/Layout/RootLayout.js +19 -0
  54. package/{Layout → lib/Layout}/index.d.ts +0 -0
  55. package/{Layout → lib/Layout}/index.js +1 -0
  56. package/{Markdown → lib/Markdown}/Admonition.d.ts +0 -0
  57. package/lib/Markdown/Admonition.js +56 -0
  58. package/{Markdown → lib/Markdown}/CodeSample/CodeSample.d.ts +0 -0
  59. package/lib/Markdown/CodeSample/CodeSample.js +219 -0
  60. package/{Markdown → lib/Markdown}/CodeSample/index.d.ts +0 -0
  61. package/{Markdown → lib/Markdown}/CodeSample/index.js +1 -0
  62. package/{Markdown → lib/Markdown}/ContainerWrapper.d.ts +0 -0
  63. package/lib/Markdown/ContainerWrapper.js +26 -0
  64. package/{Markdown → lib/Markdown}/Details.d.ts +0 -0
  65. package/lib/Markdown/Details.js +17 -0
  66. package/{Markdown → lib/Markdown}/Heading.d.ts +0 -0
  67. package/{Markdown → lib/Markdown}/Heading.js +9 -9
  68. package/{Markdown → lib/Markdown}/MarkdownLayout.d.ts +1 -0
  69. package/lib/Markdown/MarkdownLayout.js +30 -0
  70. package/{Markdown → lib/Markdown}/MarkdownWrapper.d.ts +0 -0
  71. package/lib/Markdown/MarkdownWrapper.js +391 -0
  72. package/{Markdown → lib/Markdown}/Mermaid.d.ts +0 -0
  73. package/lib/Markdown/Mermaid.js +19 -0
  74. package/{Markdown → lib/Markdown}/PageWrapper.d.ts +0 -0
  75. package/lib/Markdown/PageWrapper.js +15 -0
  76. package/{Markdown → lib/Markdown}/Sup.d.ts +0 -0
  77. package/lib/Markdown/Sup.js +14 -0
  78. package/{Markdown → lib/Markdown}/Tabs/Tab.d.ts +0 -0
  79. package/lib/Markdown/Tabs/Tab.js +28 -0
  80. package/{Markdown → lib/Markdown}/Tabs/Tabs.d.ts +0 -0
  81. package/lib/Markdown/Tabs/Tabs.js +62 -0
  82. package/{Markdown → lib/Markdown}/Tabs/index.d.ts +0 -0
  83. package/{Markdown → lib/Markdown}/Tabs/index.js +1 -0
  84. package/{Markdown → lib/Markdown}/index.d.ts +0 -0
  85. package/{Markdown → lib/Markdown}/index.js +1 -0
  86. package/{Navbar → lib/Navbar}/MobileNavbarDropdown.d.ts +0 -0
  87. package/lib/Navbar/MobileNavbarDropdown.js +30 -0
  88. package/{Navbar → lib/Navbar}/MobileNavbarItem.d.ts +1 -1
  89. package/lib/Navbar/MobileNavbarItem.js +106 -0
  90. package/{Navbar → lib/Navbar}/MobileNavbarMenu.d.ts +0 -0
  91. package/lib/Navbar/MobileNavbarMenu.js +92 -0
  92. package/{Navbar → lib/Navbar}/MobileNavbarMenuButton.d.ts +0 -0
  93. package/lib/Navbar/MobileNavbarMenuButton.js +18 -0
  94. package/{Navbar → lib/Navbar}/Navbar.d.ts +0 -0
  95. package/lib/Navbar/Navbar.js +75 -0
  96. package/{Navbar → lib/Navbar}/NavbarDropdown.d.ts +0 -0
  97. package/lib/Navbar/NavbarDropdown.js +38 -0
  98. package/{Navbar → lib/Navbar}/NavbarItem.d.ts +1 -1
  99. package/lib/Navbar/NavbarItem.js +72 -0
  100. package/{Navbar → lib/Navbar}/NavbarMenu.d.ts +0 -0
  101. package/lib/Navbar/NavbarMenu.js +34 -0
  102. package/{Navbar → lib/Navbar}/index.d.ts +0 -0
  103. package/{Navbar → lib/Navbar}/index.js +1 -0
  104. package/{NavbarLogo → lib/NavbarLogo}/NavbarLogo.d.ts +0 -0
  105. package/lib/NavbarLogo/NavbarLogo.js +24 -0
  106. package/{NavbarLogo → lib/NavbarLogo}/index.d.ts +0 -0
  107. package/{NavbarLogo → lib/NavbarLogo}/index.js +1 -0
  108. package/{OperationBadge → lib/OperationBadge}/OperationBadge.d.ts +0 -0
  109. package/lib/OperationBadge/OperationBadge.js +68 -0
  110. package/{OperationBadge → lib/OperationBadge}/index.d.ts +0 -0
  111. package/{OperationBadge → lib/OperationBadge}/index.js +1 -0
  112. package/{PageNavigation → lib/PageNavigation}/NextPageLink.d.ts +0 -0
  113. package/lib/PageNavigation/NextPageLink.js +26 -0
  114. package/{PageNavigation → lib/PageNavigation}/PageNavigation.d.ts +0 -0
  115. package/lib/PageNavigation/PageNavigation.js +31 -0
  116. package/{PageNavigation → lib/PageNavigation}/PreviousPageLink.d.ts +0 -0
  117. package/lib/PageNavigation/PreviousPageLink.js +26 -0
  118. package/{PageNavigation → lib/PageNavigation}/index.d.ts +0 -0
  119. package/{PageNavigation → lib/PageNavigation}/index.js +1 -0
  120. package/{Panel → lib/Panel}/Panel.d.ts +0 -0
  121. package/lib/Panel/Panel.js +39 -0
  122. package/{Panel → lib/Panel}/PanelBody.d.ts +0 -0
  123. package/lib/Panel/PanelBody.js +59 -0
  124. package/{Panel → lib/Panel}/PanelComponent.d.ts +1 -1
  125. package/{Panel → lib/Panel}/PanelComponent.js +21 -36
  126. package/{Panel → lib/Panel}/PanelHeader.d.ts +0 -0
  127. package/lib/Panel/PanelHeader.js +33 -0
  128. package/{Panel → lib/Panel}/PanelHeaderTitle.d.ts +0 -0
  129. package/lib/Panel/PanelHeaderTitle.js +21 -0
  130. package/{Panel → lib/Panel}/index.d.ts +0 -0
  131. package/{Panel → lib/Panel}/index.js +1 -0
  132. package/{Profile → lib/Profile}/Profile.d.ts +0 -0
  133. package/lib/Profile/Profile.js +87 -0
  134. package/{Profile → lib/Profile}/index.d.ts +0 -0
  135. package/{Profile → lib/Profile}/index.js +1 -0
  136. package/{SamplesPanelControls → lib/SamplesPanelControls}/SamplesPanelControls.d.ts +0 -0
  137. package/lib/SamplesPanelControls/SamplesPanelControls.js +74 -0
  138. package/{SamplesPanelControls → lib/SamplesPanelControls}/index.d.ts +0 -0
  139. package/{SamplesPanelControls → lib/SamplesPanelControls}/index.js +1 -0
  140. package/{Search → lib/Search}/Autocomplete.d.ts +0 -0
  141. package/lib/Search/Autocomplete.js +105 -0
  142. package/{Search → lib/Search}/ClearIcon.d.ts +0 -0
  143. package/lib/Search/ClearIcon.js +26 -0
  144. package/{Search → lib/Search}/Input.d.ts +0 -0
  145. package/lib/Search/Input.js +30 -0
  146. package/{Search → lib/Search}/Parameters.d.ts +0 -0
  147. package/lib/Search/Parameters.js +55 -0
  148. package/{Search → lib/Search}/Popover.d.ts +0 -0
  149. package/lib/Search/Popover.js +26 -0
  150. package/{Search → lib/Search}/Search.d.ts +0 -0
  151. package/lib/Search/Search.js +27 -0
  152. package/{Search → lib/Search}/SearchIcon.d.ts +0 -0
  153. package/lib/Search/SearchIcon.js +27 -0
  154. package/{Search → lib/Search}/SearchItem.d.ts +0 -0
  155. package/lib/Search/SearchItem.js +98 -0
  156. package/{Search → lib/Search}/SidebarSearch.d.ts +0 -0
  157. package/lib/Search/SidebarSearch.js +20 -0
  158. package/{Search → lib/Search}/index.d.ts +0 -0
  159. package/{Search → lib/Search}/index.js +1 -0
  160. package/{Search → lib/Search}/utils.d.ts +0 -0
  161. package/{Search → lib/Search}/utils.js +8 -26
  162. package/{Sidebar → lib/Sidebar}/ApiCallItem.d.ts +0 -0
  163. package/lib/Sidebar/ApiCallItem.js +34 -0
  164. package/{Sidebar → lib/Sidebar}/ArrowBack.d.ts +0 -0
  165. package/lib/Sidebar/ArrowBack.js +22 -0
  166. package/{Sidebar → lib/Sidebar}/BackButton.d.ts +0 -0
  167. package/lib/Sidebar/BackButton.js +39 -0
  168. package/{Sidebar → lib/Sidebar}/Drilldown.d.ts +0 -0
  169. package/lib/Sidebar/Drilldown.js +43 -0
  170. package/{Sidebar → lib/Sidebar}/DrilldownMenu.d.ts +0 -0
  171. package/lib/Sidebar/DrilldownMenu.js +71 -0
  172. package/{Sidebar → lib/Sidebar}/DrilldownMenuItem.d.ts +0 -0
  173. package/lib/Sidebar/DrilldownMenuItem.js +42 -0
  174. package/{Sidebar → lib/Sidebar}/ExternalIcon.d.ts +0 -0
  175. package/lib/Sidebar/ExternalIcon.js +21 -0
  176. package/{Sidebar → lib/Sidebar}/Menu.d.ts +0 -0
  177. package/lib/Sidebar/Menu.js +17 -0
  178. package/{Sidebar → lib/Sidebar}/MenuContainer.d.ts +0 -0
  179. package/lib/Sidebar/MenuContainer.js +16 -0
  180. package/{Sidebar → lib/Sidebar}/MenuGroup.d.ts +0 -0
  181. package/lib/Sidebar/MenuGroup.js +88 -0
  182. package/{Sidebar → lib/Sidebar}/MenuItem.d.ts +0 -0
  183. package/{Sidebar → lib/Sidebar}/MenuItem.js +9 -14
  184. package/{Sidebar → lib/Sidebar}/MenuItemLabel.d.ts +0 -0
  185. package/lib/Sidebar/MenuItemLabel.js +46 -0
  186. package/lib/Sidebar/MenuLink.d.ts +4 -0
  187. package/lib/Sidebar/MenuLink.js +15 -0
  188. package/{Sidebar → lib/Sidebar}/MenuLinkItem.d.ts +0 -0
  189. package/lib/Sidebar/MenuLinkItem.js +15 -0
  190. package/{Sidebar → lib/Sidebar}/MobileSidebarButton.d.ts +0 -0
  191. package/lib/Sidebar/MobileSidebarButton.js +46 -0
  192. package/{Sidebar → lib/Sidebar}/Separator.d.ts +0 -0
  193. package/lib/Sidebar/Separator.js +18 -0
  194. package/{Sidebar → lib/Sidebar}/SeparatorItem.d.ts +0 -0
  195. package/lib/Sidebar/SeparatorItem.js +25 -0
  196. package/{Sidebar → lib/Sidebar}/SeparatorLine.d.ts +0 -0
  197. package/lib/Sidebar/SeparatorLine.js +15 -0
  198. package/{Sidebar → lib/Sidebar}/Sidebar.d.ts +0 -0
  199. package/lib/Sidebar/Sidebar.js +55 -0
  200. package/{Sidebar → lib/Sidebar}/SidebarLayout.d.ts +0 -0
  201. package/lib/Sidebar/SidebarLayout.js +31 -0
  202. package/{Sidebar → lib/Sidebar}/index.d.ts +0 -0
  203. package/{Sidebar → lib/Sidebar}/index.js +1 -0
  204. package/{Sidebar → lib/Sidebar}/types/DrilldownMenuProps.d.ts +0 -0
  205. package/{Sidebar → lib/Sidebar}/types/DrilldownMenuProps.js +1 -0
  206. package/{Sidebar → lib/Sidebar}/types/ItemState.d.ts +0 -0
  207. package/{Sidebar → lib/Sidebar}/types/ItemState.js +1 -0
  208. package/{Sidebar → lib/Sidebar}/types/MenuItemProps.d.ts +0 -0
  209. package/{Sidebar → lib/Sidebar}/types/MenuItemProps.js +1 -0
  210. package/{Sidebar → lib/Sidebar}/types/MenuStyle.d.ts +0 -0
  211. package/{Sidebar → lib/Sidebar}/types/MenuStyle.js +1 -0
  212. package/{Sidebar → lib/Sidebar}/types/NavItem.d.ts +0 -0
  213. package/{Sidebar → lib/Sidebar}/types/NavItem.js +1 -0
  214. package/{Sidebar → lib/Sidebar}/types/index.d.ts +0 -0
  215. package/{Sidebar → lib/Sidebar}/types/index.js +1 -0
  216. package/{SidebarLogo → lib/SidebarLogo}/SidebarLogo.d.ts +0 -0
  217. package/lib/SidebarLogo/SidebarLogo.js +31 -0
  218. package/{SidebarLogo → lib/SidebarLogo}/index.d.ts +0 -0
  219. package/{SidebarLogo → lib/SidebarLogo}/index.js +1 -0
  220. package/{SourceCode → lib/SourceCode}/SourceCode.d.ts +0 -0
  221. package/{SourceCode → lib/SourceCode}/SourceCode.js +14 -34
  222. package/{SourceCode → lib/SourceCode}/index.d.ts +0 -0
  223. package/{SourceCode → lib/SourceCode}/index.js +1 -0
  224. package/{TableOfContent → lib/TableOfContent}/TableOfContent.d.ts +0 -0
  225. package/lib/TableOfContent/TableOfContent.js +116 -0
  226. package/{TableOfContent → lib/TableOfContent}/index.d.ts +0 -0
  227. package/{TableOfContent → lib/TableOfContent}/index.js +1 -0
  228. package/{TableOfContent → lib/TableOfContent}/utils.d.ts +0 -0
  229. package/lib/TableOfContent/utils.js +41 -0
  230. package/{Tooltip → lib/Tooltip}/Tooltip.d.ts +0 -0
  231. package/lib/Tooltip/Tooltip.js +173 -0
  232. package/{Tooltip → lib/Tooltip}/index.d.ts +0 -0
  233. package/{Tooltip → lib/Tooltip}/index.js +1 -0
  234. package/{Typography → lib/Typography}/CompactTypography.d.ts +0 -0
  235. package/lib/Typography/CompactTypography.js +14 -0
  236. package/{Typography → lib/Typography}/Emphasis.d.ts +0 -0
  237. package/lib/Typography/Emphasis.js +13 -0
  238. package/{Typography → lib/Typography}/H1.d.ts +0 -0
  239. package/lib/Typography/H1.js +17 -0
  240. package/{Typography → lib/Typography}/H2.d.ts +0 -0
  241. package/lib/Typography/H2.js +17 -0
  242. package/{Typography → lib/Typography}/H3.d.ts +0 -0
  243. package/lib/Typography/H3.js +17 -0
  244. package/{Typography → lib/Typography}/SectionHeader.d.ts +0 -0
  245. package/lib/Typography/SectionHeader.js +19 -0
  246. package/{Typography → lib/Typography}/Typography.d.ts +0 -0
  247. package/lib/Typography/Typography.js +22 -0
  248. package/{Typography → lib/Typography}/index.d.ts +0 -0
  249. package/{Typography → lib/Typography}/index.js +1 -0
  250. package/{globalStyle.d.ts → lib/globalStyle.d.ts} +0 -0
  251. package/lib/globalStyle.js +1924 -0
  252. package/{hooks → lib/hooks}/__tests__/mocks/MockIntersectionObserver.d.ts +0 -0
  253. package/lib/hooks/__tests__/mocks/MockIntersectionObserver.js +79 -0
  254. package/{hooks → lib/hooks}/index.d.ts +0 -0
  255. package/{hooks → lib/hooks}/index.js +1 -0
  256. package/{hooks → lib/hooks}/useActiveHeading.d.ts +0 -0
  257. package/lib/hooks/useActiveHeading.js +85 -0
  258. package/{hooks → lib/hooks}/useActiveSectionId.d.ts +0 -0
  259. package/lib/hooks/useActiveSectionId.js +47 -0
  260. package/{hooks → lib/hooks}/useControl.d.ts +0 -0
  261. package/lib/hooks/useControl.js +16 -0
  262. package/{hooks → lib/hooks}/useDefaultThemeSettings.d.ts +0 -0
  263. package/{hooks → lib/hooks}/useDefaultThemeSettings.js +3 -2
  264. package/{hooks → lib/hooks}/useFullHeight.d.ts +0 -0
  265. package/{hooks → lib/hooks}/useFullHeight.js +13 -12
  266. package/{hooks → lib/hooks}/useMobileMenu.d.ts +0 -0
  267. package/lib/hooks/useMobileMenu.js +13 -0
  268. package/{hooks → lib/hooks}/useMount.d.ts +0 -0
  269. package/{hooks → lib/hooks}/useMount.js +4 -3
  270. package/{hooks → lib/hooks}/useNavbarHeight.d.ts +0 -0
  271. package/lib/hooks/useNavbarHeight.js +21 -0
  272. package/{hooks → lib/hooks}/useOutsideClick.d.ts +0 -0
  273. package/{hooks → lib/hooks}/useOutsideClick.js +5 -4
  274. package/{hooks → lib/hooks}/useUnmount.d.ts +0 -0
  275. package/{hooks → lib/hooks}/useUnmount.js +5 -4
  276. package/{icons → lib/icons}/AlertIcon/AlertIcon.d.ts +0 -0
  277. package/{icons → lib/icons}/AlertIcon/AlertIcon.js +22 -17
  278. package/{icons → lib/icons}/AlertIcon/index.d.ts +0 -0
  279. package/{icons → lib/icons}/AlertIcon/index.js +1 -0
  280. package/{icons → lib/icons}/ArrowIcon/ArrowIcon.d.ts +0 -0
  281. package/lib/icons/ArrowIcon/ArrowIcon.js +32 -0
  282. package/{icons → lib/icons}/ArrowIcon/index.d.ts +0 -0
  283. package/{icons → lib/icons}/ArrowIcon/index.js +1 -0
  284. package/{icons → lib/icons}/ColorModeIcon/ColorModeIcon.d.ts +0 -0
  285. package/{icons → lib/icons}/ColorModeIcon/ColorModeIcon.js +10 -11
  286. package/{icons → lib/icons}/ColorModeIcon/index.d.ts +0 -0
  287. package/{icons → lib/icons}/ColorModeIcon/index.js +1 -0
  288. package/{icons → lib/icons}/ShelfIcon/ShelfIcon.d.ts +0 -0
  289. package/lib/icons/ShelfIcon/ShelfIcon.js +52 -0
  290. package/{icons → lib/icons}/ShelfIcon/index.d.ts +0 -0
  291. package/{icons → lib/icons}/ShelfIcon/index.js +1 -0
  292. package/{icons → lib/icons}/index.d.ts +0 -0
  293. package/{icons → lib/icons}/index.js +1 -0
  294. package/{index.d.ts → lib/index.d.ts} +0 -0
  295. package/{index.js → lib/index.js} +1 -0
  296. package/{mocks → lib/mocks}/Link.d.ts +0 -0
  297. package/lib/mocks/Link.js +27 -0
  298. package/{mocks → lib/mocks}/constants/index.d.ts +0 -0
  299. package/{mocks → lib/mocks}/constants/index.js +1 -0
  300. package/{mocks → lib/mocks}/hooks/index.d.ts +0 -0
  301. package/{mocks → lib/mocks}/hooks/index.js +2 -1
  302. package/{mocks → lib/mocks}/hooks/usePageData.d.ts +0 -0
  303. package/{mocks → lib/mocks}/hooks/usePageData.js +1 -0
  304. package/{mocks → lib/mocks}/search.d.ts +0 -0
  305. package/{mocks → lib/mocks}/search.js +2 -1
  306. package/{mocks → lib/mocks}/types/index.d.ts +0 -0
  307. package/{mocks → lib/mocks}/types/index.js +1 -0
  308. package/lib/mocks/types.d.ts +14 -0
  309. package/{mocks → lib/mocks}/types.js +1 -0
  310. package/{mocks → lib/mocks}/usePreloadHistory.d.ts +0 -0
  311. package/{mocks → lib/mocks}/usePreloadHistory.js +3 -2
  312. package/{mocks → lib/mocks}/utils.d.ts +0 -0
  313. package/{mocks → lib/mocks}/utils.js +3 -2
  314. package/{ui → lib/ui}/Background.d.ts +0 -0
  315. package/lib/ui/Background.js +21 -0
  316. package/{ui → lib/ui}/Box.d.ts +0 -0
  317. package/lib/ui/Box.js +21 -0
  318. package/{ui → lib/ui}/Burger.d.ts +0 -0
  319. package/lib/ui/Burger.js +31 -0
  320. package/{ui → lib/ui}/Dropdown.d.ts +0 -0
  321. package/lib/ui/Dropdown.js +115 -0
  322. package/{ui → lib/ui}/Flex.d.ts +0 -0
  323. package/lib/ui/Flex.js +21 -0
  324. package/{ui → lib/ui}/Jumbotron.d.ts +0 -0
  325. package/lib/ui/Jumbotron.js +51 -0
  326. package/{ui → lib/ui}/Tiles/ThinTile.d.ts +1 -1
  327. package/lib/ui/Tiles/ThinTile.js +124 -0
  328. package/{ui → lib/ui}/Tiles/TileHeader.d.ts +0 -0
  329. package/lib/ui/Tiles/TileHeader.js +19 -0
  330. package/{ui → lib/ui}/Tiles/TileText.d.ts +0 -0
  331. package/lib/ui/Tiles/TileText.js +18 -0
  332. package/{ui → lib/ui}/Tiles/WideTile.d.ts +0 -0
  333. package/lib/ui/Tiles/WideTile.js +114 -0
  334. package/{ui → lib/ui}/Tiles/index.d.ts +0 -0
  335. package/{ui → lib/ui}/Tiles/index.js +1 -0
  336. package/{ui → lib/ui}/darkColors.d.ts +0 -0
  337. package/lib/ui/darkColors.js +70 -0
  338. package/{ui → lib/ui}/index.d.ts +0 -1
  339. package/{ui → lib/ui}/index.js +2 -5
  340. package/{utils → lib/utils}/ClipboardService.d.ts +0 -0
  341. package/{utils → lib/utils}/ClipboardService.js +11 -13
  342. package/{utils → lib/utils}/args-typecheck.d.ts +0 -0
  343. package/{utils → lib/utils}/args-typecheck.js +1 -0
  344. package/{utils → lib/utils}/class-names.d.ts +0 -0
  345. package/lib/utils/class-names.js +12 -0
  346. package/{utils → lib/utils}/color.d.ts +0 -0
  347. package/{utils → lib/utils}/color.js +7 -6
  348. package/{utils → lib/utils}/css-variables.d.ts +0 -0
  349. package/lib/utils/css-variables.js +6 -0
  350. package/{utils → lib/utils}/getNavbarElement.d.ts +0 -0
  351. package/{utils → lib/utils}/getNavbarElement.js +3 -2
  352. package/{utils → lib/utils}/highlight.d.ts +0 -0
  353. package/{utils → lib/utils}/highlight.js +10 -11
  354. package/{utils → lib/utils}/index.d.ts +0 -0
  355. package/{utils → lib/utils}/index.js +1 -0
  356. package/{utils → lib/utils}/isUrl.d.ts +0 -0
  357. package/{utils → lib/utils}/isUrl.js +6 -5
  358. package/{utils → lib/utils}/jsonToHtml.d.ts +0 -0
  359. package/lib/utils/jsonToHtml.js +180 -0
  360. package/{utils → lib/utils}/media-css.d.ts +0 -0
  361. package/lib/utils/media-css.js +13 -0
  362. package/{utils → lib/utils}/replaceHashInColor.d.ts +0 -0
  363. package/{utils → lib/utils}/replaceHashInColor.js +1 -0
  364. package/{utils → lib/utils}/theme-helpers.d.ts +0 -0
  365. package/lib/utils/theme-helpers.js +75 -0
  366. package/package.json +104 -5
  367. package/src/ApiOnboarding/AppCustomAttributes.tsx +6 -0
  368. package/src/Button/Button.tsx +2 -1
  369. package/src/Cards/Card.tsx +1 -2
  370. package/src/CopyButton/CopyButtonWrapper.tsx +1 -2
  371. package/src/EditPageButton/EditPageButton.tsx +4 -0
  372. package/src/Footer/CustomFooter.tsx +1 -2
  373. package/src/Footer/CustomFooterNavItem.tsx +1 -2
  374. package/src/Footer/Footer.tsx +1 -2
  375. package/src/Footer/FooterColumn.tsx +8 -3
  376. package/src/Footer/FooterColumns.tsx +1 -2
  377. package/src/JsonViewer/JsonViewer.tsx +2 -1
  378. package/src/LastUpdated/LastUpdated.tsx +41 -5
  379. package/src/Markdown/Admonition.tsx +3 -0
  380. package/src/Markdown/CodeSample/CodeSample.tsx +8 -0
  381. package/src/Markdown/Heading.tsx +2 -1
  382. package/src/Markdown/MarkdownLayout.tsx +2 -1
  383. package/src/Markdown/MarkdownWrapper.tsx +2 -1
  384. package/src/Markdown/Sup.tsx +2 -1
  385. package/src/Markdown/Tabs/Tabs.tsx +2 -1
  386. package/src/Navbar/MobileNavbarDropdown.tsx +1 -2
  387. package/src/Navbar/MobileNavbarItem.tsx +3 -4
  388. package/src/Navbar/MobileNavbarMenu.tsx +1 -2
  389. package/src/Navbar/Navbar.tsx +1 -2
  390. package/src/Navbar/NavbarDropdown.tsx +1 -2
  391. package/src/Navbar/NavbarItem.tsx +4 -5
  392. package/src/Navbar/NavbarMenu.tsx +1 -2
  393. package/src/NavbarLogo/NavbarLogo.tsx +1 -2
  394. package/src/PageNavigation/NextPageLink.tsx +1 -2
  395. package/src/PageNavigation/PageNavigation.tsx +4 -0
  396. package/src/PageNavigation/PreviousPageLink.tsx +1 -2
  397. package/src/Panel/PanelComponent.tsx +2 -2
  398. package/src/Panel/PanelHeader.ts +2 -1
  399. package/src/Search/Autocomplete.tsx +2 -2
  400. package/src/Search/ClearIcon.tsx +2 -1
  401. package/src/Search/Parameters.tsx +1 -2
  402. package/src/Search/SearchIcon.tsx +2 -1
  403. package/src/Search/SearchItem.tsx +1 -2
  404. package/src/Sidebar/ApiCallItem.tsx +1 -2
  405. package/src/Sidebar/Drilldown.tsx +1 -2
  406. package/src/Sidebar/DrilldownMenu.tsx +1 -2
  407. package/src/Sidebar/MenuGroup.tsx +1 -2
  408. package/src/Sidebar/MenuItem.tsx +1 -2
  409. package/src/Sidebar/MenuLink.tsx +3 -9
  410. package/src/Sidebar/MenuLinkItem.tsx +1 -2
  411. package/src/Sidebar/Separator.tsx +1 -2
  412. package/src/TableOfContent/TableOfContent.tsx +3 -4
  413. package/src/Tooltip/Tooltip.tsx +1 -0
  414. package/src/globalStyle.ts +28 -28
  415. package/src/hooks/__tests__/mocks/MockIntersectionObserver.ts +48 -0
  416. package/src/hooks/useActiveSectionId.ts +1 -0
  417. package/src/hooks/useDefaultThemeSettings.ts +1 -2
  418. package/src/hooks/useFullHeight.ts +2 -1
  419. package/src/hooks/useMobileMenu.ts +2 -1
  420. package/src/hooks/useNavbarHeight.ts +1 -0
  421. package/src/hooks/useOutsideClick.ts +2 -1
  422. package/src/mocks/Link.tsx +1 -2
  423. package/src/mocks/hooks/index.ts +1 -1
  424. package/src/mocks/types.ts +8 -1
  425. package/src/settings.yaml +1 -1
  426. package/src/types/portal/src/shared/constants.d.ts +33 -33
  427. package/src/types/portal/src/shared/types/markdown.d.ts +3 -3
  428. package/src/types/portal/src/shared/types/nav.d.ts +119 -106
  429. package/src/ui/Box.tsx +3 -2
  430. package/src/ui/Burger.tsx +2 -1
  431. package/src/ui/Dropdown.tsx +1 -2
  432. package/src/ui/Flex.tsx +2 -1
  433. package/src/ui/Tiles/ThinTile.tsx +2 -1
  434. package/src/ui/Tiles/WideTile.tsx +1 -2
  435. package/src/ui/index.tsx +0 -1
  436. package/src/utils/theme-helpers.ts +1 -0
  437. package/Button/Button.js +0 -87
  438. package/Cards/Card.js +0 -25
  439. package/Cards/CardsBlock.js +0 -15
  440. package/CodeBlock/CodeBlock.js +0 -16
  441. package/CopyButton/CopyButton.js +0 -100
  442. package/EditPageButton/EditPageButton.js +0 -24
  443. package/Footer/CustomFooter.js +0 -31
  444. package/Footer/CustomFooterNavItem.js +0 -25
  445. package/Footer/Footer.js +0 -29
  446. package/Footer/FooterColumn.js +0 -31
  447. package/Footer/FooterColumns.js +0 -34
  448. package/Footer/FooterCopyright.js +0 -19
  449. package/JsonViewer/JsonViewer.js +0 -147
  450. package/LastUpdated/LastUpdated.d.ts +0 -5
  451. package/LastUpdated/LastUpdated.js +0 -27
  452. package/Layout/PageLayout.js +0 -22
  453. package/Layout/RootLayout.js +0 -24
  454. package/Markdown/Admonition.js +0 -31
  455. package/Markdown/CodeSample/CodeSample.js +0 -93
  456. package/Markdown/ContainerWrapper.js +0 -21
  457. package/Markdown/Details.js +0 -22
  458. package/Markdown/MarkdownLayout.js +0 -31
  459. package/Markdown/MarkdownWrapper.js +0 -43
  460. package/Markdown/Mermaid.js +0 -19
  461. package/Markdown/PageWrapper.js +0 -15
  462. package/Markdown/Sup.js +0 -19
  463. package/Markdown/Tabs/Tab.js +0 -24
  464. package/Markdown/Tabs/Tabs.js +0 -72
  465. package/Navbar/MobileNavbarDropdown.js +0 -21
  466. package/Navbar/MobileNavbarItem.js +0 -102
  467. package/Navbar/MobileNavbarMenu.js +0 -32
  468. package/Navbar/MobileNavbarMenuButton.js +0 -19
  469. package/Navbar/Navbar.js +0 -64
  470. package/Navbar/NavbarDropdown.js +0 -21
  471. package/Navbar/NavbarItem.js +0 -53
  472. package/Navbar/NavbarMenu.js +0 -29
  473. package/NavbarLogo/NavbarLogo.js +0 -24
  474. package/OperationBadge/OperationBadge.js +0 -16
  475. package/PageNavigation/NextPageLink.js +0 -28
  476. package/PageNavigation/PageNavigation.js +0 -27
  477. package/PageNavigation/PreviousPageLink.js +0 -28
  478. package/Panel/Panel.js +0 -23
  479. package/Panel/PanelBody.js +0 -43
  480. package/Panel/PanelHeader.js +0 -24
  481. package/Panel/PanelHeaderTitle.js +0 -15
  482. package/Profile/Profile.js +0 -59
  483. package/SamplesPanelControls/SamplesPanelControls.js +0 -27
  484. package/Search/Autocomplete.js +0 -122
  485. package/Search/ClearIcon.js +0 -32
  486. package/Search/Input.js +0 -15
  487. package/Search/Parameters.js +0 -42
  488. package/Search/Popover.js +0 -15
  489. package/Search/Search.js +0 -29
  490. package/Search/SearchIcon.js +0 -32
  491. package/Search/SearchItem.js +0 -64
  492. package/Search/SidebarSearch.js +0 -17
  493. package/Sidebar/ApiCallItem.js +0 -29
  494. package/Sidebar/ArrowBack.js +0 -21
  495. package/Sidebar/BackButton.js +0 -22
  496. package/Sidebar/Drilldown.js +0 -50
  497. package/Sidebar/DrilldownMenu.js +0 -52
  498. package/Sidebar/DrilldownMenuItem.js +0 -25
  499. package/Sidebar/ExternalIcon.js +0 -23
  500. package/Sidebar/Menu.js +0 -15
  501. package/Sidebar/MenuContainer.js +0 -15
  502. package/Sidebar/MenuGroup.js +0 -95
  503. package/Sidebar/MenuItemLabel.js +0 -19
  504. package/Sidebar/MenuLink.d.ts +0 -5
  505. package/Sidebar/MenuLink.js +0 -16
  506. package/Sidebar/MenuLinkItem.js +0 -31
  507. package/Sidebar/MobileSidebarButton.js +0 -25
  508. package/Sidebar/Separator.js +0 -23
  509. package/Sidebar/SeparatorItem.js +0 -16
  510. package/Sidebar/SeparatorLine.js +0 -15
  511. package/Sidebar/Sidebar.js +0 -24
  512. package/Sidebar/SidebarLayout.js +0 -52
  513. package/SidebarLogo/SidebarLogo.js +0 -25
  514. package/TableOfContent/TableOfContent.js +0 -81
  515. package/TableOfContent/utils.js +0 -62
  516. package/Tooltip/Tooltip.js +0 -98
  517. package/Typography/CompactTypography.js +0 -18
  518. package/Typography/Emphasis.js +0 -15
  519. package/Typography/H1.js +0 -16
  520. package/Typography/H2.js +0 -16
  521. package/Typography/H3.js +0 -16
  522. package/Typography/SectionHeader.js +0 -15
  523. package/Typography/Typography.js +0 -45
  524. package/globalStyle.js +0 -38
  525. package/hooks/__tests__/mocks/MockIntersectionObserver.js +0 -39
  526. package/hooks/useActiveHeading.js +0 -100
  527. package/hooks/useActiveSectionId.js +0 -65
  528. package/hooks/useControl.js +0 -32
  529. package/hooks/useMobileMenu.js +0 -29
  530. package/hooks/useNavbarHeight.js +0 -36
  531. package/icons/ArrowIcon/ArrowIcon.js +0 -33
  532. package/icons/ShelfIcon/ShelfIcon.js +0 -52
  533. package/mocks/Link.js +0 -27
  534. package/mocks/types.d.ts +0 -7
  535. package/src/ui/UniversalLink.tsx +0 -96
  536. package/ui/Background.js +0 -16
  537. package/ui/Box.js +0 -16
  538. package/ui/Burger.js +0 -23
  539. package/ui/Dropdown.js +0 -89
  540. package/ui/Flex.js +0 -31
  541. package/ui/Jumbotron.js +0 -44
  542. package/ui/Tiles/ThinTile.js +0 -114
  543. package/ui/Tiles/TileHeader.js +0 -15
  544. package/ui/Tiles/TileText.js +0 -15
  545. package/ui/Tiles/WideTile.js +0 -109
  546. package/ui/UniversalLink.d.ts +0 -17
  547. package/ui/UniversalLink.js +0 -97
  548. package/ui/darkColors.js +0 -10
  549. package/utils/class-names.js +0 -15
  550. package/utils/css-variables.js +0 -8
  551. package/utils/jsonToHtml.js +0 -324
  552. package/utils/media-css.js +0 -50
  553. package/utils/theme-helpers.js +0 -121
File without changes
@@ -5,3 +5,4 @@ function replaceHashInColor(color) {
5
5
  return color.replace('#', '%23');
6
6
  }
7
7
  exports.replaceHashInColor = replaceHashInColor;
8
+ //# sourceMappingURL=replaceHashInColor.js.map
File without changes
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCodeBlockTokens = exports.typography = exports.getTypographyCssRulesByComponentName = void 0;
4
+ const styled_components_1 = require("styled-components");
5
+ var Token;
6
+ (function (Token) {
7
+ Token["Comment"] = "comment";
8
+ Token["Prolog"] = "prolog";
9
+ Token["Doctype"] = "doctype";
10
+ Token["Cdata"] = "cdata";
11
+ Token["Punctuation"] = "punctuation";
12
+ Token["Property"] = "property";
13
+ Token["Tag"] = "tag";
14
+ Token["Number"] = "number";
15
+ Token["Constant"] = "constant";
16
+ Token["Symbol"] = "symbol";
17
+ Token["Boolean"] = "boolean";
18
+ Token["Selector"] = "selector";
19
+ Token["String"] = "string";
20
+ Token["Char"] = "char";
21
+ Token["Builtin"] = "builtin";
22
+ Token["Inserted"] = "inserted";
23
+ Token["Operator"] = "operator";
24
+ Token["Entity"] = "entity";
25
+ Token["Url"] = "url";
26
+ Token["Variable"] = "variable";
27
+ Token["Atrule"] = "atrule";
28
+ Token["AttrValue"] = "attr-value";
29
+ Token["AttrName"] = "attr-name";
30
+ Token["Keyword"] = "keyword";
31
+ Token["Regex"] = "regex";
32
+ Token["Important"] = "important";
33
+ Token["Bold"] = "bold";
34
+ Token["Italic"] = "italic";
35
+ Token["Deleted"] = "deleted";
36
+ })(Token || (Token = {}));
37
+ const typographyProperties = Object.entries({
38
+ fontSize: 'font-size',
39
+ fontWeight: 'font-weight',
40
+ fontFamily: 'font-family',
41
+ lineHeight: 'line-height',
42
+ color: 'text-color',
43
+ textTransform: 'text-transform',
44
+ });
45
+ function getTypographyCssRulesByComponentName(componentName, fallbackName) {
46
+ const result = {};
47
+ for (const [styledPropertyName, cssPropertyName] of typographyProperties) {
48
+ const cssVariable = `--${componentName}-${cssPropertyName}`;
49
+ const fallbackVariable = fallbackName ? `,var(--${fallbackName}-${cssPropertyName})` : '';
50
+ result[styledPropertyName] = `var(${cssVariable}${fallbackVariable})`;
51
+ }
52
+ return result;
53
+ }
54
+ exports.getTypographyCssRulesByComponentName = getTypographyCssRulesByComponentName;
55
+ function typography(componentName, fallbackName) {
56
+ return (0, styled_components_1.css) `
57
+ ${getTypographyCssRulesByComponentName(componentName, fallbackName)}
58
+ `;
59
+ }
60
+ exports.typography = typography;
61
+ function generateCodeBlockTokens() {
62
+ let res = '';
63
+ for (const token of Object.values(Token)) {
64
+ const cssTokenColorVariableName = `--code-block-tokens-${token}-color`;
65
+ res += `.token.${token} { color: var(${cssTokenColorVariableName})}; }\n`;
66
+ }
67
+ return (0, styled_components_1.css) `
68
+ pre& {
69
+ color: var(--code-block-tokens-default-color);
70
+ }
71
+ ${res}
72
+ `;
73
+ }
74
+ exports.generateCodeBlockTokens = generateCodeBlockTokens;
75
+ //# sourceMappingURL=theme-helpers.js.map
package/package.json CHANGED
@@ -1,21 +1,120 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.4.15",
3
+ "version": "0.5.0",
4
4
  "description": "Shared UI components",
5
5
  "author": "team@redocly.com",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
- "main": "index.js",
8
- "typings": "index.d.ts",
7
+ "main": "lib/index.js",
8
+ "types": "lib/index.d.ts",
9
+ "exports": {
10
+ "./package.json": "./package.json",
11
+ ".": "./lib/index.js",
12
+ "./Sidebar/*": "./lib/Sidebar/*.js",
13
+ "./*": "./lib/*/index.js",
14
+ "./src/": "./src/"
15
+ },
16
+ "scripts": {
17
+ "start": "npm-run-all --parallel storybook storybook:tokens:watch",
18
+ "watch": "tsc -p tsconfig.build.json && (concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\")",
19
+ "ts:check": "tsc --noEmit --skipLibCheck",
20
+ "clean": "rm -rf lib",
21
+ "compile": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
22
+ "build": "npm run clean && npm run compile",
23
+ "test": "jest",
24
+ "test:update": "jest -u",
25
+ "test:watch": "jest --watch",
26
+ "test:coverage": "jest --coverage",
27
+ "test:coverage:html": "jest --coverage --coverageReporters html",
28
+ "e2e": "npx chromatic -b storybook:build --auto-accept-changes main --exit-once-uploaded",
29
+ "storybook": "start-storybook -p 6006",
30
+ "storybook:build": "npm run storybook:tokens && build-storybook",
31
+ "storybook:tokens": "ts-node scripts/generate-css-tokens.ts",
32
+ "storybook:tokens:watch": "ts-node-dev --respawn scripts/generate-css-tokens.ts",
33
+ "chromatic": "chromatic --exit-zero-on-changes"
34
+ },
9
35
  "peerDependencies": {
10
36
  "lodash.throttle": "^4.1.1",
11
37
  "prismjs": "^1.28.0",
12
38
  "react": "^17.0.2",
13
39
  "react-dom": "^17.0.2",
14
40
  "react-router-dom": "^5.3.0",
15
- "styled-components": "^5.3.1",
41
+ "styled-components": "^5.3.6",
16
42
  "styled-system": "^5.1.5"
17
43
  },
44
+ "devDependencies": {
45
+ "@storybook/addon-actions": "^6.5.9",
46
+ "@storybook/addon-essentials": "^6.5.9",
47
+ "@storybook/addon-interactions": "^6.5.9",
48
+ "@storybook/addon-links": "^6.5.9",
49
+ "@storybook/addon-viewport": "^6.5.9",
50
+ "@storybook/addons": "^6.5.9",
51
+ "@storybook/builder-webpack5": "^6.5.9",
52
+ "@storybook/core-common": "^6.5.9",
53
+ "@storybook/manager-webpack5": "^6.5.9",
54
+ "@storybook/node-logger": "^6.5.9",
55
+ "@storybook/react": "^6.5.9",
56
+ "@storybook/testing-library": "^0.0.11",
57
+ "@storybook/theming": "^6.5.9",
58
+ "@testing-library/jest-dom": "^5.16.5",
59
+ "@testing-library/react": "^12.1.4",
60
+ "@testing-library/react-hooks": "^8.0.1",
61
+ "@testing-library/user-event": "^13.5.0",
62
+ "@types/jest": "^29.1.2",
63
+ "@types/jest-when": "^3.5.2",
64
+ "@types/lodash.throttle": "^4.1.7",
65
+ "@types/node": "^16.11.26",
66
+ "@types/prismjs": "^1.26.0",
67
+ "@types/react": "^17.0.43",
68
+ "@types/react-dom": "^17.0.14",
69
+ "@types/react-router-dom": "^5.3.1",
70
+ "@types/styled-components": "^5.1.15",
71
+ "@types/styled-system": "^5.1.13",
72
+ "@typescript-eslint/eslint-plugin": "^5.23.0",
73
+ "@typescript-eslint/parser": "^5.23.0",
74
+ "chromatic": "^6.10.2",
75
+ "esbuild": "^0.15.11",
76
+ "jest": "^29.2.0",
77
+ "jest-environment-jsdom": "^29.2.0",
78
+ "jest-styled-components": "^7.1.1",
79
+ "jest-when": "^3.5.1",
80
+ "lodash.throttle": "^4.1.1",
81
+ "npm-run-all": "^4.1.5",
82
+ "react": "^17.0.2",
83
+ "react-dom": "^17.0.2",
84
+ "react-refresh": "^0.14.0",
85
+ "react-router-dom": "^5.3.0",
86
+ "storybook-addon-pseudo-states": "^1.15.1",
87
+ "storybook-design-token": "^2.7.1",
88
+ "styled-components": "^5.3.6",
89
+ "styled-system": "^5.1.5",
90
+ "ts-jest": "^29.0.3",
91
+ "ts-node": "^10.7.0",
92
+ "ts-node-dev": "^2.0.0",
93
+ "tsc-alias": "^1.7.0",
94
+ "tsconfig-paths-webpack-plugin": "^3.5.2",
95
+ "typescript": "^4.8.4",
96
+ "webpack": "^5.72.0",
97
+ "concurrently": "^7.4.0"
98
+ },
18
99
  "dependencies": {
19
100
  "timeago.js": "^4.0.2"
101
+ },
102
+ "nx": {
103
+ "namedInputs": {
104
+ "prod": [
105
+ "!{projectRoot}/**/__tests__/**",
106
+ "!{projectRoot}/**/*.stories.{ts,tsx}"
107
+ ]
108
+ },
109
+ "targets": {
110
+ "build": {
111
+ "outputs": [
112
+ "{projectRoot}/lib"
113
+ ]
114
+ },
115
+ "test": {
116
+ "outputs": []
117
+ }
118
+ }
20
119
  }
21
- }
120
+ }
@@ -0,0 +1,6 @@
1
+ interface AppCustomAttributesProps {
2
+ onChange: (value: Record<string, string>) => void;
3
+ }
4
+ export function AppCustomAttributes(_props: AppCustomAttributesProps) {
5
+ return null;
6
+ }
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
- import type { FlattenSimpleInterpolation, Keyframes } from 'styled-components';
3
2
  import styled, { css, keyframes } from 'styled-components';
4
3
 
4
+ import type { FlattenSimpleInterpolation, Keyframes } from 'styled-components';
5
+
5
6
  import { Link } from '@portal/Link';
6
7
 
7
8
  export type ButtonSize = 'small' | 'medium' | 'large' | 'xlarge' | string;
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
7
5
  import { H3 } from '@theme/Typography';
6
+ import type { ResolvedNavItem } from '@theme/types/portal';
8
7
 
9
8
  export interface CardProps {
10
9
  title?: string;
@@ -1,11 +1,10 @@
1
1
  import React, { memo } from 'react';
2
2
 
3
- import type { TooltipProps } from '@theme/Tooltip';
4
-
5
3
  import { SamplesControlButton } from '@theme/SamplesPanelControls';
6
4
  import { Tooltip } from '@theme/Tooltip';
7
5
  import { useControl } from '@theme/hooks';
8
6
  import { ClipboardService } from '@theme/utils';
7
+ import type { TooltipProps } from '@theme/Tooltip';
9
8
 
10
9
  export interface CopyButtonWrapperProps {
11
10
  data: unknown;
@@ -26,6 +26,10 @@ const EditButton = styled(Link)`
26
26
  font-size: var(--font-size-base);
27
27
  font-family: var(--font-family-base);
28
28
  text-decoration: none;
29
+
30
+ @media print {
31
+ display: none;
32
+ }
29
33
  `;
30
34
 
31
35
  const ButtonIcon = styled.img`
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { CustomFooterNavItem } from '@theme/Footer/CustomFooterNavItem';
7
5
  import { FooterCopyright } from '@theme/Footer/FooterCopyright';
6
+ import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
8
7
 
9
8
  interface FooterProps {
10
9
  data: NavGroupRecord;
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavItem, ResolvedNavLinkItem } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
5
+ import type { ResolvedNavItem, ResolvedNavLinkItem } from '@theme/types/portal';
7
6
 
8
7
  interface CustomFooterNavItemProps {
9
8
  navItem: ResolvedNavItem;
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { FooterColumns } from '@theme/Footer/FooterColumns';
7
5
  import { FooterCopyright } from '@theme/Footer/FooterCopyright';
8
6
  import { isEmptyArray } from '@theme/utils';
9
7
  import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
8
+ import type { NavGroupRecord, ResolvedNavItem } from '@theme/types/portal';
10
9
 
11
10
  interface FooterProps {
12
11
  data: NavGroupRecord;
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
5
+ import type { ResolvedNavItem } from '@theme/types/portal';
7
6
 
8
7
  interface FooterColumnProps {
9
8
  column: ResolvedNavItem;
@@ -23,7 +22,13 @@ export function FooterColumn({ column }: FooterColumnProps): JSX.Element {
23
22
  {columnItem.label}
24
23
  </FooterSeparator>
25
24
  ) : (
26
- <FooterLink key={columnItemIndex} to={columnItem.link} data-cy={columnItem.label}>
25
+ <FooterLink
26
+ key={columnItemIndex}
27
+ to={columnItem.link}
28
+ external={columnItem.external}
29
+ target={columnItem.target}
30
+ data-cy={columnItem.label}
31
+ >
27
32
  {columnItem.label}
28
33
  </FooterLink>
29
34
  );
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { FooterColumn } from '@theme/Footer/FooterColumn';
5
+ import type { ResolvedNavItem } from '@theme/types/portal';
7
6
 
8
7
  interface FooterColumnsProps {
9
8
  columns: ResolvedNavItem[];
@@ -1,7 +1,8 @@
1
- import type { ReactElement } from 'react';
2
1
  import React, { memo, useRef } from 'react';
3
2
  import styled from 'styled-components';
4
3
 
4
+ import type { ReactElement } from 'react';
5
+
5
6
  import { CopyButtonWrapper } from '@theme/CopyButton';
6
7
  import { SampleControls, SamplesControlButton } from '@theme/SamplesPanelControls';
7
8
  import { jsonToHTML } from '@theme/utils';
@@ -4,28 +4,64 @@ import { format } from 'timeago.js';
4
4
 
5
5
  import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
6
6
 
7
+ const FORMATS = {
8
+ timeago: (date: Date, locale: string) => format(date, locale),
9
+ iso: (date: Date) => date.toISOString().split('T')[0],
10
+ short: (date: Date, locale: string) =>
11
+ date.toLocaleDateString(locale, { month: 'short', day: 'numeric', year: 'numeric' }),
12
+ long: (date: Date, locale: string) =>
13
+ date.toLocaleDateString(locale, { month: 'long', day: 'numeric', year: 'numeric' }),
14
+ };
15
+
7
16
  export interface LastUpdatedProps {
8
- lastModified: string | Date;
17
+ lastModified: Date;
18
+ format?: keyof typeof FORMATS;
19
+ locale?: string;
9
20
  }
10
21
 
11
- export function LastUpdated({ lastModified }: LastUpdatedProps): JSX.Element | null {
22
+ export function LastUpdated(props: LastUpdatedProps): JSX.Element | null {
12
23
  const { lastUpdatedBlock } = useDefaultThemeSettings();
13
24
 
14
25
  if (lastUpdatedBlock?.hide) {
15
26
  return null;
16
27
  }
17
28
 
29
+ const lastModified = props.lastModified;
30
+ const format = props.format || lastUpdatedBlock?.format || 'timeago';
31
+ const locale = props.locale || lastUpdatedBlock?.locale || 'en-US';
32
+ const isoDate = lastModified.toISOString().split('T')[0];
33
+
34
+ const lastUpdatedString = FORMATS[format](lastModified, locale);
35
+ const separator = format === 'timeago' ? ' ' : ' on ';
36
+
18
37
  return (
19
- <Wrapper data-component-name="LastUpdated/LastUpdated">
20
- Last updated {format(lastModified)}
38
+ <Wrapper
39
+ data-component-name="LastUpdated/LastUpdated"
40
+ rawOnPrint={format === 'timeago'}
41
+ data-print-datetime={isoDate}
42
+ >
43
+ Last updated{separator}
44
+ <time dateTime={isoDate}>{lastUpdatedString}</time>
21
45
  </Wrapper>
22
46
  );
23
47
  }
24
48
 
25
- const Wrapper = styled.div`
49
+ const Wrapper = styled.div<{ rawOnPrint?: boolean }>`
26
50
  color: var(--last-updated-text-color);
27
51
  font-size: var(--last-updated-font-size);
28
52
  font-family: var(--last-updated-font-family);
29
53
  line-height: var(--last-updated-line-height);
30
54
  padding-bottom: 30px;
55
+
56
+ ${({ rawOnPrint }) =>
57
+ rawOnPrint &&
58
+ `@media print {
59
+ time {
60
+ display: none;
61
+ }
62
+ &::after {
63
+ content: attr(data-print-datetime);
64
+ }
65
+ }
66
+ `}
31
67
  `;
@@ -36,6 +36,9 @@ const Wrapper = styled.div<AdmonitionTypeProps>`
36
36
  font-weight: var(--admonition-font-weight);
37
37
  line-height: var(--admonition-line-height);
38
38
 
39
+ print-color-adjust: exact;
40
+ -webkit-print-color-adjust: exact;
41
+
39
42
  ${({ type }) => `
40
43
  background-color: var(--admonition-${type}-background-color);
41
44
  color: var(--admonition-${type}-text-color);
@@ -64,6 +64,10 @@ const CopyCodeButton = styled.div`
64
64
  &:hover {
65
65
  cursor: pointer;
66
66
  }
67
+
68
+ @media print {
69
+ display: none;
70
+ }
67
71
  `;
68
72
 
69
73
  const DoneIndicator = styled.div`
@@ -150,6 +154,10 @@ const Wrapper = styled.div`
150
154
  border-radius: var(--code-block-border-radius);
151
155
  font-family: var(--code-font-family);
152
156
  background-color: var(--code-block-background-color);
157
+
158
+ print-color-adjust: exact;
159
+ -webkit-print-color-adjust: exact;
160
+
153
161
  code {
154
162
  background-color: transparent;
155
163
  border: 0;
@@ -1,6 +1,7 @@
1
- import type { PropsWithChildren } from 'react';
2
1
  import React, { createElement } from 'react';
3
2
 
3
+ import type { PropsWithChildren } from 'react';
4
+
4
5
  import { concatClassNames } from '@theme/utils';
5
6
 
6
7
  /**
@@ -15,6 +15,7 @@ type MarkdownLayoutProps = {
15
15
  text: string;
16
16
  icon: string;
17
17
  };
18
+ /** String in ISO format */
18
19
  lastModified?: string | null;
19
20
  };
20
21
 
@@ -28,7 +29,7 @@ export function MarkdownLayout({
28
29
  <PageWrapper data-component-name="Markdown/MarkdownLayout">
29
30
  <ContainerWrapper withToc={true}>
30
31
  <LayoutTop>
31
- {lastModified && <LastUpdated lastModified={lastModified} />}
32
+ {lastModified && <LastUpdated lastModified={new Date(lastModified)} />}
32
33
  {editPage && (
33
34
  <EditPageButton text={editPage.text} to={editPage.to} icon={editPage.icon} />
34
35
  )}
@@ -1,6 +1,7 @@
1
- import type { FlattenSimpleInterpolation } from 'styled-components';
2
1
  import styled, { css } from 'styled-components';
3
2
 
3
+ import type { FlattenSimpleInterpolation } from 'styled-components';
4
+
4
5
  import { typography } from '@theme/utils';
5
6
 
6
7
  export const baseTable = css`
@@ -1,7 +1,8 @@
1
- import type { PropsWithChildren } from 'react';
2
1
  import React from 'react';
3
2
  import styled from 'styled-components';
4
3
 
4
+ import type { PropsWithChildren } from 'react';
5
+
5
6
  export function Sup({ children }: PropsWithChildren<unknown>): JSX.Element {
6
7
  return <Wrapper data-component-name="Markdown/Sup">{children}</Wrapper>;
7
8
  }
@@ -1,7 +1,8 @@
1
- import type { PropsWithChildren } from 'react';
2
1
  import React, { useState } from 'react';
3
2
  import styled from 'styled-components';
4
3
 
4
+ import type { PropsWithChildren } from 'react';
5
+
5
6
  import { Tab } from '@theme/Markdown/Tabs/Tab';
6
7
 
7
8
  type TabsProps = PropsWithChildren<{ children: { props: { label: string } & TabsProps }[] }>;
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavLinkItem } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
5
+ import type { ResolvedNavLinkItem } from '@theme/types/portal';
7
6
 
8
7
  interface NavbarDropdownProps {
9
8
  items: ResolvedNavLinkItem[];
@@ -2,16 +2,15 @@ import React, { useState } from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { useLocation } from 'react-router-dom';
4
4
 
5
+ import { Link } from '@portal/Link';
6
+ import { withPathPrefix } from '@portal/utils';
7
+ import { MobileDropdownWrapper, MobileNavbarDropdown } from '@theme/Navbar/MobileNavbarDropdown';
5
8
  import type {
6
9
  ResolvedNavItem,
7
10
  ResolvedNavLinkItem,
8
11
  ResolvedNavGroupItem,
9
12
  } from '@theme/types/portal';
10
13
 
11
- import { Link } from '@portal/Link';
12
- import { withPathPrefix } from '@portal/utils';
13
- import { MobileDropdownWrapper, MobileNavbarDropdown } from '@theme/Navbar/MobileNavbarDropdown';
14
-
15
14
  export interface NavbarItemProps {
16
15
  navItem: ResolvedNavItem;
17
16
  className?: string;
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedConfigLinks, ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { NavbarMenuItem, NavbarMenuItemWithDropdownWrapper } from '@theme/Navbar/NavbarItem';
7
5
  import { MobileNavbarItem } from '@theme/Navbar/MobileNavbarItem';
8
6
  import { DropdownWrapper } from '@theme/Navbar/NavbarDropdown';
9
7
  import { isPrimitive, isEmptyArray } from '@theme/utils';
8
+ import type { ResolvedConfigLinks, ResolvedNavItem } from '@theme/types/portal';
10
9
 
11
10
  export function MobileNavbarMenu({
12
11
  menuItems,
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedConfigLinks } from '@theme/types/portal';
5
-
6
4
  import { NavbarMenu } from '@theme/Navbar';
7
5
  import { useMobileMenu } from '@theme/hooks/useMobileMenu';
8
6
  import { MobileNavbarMenuButton } from '@theme/Navbar/MobileNavbarMenuButton';
9
7
  import { MobileNavbarMenu } from '@theme/Navbar/MobileNavbarMenu';
10
8
  import { ColorModeSwitcher } from '@theme/ColorModeSwitcher/ColorModeSwitcher';
11
9
  import { useDefaultThemeSettings } from '@theme/hooks/useDefaultThemeSettings';
10
+ import type { ResolvedConfigLinks } from '@theme/types/portal';
12
11
 
13
12
  interface NavbarProps {
14
13
  menu: ResolvedConfigLinks;
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedNavLinkItem } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
5
+ import type { ResolvedNavLinkItem } from '@theme/types/portal';
7
6
 
8
7
  interface NavbarDropdownProps {
9
8
  items: ResolvedNavLinkItem[];
@@ -2,16 +2,15 @@ import React from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { useLocation } from 'react-router-dom';
4
4
 
5
+ import { Link } from '@portal/Link';
6
+ import { withPathPrefix } from '@portal/utils';
7
+ import { NavbarDropdown, DropdownWrapper } from '@theme/Navbar/NavbarDropdown';
5
8
  import type {
6
9
  ResolvedNavItem,
7
10
  ResolvedNavLinkItem,
8
11
  ResolvedNavGroupItem,
9
12
  } from '@theme/types/portal';
10
13
 
11
- import { Link } from '@portal/Link';
12
- import { withPathPrefix } from '@portal/utils';
13
- import { NavbarDropdown, DropdownWrapper } from '@theme/Navbar/NavbarDropdown';
14
-
15
14
  export interface NavbarItemProps {
16
15
  navItem: ResolvedNavItem;
17
16
  className?: string;
@@ -29,7 +28,7 @@ export function NavbarItem({ navItem, className }: NavbarItemProps): JSX.Element
29
28
  data-component-name="Navbar/NavbarItem"
30
29
  className={className}
31
30
  >
32
- <NavbarLink to={item.link} active={isActive}>
31
+ <NavbarLink to={item.link} external={item.external} target={item.target} active={isActive}>
33
32
  <NavbarLabel>{item.label}</NavbarLabel>
34
33
  </NavbarLink>
35
34
  </NavbarMenuItem>
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { ResolvedConfigLinks, ResolvedNavItem } from '@theme/types/portal';
5
-
6
4
  import { NavbarItem } from '@theme/Navbar/NavbarItem';
7
5
  import { isPrimitive } from '@theme/utils';
6
+ import type { ResolvedConfigLinks, ResolvedNavItem } from '@theme/types/portal';
8
7
 
9
8
  export function NavbarMenu({ menuItems }: { menuItems: ResolvedConfigLinks }): JSX.Element | null {
10
9
  if (isPrimitive(menuItems)) {
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { LogoConfig } from '@theme/types/portal';
5
-
6
4
  import { Link } from '@portal/Link';
5
+ import type { LogoConfig } from '@theme/types/portal';
7
6
 
8
7
  export type NavbarLogoProps = { logo: Pick<LogoConfig, 'image' | 'link' | 'altText'> };
9
8