@redocly/theme 0.18.6 → 0.19.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 (487) hide show
  1. package/lib/components/Breadcrumbs/Breadcrumb.js +2 -5
  2. package/lib/components/Breadcrumbs/Breadcrumbs.js +7 -3
  3. package/lib/components/Breadcrumbs/index.d.ts +1 -0
  4. package/lib/components/Breadcrumbs/index.js +1 -0
  5. package/lib/components/Breadcrumbs/styledVariables.d.ts +1 -0
  6. package/lib/components/Breadcrumbs/styledVariables.js +20 -0
  7. package/lib/components/Button/Button.d.ts +6 -3
  8. package/lib/components/Button/Button.js +41 -41
  9. package/lib/components/Button/index.d.ts +1 -0
  10. package/lib/components/Button/index.js +1 -0
  11. package/lib/components/Button/styledVariables.d.ts +1 -0
  12. package/lib/components/Button/styledVariables.js +107 -0
  13. package/lib/components/Catalog/Catalog.d.ts +6 -0
  14. package/lib/components/Catalog/Catalog.js +115 -106
  15. package/lib/components/Catalog/CatalogCard.js +91 -58
  16. package/lib/components/Catalog/index.d.ts +4 -3
  17. package/lib/components/Catalog/index.js +4 -3
  18. package/lib/components/Catalog/styledVariables.d.ts +1 -0
  19. package/lib/components/Catalog/styledVariables.js +95 -0
  20. package/lib/components/CodeBlock/CodeBlockContainer.js +38 -10
  21. package/lib/components/CodeBlock/CodeBlockControlButton.d.ts +3 -4
  22. package/lib/components/CodeBlock/CodeBlockControlButton.js +5 -19
  23. package/lib/components/CodeBlock/CodeBlockControls.js +9 -6
  24. package/lib/components/CodeBlock/index.d.ts +1 -0
  25. package/lib/components/CodeBlock/index.js +1 -0
  26. package/lib/components/CodeBlock/styledVariables.d.ts +1 -0
  27. package/lib/components/CodeBlock/styledVariables.js +92 -0
  28. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +0 -1
  29. package/lib/components/Dropdown/Dropdown.d.ts +9 -3
  30. package/lib/components/Dropdown/Dropdown.js +7 -4
  31. package/lib/components/Dropdown/index.d.ts +1 -0
  32. package/lib/components/Dropdown/index.js +1 -0
  33. package/lib/components/Dropdown/styledVariables.d.ts +1 -0
  34. package/lib/components/Dropdown/styledVariables.js +30 -0
  35. package/lib/components/EditPageButton/EditPageButton.d.ts +1 -3
  36. package/lib/components/EditPageButton/EditPageButton.js +17 -8
  37. package/lib/components/Feedback/Comment.js +5 -0
  38. package/lib/components/Feedback/Rating.js +5 -1
  39. package/lib/components/Feedback/Reasons.js +6 -1
  40. package/lib/components/Feedback/Sentiment.js +5 -0
  41. package/lib/components/Feedback/Thumbs.js +4 -4
  42. package/lib/components/Filter/Filter.d.ts +3 -1
  43. package/lib/components/Filter/Filter.js +113 -80
  44. package/lib/components/Filter/FilterContent.d.ts +13 -0
  45. package/lib/components/Filter/FilterContent.js +60 -0
  46. package/lib/components/Filter/FilterPopover.d.ts +13 -0
  47. package/lib/components/Filter/FilterPopover.js +110 -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 +5 -0
  53. package/lib/components/Filter/index.js +5 -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 +28 -10
  59. package/lib/components/Footer/FooterColumn.d.ts +3 -3
  60. package/lib/components/Footer/FooterColumn.js +57 -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/LastUpdated/LastUpdated.js +1 -0
  73. package/lib/components/LastUpdated/index.d.ts +2 -0
  74. package/lib/components/LastUpdated/index.js +19 -0
  75. package/lib/components/LastUpdated/styledVariables.d.ts +1 -0
  76. package/lib/components/LastUpdated/styledVariables.js +11 -0
  77. package/lib/components/Markdown/Admonition.js +12 -9
  78. package/lib/components/Markdown/MarkdownLayout.d.ts +0 -2
  79. package/lib/components/Markdown/MarkdownLayout.js +1 -6
  80. package/lib/components/Markdown/MarkdownWrapper.js +2 -4
  81. package/lib/components/Markdown/Mermaid.js +4 -1
  82. package/lib/components/Markdown/index.d.ts +1 -0
  83. package/lib/components/Markdown/index.js +1 -0
  84. package/lib/components/Markdown/styledVariables.d.ts +3 -0
  85. package/lib/components/Markdown/styledVariables.js +231 -0
  86. package/lib/components/Menu/Menu.js +6 -8
  87. package/lib/components/Menu/MenuGroup.js +12 -7
  88. package/lib/components/Menu/MenuItem.js +1 -1
  89. package/lib/components/Menu/MenuItemLabel.js +9 -13
  90. package/lib/components/Menu/MenuItemSwitch.d.ts +1 -1
  91. package/lib/components/Menu/MenuItemSwitch.js +6 -4
  92. package/lib/components/Menu/MobileMenu.js +20 -25
  93. package/lib/components/Menu/MobileMenuGroup.js +1 -1
  94. package/lib/components/Menu/hooks/use-mobile-menu-items.d.ts +1 -1
  95. package/lib/components/Menu/index.d.ts +5 -0
  96. package/lib/components/Menu/index.js +5 -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 +20 -13
  100. package/lib/components/Navbar/NavbarItem.d.ts +1 -1
  101. package/lib/components/Navbar/NavbarItem.js +18 -6
  102. package/lib/components/Navbar/NavbarMenu.js +2 -2
  103. package/lib/components/Navbar/index.d.ts +2 -0
  104. package/lib/components/Navbar/index.js +2 -0
  105. package/lib/components/Navbar/styledVariables.d.ts +1 -0
  106. package/lib/components/Navbar/styledVariables.js +42 -0
  107. package/lib/components/NavbarLogo/NavbarLogo.d.ts +4 -1
  108. package/lib/components/NavbarLogo/NavbarLogo.js +13 -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/OpenApiDocs/hooks/AfterOpenApiTitle.js +1 -1
  116. package/lib/components/OpenApiDocs/index.d.ts +9 -1
  117. package/lib/components/OpenApiDocs/index.js +9 -1
  118. package/lib/components/PageNavigation/NextButton.js +1 -1
  119. package/lib/components/PageNavigation/PreviousButton.js +1 -1
  120. package/lib/components/Panel/PanelHeader.js +2 -0
  121. package/lib/components/Panel/PanelHeaderTitle.js +0 -4
  122. package/lib/components/Panel/index.d.ts +1 -0
  123. package/lib/components/Panel/index.js +1 -0
  124. package/lib/components/Panel/styledVariables.d.ts +2 -0
  125. package/lib/components/Panel/styledVariables.js +481 -0
  126. package/lib/components/Product/ProductPicker.js +18 -11
  127. package/lib/components/Product/index.d.ts +1 -0
  128. package/lib/components/Product/index.js +1 -0
  129. package/lib/components/Product/styledVariables.d.ts +2 -0
  130. package/lib/components/Product/styledVariables.js +42 -0
  131. package/lib/components/Profile/LoginLink.js +1 -2
  132. package/lib/components/{Navbar → Profile}/MobileUserProfile.js +12 -24
  133. package/lib/components/Profile/Profile.js +3 -22
  134. package/lib/components/Profile/UserProfile.d.ts +1 -1
  135. package/lib/components/Profile/UserProfile.js +21 -9
  136. package/lib/components/Profile/UserProfileData.d.ts +9 -0
  137. package/lib/components/Profile/UserProfileData.js +35 -0
  138. package/lib/components/Profile/index.d.ts +10 -6
  139. package/lib/components/Profile/index.js +21 -3
  140. package/lib/components/Profile/styledVariables.d.ts +2 -0
  141. package/lib/components/Profile/styledVariables.js +55 -0
  142. package/lib/components/Search/CancelSearch.js +2 -14
  143. package/lib/components/Search/ProductTag.js +8 -8
  144. package/lib/components/Search/RecentSearches.js +5 -5
  145. package/lib/components/Search/Search.js +0 -2
  146. package/lib/components/Search/SearchIcon.js +2 -2
  147. package/lib/components/Search/SearchItem.js +4 -4
  148. package/lib/components/Search/SearchTrigger.js +4 -5
  149. package/lib/components/Search/ShortcutKey.js +1 -5
  150. package/lib/components/Search/SuggestedPages.js +3 -3
  151. package/lib/components/Search/index.d.ts +3 -0
  152. package/lib/components/Search/index.js +3 -0
  153. package/lib/components/Search/styledVariables.d.ts +1 -0
  154. package/lib/components/Search/styledVariables.js +98 -0
  155. package/lib/components/Select/Select.d.ts +21 -9
  156. package/lib/components/Select/Select.js +27 -17
  157. package/lib/components/Select/index.d.ts +1 -0
  158. package/lib/components/Select/index.js +1 -0
  159. package/lib/components/Select/styledVariables.d.ts +1 -0
  160. package/lib/components/Select/styledVariables.js +34 -0
  161. package/lib/components/Separator/Separator.js +11 -3
  162. package/lib/components/Separator/SeparatorItem.js +6 -9
  163. package/lib/components/Separator/SeparatorLine.js +7 -3
  164. package/lib/components/Sidebar/ApiCallItem.d.ts +4 -6
  165. package/lib/components/Sidebar/ApiCallItem.js +18 -13
  166. package/lib/components/Sidebar/FooterWrapper.js +3 -4
  167. package/lib/components/Sidebar/HeaderWrapper.js +3 -3
  168. package/lib/components/Sidebar/SidebarLayout.js +1 -3
  169. package/lib/components/Sidebar/VersionPicker.d.ts +3 -3
  170. package/lib/components/Sidebar/VersionPicker.js +6 -4
  171. package/lib/components/Sidebar/index.d.ts +2 -0
  172. package/lib/components/Sidebar/index.js +2 -0
  173. package/lib/components/Sidebar/styledVariables.d.ts +2 -0
  174. package/lib/components/Sidebar/styledVariables.js +216 -0
  175. package/lib/components/Sidebar/types.d.ts +1 -0
  176. package/lib/components/SidebarActions/CollapseSidebarButton.js +41 -1
  177. package/lib/components/SidebarActions/index.d.ts +3 -0
  178. package/lib/components/SidebarActions/index.js +17 -0
  179. package/lib/components/SidebarActions/styled.js +29 -21
  180. package/lib/components/TableOfContent/TableOfContent.js +3 -2
  181. package/lib/components/TableOfContent/index.d.ts +1 -0
  182. package/lib/components/TableOfContent/index.js +1 -0
  183. package/lib/components/TableOfContent/styledVariables.d.ts +1 -0
  184. package/lib/components/TableOfContent/styledVariables.js +47 -0
  185. package/lib/components/Tabs/Tab.js +1 -1
  186. package/lib/components/Tabs/Tabs.js +1 -1
  187. package/lib/components/Tag/Tag.d.ts +18 -0
  188. package/lib/components/Tag/Tag.js +46 -0
  189. package/lib/components/Tag/index.d.ts +2 -0
  190. package/lib/components/Tag/index.js +19 -0
  191. package/lib/components/Tag/styledVariables.d.ts +1 -0
  192. package/lib/components/Tag/styledVariables.js +148 -0
  193. package/lib/components/Tiles/ThinTile.js +7 -5
  194. package/lib/components/Tiles/TileHeader.js +1 -1
  195. package/lib/components/Tiles/TileText.js +1 -1
  196. package/lib/components/Tiles/WideTile.js +10 -8
  197. package/lib/components/Tooltip/index.d.ts +1 -0
  198. package/lib/components/Tooltip/index.js +1 -0
  199. package/lib/components/Tooltip/styledVariables.d.ts +1 -0
  200. package/lib/components/Tooltip/styledVariables.js +21 -0
  201. package/lib/components/Typography/SectionHeader.js +2 -2
  202. package/lib/components/Typography/Typography.js +1 -1
  203. package/lib/components/index.d.ts +29 -38
  204. package/lib/components/index.js +29 -38
  205. package/lib/config.d.ts +113 -14
  206. package/lib/config.js +28 -4
  207. package/lib/globalStyle.js +602 -1983
  208. package/lib/hooks/useMobileMenu.js +5 -6
  209. package/lib/hooks/useModalScrollLock.d.ts +1 -0
  210. package/lib/hooks/useModalScrollLock.js +16 -0
  211. package/lib/hooks/useThemeConfig.d.ts +1 -1
  212. package/lib/i18n/LanguagePicker.d.ts +9 -0
  213. package/lib/{I18n → i18n}/LanguagePicker.js +28 -13
  214. package/lib/i18n/index.d.ts +2 -0
  215. package/lib/i18n/index.js +21 -0
  216. package/lib/i18n/styledVariables.d.ts +1 -0
  217. package/lib/i18n/styledVariables.js +40 -0
  218. package/lib/icons/AlertIcon/AlertIcon.js +0 -5
  219. package/lib/icons/ArrowIcon/ArrowIcon.js +1 -1
  220. package/lib/icons/CheckboxIcon/CheckboxIcon.d.ts +6 -0
  221. package/lib/icons/CheckboxIcon/CheckboxIcon.js +28 -0
  222. package/lib/icons/CheckboxIcon/index.d.ts +1 -0
  223. package/lib/icons/CheckboxIcon/index.js +6 -0
  224. package/lib/icons/CollapseIcon/CollapseIcon.d.ts +1 -1
  225. package/lib/icons/CollapseIcon/CollapseIcon.js +5 -5
  226. package/lib/icons/ColorModeIcon/ColorModeIcon.js +1 -1
  227. package/lib/icons/CopyIcon/CopyIcon.d.ts +1 -2
  228. package/lib/icons/CopyIcon/CopyIcon.js +4 -4
  229. package/lib/icons/DeselectIcon/DeselectIcon.d.ts +1 -1
  230. package/lib/icons/DeselectIcon/DeselectIcon.js +5 -5
  231. package/lib/icons/EditIcon/EditIcon.d.ts +6 -0
  232. package/lib/icons/EditIcon/EditIcon.js +18 -0
  233. package/lib/icons/EditIcon/index.d.ts +1 -0
  234. package/lib/{components/OperationBadge → icons/EditIcon}/index.js +1 -1
  235. package/lib/icons/ErrorIcon/ErrorIcon.d.ts +4 -0
  236. package/lib/icons/ErrorIcon/ErrorIcon.js +14 -0
  237. package/lib/icons/ErrorIcon/index.d.ts +1 -0
  238. package/lib/icons/ErrorIcon/index.js +18 -0
  239. package/lib/icons/ExpandIcon/ExpandIcon.d.ts +1 -2
  240. package/lib/icons/ExpandIcon/ExpandIcon.js +5 -5
  241. package/lib/icons/ExternalIcon/ExternalIcon.js +3 -3
  242. package/lib/icons/FileIcon/FileIcon.d.ts +1 -2
  243. package/lib/icons/FileIcon/FileIcon.js +2 -2
  244. package/lib/icons/LanguageIcon/LanguageIcon.d.ts +4 -0
  245. package/lib/icons/LanguageIcon/LanguageIcon.js +14 -0
  246. package/lib/icons/LanguageIcon/index.d.ts +1 -0
  247. package/lib/icons/LanguageIcon/index.js +18 -0
  248. package/lib/icons/PlusIcon/PlusIcon.d.ts +5 -0
  249. package/lib/icons/PlusIcon/PlusIcon.js +16 -0
  250. package/lib/icons/PlusIcon/index.d.ts +1 -0
  251. package/lib/icons/PlusIcon/index.js +18 -0
  252. package/lib/icons/PointingArrowIcon/PointingArrowIcon.d.ts +4 -0
  253. package/lib/icons/PointingArrowIcon/PointingArrowIcon.js +15 -0
  254. package/lib/icons/PointingArrowIcon/index.d.ts +1 -0
  255. package/lib/icons/PointingArrowIcon/index.js +18 -0
  256. package/lib/icons/ReportIcon/ReportIcon.d.ts +1 -2
  257. package/lib/icons/ReportIcon/ReportIcon.js +3 -3
  258. package/lib/icons/RocketIcon/RocketIcon.d.ts +7 -0
  259. package/lib/icons/RocketIcon/RocketIcon.js +15 -0
  260. package/lib/icons/RocketIcon/index.d.ts +1 -0
  261. package/lib/icons/RocketIcon/index.js +18 -0
  262. package/lib/icons/SelectIcon/SelectIcon.d.ts +1 -2
  263. package/lib/icons/SelectIcon/SelectIcon.js +5 -5
  264. package/lib/icons/index.d.ts +6 -0
  265. package/lib/icons/index.js +6 -0
  266. package/lib/index.d.ts +1 -1
  267. package/lib/index.js +1 -1
  268. package/lib/layouts/Forbidden.js +4 -0
  269. package/lib/layouts/NotFound.js +4 -0
  270. package/lib/mocks/hooks/index.js +0 -1
  271. package/lib/types/portal/src/shared/types/catalog.d.ts +5 -1
  272. package/lib/types/portal/src/shared/types/nav.d.ts +5 -0
  273. package/lib/ui/ArrowBack.js +0 -1
  274. package/lib/ui/Burger.js +1 -1
  275. package/lib/ui/Dropdown.js +7 -7
  276. package/lib/ui/Highlight.d.ts +1 -1
  277. package/lib/ui/Highlight.js +1 -1
  278. package/lib/ui/Jumbotron.js +1 -1
  279. package/lib/ui/darkColors.js +217 -84
  280. package/lib/utils/css-variables.js +1 -1
  281. package/lib/utils/index.d.ts +1 -0
  282. package/lib/utils/index.js +1 -0
  283. package/lib/utils/tags-parser.d.ts +1 -0
  284. package/lib/utils/tags-parser.js +10 -0
  285. package/package.json +1 -1
  286. package/src/components/Breadcrumbs/Breadcrumb.tsx +2 -5
  287. package/src/components/Breadcrumbs/Breadcrumbs.tsx +7 -4
  288. package/src/components/Breadcrumbs/index.ts +1 -0
  289. package/src/components/Breadcrumbs/styledVariables.ts +17 -0
  290. package/src/components/Button/Button.tsx +53 -47
  291. package/src/components/Button/index.ts +1 -0
  292. package/src/components/Button/styledVariables.ts +104 -0
  293. package/src/components/Catalog/Catalog.tsx +141 -123
  294. package/src/components/Catalog/CatalogCard.tsx +108 -58
  295. package/src/components/Catalog/index.ts +4 -0
  296. package/src/components/Catalog/styledVariables.ts +92 -0
  297. package/src/components/CodeBlock/CodeBlockContainer.tsx +17 -9
  298. package/src/components/CodeBlock/CodeBlockControlButton.tsx +6 -19
  299. package/src/components/CodeBlock/CodeBlockControls.tsx +9 -7
  300. package/src/components/CodeBlock/index.ts +1 -0
  301. package/src/components/CodeBlock/styledVariables.ts +89 -0
  302. package/src/components/ColorModeSwitcher/ColorModeSwitcher.tsx +0 -1
  303. package/src/components/Dropdown/Dropdown.tsx +14 -5
  304. package/src/components/Dropdown/index.ts +1 -0
  305. package/src/components/Dropdown/styledVariables.ts +27 -0
  306. package/src/components/EditPageButton/EditPageButton.tsx +24 -10
  307. package/src/components/Feedback/Comment.tsx +5 -0
  308. package/src/components/Feedback/Rating.tsx +5 -1
  309. package/src/components/Feedback/Reasons.tsx +6 -1
  310. package/src/components/Feedback/Sentiment.tsx +5 -0
  311. package/src/components/Feedback/Thumbs.tsx +4 -4
  312. package/src/components/Filter/Filter.tsx +148 -94
  313. package/src/components/Filter/FilterContent.tsx +94 -0
  314. package/src/components/Filter/FilterPopover.tsx +150 -0
  315. package/src/components/Filter/FilterTag.tsx +37 -0
  316. package/src/components/Filter/FilterTags.tsx +39 -0
  317. package/src/components/Filter/index.ts +5 -0
  318. package/src/components/Filter/styledVariables.ts +109 -0
  319. package/src/components/Footer/CustomFooterNavItem.tsx +1 -1
  320. package/src/components/Footer/Footer.tsx +32 -10
  321. package/src/components/Footer/FooterColumn.tsx +84 -63
  322. package/src/components/Footer/FooterColumns.tsx +6 -4
  323. package/src/components/Footer/FooterCopyright.tsx +13 -7
  324. package/src/components/Footer/index.ts +1 -0
  325. package/src/components/Footer/styledVariables.ts +58 -0
  326. package/src/components/Image/Image.tsx +47 -0
  327. package/src/components/Image/index.ts +1 -0
  328. package/src/components/JsonViewer/JsonViewer.tsx +2 -2
  329. package/src/components/LastUpdated/LastUpdated.tsx +1 -2
  330. package/src/components/LastUpdated/index.ts +2 -0
  331. package/src/components/LastUpdated/styledVariables.ts +8 -0
  332. package/src/components/Markdown/Admonition.tsx +13 -8
  333. package/src/components/Markdown/MarkdownLayout.tsx +2 -15
  334. package/src/components/Markdown/MarkdownWrapper.tsx +2 -4
  335. package/src/components/Markdown/Mermaid.tsx +4 -1
  336. package/src/components/Markdown/index.ts +1 -0
  337. package/src/components/Markdown/styledVariables.ts +230 -0
  338. package/src/components/Menu/Menu.tsx +6 -9
  339. package/src/components/Menu/MenuGroup.tsx +15 -7
  340. package/src/components/Menu/MenuItem.tsx +1 -1
  341. package/src/components/Menu/MenuItemLabel.tsx +9 -13
  342. package/src/components/Menu/MenuItemSwitch.tsx +3 -2
  343. package/src/components/Menu/MobileMenu.tsx +20 -25
  344. package/src/components/Menu/MobileMenuGroup.tsx +1 -1
  345. package/src/components/Menu/index.ts +5 -0
  346. package/src/components/Menu/styledVariables.ts +99 -0
  347. package/src/components/Navbar/Navbar.tsx +20 -13
  348. package/src/components/Navbar/NavbarItem.tsx +18 -4
  349. package/src/components/Navbar/NavbarMenu.tsx +2 -2
  350. package/src/components/Navbar/index.ts +2 -0
  351. package/src/components/Navbar/styledVariables.ts +39 -0
  352. package/src/components/NavbarLogo/NavbarLogo.tsx +24 -11
  353. package/src/components/NavbarLogo/index.ts +1 -0
  354. package/src/components/NavbarLogo/styledVariables.ts +15 -0
  355. package/src/components/OpenApiDocs/DevOnboardingTryItSecurity.tsx +1 -2
  356. package/src/components/OpenApiDocs/Dropdown.tsx +3 -3
  357. package/src/components/OpenApiDocs/hooks/AfterOpenApiTitle.tsx +1 -1
  358. package/src/components/OpenApiDocs/index.ts +9 -1
  359. package/src/components/PageNavigation/NextButton.tsx +0 -1
  360. package/src/components/PageNavigation/PreviousButton.tsx +0 -1
  361. package/src/components/Panel/PanelHeader.ts +2 -0
  362. package/src/components/Panel/PanelHeaderTitle.ts +0 -4
  363. package/src/components/Panel/index.ts +1 -0
  364. package/src/components/Panel/styledVariables.ts +479 -0
  365. package/src/components/Product/ProductPicker.tsx +21 -22
  366. package/src/components/Product/index.ts +1 -0
  367. package/src/components/Product/styledVariables.ts +40 -0
  368. package/src/components/Profile/LoginLink.tsx +1 -2
  369. package/src/components/{Navbar → Profile}/MobileUserProfile.tsx +12 -29
  370. package/src/components/Profile/Profile.tsx +1 -24
  371. package/src/components/Profile/UserProfile.tsx +21 -10
  372. package/src/components/Profile/UserProfileData.tsx +40 -0
  373. package/src/components/Profile/index.ts +10 -6
  374. package/src/components/Profile/styledVariables.ts +53 -0
  375. package/src/components/Search/CancelSearch.tsx +2 -15
  376. package/src/components/Search/ProductTag.tsx +8 -8
  377. package/src/components/Search/RecentSearches.tsx +5 -5
  378. package/src/components/Search/Search.tsx +0 -2
  379. package/src/components/Search/SearchIcon.tsx +10 -5
  380. package/src/components/Search/SearchItem.tsx +4 -4
  381. package/src/components/Search/SearchTrigger.tsx +4 -5
  382. package/src/components/Search/ShortcutKey.tsx +1 -5
  383. package/src/components/Search/SuggestedPages.tsx +3 -3
  384. package/src/components/Search/index.ts +3 -0
  385. package/src/components/Search/styledVariables.ts +95 -0
  386. package/src/components/Select/Select.tsx +65 -31
  387. package/src/components/Select/index.ts +1 -0
  388. package/src/components/Select/styledVariables.ts +31 -0
  389. package/src/components/Separator/Separator.tsx +17 -3
  390. package/src/components/Separator/SeparatorItem.tsx +6 -9
  391. package/src/components/Separator/SeparatorLine.tsx +7 -3
  392. package/src/components/Sidebar/ApiCallItem.tsx +18 -13
  393. package/src/components/Sidebar/FooterWrapper.tsx +3 -4
  394. package/src/components/Sidebar/HeaderWrapper.tsx +3 -3
  395. package/src/components/Sidebar/SidebarLayout.tsx +1 -3
  396. package/src/components/Sidebar/VersionPicker.tsx +6 -4
  397. package/src/components/Sidebar/index.ts +2 -0
  398. package/src/components/Sidebar/styledVariables.ts +214 -0
  399. package/src/components/Sidebar/types.ts +1 -0
  400. package/src/components/SidebarActions/CollapseSidebarButton.tsx +22 -2
  401. package/src/components/SidebarActions/index.tsx +3 -0
  402. package/src/components/SidebarActions/styled.tsx +29 -30
  403. package/src/components/TableOfContent/TableOfContent.tsx +3 -2
  404. package/src/components/TableOfContent/index.ts +1 -0
  405. package/src/components/TableOfContent/styledVariables.ts +44 -0
  406. package/src/components/Tabs/Tab.tsx +1 -1
  407. package/src/components/Tabs/Tabs.tsx +1 -1
  408. package/src/components/Tag/Tag.tsx +72 -0
  409. package/src/components/Tag/index.ts +2 -0
  410. package/src/components/Tag/styledVariables.ts +145 -0
  411. package/src/components/Tiles/ThinTile.tsx +7 -5
  412. package/src/components/Tiles/TileHeader.ts +1 -1
  413. package/src/components/Tiles/TileText.tsx +1 -1
  414. package/src/components/Tiles/WideTile.tsx +10 -8
  415. package/src/components/Tooltip/index.ts +1 -0
  416. package/src/components/Tooltip/styledVariables.ts +18 -0
  417. package/src/components/Typography/SectionHeader.ts +2 -2
  418. package/src/components/Typography/Typography.ts +1 -1
  419. package/src/components/index.ts +29 -38
  420. package/src/config.ts +30 -3
  421. package/src/globalStyle.ts +597 -1999
  422. package/src/hooks/useMobileMenu.ts +3 -4
  423. package/src/hooks/useModalScrollLock.ts +12 -0
  424. package/src/hooks/useThemeConfig.ts +1 -2
  425. package/src/{I18n → i18n}/LanguagePicker.tsx +49 -22
  426. package/src/i18n/index.ts +2 -0
  427. package/src/i18n/styledVariables.ts +37 -0
  428. package/src/icons/AlertIcon/AlertIcon.tsx +0 -5
  429. package/src/icons/ArrowIcon/ArrowIcon.tsx +1 -1
  430. package/src/icons/CheckboxIcon/CheckboxIcon.tsx +64 -0
  431. package/src/icons/CheckboxIcon/index.ts +1 -0
  432. package/src/icons/CollapseIcon/CollapseIcon.tsx +5 -5
  433. package/src/icons/ColorModeIcon/ColorModeIcon.tsx +1 -1
  434. package/src/icons/CopyIcon/CopyIcon.tsx +4 -5
  435. package/src/icons/DeselectIcon/DeselectIcon.tsx +5 -5
  436. package/src/icons/EditIcon/EditIcon.tsx +30 -0
  437. package/src/icons/EditIcon/index.ts +1 -0
  438. package/src/icons/ErrorIcon/ErrorIcon.tsx +15 -0
  439. package/src/icons/ErrorIcon/index.ts +1 -0
  440. package/src/icons/ExpandIcon/ExpandIcon.tsx +5 -6
  441. package/src/icons/ExternalIcon/ExternalIcon.tsx +4 -4
  442. package/src/icons/FileIcon/FileIcon.tsx +2 -3
  443. package/src/icons/LanguageIcon/LanguageIcon.tsx +15 -0
  444. package/src/icons/LanguageIcon/index.ts +1 -0
  445. package/src/icons/PlusIcon/PlusIcon.tsx +25 -0
  446. package/src/icons/PlusIcon/index.ts +1 -0
  447. package/src/icons/PointingArrowIcon/PointingArrowIcon.tsx +16 -0
  448. package/src/icons/PointingArrowIcon/index.ts +1 -0
  449. package/src/icons/ReportIcon/ReportIcon.tsx +3 -4
  450. package/src/icons/RocketIcon/RocketIcon.tsx +32 -0
  451. package/src/icons/RocketIcon/index.tsx +1 -0
  452. package/src/icons/SelectIcon/SelectIcon.tsx +5 -6
  453. package/src/icons/index.ts +6 -0
  454. package/src/index.ts +10 -10
  455. package/src/layouts/Forbidden.tsx +4 -0
  456. package/src/layouts/NotFound.tsx +4 -0
  457. package/src/mocks/hooks/index.ts +0 -1
  458. package/src/types/portal/src/shared/types/catalog.ts +7 -1
  459. package/src/types/portal/src/shared/types/nav.ts +5 -0
  460. package/src/ui/ArrowBack.tsx +0 -1
  461. package/src/ui/Burger.tsx +1 -1
  462. package/src/ui/Dropdown.tsx +7 -7
  463. package/src/ui/Highlight.tsx +2 -2
  464. package/src/ui/Jumbotron.tsx +1 -1
  465. package/src/ui/darkColors.tsx +217 -84
  466. package/src/utils/css-variables.ts +4 -2
  467. package/src/utils/index.ts +1 -0
  468. package/src/utils/tags-parser.ts +8 -0
  469. package/lib/I18n/LanguagePicker.d.ts +0 -4
  470. package/lib/I18n/index.d.ts +0 -1
  471. package/lib/I18n/index.js +0 -6
  472. package/lib/components/OperationBadge/OperationBadge.d.ts +0 -6
  473. package/lib/components/OperationBadge/OperationBadge.js +0 -68
  474. package/lib/components/OperationBadge/index.d.ts +0 -1
  475. package/lib/components/Search/SidebarSearch.d.ts +0 -2
  476. package/lib/components/Search/SidebarSearch.js +0 -21
  477. package/lib/components/Tags/Tags.d.ts +0 -5
  478. package/lib/components/Tags/Tags.js +0 -32
  479. package/lib/components/Tags/index.d.ts +0 -1
  480. package/src/I18n/index.ts +0 -1
  481. package/src/components/Catalog/index.tsx +0 -3
  482. package/src/components/OperationBadge/OperationBadge.ts +0 -62
  483. package/src/components/OperationBadge/index.ts +0 -1
  484. package/src/components/Search/SidebarSearch.tsx +0 -16
  485. package/src/components/Tags/Tags.tsx +0 -36
  486. package/src/components/Tags/index.ts +0 -1
  487. /package/lib/components/{Navbar → Profile}/MobileUserProfile.d.ts +0 -0
