@redocly/theme 0.18.2 → 0.18.3-patch.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 (369) 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.js +2 -1
  8. package/lib/components/Breadcrumbs/Breadcrumbs.js +1 -1
  9. package/lib/components/Breadcrumbs/index.d.ts +1 -0
  10. package/lib/components/Breadcrumbs/index.js +1 -0
  11. package/lib/components/Breadcrumbs/styledVariables.d.ts +1 -0
  12. package/lib/components/Breadcrumbs/styledVariables.js +19 -0
  13. package/lib/components/Button/Button.d.ts +6 -3
  14. package/lib/components/Button/Button.js +40 -42
  15. package/lib/components/Button/index.d.ts +1 -0
  16. package/lib/components/Button/index.js +1 -0
  17. package/lib/components/Button/styledVariables.d.ts +1 -0
  18. package/lib/components/Button/styledVariables.js +94 -0
  19. package/lib/components/Catalog/Catalog.d.ts +1 -0
  20. package/lib/components/Catalog/Catalog.js +99 -96
  21. package/lib/components/Catalog/CatalogCard.js +61 -56
  22. package/lib/components/Catalog/index.d.ts +4 -3
  23. package/lib/components/Catalog/index.js +4 -3
  24. package/lib/components/Catalog/styledVariables.d.ts +1 -0
  25. package/lib/components/Catalog/styledVariables.js +94 -0
  26. package/lib/components/CodeBlock/CodeBlockContainer.js +35 -8
  27. package/lib/components/CodeBlock/CodeBlockControlButton.d.ts +3 -4
  28. package/lib/components/CodeBlock/CodeBlockControlButton.js +5 -19
  29. package/lib/components/CodeBlock/CodeBlockControls.js +8 -5
  30. package/lib/components/CodeBlock/index.d.ts +1 -0
  31. package/lib/components/CodeBlock/index.js +1 -0
  32. package/lib/components/CodeBlock/styledVariables.d.ts +1 -0
  33. package/lib/components/CodeBlock/styledVariables.js +90 -0
  34. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +0 -1
  35. package/lib/components/Dropdown/Dropdown.d.ts +7 -2
  36. package/lib/components/Dropdown/Dropdown.js +6 -4
  37. package/lib/components/Dropdown/index.d.ts +1 -0
  38. package/lib/components/Dropdown/index.js +1 -0
  39. package/lib/components/Dropdown/styledVariables.d.ts +1 -0
  40. package/lib/components/Dropdown/styledVariables.js +30 -0
  41. package/lib/components/Feedback/Reasons.js +1 -1
  42. package/lib/components/Feedback/Thumbs.js +4 -4
  43. package/lib/components/Filter/Filter.js +101 -78
  44. package/lib/components/Filter/FilterContent.d.ts +11 -0
  45. package/lib/components/Filter/FilterContent.js +50 -0
  46. package/lib/components/Filter/FilterPopover.d.ts +11 -0
  47. package/lib/components/Filter/FilterPopover.js +99 -0
  48. package/lib/components/Filter/FilterTag.d.ts +7 -0
  49. package/lib/components/Filter/FilterTag.js +33 -0
  50. package/lib/components/Filter/FilterTags.d.ts +7 -0
  51. package/lib/components/Filter/FilterTags.js +29 -0
  52. package/lib/components/Filter/index.d.ts +2 -0
  53. package/lib/components/Filter/index.js +2 -0
  54. package/lib/components/Filter/styledVariables.d.ts +1 -0
  55. package/lib/components/Filter/styledVariables.js +112 -0
  56. package/lib/components/Footer/CustomFooterNavItem.js +1 -1
  57. package/lib/components/Footer/Footer.d.ts +4 -3
  58. package/lib/components/Footer/Footer.js +27 -10
  59. package/lib/components/Footer/FooterColumn.d.ts +3 -3
  60. package/lib/components/Footer/FooterColumn.js +53 -63
  61. package/lib/components/Footer/FooterColumns.js +6 -4
  62. package/lib/components/Footer/FooterCopyright.js +11 -6
  63. package/lib/components/Footer/index.d.ts +1 -0
  64. package/lib/components/Footer/index.js +1 -0
  65. package/lib/components/Footer/styledVariables.d.ts +1 -0
  66. package/lib/components/Footer/styledVariables.js +61 -0
  67. package/lib/components/Image/Image.d.ts +9 -0
  68. package/lib/components/Image/Image.js +31 -0
  69. package/lib/components/Image/index.d.ts +1 -0
  70. package/lib/components/{Tags → Image}/index.js +1 -1
  71. package/lib/components/JsonViewer/JsonViewer.js +2 -2
  72. package/lib/components/Markdown/MarkdownWrapper.js +2 -4
  73. package/lib/components/Markdown/Mermaid.js +1 -1
  74. package/lib/components/Markdown/index.d.ts +1 -0
  75. package/lib/components/Markdown/index.js +1 -0
  76. package/lib/components/Markdown/styledVariables.d.ts +2 -0
  77. package/lib/components/Markdown/styledVariables.js +221 -0
  78. package/lib/components/Menu/Menu.js +5 -7
  79. package/lib/components/Menu/MenuGroup.js +12 -7
  80. package/lib/components/Menu/MenuItemLabel.js +7 -13
  81. package/lib/components/Menu/MobileMenu.js +20 -25
  82. package/lib/components/Menu/MobileMenuGroup.js +1 -1
  83. package/lib/components/Menu/index.d.ts +1 -0
  84. package/lib/components/Menu/index.js +1 -0
  85. package/lib/components/Menu/styledVariables.d.ts +2 -0
  86. package/lib/components/Menu/styledVariables.js +90 -0
  87. package/lib/components/Navbar/Navbar.js +10 -11
  88. package/lib/components/Navbar/NavbarItem.d.ts +1 -1
  89. package/lib/components/Navbar/NavbarItem.js +5 -3
  90. package/lib/components/Navbar/NavbarMenu.js +2 -2
  91. package/lib/components/Navbar/index.d.ts +1 -0
  92. package/lib/components/Navbar/index.js +1 -0
  93. package/lib/components/Navbar/styledVariables.d.ts +1 -0
  94. package/lib/components/Navbar/styledVariables.js +40 -0
  95. package/lib/components/NavbarLogo/NavbarLogo.d.ts +4 -1
  96. package/lib/components/NavbarLogo/NavbarLogo.js +13 -5
  97. package/lib/components/OpenApiDocs/DevOnboardingTryItSecurity.js +2 -2
  98. package/lib/components/OpenApiDocs/Dropdown.js +3 -3
  99. package/lib/components/Panel/PanelHeader.js +1 -0
  100. package/lib/components/Panel/PanelHeaderTitle.js +0 -4
  101. package/lib/components/Panel/index.d.ts +1 -0
  102. package/lib/components/Panel/index.js +1 -0
  103. package/lib/components/Panel/styledVariables.d.ts +2 -0
  104. package/lib/components/Panel/styledVariables.js +489 -0
  105. package/lib/components/Product/index.d.ts +1 -0
  106. package/lib/components/Product/index.js +1 -0
  107. package/lib/components/Product/styledVariables.d.ts +2 -0
  108. package/lib/components/Product/styledVariables.js +41 -0
  109. package/lib/components/Profile/LoginLink.js +1 -2
  110. package/lib/components/{Navbar → Profile}/MobileUserProfile.js +3 -22
  111. package/lib/components/Profile/Profile.js +3 -22
  112. package/lib/components/Profile/UserProfile.js +21 -9
  113. package/lib/components/Profile/UserProfileData.d.ts +9 -0
  114. package/lib/components/Profile/UserProfileData.js +35 -0
  115. package/lib/components/Profile/index.d.ts +1 -0
  116. package/lib/components/Profile/index.js +15 -0
  117. package/lib/components/Profile/styledVariables.d.ts +2 -0
  118. package/lib/components/Profile/styledVariables.js +55 -0
  119. package/lib/components/Search/CancelSearch.js +2 -14
  120. package/lib/components/Search/ProductTag.js +7 -7
  121. package/lib/components/Search/RecentSearches.js +5 -5
  122. package/lib/components/Search/Search.js +0 -2
  123. package/lib/components/Search/SearchIcon.js +2 -2
  124. package/lib/components/Search/SearchItem.js +14 -17
  125. package/lib/components/Search/SearchTrigger.js +4 -5
  126. package/lib/components/Search/ShortcutKey.js +1 -5
  127. package/lib/components/Search/SuggestedPages.js +3 -3
  128. package/lib/components/Search/index.d.ts +1 -0
  129. package/lib/components/Search/index.js +1 -0
  130. package/lib/components/Search/styledVariables.d.ts +1 -0
  131. package/lib/components/Search/styledVariables.js +98 -0
  132. package/lib/components/Select/Select.d.ts +10 -3
  133. package/lib/components/Select/Select.js +9 -6
  134. package/lib/components/Select/index.d.ts +1 -0
  135. package/lib/components/Select/index.js +1 -0
  136. package/lib/components/Select/styledVariables.d.ts +1 -0
  137. package/lib/components/Select/styledVariables.js +33 -0
  138. package/lib/components/Separator/SeparatorItem.js +7 -5
  139. package/lib/components/Sidebar/ApiCallItem.d.ts +2 -6
  140. package/lib/components/Sidebar/ApiCallItem.js +13 -11
  141. package/lib/components/Sidebar/FooterWrapper.js +3 -4
  142. package/lib/components/Sidebar/HeaderWrapper.js +2 -2
  143. package/lib/components/Sidebar/VersionPicker.d.ts +1 -1
  144. package/lib/components/Sidebar/index.d.ts +1 -0
  145. package/lib/components/Sidebar/index.js +1 -0
  146. package/lib/components/Sidebar/styledVariables.d.ts +2 -0
  147. package/lib/components/Sidebar/styledVariables.js +210 -0
  148. package/lib/components/SidebarActions/CollapseSidebarButton.js +37 -1
  149. package/lib/components/SidebarActions/styled.js +16 -14
  150. package/lib/components/TableOfContent/TableOfContent.js +2 -3
  151. package/lib/components/TableOfContent/index.d.ts +1 -0
  152. package/lib/components/TableOfContent/index.js +1 -0
  153. package/lib/components/TableOfContent/styledVariables.d.ts +1 -0
  154. package/lib/components/TableOfContent/styledVariables.js +46 -0
  155. package/lib/components/Tabs/Tab.js +1 -1
  156. package/lib/components/Tabs/Tabs.js +1 -1
  157. package/lib/components/Tag/Tag.d.ts +16 -0
  158. package/lib/components/Tag/Tag.js +39 -0
  159. package/lib/components/Tag/index.d.ts +2 -0
  160. package/lib/components/Tag/index.js +19 -0
  161. package/lib/components/Tag/styledVariables.d.ts +1 -0
  162. package/lib/components/Tag/styledVariables.js +130 -0
  163. package/lib/components/Tiles/TileText.js +1 -1
  164. package/lib/components/Tooltip/index.d.ts +1 -0
  165. package/lib/components/Tooltip/index.js +1 -0
  166. package/lib/components/Tooltip/styledVariables.d.ts +1 -0
  167. package/lib/components/Tooltip/styledVariables.js +21 -0
  168. package/lib/components/Typography/Typography.js +1 -1
  169. package/lib/components/index.d.ts +1 -2
  170. package/lib/components/index.js +1 -2
  171. package/lib/config.d.ts +8 -2
  172. package/lib/config.js +2 -1
  173. package/lib/globalStyle.js +597 -1967
  174. package/lib/icons/ArrowIcon/ArrowIcon.js +1 -1
  175. package/lib/icons/CheckboxIcon/CheckboxIcon.d.ts +6 -0
  176. package/lib/icons/CheckboxIcon/CheckboxIcon.js +28 -0
  177. package/lib/icons/CheckboxIcon/index.d.ts +1 -0
  178. package/lib/icons/CheckboxIcon/index.js +6 -0
  179. package/lib/icons/CollapseIcon/CollapseIcon.d.ts +1 -1
  180. package/lib/icons/CollapseIcon/CollapseIcon.js +5 -5
  181. package/lib/icons/ColorModeIcon/ColorModeIcon.js +1 -1
  182. package/lib/icons/CopyIcon/CopyIcon.d.ts +1 -2
  183. package/lib/icons/CopyIcon/CopyIcon.js +4 -4
  184. package/lib/icons/DeselectIcon/DeselectIcon.d.ts +1 -1
  185. package/lib/icons/DeselectIcon/DeselectIcon.js +5 -5
  186. package/lib/icons/ErrorIcon/ErrorIcon.d.ts +4 -0
  187. package/lib/icons/ErrorIcon/ErrorIcon.js +14 -0
  188. package/lib/icons/ErrorIcon/index.d.ts +1 -0
  189. package/lib/{components/OperationBadge → icons/ErrorIcon}/index.js +1 -1
  190. package/lib/icons/ExpandIcon/ExpandIcon.d.ts +1 -2
  191. package/lib/icons/ExpandIcon/ExpandIcon.js +5 -5
  192. package/lib/icons/FileIcon/FileIcon.d.ts +1 -2
  193. package/lib/icons/FileIcon/FileIcon.js +2 -2
  194. package/lib/icons/LanguageIcon/LanguageIcon.d.ts +4 -0
  195. package/lib/icons/LanguageIcon/LanguageIcon.js +14 -0
  196. package/lib/icons/LanguageIcon/index.d.ts +1 -0
  197. package/lib/icons/LanguageIcon/index.js +18 -0
  198. package/lib/icons/PlusIcon/PlusIcon.d.ts +5 -0
  199. package/lib/icons/PlusIcon/PlusIcon.js +16 -0
  200. package/lib/icons/PlusIcon/index.d.ts +1 -0
  201. package/lib/icons/PlusIcon/index.js +18 -0
  202. package/lib/icons/PointingArrowIcon/PointingArrowIcon.d.ts +4 -0
  203. package/lib/icons/PointingArrowIcon/PointingArrowIcon.js +15 -0
  204. package/lib/icons/PointingArrowIcon/index.d.ts +1 -0
  205. package/lib/icons/PointingArrowIcon/index.js +18 -0
  206. package/lib/icons/ReportIcon/ReportIcon.d.ts +1 -2
  207. package/lib/icons/ReportIcon/ReportIcon.js +3 -3
  208. package/lib/icons/SelectIcon/SelectIcon.d.ts +1 -2
  209. package/lib/icons/SelectIcon/SelectIcon.js +5 -5
  210. package/lib/icons/index.d.ts +4 -0
  211. package/lib/icons/index.js +4 -0
  212. package/lib/layouts/Forbidden.js +4 -0
  213. package/lib/layouts/NotFound.js +4 -0
  214. package/lib/types/portal/src/shared/types/nav.d.ts +5 -0
  215. package/lib/ui/Burger.js +1 -1
  216. package/lib/ui/Dropdown.js +7 -7
  217. package/lib/ui/Jumbotron.js +1 -1
  218. package/lib/ui/darkColors.js +216 -84
  219. package/package.json +1 -1
  220. package/src/I18n/LanguagePicker.tsx +29 -4
  221. package/src/I18n/index.ts +1 -0
  222. package/src/I18n/styledVariables.ts +36 -0
  223. package/src/components/Breadcrumbs/Breadcrumb.tsx +2 -1
  224. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  225. package/src/components/Breadcrumbs/index.ts +1 -0
  226. package/src/components/Breadcrumbs/styledVariables.ts +16 -0
  227. package/src/components/Button/Button.tsx +52 -48
  228. package/src/components/Button/index.ts +1 -0
  229. package/src/components/Button/styledVariables.ts +91 -0
  230. package/src/components/Catalog/Catalog.tsx +127 -115
  231. package/src/components/Catalog/CatalogCard.tsx +74 -59
  232. package/src/components/Catalog/index.ts +4 -0
  233. package/src/components/Catalog/styledVariables.ts +91 -0
  234. package/src/components/CodeBlock/CodeBlockContainer.tsx +14 -7
  235. package/src/components/CodeBlock/CodeBlockControlButton.tsx +6 -19
  236. package/src/components/CodeBlock/CodeBlockControls.tsx +8 -5
  237. package/src/components/CodeBlock/index.ts +1 -0
  238. package/src/components/CodeBlock/styledVariables.ts +87 -0
  239. package/src/components/ColorModeSwitcher/ColorModeSwitcher.tsx +0 -1
  240. package/src/components/Dropdown/Dropdown.tsx +10 -4
  241. package/src/components/Dropdown/index.ts +1 -0
  242. package/src/components/Dropdown/styledVariables.ts +27 -0
  243. package/src/components/Feedback/Reasons.tsx +1 -1
  244. package/src/components/Feedback/Thumbs.tsx +4 -4
  245. package/src/components/Filter/Filter.tsx +127 -94
  246. package/src/components/Filter/FilterContent.tsx +75 -0
  247. package/src/components/Filter/FilterPopover.tsx +132 -0
  248. package/src/components/Filter/FilterTag.tsx +37 -0
  249. package/src/components/Filter/FilterTags.tsx +39 -0
  250. package/src/components/Filter/index.ts +2 -0
  251. package/src/components/Filter/styledVariables.ts +109 -0
  252. package/src/components/Footer/CustomFooterNavItem.tsx +1 -1
  253. package/src/components/Footer/Footer.tsx +32 -10
  254. package/src/components/Footer/FooterColumn.tsx +79 -62
  255. package/src/components/Footer/FooterColumns.tsx +6 -4
  256. package/src/components/Footer/FooterCopyright.tsx +13 -7
  257. package/src/components/Footer/index.ts +1 -0
  258. package/src/components/Footer/styledVariables.ts +58 -0
  259. package/src/components/Image/Image.tsx +47 -0
  260. package/src/components/Image/index.ts +1 -0
  261. package/src/components/JsonViewer/JsonViewer.tsx +2 -2
  262. package/src/components/Markdown/MarkdownWrapper.tsx +2 -4
  263. package/src/components/Markdown/Mermaid.tsx +1 -1
  264. package/src/components/Markdown/index.ts +1 -0
  265. package/src/components/Markdown/styledVariables.ts +219 -0
  266. package/src/components/Menu/Menu.tsx +5 -7
  267. package/src/components/Menu/MenuGroup.tsx +15 -7
  268. package/src/components/Menu/MenuItemLabel.tsx +7 -13
  269. package/src/components/Menu/MobileMenu.tsx +20 -25
  270. package/src/components/Menu/MobileMenuGroup.tsx +1 -1
  271. package/src/components/Menu/index.ts +1 -0
  272. package/src/components/Menu/styledVariables.ts +88 -0
  273. package/src/components/Navbar/Navbar.tsx +10 -11
  274. package/src/components/Navbar/NavbarItem.tsx +6 -3
  275. package/src/components/Navbar/NavbarMenu.tsx +2 -2
  276. package/src/components/Navbar/index.ts +1 -0
  277. package/src/components/Navbar/styledVariables.ts +37 -0
  278. package/src/components/NavbarLogo/NavbarLogo.tsx +14 -10
  279. package/src/components/OpenApiDocs/DevOnboardingTryItSecurity.tsx +1 -2
  280. package/src/components/OpenApiDocs/Dropdown.tsx +3 -3
  281. package/src/components/Panel/PanelHeader.ts +1 -0
  282. package/src/components/Panel/PanelHeaderTitle.ts +0 -4
  283. package/src/components/Panel/index.ts +1 -0
  284. package/src/components/Panel/styledVariables.ts +487 -0
  285. package/src/components/Product/index.ts +1 -0
  286. package/src/components/Product/styledVariables.ts +39 -0
  287. package/src/components/Profile/LoginLink.tsx +1 -2
  288. package/src/components/{Navbar → Profile}/MobileUserProfile.tsx +3 -27
  289. package/src/components/Profile/Profile.tsx +1 -24
  290. package/src/components/Profile/UserProfile.tsx +20 -8
  291. package/src/components/Profile/UserProfileData.tsx +40 -0
  292. package/src/components/Profile/index.ts +1 -0
  293. package/src/components/Profile/styledVariables.ts +53 -0
  294. package/src/components/Search/CancelSearch.tsx +2 -15
  295. package/src/components/Search/ProductTag.tsx +7 -7
  296. package/src/components/Search/RecentSearches.tsx +5 -5
  297. package/src/components/Search/Search.tsx +0 -2
  298. package/src/components/Search/SearchIcon.tsx +10 -5
  299. package/src/components/Search/SearchItem.tsx +26 -31
  300. package/src/components/Search/SearchTrigger.tsx +4 -5
  301. package/src/components/Search/ShortcutKey.tsx +1 -5
  302. package/src/components/Search/SuggestedPages.tsx +3 -3
  303. package/src/components/Search/index.ts +1 -0
  304. package/src/components/Search/styledVariables.ts +95 -0
  305. package/src/components/Select/Select.tsx +20 -7
  306. package/src/components/Select/index.ts +1 -0
  307. package/src/components/Select/styledVariables.ts +30 -0
  308. package/src/components/Separator/SeparatorItem.tsx +7 -5
  309. package/src/components/Sidebar/ApiCallItem.tsx +13 -11
  310. package/src/components/Sidebar/FooterWrapper.tsx +3 -4
  311. package/src/components/Sidebar/HeaderWrapper.tsx +2 -2
  312. package/src/components/Sidebar/index.ts +1 -0
  313. package/src/components/Sidebar/styledVariables.ts +208 -0
  314. package/src/components/SidebarActions/CollapseSidebarButton.tsx +18 -2
  315. package/src/components/SidebarActions/styled.tsx +16 -23
  316. package/src/components/TableOfContent/TableOfContent.tsx +2 -3
  317. package/src/components/TableOfContent/index.ts +1 -0
  318. package/src/components/TableOfContent/styledVariables.ts +43 -0
  319. package/src/components/Tabs/Tab.tsx +1 -1
  320. package/src/components/Tabs/Tabs.tsx +1 -1
  321. package/src/components/Tag/Tag.tsx +62 -0
  322. package/src/components/Tag/index.ts +2 -0
  323. package/src/components/Tag/styledVariables.ts +127 -0
  324. package/src/components/Tiles/TileText.tsx +1 -1
  325. package/src/components/Tooltip/index.ts +1 -0
  326. package/src/components/Tooltip/styledVariables.ts +18 -0
  327. package/src/components/Typography/Typography.ts +1 -1
  328. package/src/components/index.ts +1 -2
  329. package/src/config.ts +2 -1
  330. package/src/globalStyle.ts +591 -1979
  331. package/src/icons/ArrowIcon/ArrowIcon.tsx +1 -1
  332. package/src/icons/CheckboxIcon/CheckboxIcon.tsx +64 -0
  333. package/src/icons/CheckboxIcon/index.ts +1 -0
  334. package/src/icons/CollapseIcon/CollapseIcon.tsx +5 -5
  335. package/src/icons/ColorModeIcon/ColorModeIcon.tsx +1 -1
  336. package/src/icons/CopyIcon/CopyIcon.tsx +4 -5
  337. package/src/icons/DeselectIcon/DeselectIcon.tsx +5 -5
  338. package/src/icons/ErrorIcon/ErrorIcon.tsx +15 -0
  339. package/src/icons/ErrorIcon/index.ts +1 -0
  340. package/src/icons/ExpandIcon/ExpandIcon.tsx +5 -6
  341. package/src/icons/FileIcon/FileIcon.tsx +2 -3
  342. package/src/icons/LanguageIcon/LanguageIcon.tsx +15 -0
  343. package/src/icons/LanguageIcon/index.ts +1 -0
  344. package/src/icons/PlusIcon/PlusIcon.tsx +19 -0
  345. package/src/icons/PlusIcon/index.ts +1 -0
  346. package/src/icons/PointingArrowIcon/PointingArrowIcon.tsx +16 -0
  347. package/src/icons/PointingArrowIcon/index.ts +1 -0
  348. package/src/icons/ReportIcon/ReportIcon.tsx +3 -4
  349. package/src/icons/SelectIcon/SelectIcon.tsx +5 -6
  350. package/src/icons/index.ts +4 -0
  351. package/src/layouts/Forbidden.tsx +4 -0
  352. package/src/layouts/NotFound.tsx +4 -0
  353. package/src/types/portal/src/shared/types/nav.ts +5 -0
  354. package/src/ui/Burger.tsx +1 -1
  355. package/src/ui/Dropdown.tsx +7 -7
  356. package/src/ui/Jumbotron.tsx +1 -1
  357. package/src/ui/darkColors.tsx +216 -84
  358. package/lib/components/OperationBadge/OperationBadge.d.ts +0 -6
  359. package/lib/components/OperationBadge/OperationBadge.js +0 -68
  360. package/lib/components/OperationBadge/index.d.ts +0 -1
  361. package/lib/components/Tags/Tags.d.ts +0 -5
  362. package/lib/components/Tags/Tags.js +0 -32
  363. package/lib/components/Tags/index.d.ts +0 -1
  364. package/src/components/Catalog/index.tsx +0 -3
  365. package/src/components/OperationBadge/OperationBadge.ts +0 -62
  366. package/src/components/OperationBadge/index.ts +0 -1
  367. package/src/components/Tags/Tags.tsx +0 -36
  368. package/src/components/Tags/index.ts +0 -1
  369. /package/lib/components/{Navbar → Profile}/MobileUserProfile.d.ts +0 -0
