@redocly/theme 0.18.2 → 0.18.3-patch.1

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 (420) hide show
  1. package/lib/I18n/LanguagePicker.d.ts +7 -2
  2. package/lib/I18n/LanguagePicker.js +11 -3
  3. package/lib/I18n/index.d.ts +1 -0
  4. package/lib/I18n/index.js +15 -0
  5. package/lib/I18n/styledVariables.d.ts +1 -0
  6. package/lib/I18n/styledVariables.js +39 -0
  7. package/lib/components/Breadcrumbs/Breadcrumb.d.ts +1 -0
  8. package/lib/components/Breadcrumbs/Breadcrumb.js +4 -3
  9. package/lib/components/Breadcrumbs/Breadcrumbs.js +9 -2
  10. package/lib/components/Breadcrumbs/index.d.ts +1 -0
  11. package/lib/components/Breadcrumbs/index.js +1 -0
  12. package/lib/components/Breadcrumbs/styledVariables.d.ts +1 -0
  13. package/lib/components/Breadcrumbs/styledVariables.js +19 -0
  14. package/lib/components/Button/Button.d.ts +6 -3
  15. package/lib/components/Button/Button.js +41 -41
  16. package/lib/components/Button/index.d.ts +1 -0
  17. package/lib/components/Button/index.js +1 -0
  18. package/lib/components/Button/styledVariables.d.ts +1 -0
  19. package/lib/components/Button/styledVariables.js +107 -0
  20. package/lib/components/Catalog/Catalog.d.ts +1 -0
  21. package/lib/components/Catalog/Catalog.js +100 -97
  22. package/lib/components/Catalog/CatalogCard.js +73 -58
  23. package/lib/components/Catalog/index.d.ts +4 -3
  24. package/lib/components/Catalog/index.js +4 -3
  25. package/lib/components/Catalog/styledVariables.d.ts +1 -0
  26. package/lib/components/Catalog/styledVariables.js +96 -0
  27. package/lib/components/Catalog/useCatalog.js +12 -1
  28. package/lib/components/CodeBlock/CodeBlockContainer.js +38 -10
  29. package/lib/components/CodeBlock/CodeBlockControlButton.d.ts +3 -4
  30. package/lib/components/CodeBlock/CodeBlockControlButton.js +5 -19
  31. package/lib/components/CodeBlock/CodeBlockControls.js +14 -7
  32. package/lib/components/CodeBlock/index.d.ts +1 -0
  33. package/lib/components/CodeBlock/index.js +1 -0
  34. package/lib/components/CodeBlock/styledVariables.d.ts +1 -0
  35. package/lib/components/CodeBlock/styledVariables.js +92 -0
  36. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +2 -1
  37. package/lib/components/Dropdown/Dropdown.d.ts +9 -3
  38. package/lib/components/Dropdown/Dropdown.js +7 -4
  39. package/lib/components/Dropdown/index.d.ts +1 -0
  40. package/lib/components/Dropdown/index.js +1 -0
  41. package/lib/components/Dropdown/styledVariables.d.ts +1 -0
  42. package/lib/components/Dropdown/styledVariables.js +30 -0
  43. package/lib/components/EditPageButton/EditPageButton.js +7 -2
  44. package/lib/components/Feedback/Comment.js +5 -0
  45. package/lib/components/Feedback/Feedback.js +13 -3
  46. package/lib/components/Feedback/Rating.js +5 -1
  47. package/lib/components/Feedback/Reasons.js +6 -1
  48. package/lib/components/Feedback/Sentiment.js +11 -2
  49. package/lib/components/Feedback/Thumbs.js +4 -4
  50. package/lib/components/Filter/Filter.js +104 -78
  51. package/lib/components/Filter/FilterContent.d.ts +11 -0
  52. package/lib/components/Filter/FilterContent.js +59 -0
  53. package/lib/components/Filter/FilterPopover.d.ts +11 -0
  54. package/lib/components/Filter/FilterPopover.js +109 -0
  55. package/lib/components/Filter/FilterTag.d.ts +7 -0
  56. package/lib/components/Filter/FilterTag.js +33 -0
  57. package/lib/components/Filter/FilterTags.d.ts +7 -0
  58. package/lib/components/Filter/FilterTags.js +29 -0
  59. package/lib/components/Filter/index.d.ts +2 -0
  60. package/lib/components/Filter/index.js +2 -0
  61. package/lib/components/Filter/styledVariables.d.ts +1 -0
  62. package/lib/components/Filter/styledVariables.js +112 -0
  63. package/lib/components/Footer/CustomFooterNavItem.js +1 -1
  64. package/lib/components/Footer/Footer.d.ts +4 -3
  65. package/lib/components/Footer/Footer.js +27 -10
  66. package/lib/components/Footer/FooterColumn.d.ts +3 -3
  67. package/lib/components/Footer/FooterColumn.js +54 -63
  68. package/lib/components/Footer/FooterColumns.js +6 -4
  69. package/lib/components/Footer/FooterCopyright.js +11 -6
  70. package/lib/components/Footer/index.d.ts +1 -0
  71. package/lib/components/Footer/index.js +1 -0
  72. package/lib/components/Footer/styledVariables.d.ts +1 -0
  73. package/lib/components/Footer/styledVariables.js +61 -0
  74. package/lib/components/Image/Image.d.ts +9 -0
  75. package/lib/components/Image/Image.js +31 -0
  76. package/lib/components/Image/index.d.ts +1 -0
  77. package/lib/components/{Tags → Image}/index.js +1 -1
  78. package/lib/components/JsonViewer/JsonViewer.js +2 -2
  79. package/lib/components/LastUpdated/index.d.ts +1 -0
  80. package/lib/components/{OperationBadge → LastUpdated}/index.js +1 -1
  81. package/lib/components/LastUpdated/styledVariables.d.ts +1 -0
  82. package/lib/components/LastUpdated/styledVariables.js +11 -0
  83. package/lib/components/Markdown/MarkdownWrapper.js +2 -4
  84. package/lib/components/Markdown/Mermaid.js +1 -1
  85. package/lib/components/Markdown/index.d.ts +1 -0
  86. package/lib/components/Markdown/index.js +1 -0
  87. package/lib/components/Markdown/styledVariables.d.ts +2 -0
  88. package/lib/components/Markdown/styledVariables.js +221 -0
  89. package/lib/components/Menu/Menu.js +5 -7
  90. package/lib/components/Menu/MenuGroup.js +12 -7
  91. package/lib/components/Menu/MenuItemLabel.js +9 -13
  92. package/lib/components/Menu/MenuLinkItem.js +2 -1
  93. package/lib/components/Menu/MobileMenu.js +20 -25
  94. package/lib/components/Menu/MobileMenuGroup.js +1 -1
  95. package/lib/components/Menu/index.d.ts +1 -0
  96. package/lib/components/Menu/index.js +1 -0
  97. package/lib/components/Menu/styledVariables.d.ts +2 -0
  98. package/lib/components/Menu/styledVariables.js +101 -0
  99. package/lib/components/Navbar/Navbar.js +10 -11
  100. package/lib/components/Navbar/NavbarItem.d.ts +1 -1
  101. package/lib/components/Navbar/NavbarItem.js +14 -6
  102. package/lib/components/Navbar/NavbarMenu.js +2 -2
  103. package/lib/components/Navbar/index.d.ts +1 -0
  104. package/lib/components/Navbar/index.js +1 -0
  105. package/lib/components/Navbar/styledVariables.d.ts +1 -0
  106. package/lib/components/Navbar/styledVariables.js +43 -0
  107. package/lib/components/NavbarLogo/NavbarLogo.d.ts +4 -1
  108. package/lib/components/NavbarLogo/NavbarLogo.js +14 -5
  109. package/lib/components/NavbarLogo/index.d.ts +1 -0
  110. package/lib/components/NavbarLogo/index.js +1 -0
  111. package/lib/components/NavbarLogo/styledVariables.d.ts +1 -0
  112. package/lib/components/NavbarLogo/styledVariables.js +18 -0
  113. package/lib/components/OpenApiDocs/DevOnboardingTryItSecurity.js +2 -2
  114. package/lib/components/OpenApiDocs/Dropdown.js +3 -3
  115. package/lib/components/Panel/PanelHeader.js +1 -0
  116. package/lib/components/Panel/PanelHeaderTitle.js +0 -4
  117. package/lib/components/Panel/index.d.ts +1 -0
  118. package/lib/components/Panel/index.js +1 -0
  119. package/lib/components/Panel/styledVariables.d.ts +2 -0
  120. package/lib/components/Panel/styledVariables.js +481 -0
  121. package/lib/components/Product/index.d.ts +1 -0
  122. package/lib/components/Product/index.js +1 -0
  123. package/lib/components/Product/styledVariables.d.ts +2 -0
  124. package/lib/components/Product/styledVariables.js +41 -0
  125. package/lib/components/Profile/LoginLink.js +5 -3
  126. package/lib/components/{Navbar → Profile}/MobileUserProfile.js +18 -26
  127. package/lib/components/Profile/Profile.js +3 -22
  128. package/lib/components/Profile/UserProfile.js +25 -9
  129. package/lib/components/Profile/UserProfileData.d.ts +9 -0
  130. package/lib/components/Profile/UserProfileData.js +35 -0
  131. package/lib/components/Profile/index.d.ts +1 -0
  132. package/lib/components/Profile/index.js +15 -0
  133. package/lib/components/Profile/styledVariables.d.ts +2 -0
  134. package/lib/components/Profile/styledVariables.js +55 -0
  135. package/lib/components/Search/CancelSearch.js +2 -14
  136. package/lib/components/Search/ProductTag.js +8 -8
  137. package/lib/components/Search/RecentSearches.js +5 -5
  138. package/lib/components/Search/Search.js +0 -2
  139. package/lib/components/Search/SearchIcon.js +2 -2
  140. package/lib/components/Search/SearchItem.js +14 -17
  141. package/lib/components/Search/SearchTrigger.js +4 -5
  142. package/lib/components/Search/ShortcutKey.js +1 -5
  143. package/lib/components/Search/SuggestedPages.js +3 -3
  144. package/lib/components/Search/index.d.ts +1 -0
  145. package/lib/components/Search/index.js +1 -0
  146. package/lib/components/Search/styledVariables.d.ts +1 -0
  147. package/lib/components/Search/styledVariables.js +98 -0
  148. package/lib/components/Select/Select.d.ts +10 -3
  149. package/lib/components/Select/Select.js +9 -6
  150. package/lib/components/Select/index.d.ts +1 -0
  151. package/lib/components/Select/index.js +1 -0
  152. package/lib/components/Select/styledVariables.d.ts +1 -0
  153. package/lib/components/Select/styledVariables.js +33 -0
  154. package/lib/components/Separator/Separator.js +11 -3
  155. package/lib/components/Separator/SeparatorItem.js +5 -9
  156. package/lib/components/Separator/SeparatorLine.js +7 -3
  157. package/lib/components/Sidebar/ApiCallItem.d.ts +2 -6
  158. package/lib/components/Sidebar/ApiCallItem.js +17 -13
  159. package/lib/components/Sidebar/FooterWrapper.js +3 -4
  160. package/lib/components/Sidebar/HeaderWrapper.js +2 -2
  161. package/lib/components/Sidebar/SidebarLayout.js +2 -1
  162. package/lib/components/Sidebar/VersionPicker.d.ts +1 -1
  163. package/lib/components/Sidebar/index.d.ts +1 -0
  164. package/lib/components/Sidebar/index.js +1 -0
  165. package/lib/components/Sidebar/styledVariables.d.ts +2 -0
  166. package/lib/components/Sidebar/styledVariables.js +215 -0
  167. package/lib/components/Sidebar/types.d.ts +1 -0
  168. package/lib/components/SidebarActions/CollapseSidebarButton.js +41 -1
  169. package/lib/components/SidebarActions/SidebarActions.js +15 -3
  170. package/lib/components/SidebarActions/styled.js +29 -21
  171. package/lib/components/TableOfContent/TableOfContent.js +4 -4
  172. package/lib/components/TableOfContent/index.d.ts +1 -0
  173. package/lib/components/TableOfContent/index.js +1 -0
  174. package/lib/components/TableOfContent/styledVariables.d.ts +1 -0
  175. package/lib/components/TableOfContent/styledVariables.js +46 -0
  176. package/lib/components/Tabs/Tab.js +1 -1
  177. package/lib/components/Tabs/Tabs.js +1 -1
  178. package/lib/components/Tag/Tag.d.ts +17 -0
  179. package/lib/components/Tag/Tag.js +39 -0
  180. package/lib/components/Tag/index.d.ts +2 -0
  181. package/lib/components/Tag/index.js +19 -0
  182. package/lib/components/Tag/styledVariables.d.ts +1 -0
  183. package/lib/components/Tag/styledVariables.js +130 -0
  184. package/lib/components/Tiles/ThinTile.js +7 -5
  185. package/lib/components/Tiles/TileText.js +1 -1
  186. package/lib/components/Tiles/WideTile.js +10 -8
  187. package/lib/components/Tooltip/index.d.ts +1 -0
  188. package/lib/components/Tooltip/index.js +1 -0
  189. package/lib/components/Tooltip/styledVariables.d.ts +1 -0
  190. package/lib/components/Tooltip/styledVariables.js +21 -0
  191. package/lib/components/Typography/SectionHeader.js +2 -2
  192. package/lib/components/Typography/Typography.js +1 -1
  193. package/lib/components/index.d.ts +1 -2
  194. package/lib/components/index.js +1 -2
  195. package/lib/config.d.ts +84 -2
  196. package/lib/config.js +16 -2
  197. package/lib/globalStyle.js +599 -1982
  198. package/lib/icons/ArrowIcon/ArrowIcon.js +1 -1
  199. package/lib/icons/CheckboxIcon/CheckboxIcon.d.ts +6 -0
  200. package/lib/icons/CheckboxIcon/CheckboxIcon.js +28 -0
  201. package/lib/icons/CheckboxIcon/index.d.ts +1 -0
  202. package/lib/icons/CheckboxIcon/index.js +6 -0
  203. package/lib/icons/CollapseIcon/CollapseIcon.d.ts +1 -1
  204. package/lib/icons/CollapseIcon/CollapseIcon.js +5 -5
  205. package/lib/icons/ColorModeIcon/ColorModeIcon.js +1 -1
  206. package/lib/icons/CopyIcon/CopyIcon.d.ts +1 -2
  207. package/lib/icons/CopyIcon/CopyIcon.js +4 -4
  208. package/lib/icons/DeselectIcon/DeselectIcon.d.ts +1 -1
  209. package/lib/icons/DeselectIcon/DeselectIcon.js +5 -5
  210. package/lib/icons/ErrorIcon/ErrorIcon.d.ts +4 -0
  211. package/lib/icons/ErrorIcon/ErrorIcon.js +14 -0
  212. package/lib/icons/ErrorIcon/index.d.ts +1 -0
  213. package/lib/icons/ErrorIcon/index.js +18 -0
  214. package/lib/icons/ExpandIcon/ExpandIcon.d.ts +1 -2
  215. package/lib/icons/ExpandIcon/ExpandIcon.js +5 -5
  216. package/lib/icons/FileIcon/FileIcon.d.ts +1 -2
  217. package/lib/icons/FileIcon/FileIcon.js +2 -2
  218. package/lib/icons/LanguageIcon/LanguageIcon.d.ts +4 -0
  219. package/lib/icons/LanguageIcon/LanguageIcon.js +14 -0
  220. package/lib/icons/LanguageIcon/index.d.ts +1 -0
  221. package/lib/icons/LanguageIcon/index.js +18 -0
  222. package/lib/icons/PlusIcon/PlusIcon.d.ts +5 -0
  223. package/lib/icons/PlusIcon/PlusIcon.js +16 -0
  224. package/lib/icons/PlusIcon/index.d.ts +1 -0
  225. package/lib/icons/PlusIcon/index.js +18 -0
  226. package/lib/icons/PointingArrowIcon/PointingArrowIcon.d.ts +4 -0
  227. package/lib/icons/PointingArrowIcon/PointingArrowIcon.js +15 -0
  228. package/lib/icons/PointingArrowIcon/index.d.ts +1 -0
  229. package/lib/icons/PointingArrowIcon/index.js +18 -0
  230. package/lib/icons/ReportIcon/ReportIcon.d.ts +1 -2
  231. package/lib/icons/ReportIcon/ReportIcon.js +3 -3
  232. package/lib/icons/SelectIcon/SelectIcon.d.ts +1 -2
  233. package/lib/icons/SelectIcon/SelectIcon.js +5 -5
  234. package/lib/icons/index.d.ts +4 -0
  235. package/lib/icons/index.js +4 -0
  236. package/lib/layouts/Forbidden.js +4 -0
  237. package/lib/layouts/NotFound.js +4 -0
  238. package/lib/types/portal/src/shared/types/nav.d.ts +5 -0
  239. package/lib/ui/ArrowBack.js +0 -1
  240. package/lib/ui/Burger.js +1 -1
  241. package/lib/ui/Dropdown.js +7 -7
  242. package/lib/ui/Jumbotron.js +1 -1
  243. package/lib/ui/darkColors.js +217 -84
  244. package/lib/utils/index.d.ts +1 -0
  245. package/lib/utils/index.js +1 -0
  246. package/lib/utils/tags-parser.d.ts +1 -0
  247. package/lib/utils/tags-parser.js +10 -0
  248. package/package.json +2 -2
  249. package/src/I18n/LanguagePicker.tsx +29 -4
  250. package/src/I18n/index.ts +1 -0
  251. package/src/I18n/styledVariables.ts +36 -0
  252. package/src/components/Breadcrumbs/Breadcrumb.tsx +10 -3
  253. package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -2
  254. package/src/components/Breadcrumbs/index.ts +1 -0
  255. package/src/components/Breadcrumbs/styledVariables.ts +16 -0
  256. package/src/components/Button/Button.tsx +53 -47
  257. package/src/components/Button/index.ts +1 -0
  258. package/src/components/Button/styledVariables.ts +104 -0
  259. package/src/components/Catalog/Catalog.tsx +124 -117
  260. package/src/components/Catalog/CatalogCard.tsx +86 -60
  261. package/src/components/Catalog/index.ts +4 -0
  262. package/src/components/Catalog/styledVariables.ts +93 -0
  263. package/src/components/Catalog/useCatalog.ts +13 -1
  264. package/src/components/CodeBlock/CodeBlockContainer.tsx +17 -9
  265. package/src/components/CodeBlock/CodeBlockControlButton.tsx +6 -19
  266. package/src/components/CodeBlock/CodeBlockControls.tsx +14 -6
  267. package/src/components/CodeBlock/index.ts +1 -0
  268. package/src/components/CodeBlock/styledVariables.ts +89 -0
  269. package/src/components/ColorModeSwitcher/ColorModeSwitcher.tsx +3 -1
  270. package/src/components/Dropdown/Dropdown.tsx +14 -5
  271. package/src/components/Dropdown/index.ts +1 -0
  272. package/src/components/Dropdown/styledVariables.ts +27 -0
  273. package/src/components/EditPageButton/EditPageButton.tsx +7 -2
  274. package/src/components/Feedback/Comment.tsx +5 -0
  275. package/src/components/Feedback/Feedback.tsx +13 -3
  276. package/src/components/Feedback/Rating.tsx +5 -1
  277. package/src/components/Feedback/Reasons.tsx +6 -1
  278. package/src/components/Feedback/Sentiment.tsx +15 -2
  279. package/src/components/Feedback/Thumbs.tsx +4 -4
  280. package/src/components/Filter/Filter.tsx +130 -94
  281. package/src/components/Filter/FilterContent.tsx +86 -0
  282. package/src/components/Filter/FilterPopover.tsx +140 -0
  283. package/src/components/Filter/FilterTag.tsx +37 -0
  284. package/src/components/Filter/FilterTags.tsx +39 -0
  285. package/src/components/Filter/index.ts +2 -0
  286. package/src/components/Filter/styledVariables.ts +109 -0
  287. package/src/components/Footer/CustomFooterNavItem.tsx +1 -1
  288. package/src/components/Footer/Footer.tsx +32 -10
  289. package/src/components/Footer/FooterColumn.tsx +81 -62
  290. package/src/components/Footer/FooterColumns.tsx +6 -4
  291. package/src/components/Footer/FooterCopyright.tsx +13 -7
  292. package/src/components/Footer/index.ts +1 -0
  293. package/src/components/Footer/styledVariables.ts +58 -0
  294. package/src/components/Image/Image.tsx +47 -0
  295. package/src/components/Image/index.ts +1 -0
  296. package/src/components/JsonViewer/JsonViewer.tsx +2 -2
  297. package/src/components/LastUpdated/index.ts +1 -0
  298. package/src/components/LastUpdated/styledVariables.ts +8 -0
  299. package/src/components/Markdown/MarkdownWrapper.tsx +2 -4
  300. package/src/components/Markdown/Mermaid.tsx +1 -1
  301. package/src/components/Markdown/index.ts +1 -0
  302. package/src/components/Markdown/styledVariables.ts +219 -0
  303. package/src/components/Menu/Menu.tsx +5 -7
  304. package/src/components/Menu/MenuGroup.tsx +15 -7
  305. package/src/components/Menu/MenuItemLabel.tsx +9 -13
  306. package/src/components/Menu/MenuLinkItem.tsx +6 -1
  307. package/src/components/Menu/MobileMenu.tsx +20 -25
  308. package/src/components/Menu/MobileMenuGroup.tsx +1 -1
  309. package/src/components/Menu/index.ts +1 -0
  310. package/src/components/Menu/styledVariables.ts +99 -0
  311. package/src/components/Navbar/Navbar.tsx +10 -11
  312. package/src/components/Navbar/NavbarItem.tsx +16 -4
  313. package/src/components/Navbar/NavbarMenu.tsx +2 -2
  314. package/src/components/Navbar/index.ts +1 -0
  315. package/src/components/Navbar/styledVariables.ts +40 -0
  316. package/src/components/NavbarLogo/NavbarLogo.tsx +25 -10
  317. package/src/components/NavbarLogo/index.ts +1 -0
  318. package/src/components/NavbarLogo/styledVariables.ts +15 -0
  319. package/src/components/OpenApiDocs/DevOnboardingTryItSecurity.tsx +1 -2
  320. package/src/components/OpenApiDocs/Dropdown.tsx +3 -3
  321. package/src/components/Panel/PanelHeader.ts +1 -0
  322. package/src/components/Panel/PanelHeaderTitle.ts +0 -4
  323. package/src/components/Panel/index.ts +1 -0
  324. package/src/components/Panel/styledVariables.ts +479 -0
  325. package/src/components/Product/index.ts +1 -0
  326. package/src/components/Product/styledVariables.ts +39 -0
  327. package/src/components/Profile/LoginLink.tsx +9 -3
  328. package/src/components/{Navbar → Profile}/MobileUserProfile.tsx +24 -31
  329. package/src/components/Profile/Profile.tsx +1 -24
  330. package/src/components/Profile/UserProfile.tsx +25 -9
  331. package/src/components/Profile/UserProfileData.tsx +40 -0
  332. package/src/components/Profile/index.ts +1 -0
  333. package/src/components/Profile/styledVariables.ts +53 -0
  334. package/src/components/Search/CancelSearch.tsx +2 -15
  335. package/src/components/Search/ProductTag.tsx +8 -8
  336. package/src/components/Search/RecentSearches.tsx +5 -5
  337. package/src/components/Search/Search.tsx +0 -2
  338. package/src/components/Search/SearchIcon.tsx +10 -5
  339. package/src/components/Search/SearchItem.tsx +26 -31
  340. package/src/components/Search/SearchTrigger.tsx +4 -5
  341. package/src/components/Search/ShortcutKey.tsx +1 -5
  342. package/src/components/Search/SuggestedPages.tsx +3 -3
  343. package/src/components/Search/index.ts +1 -0
  344. package/src/components/Search/styledVariables.ts +95 -0
  345. package/src/components/Select/Select.tsx +20 -7
  346. package/src/components/Select/index.ts +1 -0
  347. package/src/components/Select/styledVariables.ts +30 -0
  348. package/src/components/Separator/Separator.tsx +17 -3
  349. package/src/components/Separator/SeparatorItem.tsx +5 -9
  350. package/src/components/Separator/SeparatorLine.tsx +7 -3
  351. package/src/components/Sidebar/ApiCallItem.tsx +17 -13
  352. package/src/components/Sidebar/FooterWrapper.tsx +3 -4
  353. package/src/components/Sidebar/HeaderWrapper.tsx +2 -2
  354. package/src/components/Sidebar/SidebarLayout.tsx +6 -1
  355. package/src/components/Sidebar/index.ts +1 -0
  356. package/src/components/Sidebar/styledVariables.ts +213 -0
  357. package/src/components/Sidebar/types.ts +1 -0
  358. package/src/components/SidebarActions/CollapseSidebarButton.tsx +22 -2
  359. package/src/components/SidebarActions/SidebarActions.tsx +18 -3
  360. package/src/components/SidebarActions/styled.tsx +29 -30
  361. package/src/components/TableOfContent/TableOfContent.tsx +4 -3
  362. package/src/components/TableOfContent/index.ts +1 -0
  363. package/src/components/TableOfContent/styledVariables.ts +43 -0
  364. package/src/components/Tabs/Tab.tsx +1 -1
  365. package/src/components/Tabs/Tabs.tsx +1 -1
  366. package/src/components/Tag/Tag.tsx +63 -0
  367. package/src/components/Tag/index.ts +2 -0
  368. package/src/components/Tag/styledVariables.ts +127 -0
  369. package/src/components/Tiles/ThinTile.tsx +7 -5
  370. package/src/components/Tiles/TileText.tsx +1 -1
  371. package/src/components/Tiles/WideTile.tsx +10 -8
  372. package/src/components/Tooltip/index.ts +1 -0
  373. package/src/components/Tooltip/styledVariables.ts +18 -0
  374. package/src/components/Typography/SectionHeader.ts +2 -2
  375. package/src/components/Typography/Typography.ts +1 -1
  376. package/src/components/index.ts +1 -2
  377. package/src/config.ts +20 -2
  378. package/src/globalStyle.ts +595 -1999
  379. package/src/icons/ArrowIcon/ArrowIcon.tsx +1 -1
  380. package/src/icons/CheckboxIcon/CheckboxIcon.tsx +64 -0
  381. package/src/icons/CheckboxIcon/index.ts +1 -0
  382. package/src/icons/CollapseIcon/CollapseIcon.tsx +5 -5
  383. package/src/icons/ColorModeIcon/ColorModeIcon.tsx +1 -1
  384. package/src/icons/CopyIcon/CopyIcon.tsx +4 -5
  385. package/src/icons/DeselectIcon/DeselectIcon.tsx +5 -5
  386. package/src/icons/ErrorIcon/ErrorIcon.tsx +15 -0
  387. package/src/icons/ErrorIcon/index.ts +1 -0
  388. package/src/icons/ExpandIcon/ExpandIcon.tsx +5 -6
  389. package/src/icons/FileIcon/FileIcon.tsx +2 -3
  390. package/src/icons/LanguageIcon/LanguageIcon.tsx +15 -0
  391. package/src/icons/LanguageIcon/index.ts +1 -0
  392. package/src/icons/PlusIcon/PlusIcon.tsx +25 -0
  393. package/src/icons/PlusIcon/index.ts +1 -0
  394. package/src/icons/PointingArrowIcon/PointingArrowIcon.tsx +16 -0
  395. package/src/icons/PointingArrowIcon/index.ts +1 -0
  396. package/src/icons/ReportIcon/ReportIcon.tsx +3 -4
  397. package/src/icons/SelectIcon/SelectIcon.tsx +5 -6
  398. package/src/icons/index.ts +4 -0
  399. package/src/layouts/Forbidden.tsx +4 -0
  400. package/src/layouts/NotFound.tsx +4 -0
  401. package/src/types/portal/src/shared/types/nav.ts +5 -0
  402. package/src/ui/ArrowBack.tsx +0 -1
  403. package/src/ui/Burger.tsx +1 -1
  404. package/src/ui/Dropdown.tsx +7 -7
  405. package/src/ui/Jumbotron.tsx +1 -1
  406. package/src/ui/darkColors.tsx +217 -84
  407. package/src/utils/index.ts +1 -0
  408. package/src/utils/tags-parser.ts +8 -0
  409. package/lib/components/OperationBadge/OperationBadge.d.ts +0 -6
  410. package/lib/components/OperationBadge/OperationBadge.js +0 -68
  411. package/lib/components/OperationBadge/index.d.ts +0 -1
  412. package/lib/components/Tags/Tags.d.ts +0 -5
  413. package/lib/components/Tags/Tags.js +0 -32
  414. package/lib/components/Tags/index.d.ts +0 -1
  415. package/src/components/Catalog/index.tsx +0 -3
  416. package/src/components/OperationBadge/OperationBadge.ts +0 -62
  417. package/src/components/OperationBadge/index.ts +0 -1
  418. package/src/components/Tags/Tags.tsx +0 -36
  419. package/src/components/Tags/index.ts +0 -1
  420. /package/lib/components/{Navbar → Profile}/MobileUserProfile.d.ts +0 -0