@@ -7,10 +7,11 @@ exports.Filter = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const styled_components_1 = __importDefault(require("styled-components"));
9
9
  const react_date_picker_1 = require("react-date-picker");
10
- const Checkbox_1 = require("../../ui/Checkbox");
11
10
  const hooks_1 = require("../../mocks/hooks");
12
- function Filter({ filter }) {
13
- var _a, _b;
11
+ const icons_1 = require("../../icons");
12
+ const Select_1 = require("../../components/Select");
13
+ function Filter({ filter, filterValuesCasing, }) {
14
+ var _a;
14
15
  const { translate } = (0, hooks_1.useTranslate)();
15
16
  const translationKeys = {
16
17
  selectAll: 'theme.catalog.filters.select.all',
@@ -18,20 +19,29 @@ function Filter({ filter }) {
18
19
  };
19
20
  if (!filter.parentUsed)
20
21
  return null;
22
+ let selectOptions = [];
23
+ if (filter.type === 'select') {
24
+ const defaultOptionCount = filter.filteredOptions.reduce((acc, option) => acc + option.count, 0);
25
+ selectOptions = [
26
+ {
27
+ value: '',
28
+ element: (react_1.default.createElement(FilterOption, { key: "all", onClick: () => filter.selectOption('') },
29
+ react_1.default.createElement(FilterOptionLabel, null, translate(translationKeys.selectAll, 'All')),
30
+ react_1.default.createElement(FilterOptionCount, null, defaultOptionCount))),
31
+ },
32
+ ];
33
+ selectOptions.push(...filter.filteredOptions.map((option) => ({
34
+ value: option.value,
35
+ element: (react_1.default.createElement(FilterOption, { key: option.value },
36
+ react_1.default.createElement(FilterOptionLabel, null, changeCasing(translate(option.value), filterValuesCasing)),
37
+ react_1.default.createElement(FilterOptionCount, null, option.count))),
38
+ })));
39
+ }
21
40
  return (react_1.default.createElement(FilterGroup, { key: filter.property + filter.title },
22
41
  react_1.default.createElement(FilterTitle, null,
23
42
  translate(filter.titleTranslationKey, filter.title),
24
- ' ',
25
- ((_a = filter.selectedOptions) === null || _a === void 0 ? void 0 : _a.size) ? (react_1.default.createElement("a", { "data-translation-key": translationKeys.clear, onClick: () => filter.selectOption('') }, translate(translationKeys.clear, 'Clear'))) : null),
26
- filter.type === 'select' ? (react_1.default.createElement(StyledSelect, { onChange: (e) => filter.selectOption(e.target.value), value: ((_b = filter.selectedOptions.values().next()) === null || _b === void 0 ? void 0 : _b.value) || '' },
27
- react_1.default.createElement("option", { key: "none", value: "", "data-translation-key": translationKeys.selectAll }, translate(translationKeys.selectAll, 'All')),
28
- filter.filteredOptions.map((value) => {
29
- return (react_1.default.createElement("option", { key: value.value, value: value.value },
30
- translate(value.value),
31
- " (",
32
- value.count,
33
- ")"));
34
- }))) : filter.type === 'date-range' ? (react_1.default.createElement(react_1.default.Fragment, null,
43
+ " "),
44
+ filter.type === 'select' ? (react_1.default.createElement(StyledSelect, { value: ((_a = filter.selectedOptions.values().next()) === null || _a === void 0 ? void 0 : _a.value) || '', onChange: (value) => filter.selectOption(value), options: selectOptions })) : filter.type === 'date-range' ? (react_1.default.createElement(react_1.default.Fragment, null,
35
45
  react_1.default.createElement(DatePickerWrapper, null,
36
46
  react_1.default.createElement("span", null, "From:"),
37
47
  react_1.default.createElement(react_date_picker_1.DatePicker, { closeCalendar: true, format: "y-MM-dd", dayPlaceholder: "DD", monthPlaceholder: "MM", yearPlaceholder: "YYYY", value: filter.selectedOptions.from ? new Date(filter.selectedOptions.from) : null, minDetail: "decade", maxDate: new Date(), onChange: (from) => {
@@ -47,84 +57,101 @@ function Filter({ filter }) {
47
57
  filter.selectOption(Object.assign(Object.assign({}, filter.selectedOptions), { to: formatDateWithNoTimeZone(to) }));
48
58
  } })))) : (filter.filteredOptions.map((value) => {
49
59
  const id = 'filter--' + filter.property + '--' + slug(value.value);
50
- return (react_1.default.createElement(FilterValue, { key: id, role: "link" },
51
- react_1.default.createElement(Checkbox_1.Checkbox, { type: "checkbox", id: id, checked: filter.selectedOptions.has(value.value), onChange: () => filter.toggleOption(value.value) }),
52
- react_1.default.createElement("label", { htmlFor: id },
53
- translate(value.value),
54
- " (",
55
- value.count,
56
- ")")));
60
+ return (react_1.default.createElement(FilterOption, { key: id, role: "link", onClick: () => filter.toggleOption(value.value) },
61
+ react_1.default.createElement(icons_1.CheckboxIcon, { checked: filter.selectedOptions.has(value.value) }),
62
+ react_1.default.createElement(FilterOptionLabel, null, changeCasing(translate(value.value), filterValuesCasing)),
63
+ react_1.default.createElement(FilterOptionCount, null, value.count)));
57
64
  }))));
58
65
  }
59
66
  exports.Filter = Filter;
67
+ function changeCasing(str, casing) {
68
+ if (!casing || casing === 'original' || !str)
69
+ return str;
70
+ if (casing === 'lowercase') {
71
+ return str.toLowerCase();
72
+ }
73
+ if (casing === 'uppercase') {
74
+ return str.toUpperCase();
75
+ }
76
+ if (casing === 'sentence') {
77
+ const words = str.split(/[\s-_]+/);
78
+ return words.map((word) => word[0].toUpperCase() + word.slice(1).toLowerCase()).join(' ');
79
+ }
80
+ }
60
81
  const FilterGroup = styled_components_1.default.div `
61
- padding: 16px 0;
62
- border-bottom: 1px solid var(--border-color);
63
-
64
- &:last-of-type {
65
- border-bottom: none;
66
- }
82
+ padding: var(--filter-group-padding);
83
+ `;
84
+ const FilterOptionLabel = styled_components_1.default.label `
85
+ cursor: pointer;
86
+ font-size: var(--filter-option-label-font-size);
87
+ font-weight: var(--filter-option-label-font-weight);
88
+ margin: var(--filter-option-label-margin);
89
+ color: var(--filter-option-label-color);
90
+ white-space: nowrap;
91
+ text-overflow: ellipsis;
92
+ overflow: hidden;
93
+ `;
94
+ const FilterOptionCount = styled_components_1.default.label `
95
+ cursor: pointer;
96
+ display: flex;
97
+ align-items: center;
98
+ height: var(--filter-option-count-height);
99
+ color: var(--filter-option-count-color);
100
+ text-align: center;
101
+ font-size: var(--filter-option-count-font-size);
102
+ font-weight: var(--filter-option-count-font-weight);
103
+ padding: var(--filter-option-count-padding);
104
+ border-radius: var(--filter-option-count-border-radius);
105
+ border: var(--filter-option-count-border);
106
+ background-color: var(--filter-option-count-background-color);
67
107
  `;
68
108
  const FilterTitle = styled_components_1.default.h4 `
69
- font-size: 18px;
70
- font-weight: var(--font-weight-bold);
71
- margin: 0;
72
- margin-bottom: 16px;
73
-
74
- > a {
75
- font-size: 14px;
76
- cursor: pointer;
77
- }
109
+ font-weight: var(--filter-title-font-weight);
110
+ font-size: var(--filter-title-font-size);
111
+ margin: var(--filter-title-margin);
78
112
  `;
79
- const FilterValue = styled_components_1.default.label `
80
- display: block;
113
+ const FilterOption = styled_components_1.default.label.attrs({ 'data-cy': 'Filter/FilterOption' }) `
114
+ display: flex;
115
+ align-items: center;
81
116
  cursor: pointer;
82
- font-size: 16px;
83
- margin: 8px 0;
117
+ font-weight: var(--filter-option-font-weight);
118
+ font-size: var(--filter-option-font-size);
119
+ margin: var(--filter-option-margin);
84
120
 
85
121
  input {
86
122
  cursor: pointer;
87
123
  }
88
124
  `;
89
- const StyledSelect = styled_components_1.default.select `
90
- border: 1px solid rgba(0, 0, 0, 0.23);
91
-
92
- padding: var(--input-padding);
93
- border-radius: var(--input-border-radius);
94
- background-color: var(--input-background-color);
95
- color: var(--text-color);
96
- font-family: var(--input-font-family);
97
- font-size: var(--input-font-size);
98
- line-height: var(--input-line-height);
125
+ const StyledSelect = (0, styled_components_1.default)(Select_1.Select) `
126
+ min-height: var(--filter-select-min-height);
127
+ color: var(--filter-select-color);
128
+ border: 1px solid var(--filter-select-border-color);
129
+ border-radius: var(--filter-select-border-radius);
130
+ padding: var(--filter-select-padding);
99
131
 
100
- min-width: 200px;
101
- outline-color: var(--color-primary-500);
102
- transition: outline 0.25s ease;
103
- display: inline-block;
104
- text-align: left;
105
- appearance: none;
132
+ :hover {
133
+ border-color: var(--filter-select-hover-border-color);
134
+ }
106
135
 
107
- background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
108
- background-repeat: no-repeat;
109
- background-position: right 10px center;
110
- background-size: 1em;
111
- width: 100%;
112
- padding-right: 25px;
136
+ ${FilterOption} {
137
+ margin: var(--filter-select-option-margin);
138
+ }
113
139
  `;
114
140
  // TODO: import from portal
115
141
  function slug(str) {
116
142
  return str.replace(/\s/g, '-').toLowerCase();
117
143
  }
118
144
  const DatePickerWrapper = styled_components_1.default.div `
145
+ color: var(--filter-date-picker-color);
119
146
  display: flex;
120
147
  flex-direction: row;
121
- margin-bottom: 5px;
148
+ margin: var(--filter-date-picker-margin);
122
149
 
123
150
  align-items: center;
124
- gap: 10px;
151
+ gap: var(--filter-date-picker-gap);
125
152
 
126
153
  > span {
127
- width: 50px;
154
+ width: var(--filter-date-picker-width);
128
155
  }
129
156
 
130
157
  .react-date-picker {
@@ -132,35 +159,41 @@ const DatePickerWrapper = styled_components_1.default.div `
132
159
  }
133
160
 
134
161
  .react-calendar__tile--now {
135
- background: #cbf7f1;
136
- color: black;
162
+ background: var(--filter-date-picker-tile-background);
163
+ color: var(--filter-date-picker-tile-color);
137
164
 
138
165
  &:enabled:hover,
139
166
  &:enabled:focus {
140
- background: #b1efe7;
141
- color: black;
167
+ background: var(--filter-date-picker-tile-hover-background);
168
+ color: var(--filter-date-picker-tile-hover-color);
142
169
  }
143
170
  }
144
171
 
145
- .react-date-picker__inputGroup__input:invalid {
146
- background: rgb(255 125 0 / 10%);
172
+ .react-date-picker__inputGroup__input {
173
+ width: var(--filter-date-picker-input-width);
174
+
175
+ &:invalid {
176
+ background: var(--filter-date-picker-invalid-input-background);
177
+ }
147
178
  }
148
179
 
149
180
  .react-date-picker__button {
150
- padding: 4px 4px;
181
+ padding: var(--filter-date-picker-button-padding);
182
+
151
183
  svg {
152
- width: 12px;
184
+ stroke: var(--filter-date-picker-icon-stroke);
185
+ width: var(--filter-date-picker-icon-width);
153
186
  }
154
- }
155
187
 
156
- .react-date-picker__wrapper {
157
- border: 1px solid rgba(0, 0, 0, 0.23);
158
- border-radius: var(--border-radius);
159
- padding: var(--input-padding);
188
+ &:enabled:hover .react-date-picker__button__icon {
189
+ stroke: var(--filter-date-picker-hover-icon-stroke);
190
+ }
160
191
  }
161
192
 
162
- .react-date-picker__inputGroup__input {
163
- width: 20px;
193
+ .react-date-picker__wrapper {
194
+ border: 1px solid var(--filter-date-picker-wrapper-border-color);
195
+ border-radius: var(--filter-date-picker-wrapper-radius);
196
+ padding: var(--filter-date-picker-wrapper-padding);
164
197
  }
165
198
  `;
166
199
  function padZero(num) {
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import type { ThemeConfig } from '../../config';
3
+ import type { ResolvedFilter } from '../../types/portal/src/shared/types/catalog';
4
+ interface FilterContentProps {
5
+ setFilterTerm: (value: string) => void;
6
+ filters: ResolvedFilter[];
7
+ filterTerm: string;
8
+ isMobile: boolean;
9
+ filterValuesCasing?: NonNullable<ThemeConfig['catalog']>[string]['filterValuesCasing'];
10
+ }
11
+ export declare function FilterContent({ setFilterTerm, filters, filterTerm, isMobile, filterValuesCasing, }: FilterContentProps): JSX.Element;
12
+ export declare const FilterItems: import("styled-components").StyledComponent<"div", any, {}, never>;
13
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FilterItems = exports.FilterContent = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const Button_1 = require("../../components/Button");
10
+ const hooks_1 = require("../../mocks/hooks");
11
+ const Catalog_1 = require("../../components/Catalog");
12
+ const Filter_1 = require("../../components/Filter");
13
+ const Sidebar_1 = require("../../components/Sidebar");
14
+ const FilterPopover_1 = require("../../components/Filter/FilterPopover");
15
+ function FilterContent({ setFilterTerm, filters, filterTerm, isMobile, filterValuesCasing, }) {
16
+ const { translate } = (0, hooks_1.useTranslate)();
17
+ const translationKeys = {
18
+ placeholder: 'theme.catalog.filters.placeholder',
19
+ clearAll: 'theme.catalog.filters.clearAll',
20
+ };
21
+ const hasActiveFilters = filters.some((filter) => {
22
+ if (filter.selectedOptions && filter.selectedOptions instanceof Set) {
23
+ return filter.selectedOptions.size;
24
+ }
25
+ else if (filter.selectedOptions.from && filter.selectedOptions.to) {
26
+ return true;
27
+ }
28
+ });
29
+ const handleClearAll = () => {
30
+ filters.forEach((filter) => filter.selectOption(''));
31
+ };
32
+ return (react_1.default.createElement(FilterContentWrapper, { isMobile: isMobile },
33
+ react_1.default.createElement(Catalog_1.FilterControls, null,
34
+ react_1.default.createElement(FilterPopover_1.StyledInput, { placeholder: translate(translationKeys.placeholder, 'Type to filter...'), value: filterTerm, onChange: (e) => setFilterTerm(e.target.value) })),
35
+ react_1.default.createElement(exports.FilterItems, null, filters.map((filter, idx) => (react_1.default.createElement(Filter_1.Filter, { filter: filter, key: filter.property + '-' + idx, filterValuesCasing: filterValuesCasing })))),
36
+ hasActiveFilters && (react_1.default.createElement(Button_1.Button, { size: "small", onClick: handleClearAll }, translate(translationKeys.placeholder, 'Clear all filters')))));
37
+ }
38
+ exports.FilterContent = FilterContent;
39
+ const FilterContentWrapper = (0, styled_components_1.default)(Sidebar_1.Sidebar) `
40
+ width: var(--sidebar-width);
41
+ display: none;
42
+
43
+ ${Button_1.Button} {
44
+ width: var(--filter-content-clear-button-width);
45
+ margin: var(--filter-content-clear-button-margin);
46
+ }
47
+
48
+ ${({ theme, isMobile }) => !isMobile && theme.mediaQueries.medium} {
49
+ display: block;
50
+ border-right: 1px solid var(--filter-content-border-color);
51
+
52
+ ${Catalog_1.FilterControls} {
53
+ background: var(--filter-controls-background-color);
54
+ }
55
+ }
56
+ `;
57
+ exports.FilterItems = styled_components_1.default.div `
58
+ padding: var(--filter-content-items-padding);
59
+ `;
60
+ //# sourceMappingURL=FilterContent.js.map
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import type { ThemeConfig } from '../../config';
3
+ import type { ResolvedFilter } from '../../types/portal/src/shared/types/catalog';
4
+ interface FilterPopoverProps {
5
+ setIsAddingFilter: (value: boolean) => void;
6
+ filters: ResolvedFilter[];
7
+ filterValuesCasing?: NonNullable<ThemeConfig['catalog']>[string]['filterValuesCasing'];
8
+ }
9
+ export declare function FilterPopover({ setIsAddingFilter, filters, filterValuesCasing, }: FilterPopoverProps): JSX.Element;
10
+ export declare const StyledInput: import("styled-components").StyledComponent<"input", any, {
11
+ 'data-cy': string;
12
+ }, "data-cy">;
13
+ export {};
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StyledInput = exports.FilterPopover = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const Filter_1 = require("../../components/Filter");
10
+ const Catalog_1 = require("../../components/Catalog");
11
+ const FilterContent_1 = require("../../components/Filter/FilterContent");
12
+ const hooks_1 = require("../../mocks/hooks");
13
+ function FilterPopover({ setIsAddingFilter, filters, filterValuesCasing, }) {
14
+ const [filterTerm, setFilterTerm] = react_1.default.useState('');
15
+ const filteredFilters = filters
16
+ .map((filter) => {
17
+ const options = filter.options.filter((option) => option.value.toLowerCase().includes(filterTerm.toLowerCase()));
18
+ return options.length
19
+ ? Object.assign(Object.assign({}, filter), { filteredOptions: options }) : null;
20
+ })
21
+ .filter(Boolean);
22
+ const translationKeys = {
23
+ placeholder: 'theme.catalog.filters.placeholder',
24
+ done: 'theme.catalog.filters.done',
25
+ };
26
+ const { translate } = (0, hooks_1.useTranslate)();
27
+ return (react_1.default.createElement(FilterPopoverWrapper, null,
28
+ react_1.default.createElement(FilterPopoverHeader, null,
29
+ react_1.default.createElement(FilterPopoverHeaderLabel, null, "Add Filter"),
30
+ react_1.default.createElement(FilterPopoverHeaderButton, { onClick: () => setIsAddingFilter(false) }, translate(translationKeys.placeholder, 'Done'))),
31
+ react_1.default.createElement(FilterContent_1.FilterContent, { setFilterTerm: setFilterTerm, filters: filters, filterTerm: filterTerm, filterValuesCasing: filterValuesCasing, isMobile: true }),
32
+ react_1.default.createElement(Catalog_1.FilterControls, null,
33
+ react_1.default.createElement(exports.StyledInput, { placeholder: translate(translationKeys.placeholder, 'Type to filter...'), value: filterTerm, onChange: (e) => setFilterTerm(e.target.value) })),
34
+ react_1.default.createElement(FilterContent_1.FilterItems, null, filteredFilters.map((filter, idx) => (react_1.default.createElement(Filter_1.Filter, { filter: filter, key: filter.property + '-' + idx }))))));
35
+ }
36
+ exports.FilterPopover = FilterPopover;
37
+ const FilterPopoverWrapper = styled_components_1.default.aside `
38
+ position: absolute;
39
+ top: 0;
40
+ z-index: var(--z-index-popover);
41
+ height: 100vh;
42
+ overflow: auto;
43
+ transition: height 0.2s ease-in-out;
44
+ width: 100%;
45
+ background-color: var(--filter-popover-background-color);
46
+ display: block;
47
+
48
+ ${({ theme }) => theme.mediaQueries.medium} {
49
+ display: none;
50
+ }
51
+ `;
52
+ const FilterPopoverHeader = styled_components_1.default.div `
53
+ height: var(--navbar-height);
54
+ padding: var(--filter-popover-header-padding);
55
+ display: grid;
56
+ align-items: center;
57
+ grid-template-columns: 1fr 1fr 1fr;
58
+ border-bottom: 1px solid var(--filter-popover-header-border-color);
59
+ background-color: var(--filter-popover-header-background-color);
60
+ `;
61
+ const FilterPopoverHeaderLabel = styled_components_1.default.div `
62
+ color: var(--filter-popover-header-label-color);
63
+ justify-self: center;
64
+ grid-column-start: 2;
65
+ font-size: var(--filter-popover-header-label-font-size);
66
+ font-weight: var(--filter-popover-header-label-font-weight);
67
+ `;
68
+ const FilterPopoverHeaderButton = styled_components_1.default.div.attrs({
69
+ 'data-cy': 'FilterPopover/DoneButton',
70
+ }) `
71
+ color: var(--filter-popover-header-button-color);
72
+ justify-self: end;
73
+ font-size: var(--filter-popover-header-button-font-size);
74
+ font-weight: var(--filter-popover-header-button-font-weight);
75
+ height: var(--filter-popover-header-button-height);
76
+ line-height: var(--filter-popover-header-button-height);
77
+ `;
78
+ exports.StyledInput = styled_components_1.default.input.attrs({ 'data-cy': 'FilterPopover/Input' }) `
79
+ border: var(--filter-input-border);
80
+ min-width: var(--filter-input-min-width);
81
+ width: 100%;
82
+ outline: none;
83
+ padding: var(--filter-input-padding);
84
+ border-radius: var(--filter-input-border-radius);
85
+ background-color: var(--filter-input-background-color);
86
+ color: var(--filter-input-color);
87
+ font-family: var(--filter-input-font-family);
88
+ font-size: var(--filter-input-font-size);
89
+ line-height: var(--filter-input-line-height);
90
+
91
+ &::placeholder {
92
+ opacity: var(--filter-input-placeholder-opacity);
93
+ color: var(--filter-input-placeholder-color);
94
+ }
95
+
96
+ &:hover {
97
+ color: var(--filter-input-hover-color);
98
+ border: var(--filter-input-hover-border);
99
+ }
100
+
101
+ &:focus {
102
+ color: var(--filter-input-focus-color);
103
+ border: var(--filter-input-focus-border);
104
+ }
105
+
106
+ &:-webkit-autofill {
107
+ background-color: var(--filter-input-background-color);
108
+ }
109
+ `;
110
+ //# sourceMappingURL=FilterPopover.js.map
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface FilterTagProps {
3
+ label: string;
4
+ onClick: () => void;
5
+ }
6
+ export declare function FilterTag({ label, onClick }: FilterTagProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FilterTag = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const ClearIcon_1 = require("../../components/Search/ClearIcon");
10
+ function FilterTag({ label, onClick }) {
11
+ return (react_1.default.createElement(TagWrapper, { onClick: onClick },
12
+ react_1.default.createElement(TagLabel, null, label),
13
+ react_1.default.createElement(ClearIcon_1.ClearIcon, null)));
14
+ }
15
+ exports.FilterTag = FilterTag;
16
+ const TagWrapper = styled_components_1.default.div.attrs({ 'data-cy': 'Filter/FilterTag' }) `
17
+ display: flex;
18
+ align-items: center;
19
+ white-space: nowrap;
20
+ cursor: pointer;
21
+ color: var(--filter-tag-color);
22
+ border-radius: var(--filter-tag-border-radius);
23
+ border: 1px solid var(--filter-tag-border-color);
24
+ background-color: var(--filter-tag-background-color);
25
+ padding: var(--filter-tag-padding);
26
+ font-size: var(--filter-tag-font-size);
27
+ font-weight: var(--filter-tag-font-weight);
28
+ margin: var(--filter-tag-margin);
29
+ `;
30
+ const TagLabel = styled_components_1.default.div `
31
+ margin: var(--filter-tag-label-margin);
32
+ `;
33
+ //# sourceMappingURL=FilterTag.js.map
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { ResolvedFilter } from '../../types/portal/src/shared/types/catalog';
3
+ interface FilterTagsProps {
4
+ filters: ResolvedFilter[];
5
+ }
6
+ export declare function FilterTags({ filters }: FilterTagsProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FilterTags = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const FilterTag_1 = require("../../components/Filter/FilterTag");
10
+ function FilterTags({ filters }) {
11
+ const selectedFilters = [];
12
+ filters.forEach((filter) => {
13
+ var _a;
14
+ if ((_a = filter.selectedOptions) === null || _a === void 0 ? void 0 : _a.size) {
15
+ for (let selectedOption of filter.selectedOptions) {
16
+ selectedFilters.push({
17
+ filter,
18
+ selectedOption,
19
+ });
20
+ }
21
+ }
22
+ });
23
+ return (react_1.default.createElement(FilterTagsWrapper, null, selectedFilters.map(({ filter, selectedOption }) => (react_1.default.createElement(FilterTag_1.FilterTag, { key: `${filter.title}: ${selectedOption}`, onClick: () => filter.toggleOption(selectedOption), label: `${filter.title}: ${selectedOption}` })))));
24
+ }
25
+ exports.FilterTags = FilterTags;
26
+ const FilterTagsWrapper = styled_components_1.default.div `
27
+ display: flex;
28
+ `;
29
+ //# sourceMappingURL=FilterTags.js.map
@@ -1 +1,6 @@
1
1
  export * from '../../components/Filter/Filter';
2
+ export * from '../../components/Filter/FilterContent';
3
+ export * from '../../components/Filter/FilterPopover';
4
+ export * from '../../components/Filter/FilterTags';
5
+ export * from '../../components/Filter/FilterTag';
6
+ export * from '../../components/Filter/styledVariables';
@@ -15,4 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("../../components/Filter/Filter"), exports);
18
+ __exportStar(require("../../components/Filter/FilterContent"), exports);
19
+ __exportStar(require("../../components/Filter/FilterPopover"), exports);
20
+ __exportStar(require("../../components/Filter/FilterTags"), exports);
21
+ __exportStar(require("../../components/Filter/FilterTag"), exports);
22
+ __exportStar(require("../../components/Filter/styledVariables"), exports);
18
23
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare const filter: import("styled-components").FlattenSimpleInterpolation;