@@ -19,7 +19,7 @@ exports.Jumbotron = (0, styled_components_1.default)(Background_1.Background).at
19
19
  ${({ bgColor }) => bgColor && `background: ${bgColor}`};
20
20
  ${({ bgImage, bgColor }) => bgImage &&
21
21
  `
22
- background: ${bgColor || 'var(--text-color)'} url(${bgImage});
22
+ background: ${bgColor || 'var(--text-base)'} url(${bgImage});
23
23
  background-repeat: no-repeat;
24
24
  background-size: cover;
25
25
  background-position: center;
@@ -3,90 +3,222 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.darkMode = void 0;
4
4
  const styled_components_1 = require("styled-components");
5
5
  exports.darkMode = (0, styled_components_1.css) `
6
+ /* === Dark Theme Colors === */
7
+
6
8
  /**
7
- * @tokens Dark Colors
8
- * @presenter Color
9
- */
10
- --background-color: #141414;
11
- --footer-background-color: #1f1f1f;
12
- --navbar-background-color: #1f1f1f;
13
- --mobile-menu-background: #141414;
14
- --mobile-menu-profile-background: var(--mobile-menu-background);
15
- --mobile-menu-login-button-background: var(--mobile-menu-profile-background);
16
- --mobile-menu-item-text-color: rgba(255, 255, 255, 0.6);
17
- --mobile-menu-item-active-color: #1f1f1f;
18
- --mobile-menu-item-active-text-color: rgba(255, 255, 255, 0.85);
19
- --mobile-menu-control-button-color: #ffffff;
20
- --mobile-menu-profile-border-color: #222222;
21
- --color-primary-500: #57a5fd;
22
- --color-primary-300: #15396e;
23
- --color-secondary-300: #22262e;
24
- --colors-translucent: rgb(50 63 75 / 40%);
25
- --inline-code-text-color: #f76663;
26
- --color-emphasis-400: #fff;
27
- --link-hover-text-color: #57a5fd;
28
- --link-text-color: #57a5fd;
29
- --code-block-background-color: #1e2633;
30
- --admonition-attention-background-color: var(--color-primary-300);
31
- --admonition-attention-icon-color: var(--color-emphasis-700);
32
- --admonition-warning-background-color: #614b17;
33
- --admonition-warning-icon-color: #4c3b12;
34
- --admonition-success-background-color: #267e74;
35
- --admonition-success-icon-color: #38b9a5;
36
- --admonition-danger-background-color: #d6524c;
37
- --admonition-danger-icon-color: #d13e37;
38
- --admonition-info-background-color: #696969;
39
- --admonition-info-icon-color: #505050;
40
- --inline-code-background-color: #1e2633;
41
- --toc-item-active-background-color: #1e2633;
42
- --sidebar-item-active-background-color: #1e2633;
43
- --panel-response-success-heading-background-color: #38b9a5;
44
- --panel-response-success-border-color: #38b9a5;
45
- --panel-response-error-heading-background-color: #d6524c;
46
- --panel-response-error-border-color: #d6524c;
47
- --panel-samples-heading-background-color: #1e2633;
48
- --panel-samples-body-background-color: #263041;
49
- --panel-samples-tabs-hover-background-color: #1e2633;
50
- --panel-samples-tabs-hover-border-color: #3f4f68;
51
- --panel-try-it-action-button-hover-border-color: #2b4cc4;
52
- --panel-try-it-action-button-hover-background-color: #2b4cc4;
53
- --panel-try-it-action-button-background-color: #0065fb;
54
- --button-background-color: #0065fb;
55
- --button-border-color: #0065fb;
56
- --button-hover-background-color: #2b4cc4;
57
- --button-hover-border-color: #2b4cc4;
58
- --search-input-background-color: #1b2738;
59
- --search-popover-background-color: #1b2738;
60
- --search-highlight-text-color: #ffff03;
61
- --search-item-text-color: #ffffffcf;
62
- --search-item-title-text-color: #ffffff;
63
- --search-item-active-text-color: var(--text-color);
64
- --search-item-active-title-text-color: var(--text-color);
65
- --search-item-active-background-color: #1b2738;
66
- --panel-try-it-nested-body-background-color: #263041;
67
- --panel-try-it-tabs-active-background-color: #11151d;
68
- --panel-try-it-tabs-hover-background-color: #141a26;
69
- --color-emphasis-100: #16202e;
70
- --color-secondary-400: #696969;
71
- --color-emphasis-700: #fff;
72
- --color-emphasis-800: #fff;
73
- --copy-button-tooltip-text-color: #fff;
74
- --copy-button-tooltip-background-color: var(--tooltip-background-color);
75
- --tooltip-text-color: #fff;
76
- --md-table-head-background-color: var(--color-secondary-300);
77
- --md-tabs-hover-tab-border-color: var(--color-secondary-500);
78
- --thin-tile-background-color: #1d242d;
79
- --wide-tile-background-color: #1d242d;
80
- --page-404-header-text-color: #fff;
81
- --page-404-description-text-color: #fff;
82
- --page-403-header-text-color: #fff;
83
- --page-403-description-text-color: #fff;
84
- --checkbox-backround-color: var(--color-secondary-900);
85
- --checkbox-checked-backround-color: var(--color-primary-400);
86
- --select-list-item-active-background-color: #282828;
87
- --dropdown-list-item-active-background-color: #282828;
88
-
89
- background-color: var(--background-color);
90
- color: var(--text-color);
9
+ * @tokens Dark Base Colors
10
+ * @presenter Color
11
+ */
12
+
13
+ --color-red-1: #2c161c;
14
+ --color-red-2: #451d25;
15
+ --color-red-3: #5b252f;
16
+ --color-red-4: #7e2e3c;
17
+ --color-red-5: #a61d24;
18
+ --color-red-6: #d32029;
19
+ --color-red-7: #e84749;
20
+ --color-red-8: #f37370;
21
+ --color-red-9: #f89f9a;
22
+ --color-red-10: #fac8c3;
23
+
24
+ --color-green-1: #162312;
25
+ --color-green-2: #1d3712;
26
+ --color-green-3: #274916;
27
+ --color-green-4: #306317;
28
+ --color-green-5: #3c8618;
29
+ --color-green-6: #49aa19;
30
+ --color-green-7: #6abe39;
31
+ --color-green-8: #8fd460;
32
+ --color-green-9: #b2e58b;
33
+ --color-green-10: #d5f2bb;
34
+
35
+ --color-gold-1: #2b2111;
36
+ --color-gold-2: #443111;
37
+ --color-gold-3: #594214;
38
+ --color-gold-4: #7c5914;
39
+ --color-gold-5: #aa7714;
40
+ --color-gold-6: #d89614;
41
+ --color-gold-7: #e8b339;
42
+ --color-gold-8: #f3cc62;
43
+ --color-gold-9: #f8df8b;
44
+ --color-gold-10: #faedb5;
45
+
46
+ --color-blue-1: #111a2c;
47
+ --color-blue-2: #112545;
48
+ --color-blue-3: #15325b;
49
+ --color-blue-4: #15417e;
50
+ --color-blue-5: #1554ad;
51
+ --color-blue-6: #1668dc;
52
+ --color-blue-7: #3c89e8;
53
+ --color-blue-8: #65a9f3;
54
+ --color-blue-9: #8dc5f8;
55
+ --color-blue-10: #b7dcfa;
56
+
57
+ --color-purple-1: #1a1325;
58
+ --color-purple-2: #24163a;
59
+ --color-purple-3: #301c4d;
60
+ --color-purple-4: #3e2069;
61
+ --color-purple-5: #51258f;
62
+ --color-purple-6: #642ab5;
63
+ --color-purple-7: #854eca;
64
+ --color-purple-8: #ab7ae0;
65
+ --color-purple-9: #cda8f0;
66
+ --color-purple-10: #ebd7fa;
67
+
68
+ --color-magneta-1: #291321;
69
+ --color-magneta-2: #40162f;
70
+ --color-magneta-3: #551c3b;
71
+ --color-magneta-4: #75204f;
72
+ --color-magneta-5: #a02669;
73
+ --color-magneta-6: #cb2b83;
74
+ --color-magneta-7: #e0529c;
75
+ --color-magneta-8: #f37fb7;
76
+ --color-magneta-9: #f8a8cc;
77
+ --color-magneta-10: #fad2e3;
78
+
79
+ --color-cyan-1: #112123;
80
+ --color-cyan-2: #113536;
81
+ --color-cyan-3: #144848;
82
+ --color-cyan-4: #146262;
83
+ --color-cyan-5: #138585;
84
+ --color-cyan-6: #13a8a8;
85
+ --color-cyan-7: #33bcb7;
86
+ --color-cyan-8: #58d1c9;
87
+ --color-cyan-9: #84e2d8;
88
+ --color-cyan-10: #b2f1e8;
89
+
90
+ --color-yellow-1: #2b2611;
91
+ --color-yellow-2: #443b11;
92
+ --color-yellow-3: #595014;
93
+ --color-yellow-4: #7c6e14;
94
+ --color-yellow-5: #aa9514;
95
+ --color-yellow-6: #d8bd14;
96
+ --color-yellow-7: #e8d639;
97
+ --color-yellow-8: #f3ea62;
98
+ --color-yellow-9: #f8f48b;
99
+ --color-yellow-10: #fafab5;
100
+
101
+ --color-lime-1: #1f2611;
102
+ --color-lime-2: #2e3c10;
103
+ --color-lime-3: #3e4f13;
104
+ --color-lime-4: #536d13;
105
+ --color-lime-5: #6f9412;
106
+ --color-lime-6: #8bbb11;
107
+ --color-lime-7: #a9d134;
108
+ --color-lime-8: #c9e75d;
109
+ --color-lime-9: #e4f88b;
110
+ --color-lime-10: #f0fab5;
111
+
112
+ --color-geekblue-1: #131629;
113
+ --color-geekblue-2: #161d40;
114
+ --color-geekblue-3: #1c2755;
115
+ --color-geekblue-4: #203175;
116
+ --color-geekblue-5: #263ea0;
117
+ --color-geekblue-6: #2b4acb;
118
+ --color-geekblue-7: #5273e0;
119
+ --color-geekblue-8: #7f9ef3;
120
+ --color-geekblue-9: #a8c1f8;
121
+ --color-geekblue-10: #d2e0fa;
122
+
123
+ --color-primary-bg: #0d086e;
124
+ --color-primary-bg-hover: #161087;
125
+ --color-primary-border: #201dad;
126
+ --color-primary-border-hover: #2f31d4;
127
+ --color-primary-hover: #6678ff;
128
+ --color-primary-base: #434dfa;
129
+ --color-primary-active: #8a99ff;
130
+ --color-primary-text-hover: #adbcff;
131
+ --color-primary-text: #d6dfff;
132
+ --color-primary-text-active: #ebf0ff;
133
+
134
+ --color-success-bg: var(--color-green-1);
135
+ --color-success-bg-hover: var(--color-green-2);
136
+ --color-success-border: var(--color-green-3);
137
+ --color-success-border-hover: var(--color-green-4);
138
+ --color-success-hover: var(--color-green-7);
139
+ --color-success-base: var(--color-green-6);
140
+ --color-success-active: var(--color-green-5);
141
+ --color-success-text-hover: var(--color-green-8);
142
+ --color-success-text: var(--color-green-9);
143
+ --color-success-text-active: var(--color-green-10);
144
+
145
+ --color-warning-bg: var(--color-gold-1);
146
+ --color-warning-bg-hover: var(--color-gold-2);
147
+ --color-warning-border: var(--color-gold-3);
148
+ --color-warning-border-hover: var(--color-gold-4);
149
+ --color-warning-hover: var(--color-gold-7);
150
+ --color-warning-base: var(--color-gold-6);
151
+ --color-warning-active: var(--color-gold-5);
152
+ --color-warning-text-hover: var(--color-gold-8);
153
+ --color-warning-text: var(--color-gold-9);
154
+ --color-warning-text-active: var(--color-gold-10);
155
+
156
+ --color-error-bg: var(--color-red-1);
157
+ --color-error-bg-hover: var(--color-red-2);
158
+ --color-error-border: var(--color-red-3);
159
+ --color-error-border-hover: var(--color-red-4);
160
+ --color-error-hover: var(--color-red-7);
161
+ --color-error-base: var(--color-red-6);
162
+ --color-error-active: var(--color-red-5);
163
+ --color-error-text-hover: var(--color-red-8);
164
+ --color-error-text: var(--color-red-9);
165
+ --color-error-text-active: var(--color-red-10);
166
+
167
+ --color-info-bg: var(--color-blue-1);
168
+ --color-info-bg-hover: var(--color-blue-2);
169
+ --color-info-border: var(--color-blue-3);
170
+ --color-info-border-hover: var(--color-blue-4);
171
+ --color-info-hover: var(--color-blue-7);
172
+ --color-info-base: var(--color-blue-6);
173
+ --color-info-active: var(--color-blue-5);
174
+ --color-info-text-hover: var(--color-blue-8);
175
+ --color-info-text: var(--color-blue-9);
176
+ --color-info-text-active: var(--color-blue-10);
177
+
178
+ /**
179
+ * @tokens Dark Main Colors
180
+ * @presenter Color
181
+ */
182
+ --color-bg-base: #ffffff;
183
+ --color-primary: var(--color-primary-base);
184
+ --color-error: var(--color-error-base);
185
+ --color-warning: var(--color-warning-base);
186
+ --color-success: var(--color-success-base);
187
+ --color-info: var(--color-info-base);
188
+
189
+ /**
190
+ * @tokens Font Colors
191
+ * @presenter Color
192
+ */
193
+ --text-base: #ffffff; // The base color of the typography color tokens.
194
+ --text-light-solid: #ffffff; // The color of the objects that need to be white no matter what theme is enabled.
195
+ --text-primary: #e3e3e3; // Headers, Icon hover
196
+ --text-secondary: #b3b3b3; // Body text
197
+ --text-description: #8e8e8e; // Caption, Description, Icon
198
+ --text-placeholder: #7b7b7b; // Placeholder text, Disabled text
199
+ --text-link: var(--color-blue-6);
200
+
201
+ /**
202
+ * @tokens Elevation Colors
203
+ * @presenter Color
204
+ */
205
+
206
+ --bg-sunken: #0d0d0d; // Sunken is the lowest elevation available.
207
+ --bg-base: #141414; // The default elevation is the baseline with respect to all other layers.
208
+ --bg-raised: #1f1f1f; // Cards, elements, inputs
209
+ --bg-overlay: #282828; // Overlay is the highest elevation available. Use for hovers
210
+
211
+ --bg-base-shadow: 0px 3px 5px rgba(0, 0, 0, 0.4), 0px 1px 4px rgba(0, 0, 0, 0.5); // Elements
212
+ --bg-raised-shadow: 0px 8px 12px rgba(0, 0, 0, 0.4), 0px 1px 4px rgba(0, 0, 0, 0.5); // Hovers for base. Menu
213
+ --bg-overlay-shadow: 0px 16px 32px rgba(0, 0, 0, 0.6), 0px 6px 6px rgba(0, 0, 0, 0.4); // Use for dropdowns
214
+
215
+ /**
216
+ * @tokens Border Colors
217
+ * @presenter Color
218
+ */
219
+ --border-primary: #424242; // Raised dividers
220
+ --border-secondary: #222222; // Default dividers, borders
221
+
222
+ // @tokens End
91
223
  `;
92
224
  //# sourceMappingURL=darkColors.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.18.2",
3
+ "version": "0.18.3-patch.0",
4
4
  "description": "Shared UI components lib",
5
5
  "keywords": [
6
6
  "theme",
@@ -5,8 +5,16 @@ import { getPathnameForLocale, withPathPrefix } from '@portal/utils';
5
5
  import { usePreloadHistory } from '@portal/usePreloadHistory';
6
6
  import { useI18nConfig } from '@portal/hooks';
7
7
  import { Select, SelectInput, SelectList, SelectListItem } from '@theme/components/Select';
8
+ import { LanguageIcon } from '@theme/icons';
8
9
 
9
- export const LanguagePicker = (props: { onChangeLanguage: (newLang: string) => void }) => {
10
+ interface LanguagePickerProps {
11
+ onChangeLanguage: (newLang: string) => void;
12
+ onlyIcon?: boolean;
13
+ placement?: 'top' | 'bottom';
14
+ alignment?: 'start' | 'end';
15
+ }
16
+
17
+ export const LanguagePicker = (props: LanguagePickerProps) => {
10
18
  const { currentLocale, locales, defaultLocale } = useI18nConfig();
11
19
  const history = usePreloadHistory();
12
20
 
@@ -37,7 +45,17 @@ export const LanguagePicker = (props: { onChangeLanguage: (newLang: string) => v
37
45
  </LanguageItem>
38
46
  ));
39
47
 
40
- return <LanguageSelect selected={selected} options={languageItems} triggerEvent="hover" />;
48
+ return (
49
+ <LanguageSelect
50
+ selected={selected}
51
+ options={languageItems}
52
+ triggerEvent="hover"
53
+ placement={props.placement}
54
+ alignment={props.alignment}
55
+ icon={<LanguageIcon />}
56
+ onlyIcon={props.onlyIcon}
57
+ />
58
+ );
41
59
  };
42
60
 
43
61
  const LanguageSelect = styled(Select).attrs(() => ({
@@ -51,12 +69,19 @@ const LanguageSelect = styled(Select).attrs(() => ({
51
69
  line-height: var(--language-picker-line-height);
52
70
  border-radius: var(--language-picker-border-radius);
53
71
  color: var(--language-picker-text-color);
72
+ background-color: var(--language-picker-background-color);
54
73
 
55
74
  ${SelectInput} {
56
- color: var(--navbar-text-color);
75
+ min-height: var(--language-picker-min-height);
76
+ color: var(--language-picker-text-color);
77
+ border: 1px solid var(--language-picker-border-color);
57
78
  border-radius: var(--language-picker-input-border-radius);
58
79
  padding: var(--language-picker-input-padding-vertical)
59
80
  var(--language-picker-input-padding-horizontal);
81
+
82
+ :hover {
83
+ border-color: var(--language-picker-hover-border-color);
84
+ }
60
85
  }
61
86
 
62
87
  ${SelectList} {
@@ -87,7 +112,7 @@ const LanguageSelect = styled(Select).attrs(() => ({
87
112
 
88
113
  :hover {
89
114
  text-decoration: var(--navbar-item-hover-text-decoration);
90
- background: var(--navbar-item-hover-background-color);
115
+ background: var(--language-picker-hover-background-color);
91
116
  }
92
117
  `;
93
118
  const LanguageItem = styled.div``;
package/src/I18n/index.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { LanguagePicker } from '@theme/I18n/LanguagePicker';
2
+ export * from '@theme/I18n/styledVariables';
@@ -0,0 +1,36 @@
1
+ import { css } from "styled-components";
2
+
3
+ export const languagePicker = css`
4
+ /**
5
+ * @tokens Language picker
6
+ * */
7
+
8
+ --language-picker-font-size: var(--select-font-size); // @presenter FontSize
9
+ --language-picker-font-weight: var(--select-font-weight); // @presenter FontWeight
10
+ --language-picker-line-height: var(--select-line-height); // @presenter LineHeight
11
+ --language-picker-text-color: var(--text-primary); // @presenter Color
12
+ --language-picker-min-height: var(--control-height-base); // @presenter Spacing
13
+ --language-picker-border-radius: calc(var(--spacing-unit) * 1.5); // @presenter BorderRadius
14
+ --language-picker-border-color: var(--border-primary); // @presenter Color
15
+ --language-picker-background-color: var(--bg-base); // @presenter Color
16
+ --language-picker-hover-background-color: var(--language-picker-background-color); // @presenter Color
17
+ --language-picker-hover-border-color: var(--text-primary); // @presenter Color
18
+
19
+ --language-picker-input-padding-horizontal: var(--select-input-padding-horizontal); // @presenter Spacing
20
+ --language-picker-input-padding-vertical: var(--select-input-padding-vertical); // @presenter Spacing
21
+ --language-picker-input-border-radius: var(--language-picker-border-radius); // @presenter BorderRadius
22
+
23
+ --language-picker-list-min-width: var(--select-list-min-width);
24
+ --language-picker-list-max-width: var(--select-list-max-width);
25
+ --language-picker-list-padding: var(--select-list-padding); // @presenter Spacing
26
+ --language-picker-list-border-radius: var(--language-picker-border-radius); // @presenter BorderRadius
27
+ --language-picker-list-background-color: var(--select-list-background-color); // @presenter Color
28
+ --language-picker-list-box-shadow: var(--select-list-box-shadow); // @presenter Shadow
29
+
30
+ --language-picker-list-item-horizontal-padding: var(--select-list-item-horizontal-padding); // @presenter Spacing
31
+ --language-picker-list-item-vertical-padding: var(--select-list-item-vertical-padding); // @presenter Spacing
32
+ --language-picker-list-item-border-radius: var(--select-list-item-border-radius); // @presenter BorderRadius
33
+ --language-picker-list-item-active-background-color: var(--select-list-item-active-background-color); // @presenter Color
34
+
35
+ // @tokens End
36
+ `
@@ -49,8 +49,9 @@ const BreadcrumbWrapper = styled.div<{ isActive: boolean; isLink: boolean }>`
49
49
 
50
50
  const BreadcrumbLink = styled(Link)`
51
51
  text-decoration: none;
52
+ color: var(--breadcrumbs-text-color);
52
53
 
53
54
  &:visited {
54
- color: inherit;
55
+ color: var(--breadcrumbs-text-color);
55
56
  }
56
57
  `;
@@ -36,7 +36,7 @@ const Container = styled.div`
36
36
  flex-wrap: wrap;
37
37
 
38
38
  > div {
39
- padding-right: var(--breadcrumbs-padding-horizontal);
39
+ padding: var(--breadcrumbs-padding);
40
40
  }
41
41
 
42
42
  @media print {
@@ -1,2 +1,3 @@
1
1
  export * from '@theme/components/Breadcrumbs/Breadcrumbs';
2
2
  export * from '@theme/components/Breadcrumbs/Breadcrumb';
3
+ export * from '@theme/components/Breadcrumbs/styledVariables';
@@ -0,0 +1,16 @@
1
+ import { css } from 'styled-components';
2
+
3
+ export const breadcrumbs = css`
4
+ /**
5
+ * @tokens Breadcrumbs
6
+ */
7
+
8
+ --breadcrumbs-text-color: var(--text-description); // @presenter Color
9
+ --breadcrumbs-font-size: var(--font-size-base); // @presenter FontSize
10
+ --breadcrumbs-active-text-color: var(--text-primary); // @presenter Color
11
+ --breadcrumbs-hover-text-decoration: underline; // @presenter TextDecoration
12
+ --breadcrumbs-padding: 0 var(--spacing-xs); // @presenter Spacing
13
+ --breadcrumbs-margin-bottom: var(--spacing-lg); // @presenter Spacing
14
+
15
+ // @tokens End
16
+ `;
@@ -5,11 +5,12 @@ import type { FlattenSimpleInterpolation, Keyframes } from 'styled-components';
5
5
 
6
6
  import { Link } from '@portal/Link';
7
7
 
8
- export type ButtonSize = 'small' | 'medium' | 'large' | 'xlarge' | string;
9
- export type ButtonColor = 'primary' | 'secondary' | 'default' | string;
10
- export type ButtonVariant = 'outlined' | 'contained';
8
+ export type ButtonSize = 'default' | 'small' | 'large' | string;
9
+ export type ButtonColor = 'default' | 'primary' | string;
10
+ export type ButtonVariant = 'outlined' | 'contained' | 'text';
11
11
 
12
12
  export interface ButtonProps {
13
+ children?: React.ReactNode;
13
14
  color?: ButtonColor;
14
15
  disabled?: boolean;
15
16
  blinking?: boolean;
@@ -18,6 +19,8 @@ export interface ButtonProps {
18
19
  size?: ButtonSize;
19
20
  extraClass?: string;
20
21
  to?: string;
22
+ icon?: JSX.Element;
23
+ title?: string;
21
24
  onClick?: (e?: any) => void;
22
25
  }
23
26
 
@@ -37,47 +40,57 @@ const getBlink = (): Keyframes => keyframes`
37
40
  }
38
41
  `;
39
42
 
40
- const getSize = (size: ButtonSize = 'medium'): FlattenSimpleInterpolation => css`
43
+ const getSize = (size: ButtonSize = 'default'): FlattenSimpleInterpolation => css`
41
44
  font-size: var(--button-${size}-font-size);
42
45
  padding: var(--button-${size}-padding);
43
46
  min-width: var(--button-${size}-min-width);
44
47
  `;
45
48
 
46
49
  export const baseButtonStyles = css`
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ gap: 5px;
47
54
  outline: none;
48
- border: none;
49
- border-radius: var(--button-border-radius);
50
- font-weight: var(--button-font-weight);
51
- font-size: 14px;
52
- padding: 2px 20px;
53
55
  margin: var(--button-margin);
54
56
  cursor: pointer;
55
- transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
56
57
  line-height: 1;
57
58
 
59
+ color: var(--button-color);
60
+ background-color: var(--button-background-color);
61
+ border: var(--button-border-width) var(--button-border-style) var(--button-border-color);
62
+ border-radius: var(--button-border-radius);
63
+
64
+ font-size: var(--button-font-size);
58
65
  font-family: var(--button-font-family);
66
+ font-weight: var(--button-font-weight);
59
67
  box-shadow: var(--button-box-shadow);
60
68
 
61
69
  &:hover {
62
70
  box-shadow: var(--button-hover-box-shadow);
71
+ background-color: var(--button-hover-background-color);
72
+ border: var(--button-border-width) var(--button-border-style) var(--button-hover-border-color);
63
73
  }
64
74
 
65
75
  &:active {
66
76
  box-shadow: var(--button-active-box-shadow);
77
+ background-color: var(--button-active-background-color);
78
+ border: var(--button-border-width) var(--button-border-style) var(--button-active-border-color);
67
79
  }
68
80
  `;
69
81
 
82
+ const StyledButtonLink = styled(Link)`
83
+ text-decoration: none;
84
+ `;
85
+
70
86
  const StyledButton = styled.button.attrs(
71
87
  ({ color = 'default', extraClass, variant }: ButtonProps) => ({
72
- className: `button-color-${color}${variant ? ` button-variant-${variant}` : ''}${
88
+ className: `button-${color}${variant ? ` button-${variant}` : ''}${
73
89
  extraClass ? ` ${extraClass}` : ''
74
90
  }`,
75
91
  'data-component-name': 'Button/Button',
76
92
  }),
77
93
  )<ButtonProps>`
78
- text-decoration: none;
79
- text-align: center;
80
-
81
94
  width: ${({ fullWidth }) => (fullWidth ? '100%' : 'auto')};
82
95
 
83
96
  ${baseButtonStyles}
@@ -85,38 +98,20 @@ const StyledButton = styled.button.attrs(
85
98
  ${({ variant }) =>
86
99
  variant === 'outlined'
87
100
  ? css`
88
- color: var(--button-background-color);
89
- border: 2px solid var(--button-border-color);
101
+ background-color: var(--button-background-color);
102
+ `
103
+ : variant === 'text'
104
+ ? css`
105
+ border-color: transparent;
90
106
  background-color: transparent;
91
- &:hover {
92
- color: var(--button-hover-background-color);
93
- border: 2px solid var(--button-hover-border-color);
94
- }
95
-
96
- &:active {
97
- color: var(--button-active-background-color);
98
- border: 2px solid var(--button-active-border-color);
99
- }
100
107
 
101
- &:disabled {
102
- color: var(--button-disabled-color);
108
+ &:hover {
109
+ border-color: transparent;
103
110
  background-color: transparent;
111
+ box-shadow: none;
104
112
  }
105
113
  `
106
- : css`
107
- color: var(--button-color);
108
- border: 2px solid var(--button-background-color);
109
- background-color: var(--button-background-color);
110
- &:hover {
111
- border: 2px solid var(--button-hover-background-color);
112
- background-color: var(--button-hover-background-color);
113
- }
114
-
115
- &:active {
116
- border: 2px solid var(--button-active-background-color);
117
- background-color: var(--button-active-background-color);
118
- }
119
- `};
114
+ : ''};
120
115
 
121
116
  ${({ size }) => getSize(size)}
122
117
 
@@ -139,21 +134,30 @@ const StyledButton = styled.button.attrs(
139
134
  cursor: default;
140
135
  color: var(--button-disabled-color);
141
136
  background-color: var(--button-disabled-background-color);
142
- border-color: var(--button-disabled-background-color);
137
+ border-color: var(--button-disabled-border-color);
143
138
  pointer-events: none;
144
139
  }
145
140
  `}
146
141
  `;
147
142
 
143
+ const StyledIcon = styled.span`
144
+ display: block;
145
+ height: var(--button-icon-height);
146
+ width: var(--button-icon-width);
147
+ `;
148
+
148
149
  const ButtonComponent: React.FC<ButtonProps> = (props) => {
150
+ const button = (
151
+ <StyledButton {...props}>
152
+ {props.icon ? <StyledIcon>{props.icon}</StyledIcon> : null}
153
+ {props.children}
154
+ </StyledButton>
155
+ );
156
+
149
157
  if (props.to) {
150
- return (
151
- <Link to={props.to}>
152
- <StyledButton {...props} />
153
- </Link>
154
- );
158
+ return <StyledButtonLink to={props.to}>{button}</StyledButtonLink>;
155
159
  } else {
156
- return <StyledButton {...props} />;
160
+ return button;
157
161
  }
158
162
  };
159
163
 
@@ -1 +1,2 @@
1
1
  export * from '@theme/components/Button/Button';
2
+ export * from '@theme/components/Button/styledVariables';