@@ -4,99 +4,125 @@ import styled from 'styled-components';
4
4
  import type { CatalogItem } from '@theme/types/portal/src/shared/types/catalog';
5
5
  import { Link } from '@portal/Link';
6
6
  import { Highlight } from '@theme/ui/Highlight';
7
- import { Tags } from '@theme/components/Tags';
8
- import { useTranslate } from '@portal/hooks';
7
+ import { Tag } from '@theme/components/Tag';
8
+ import { PointingArrowIcon } from '@theme/icons';
9
+ import { telemetry } from '@portal/telemetry';
10
+ import { slug } from '@theme/utils';
9
11
 
10
12
  export function CatalogCard({ item }: { item: CatalogItem }): JSX.Element {
11
- const { translate } = useTranslate();
12
- const translationKeys = {
13
- footer: 'theme.catalog.card.footer',
14
- };
15
13
  return (
16
14
  <Link key={item.docsLink || item.link} to={item.docsLink || item.link}>
17
- <StyledCard>
15
+ <StyledCard onClick={() => telemetry.send('catalog_item_clicked', {})}>
18
16
  <CardTitle>
19
17
  <Highlight>{item.title}</Highlight>
20
18
  </CardTitle>
21
- {/* <div>{item.image}</div> */}
22
- <CardDescription>
23
- <Highlight>{item.description ?? ''}</Highlight>
24
- </CardDescription>
25
- {item.tags ? <Tags tags={item.tags as string[]} /> : null}
26
- <hr />
27
- <CardFooter data-translation-key={translationKeys.footer}>
28
- {translate(translationKeys.footer, 'View documentation')}
29
- </CardFooter>
19
+ <CardContent>
20
+ <CardDescription>
21
+ <Highlight>{item.description ?? ''}</Highlight>
22
+ </CardDescription>
23
+ <CardFooter>
24
+ {item.tags && (
25
+ <CardTags>
26
+ {(item.tags as string[]).map((tag, index) => (
27
+ <CardTag key={tag + index} color={slug(tag)}>
28
+ <Highlight>{tag}</Highlight>
29
+ </CardTag>
30
+ ))}
31
+ </CardTags>
32
+ )}
33
+ <SelectButton>
34
+ <PointingArrowIcon />
35
+ </SelectButton>
36
+ </CardFooter>
37
+ </CardContent>
30
38
  </StyledCard>
31
39
  </Link>
32
40
  );
33
41
  }
34
42
 
35
- const StyledCard = styled.div`
36
- min-height: 268px;
37
- height: 100%;
38
- box-shadow: var(--box-shadow);
39
-
43
+ const SelectButton = styled.div`
44
+ border: 1px solid var(--catalog-card-button-border-color);
45
+ border-radius: 100%;
46
+ width: var(--catalog-card-button-width);
47
+ height: var(--catalog-card-button-height);
40
48
  display: flex;
41
- flex-direction: column;
42
-
43
- color: var(--text-color);
44
- background-color: var(--thin-tile-background-color);
45
- border-radius: 4px;
46
-
47
- border: 1px solid var(--border-color);
48
- box-shadow: 0px 0px 10px 0px rgba(35, 35, 35, 0.05);
49
+ align-items: center;
50
+ justify-content: center;
49
51
  transition: all 0.2s ease-in-out;
50
52
 
51
- &:hover {
52
- /* box-shadow: 0px 12px 30px 0px rgba(35, 35, 35, 0.2); */
53
- box-shadow: 0px 10px 30px 0px rgba(35, 35, 35, 0.1);
54
- border: 1px solid var(--border-color);
55
- transform: translateY(-2px);
53
+ svg {
54
+ fill: var(--catalog-card-icon-color);
56
55
  }
56
+ `;
57
57
 
58
- border-radius: 8px;
59
- width: 100%;
60
- padding: 24px 24px 0;
58
+ const StyledCard = styled.div.attrs({ 'data-cy': 'Catalog/CatalogCard' })`
59
+ min-height: var(--catalog-card-min-height);
60
+ height: 100%;
61
+ color: var(--catalog-card-text-color);
62
+ font-size: var(--catalog-card-font-size);
63
+ font-weight: var(--catalog-card-font-weight);
64
+ background-color: var(--catalog-card-background-color);
65
+ border: var(--catalog-card-border-width) var(--catalog-card-border-style) var(--catalog-card-border-color);
66
+ transition: all 0.2s ease-in-out;
67
+ border-radius: var(--catalog-card-border-radius);
68
+ cursor: pointer;
61
69
  display: flex;
62
70
  flex-direction: column;
63
- cursor: pointer;
71
+
72
+ &:hover {
73
+ border-color: var(--catalog-card-hover-border-color);
74
+
75
+ ${SelectButton} {
76
+ transform: rotate(-45deg);
77
+ border-color: var(--catalog-card-hover-border-color);
78
+ background: var(--catalog-card-button-hover-background);
79
+
80
+ svg {
81
+ fill: var(--catalog-card-icon-hover-color);
82
+ }
83
+ }
64
84
  `;
65
85
 
66
86
  const CardTitle = styled.h4`
67
- line-height: 26px;
68
- letter-spacing: 0.8px;
69
- font-size: 20px;
70
- font-weight: var(--font-weight-bold);
87
+ color: var(--catalog-card-title-color);
88
+ min-height: var(--catalog-card-title-min-height);
89
+ font-size: var(--catalog-card-title-font-size);
90
+ font-weight: var(--catalog-card-title-font-weight);
71
91
  margin: 0;
72
- margin-bottom: 16px;
92
+ padding: var(--catalog-card-title-padding-vertical) var(--catalog-card-title-padding-horizontal);
73
93
  `;
74
94
 
75
95
  const CardDescription = styled.div`
76
96
  display: -webkit-box;
77
- -webkit-line-clamp: 3;
97
+ -webkit-line-clamp: var(--catalog-card-description-line-clamp);
78
98
  -webkit-box-orient: vertical;
79
99
  overflow: hidden;
80
100
  text-overflow: ellipsis;
81
- line-height: var(--line-height);
82
- letter-spacing: 0px;
83
- font-size: 16px;
84
- color: var(--text-color-secondary);
85
- text-align: inherit;
86
- font-weight: 400;
101
+ margin-bottom: var(--catalog-card-description-margin-bottom);
87
102
  `;
88
103
 
89
- const CardFooter = styled.div`
90
- height: 46px;
104
+ const CardContent = styled.div`
105
+ background-color: var(--catalog-card-content-background-color);
106
+ border-radius: var(--catalog-card-content-border-radius);
107
+ padding: var(--catalog-card-content-padding);
108
+ flex: 1;
91
109
  display: flex;
92
- align-items: flex-start;
93
- justify-content: center;
94
110
  flex-direction: column;
95
- font-size: 16px;
96
- font-weight: var(--font-weight-bold);
111
+ justify-content: space-between;
112
+ `;
97
113
 
98
- a:hover & {
99
- text-decoration: var(--link-hover-text-decoration);
100
- color: var(--link-hover-text-color);
101
- }
114
+ const CardFooter = styled.div`
115
+ display: flex;
116
+ align-items: flex-end;
117
+ justify-content: space-between;
118
+ `;
119
+
120
+ const CardTags = styled.div`
121
+ display: flex;
122
+ flex-wrap: wrap;
123
+ gap: var(--spacing-xxs);
124
+ `;
125
+
126
+ const CardTag = styled(Tag)`
127
+ margin: 0;
102
128
  `;
@@ -0,0 +1,4 @@
1
+ export * from '@theme/components/Catalog/Catalog';
2
+ export * from '@theme/components/Catalog/CatalogCard';
3
+ export * from '@theme/components/Catalog/useCatalog';
4
+ export * from '@theme/components/Catalog/styledVariables';
@@ -0,0 +1,93 @@
1
+ import { css } from 'styled-components';
2
+
3
+ export const catalog = css`
4
+ /* === Catalog === */
5
+ /**
6
+ * @tokens Catalog page
7
+ */
8
+ --catalog-page-padding-vertical: var(--spacing-lg);
9
+ --catalog-page-padding-horizontal: var(--spacing-xl);
10
+ --catalog-page-padding: var(--catalog-page-padding-vertical) var(--catalog-page-padding-horizontal);
11
+ --mobile-catalog-page-padding: 0 var(--spacing-base) var(--spacing-base) var(--spacing-base);
12
+
13
+ --mobile-catalog-filter-padding-vertical: var(--spacing-sm);
14
+ --mobile-catalog-filter-padding-horizontal: var(--spacing-base);
15
+
16
+ /**
17
+ * @tokens Catalog page title
18
+ */
19
+ --catalog-title-text-color: var(--text-primary);
20
+ --catalog-title-font-weight: var(--font-weight-bold);
21
+ --catalog-title-font-size: var(--font-size-heading-3);
22
+
23
+ /**
24
+ * @tokens Catalog page description
25
+ */
26
+ --catalog-description-text-color: var(--text-secondary);
27
+ --catalog-description-font-weight: var(--font-weight-regular);
28
+ --catalog-description-font-size: var(--font-size-base);
29
+ --catalog-description-margin-top: var(--spacing-sm);
30
+ --catalog-description-margin-bottom: var(--spacing-xl);
31
+
32
+ /**
33
+ * @tokens Catalog page separator
34
+ */
35
+ --catalog-separator-color: var(--text-description);
36
+ --catalog-separator-font-size: var(--font-size-base);
37
+ --catalog-separator-font-weight: var(--font-weight-regular);
38
+ --catalog-separator-border-color: var(--border-secondary);
39
+ --catalog-separator-margin: 0 0 var(--spacing-base) 0;
40
+ --catalog-separator-padding: var(--spacing-xxs) 0 0 0;
41
+ --catalog-separator-label-margin: 0 var(--spacing-xs);
42
+ --catalog-separator-count-height: var(--control-height-xs);
43
+ --catalog-separator-count-padding: 0 var(--spacing-xxs);
44
+ --catalog-separator-count-border-radius: var(--border-radius-xlg);
45
+ --catalog-separator-count-border-color: var(--border-secondary);
46
+ --catalog-separator-count-background: var(--bg-raised);
47
+
48
+ /**
49
+ * @tokens Catalog card
50
+ */
51
+ --catalog-card-min-height: 214px;
52
+ --catalog-card-text-color: var(--text-secondary);
53
+ --catalog-card-font-size: var(--font-size-base);
54
+ --catalog-card-font-weight: var(--font-weight-regular);
55
+ --catalog-card-background-color: var(--bg-raised);
56
+ --catalog-card-border-color: var(--border-secondary);
57
+ --catalog-card-border-width: var(--border-width);
58
+ --catalog-card-border-style: var(--border-style);
59
+ --catalog-card-hover-border-color: var(--border-primary);
60
+ --catalog-card-border-radius: var(--border-radius-lg);
61
+
62
+ /**
63
+ * @tokens Catalog card button
64
+ */
65
+ --catalog-card-icon-color: var(--text-secondary);
66
+ --catalog-card-icon-hover-color: var(--text-primary);
67
+ --catalog-card-button-hover-background: var(--bg-overlay);
68
+ --catalog-card-button-height: var(--spacing-xl);
69
+ --catalog-card-button-width: var(--spacing-xl);
70
+ --catalog-card-button-border-color: var(--border-secondary);
71
+ --catalog-cards-group-margin: 0 0 var(--spacing-base) 0;
72
+
73
+ /**
74
+ * @tokens Catalog card title
75
+ */
76
+ --catalog-card-title-color: var(--text-primary);
77
+ --catalog-card-title-min-height: calc(var(--spacing-unit) * 18);
78
+ --catalog-card-title-font-size: var(--font-size-lg);
79
+ --catalog-card-title-font-weight: var(--font-weight-bold);
80
+ --catalog-card-title-padding-vertical: var(--spacing-sm);
81
+ --catalog-card-title-padding-horizontal: var(--spacing-lg);
82
+
83
+ /**
84
+ * @tokens Catalog card description
85
+ */
86
+ --catalog-card-description-line-clamp: 3;
87
+ --catalog-card-description-margin-bottom: var(--spacing-base);
88
+ --catalog-card-content-background-color: var(--bg-base);
89
+ --catalog-card-content-border-radius: var(--border-radius-lg);
90
+ --catalog-card-content-padding: var(--spacing-base);
91
+
92
+ // @tokens End
93
+ `;
@@ -3,6 +3,7 @@ import { useLocation, useNavigate } from 'react-router-dom';
3
3
 
4
4
  import type { Location } from 'react-router-dom';
5
5
 
6
+ import { telemetry } from '@portal/telemetry';
6
7
  import type { ResolvedNavItem } from '@theme/types/portal';
7
8
  import type {
8
9
  CatalogItem,
@@ -45,6 +46,7 @@ export function useCatalog(items: ResolvedNavItem[], config: CatalogConfig): Fil
45
46
  }
46
47
  return [...prev.slice(0, filterIdx), newFilterOptions, ...prev.slice(filterIdx + 1)];
47
48
  });
49
+ telemetry.send('catalog_filter_changed', { type: 'toggle' });
48
50
  window.scrollTo(0, 0);
49
51
  }, []);
50
52
 
@@ -68,6 +70,7 @@ export function useCatalog(items: ResolvedNavItem[], config: CatalogConfig): Fil
68
70
  : f,
69
71
  );
70
72
  });
73
+ telemetry.send('catalog_filter_changed', { type: 'select' });
71
74
  window.scrollTo(0, 0);
72
75
  },
73
76
  [filtersWithOptions],
@@ -153,7 +156,16 @@ export function useCatalog(items: ResolvedNavItem[], config: CatalogConfig): Fil
153
156
  ? groupByFirstFilter(resolvedFilters, filteredItems)
154
157
  : [{ title: 'APIs', items: filteredItems }];
155
158
 
156
- return { groups, filters: resolvedFilters, setFilterTerm, filterTerm };
159
+ return {
160
+ groups,
161
+ filters: resolvedFilters,
162
+ setFilterTerm: (newTerm) => {
163
+ setFilterTerm(newTerm);
164
+
165
+ telemetry.send('catalog_filter_changed', { type: 'term' });
166
+ },
167
+ filterTerm,
168
+ };
157
169
  }, [
158
170
  filtersWithOptions,
159
171
  normalizedItems,
@@ -1,4 +1,4 @@
1
- import styled from 'styled-components';
1
+ import styled, { css } from 'styled-components';
2
2
 
3
3
  import { generateCodeBlockTokens } from '@theme/utils';
4
4
 
@@ -10,21 +10,29 @@ export const CodeBlockContainer = styled.pre.attrs<{ className?: string }>(({ cl
10
10
  overflow-x: auto;
11
11
  max-height: var(--code-block-max-height);
12
12
  font-family: var(--code-block-font-family);
13
- line-height: var(--code-line-height);
13
+ line-height: var(--code-block-line-height);
14
+ font-weight: var(--code-block-font-weight);
14
15
  padding: var(--code-block-padding);
15
16
  margin: var(--code-block-margin);
16
- border-radius: ${(withControls) =>
17
- withControls
18
- ? '0 0 var(--code-block-border-radius) var(--code-block-border-radius)'
19
- : 'var(--code-block-border-radius)'};
20
17
  background-color: var(--code-block-background-color);
21
18
  color: var(--code-block-text-color);
22
- font-size: var(--code-font-size);
19
+ font-size: var(--code-block-font-size);
23
20
  white-space: var(--code-wrap, pre);
24
21
  max-height: var(--code-block-max-height, 600px);
25
22
  word-break: var(--code-block-word-break, initial);
26
- border: none;
27
- }
23
+
24
+ ${(withControls) =>
25
+ withControls
26
+ ? css`
27
+ border-radius: 0 0 var(--code-block-border-radius) var(--code-block-border-radius);
28
+ border-left: 1px solid var(--code-block-border-color);
29
+ border-right: 1px solid var(--code-block-border-color);
30
+ border-bottom: 1px solid var(--code-block-border-color);
31
+ `
32
+ : css`
33
+ border-radius: var(--code-block-border-radius);
34
+ border: 1px solid var(--code-block-border-color);
35
+ `}
28
36
 
29
37
  /**
30
38
  * Based on prism-dark.css
@@ -1,26 +1,18 @@
1
1
  import styled, { css } from 'styled-components';
2
2
 
3
- export const CodeBlockControlButton = styled.button.attrs(() => ({
4
- 'data-component-name': 'CodeBlockControls/CodeBlockControlButton',
5
- }))<{ asIcon?: boolean }>`
6
- border: 0;
7
- outline: 0;
8
- border-radius: var(--border-radius);
9
- height: 20px;
10
- font-size: 12px;
11
- line-height: 12px;
12
- cursor: pointer;
13
- padding: 1px 6px;
14
- color: var(--panel-samples-controls-text-color);
3
+ import { Button } from '@theme/components/Button';
4
+
5
+ export const CodeBlockControlButton = styled(Button)<{ asIcon?: boolean }>`
6
+ color: var(--code-block-controls-text-color);
15
7
 
16
8
  ${({ asIcon }) =>
17
9
  asIcon
18
10
  ? css`
19
- background-color: var(--panel-samples-icon-controls-background-color);
11
+ background-color: var(--code-block-icon-controls-background-color);
20
12
  `
21
13
  : css`
22
14
  min-width: 90px;
23
- background-color: var(--panel-samples-text-controls-background-color);
15
+ background-color: var(--code-block-text-controls-background-color);
24
16
  `}
25
17
 
26
18
  ${({ theme }) => theme.mediaQueries?.small} {
@@ -30,9 +22,4 @@ export const CodeBlockControlButton = styled.button.attrs(() => ({
30
22
  :not(:first-child) {
31
23
  margin-left: 5px;
32
24
  }
33
-
34
- :hover,
35
- :focus {
36
- background-color: var(--panel-samples-controls-hover-background-color);
37
- }
38
25
  `;
@@ -4,6 +4,7 @@ import styled from 'styled-components';
4
4
  import { CodeBlockControlButton } from '@theme/components/CodeBlock';
5
5
  import { CollapseIcon, DeselectIcon, ExpandIcon, ReportIcon, SelectIcon } from '@theme/icons';
6
6
  import { useThemeConfig } from '@theme/hooks';
7
+ import { telemetry } from '@portal/telemetry';
7
8
 
8
9
  import { CopyButton } from '../CopyButton';
9
10
 
@@ -68,7 +69,10 @@ export function CodeBlockControls({
68
69
  toasterDuration={copy.toasterDuration}
69
70
  buttonText={copy.label}
70
71
  tooltipText={copy.tooltipText}
71
- onCopyClick={copy?.onClick}
72
+ onCopyClick={() => {
73
+ copy?.onClick;
74
+ telemetry.send('code_snippet_copied', {});
75
+ }}
72
76
  />
73
77
  ) : null}
74
78
 
@@ -139,6 +143,7 @@ export function CodeBlockControls({
139
143
  asIcon={controlsType === 'icon'}
140
144
  title={report.tooltipText}
141
145
  {...report.props}
146
+ onClick={() => telemetry.send('code_snippet_reported', {})}
142
147
  >
143
148
  {controlsType === 'icon' ? <ReportIcon /> : report.props?.buttonText || 'Report'}
144
149
  </CodeBlockControlButton>
@@ -157,21 +162,24 @@ export function CodeBlockControls({
157
162
  const ContainerWraper = styled.div`
158
163
  display: flex;
159
164
  justify-content: space-between;
160
- padding: 5px 10px;
161
165
  min-height: 30px;
162
- background-color: var(--panel-samples-controls-background-color);
163
- border-bottom: var(--panel-samples-controls-border);
164
- border-radius: var(--border-radius) var(--border-radius) 0 0;
166
+ padding: var(--code-block-controls-padding);
167
+ background-color: var(--code-block-controls-background-color);
168
+ border-top: var(--code-block-controls-border);
169
+ border-left: var(--code-block-controls-border);
170
+ border-right: var(--code-block-controls-border);
171
+ border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
165
172
  margin-top: 10px;
166
173
  `;
167
174
 
168
175
  const Title = styled.span`
169
176
  display: flex;
170
177
  align-items: center;
171
- color: var(--panel-samples-controls-text-color);
178
+ color: var(--code-block-controls-text-color);
172
179
  `;
173
180
 
174
181
  const ControlsWrapper = styled.div`
182
+ display: flex;
175
183
  opacity: 0.7;
176
184
  transition: opacity 0.3s ease;
177
185
  text-align: right;
@@ -2,3 +2,4 @@ export * from '@theme/components/CodeBlock/CodeBlock';
2
2
  export * from '@theme/components/CodeBlock/CodeBlockContainer';
3
3
  export * from '@theme/components/CodeBlock/CodeBlockControls';
4
4
  export * from '@theme/components/CodeBlock/CodeBlockControlButton';
5
+ export * from '@theme/components/CodeBlock/styledVariables';
@@ -0,0 +1,89 @@
1
+ import { css } from 'styled-components';
2
+
3
+ export const code = css`
4
+ /**
5
+ * @tokens Code base styles
6
+ */
7
+ --code-font-size: 13px; // @presenter FontSize
8
+ --code-font-family: var(--font-family-monospaced); // @presenter FontFamily
9
+ --code-font-weight: var(--font-weight-regular); // @presenter FontWeight
10
+ --code-line-height: var(--line-height-xsm); // @presenter LineHeight
11
+ --code-wrap: pre;
12
+ --code-word-break: break-word;
13
+
14
+ /**
15
+ * @tokens Inline Code
16
+ */
17
+ --inline-code-font-size: var(--code-font-size); // @presenter FontSize
18
+ --inline-code-font-family: var(--code-font-family); // @presenter FontFamily
19
+ --inline-code-font-weight: var(--code-font-weight); // @presenter FontWeight
20
+ --inline-code-line-height: var(--code-line-height); // @presenter LineHeight
21
+ --inline-code-text-color: var(--text-secondary); // @presenter Color
22
+ --inline-code-background-color: var(--bg-overlay); // @presenter Color
23
+ --inline-code-border-color: var(--border-primary); // @presenter Color
24
+ --inline-code-border-radius: var(--border-radius); // @presenter BorderRadius
25
+
26
+ /**
27
+ * @tokens Code Block
28
+ */
29
+ --code-block-font-size: var(--code-font-size); // @presenter FontSize
30
+ --code-block-font-family: var(--code-font-family); // @presenter FontFamily
31
+ --code-block-line-height: var(--code-line-height); // @presenter LineHeight
32
+ --code-block-font-weight: var(--code-font-weight); // @presenter FontWeight
33
+ --code-block-text-color: var(--text-secondary); // @presenter Color
34
+ --code-block-background-color: var(--bg-raised); // @presenter Color
35
+ --code-block-border-color: var(--border-primary); // @presenter Color
36
+ --code-block-border-radius: var(--border-radius-lg); // @presenter BorderRadius
37
+ --code-block-padding: calc(var(--spacing-unit) * 2);
38
+ --code-block-margin: 0;
39
+ --code-block-max-height: 50vh;
40
+ --code-block-word-break: initial;
41
+
42
+ /**
43
+ * @tokens Code Block controls
44
+ */
45
+
46
+ --code-block-controls-font-size: var(--font-size-base); // @presenter FontSize
47
+ --code-block-controls-font-family: var(--font-family-base); // @presenter FontFamily
48
+ --code-block-controls-text-color: var(--text-secondary); // @presenter Color
49
+ --code-block-controls-background-color: var(--bg-overlay); // @presenter Color
50
+ --code-block-controls-border: 1px solid var(--border-primary); // @presenter Border
51
+ --code-block-controls-padding: 0 5px; // @presenter Spacing
52
+ --code-block-icon-controls-background-color: var(--code-block-controls-background-color);
53
+ --code-block-text-controls-background-color: var(--code-block-controls-background-color);
54
+
55
+ /**
56
+ * @tokens Code Block tokens
57
+ */
58
+ --code-block-tokens-default-color: var(--text-secondary); // @presenter Color
59
+ --code-block-tokens-comment-color: var(--text-placeholder); // @presenter Color
60
+ --code-block-tokens-prolog-color: var(--code-block-tokens-comment-color); // @presenter Color
61
+ --code-block-tokens-doctype-color: var(--code-block-tokens-comment-color); // @presenter Color
62
+ --code-block-tokens-cdata-color: var(--code-block-tokens-comment-color); // @presenter Color
63
+ --code-block-tokens-property-color: var(--code-block-tokens-default-color); // @presenter Color
64
+ --code-block-tokens-tag-color: var(--code-block-tokens-default-color); // @presenter Color
65
+ --code-block-tokens-number-color: var(--code-block-tokens-default-color); // @presenter Color
66
+ --code-block-tokens-constant-color: var(--code-block-tokens-default-color); // @presenter Color
67
+ --code-block-tokens-symbol-color: var(--code-block-tokens-default-color); // @presenter Color
68
+ --code-block-tokens-boolean-color: var(--color-geekblue-7); // @presenter Color
69
+ --code-block-tokens-string-color: var(--color-green-6); // @presenter Color
70
+ --code-block-tokens-property-string-color: var(--text-secondary); // @presenter Color
71
+ --code-block-tokens-selector-color: var(--code-block-tokens-string-color); // @presenter Color
72
+ --code-block-tokens-attr-name-color: var(--code-block-tokens-string-color); // @presenter Color
73
+ --code-block-tokens-char-color: var(--code-block-tokens-string-color); // @presenter Color
74
+ --code-block-tokens-builtin-color: var(--code-block-tokens-string-color); // @presenter Color
75
+ --code-block-tokens-inserted-color: var(--code-block-tokens-string-color); // @presenter Color
76
+ --code-block-tokens-link-color: var(--color-blue-6); // @presenter Color
77
+ --code-block-tokens-operator-color: var(--color-gold-7); // @presenter Color
78
+ --code-block-tokens-entity-color: var(--code-block-tokens-operator-color); // @presenter Color
79
+ --code-block-tokens-url-color: var(--code-block-tokens-operator-color); // @presenter Color
80
+ --code-block-tokens-variable-color: var(--code-block-tokens-operator-color); // @presenter Color
81
+ --code-block-tokens-keyword-color: var(--color-magneta-6); // @presenter Color
82
+ --code-block-tokens-atrule-color: var(--code-block-tokens-keyword-color); // @presenter Color
83
+ --code-block-tokens-attr-value-color: var(--code-block-tokens-keyword-color); // @presenter Color
84
+ --code-block-tokens-regex-color: var(--color-gold-5); // @presenter Color
85
+ --code-block-tokens-important-color: var(--code-block-tokens-regex-color); // @presenter Color
86
+ --code-block-tokens-deleted-color: var(--color-red-6); // @presenter Color
87
+
88
+ // @tokens End
89
+ `;
@@ -3,6 +3,7 @@ import styled from 'styled-components';
3
3
 
4
4
  import { ColorModeIcon } from '@theme/icons/ColorModeIcon';
5
5
  import { useMount, useThemeConfig } from '@theme/hooks';
6
+ import { telemetry } from '@portal/telemetry';
6
7
 
7
8
  interface ColorModeSwitcherProps {
8
9
  className?: string;
@@ -34,6 +35,8 @@ export function ColorModeSwitcher(props: ColorModeSwitcherProps): JSX.Element |
34
35
  window.requestAnimationFrame(() => {
35
36
  document.documentElement.classList.remove('notransition');
36
37
  });
38
+
39
+ telemetry.send('color_mode_switched', { from: activeColorMode, to: mode });
37
40
  };
38
41
 
39
42
  return (
@@ -52,7 +55,6 @@ export function ColorModeSwitcher(props: ColorModeSwitcherProps): JSX.Element |
52
55
  }
53
56
 
54
57
  const Wrapper = styled.div<{ modes: string[] }>`
55
- margin-left: var(--navbar-item-padding-horizontal);
56
58
  display: flex;
57
59
  align-items: center;
58
60
  cursor: pointer;
@@ -5,13 +5,16 @@ import { ArrowIcon } from '@theme/icons';
5
5
  import { useOutsideClick } from '@theme/hooks';
6
6
 
7
7
  export interface DropdownProps {
8
- children: React.ReactNode;
8
+ children?: React.ReactNode;
9
9
  items: JSX.Element[] | string[];
10
10
  dataAttributes?: Record<string, string>;
11
11
  className?: string;
12
12
  withArrow?: boolean;
13
13
  triggerEvent?: 'click' | 'hover';
14
+ placement?: 'top' | 'bottom';
15
+ alignment?: 'start' | 'end';
14
16
  onChange?: (value: React.ReactNode | string) => void;
17
+ icon?: React.ReactNode;
15
18
  }
16
19
 
17
20
  export const Dropdown = ({
@@ -22,6 +25,9 @@ export const Dropdown = ({
22
25
  triggerEvent = 'click',
23
26
  onChange,
24
27
  dataAttributes,
28
+ placement,
29
+ alignment,
30
+ icon,
25
31
  }: DropdownProps) => {
26
32
  const dropdownRef = useRef<HTMLDivElement | null>(null);
27
33
 
@@ -58,10 +64,11 @@ export const Dropdown = ({
58
64
  >
59
65
  <DropdownHeader>
60
66
  {children}
67
+ {icon}
61
68
  {withArrow ? isOpen ? <ArrowIcon direction="up" /> : <ArrowIcon direction="down" /> : null}
62
69
  </DropdownHeader>
63
70
  {isOpen && (
64
- <DropdownList>
71
+ <DropdownList placement={placement} alignment={alignment}>
65
72
  {items.map((item, index) => (
66
73
  <DropdownListItem
67
74
  key={index}
@@ -99,10 +106,12 @@ export const DropdownHeader = styled.div`
99
106
  cursor: pointer;
100
107
  `;
101
108
 
102
- export const DropdownList = styled.ul`
109
+ export const DropdownList = styled.ul<{ placement?: string; alignment?: string }>`
103
110
  position: absolute;
104
- top: 100%;
105
- left: 0;
111
+ top: ${({ placement }) => (placement === 'top' ? 'auto' : '100%')};
112
+ bottom: ${({ placement }) => (placement === 'top' ? '100%' : 'auto')};
113
+ left: ${({ alignment }) => (alignment === 'start' ? '0' : 'auto')};
114
+ right: ${({ alignment }) => (alignment === 'end' ? '0' : 'auto')};
106
115
  margin: 0;
107
116
  min-width: var(--dropdown-list-min-width);
108
117
  max-width: var(--dropdown-list-max-width);
@@ -1 +1,2 @@
1
1
  export * from '@theme/components/Dropdown/Dropdown';
2
+ export * from '@theme/components/Dropdown/styledVariables';