@redocly/theme 0.56.0-rc.2 → 0.56.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 (870) hide show
  1. package/lib/components/Admonition/Admonition.js +21 -11
  2. package/lib/components/Badge/Badge.js +17 -7
  3. package/lib/components/Breadcrumbs/Breadcrumb.js +1 -1
  4. package/lib/components/Breadcrumbs/Breadcrumbs.js +3 -3
  5. package/lib/components/Button/Button.d.ts +1 -1
  6. package/lib/components/Button/Button.js +21 -9
  7. package/lib/components/Button/ButtonGroup.d.ts +12 -0
  8. package/lib/components/Button/ButtonGroup.js +38 -0
  9. package/lib/components/Button/variables.js +32 -5
  10. package/lib/components/Buttons/CopyButton.d.ts +2 -2
  11. package/lib/components/Buttons/CopyButton.js +22 -12
  12. package/lib/components/Buttons/EditPageButton.js +3 -3
  13. package/lib/components/Buttons/EmailButton.js +2 -2
  14. package/lib/components/Buttons/NewTabButton.js +2 -2
  15. package/lib/components/Catalog/Catalog.d.ts +2 -2
  16. package/lib/components/Catalog/Catalog.js +12 -12
  17. package/lib/components/Catalog/CatalogActionsRow.d.ts +1 -1
  18. package/lib/components/Catalog/CatalogActionsRow.js +3 -3
  19. package/lib/components/Catalog/CatalogCardView/CatalogCard.d.ts +1 -1
  20. package/lib/components/Catalog/CatalogCardView/CatalogCard.js +18 -13
  21. package/lib/components/Catalog/CatalogCardView/CatalogCardView.d.ts +1 -1
  22. package/lib/components/Catalog/CatalogCardView/CatalogCardView.js +1 -1
  23. package/lib/components/Catalog/CatalogEntities.d.ts +1 -1
  24. package/lib/components/Catalog/CatalogEntities.js +24 -14
  25. package/lib/components/Catalog/CatalogEntitiesEmptyState.d.ts +5 -1
  26. package/lib/components/Catalog/CatalogEntitiesEmptyState.js +25 -4
  27. package/lib/components/Catalog/CatalogEntity/CatalogEntity.d.ts +2 -4
  28. package/lib/components/Catalog/CatalogEntity/CatalogEntity.js +29 -25
  29. package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.d.ts +4 -2
  30. package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.js +15 -7
  31. package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.d.ts +1 -1
  32. package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.js +9 -9
  33. package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.d.ts +1 -1
  34. package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.js +39 -12
  35. package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.d.ts +6 -0
  36. package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.js +47 -0
  37. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ApiDescriptionProperty.d.ts +1 -1
  38. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ApiDescriptionProperty.js +10 -3
  39. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.d.ts +1 -1
  40. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.js +15 -9
  41. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.d.ts +2 -1
  42. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.js +12 -5
  43. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.d.ts +1 -1
  44. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.js +4 -4
  45. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.d.ts +1 -1
  46. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.js +4 -4
  47. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.d.ts +1 -1
  48. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.js +10 -5
  49. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.d.ts +6 -0
  50. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.js +19 -0
  51. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.d.ts +1 -1
  52. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.js +5 -5
  53. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.d.ts +1 -1
  54. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +3 -3
  55. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.d.ts +1 -1
  56. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.js +5 -4
  57. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.d.ts +1 -1
  58. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.js +3 -3
  59. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.d.ts +3 -2
  60. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.js +7 -13
  61. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.d.ts +4 -2
  62. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.js +22 -16
  63. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.d.ts +5 -4
  64. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.js +10 -10
  65. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.d.ts +1 -1
  66. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +11 -11
  67. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.d.ts +6 -0
  68. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +55 -0
  69. package/lib/components/Catalog/CatalogEntityIcon.d.ts +2 -1
  70. package/lib/components/Catalog/CatalogEntityIcon.js +26 -33
  71. package/lib/components/Catalog/CatalogEntityTypeIcon.d.ts +2 -1
  72. package/lib/components/Catalog/CatalogEntityTypeIcon.js +11 -23
  73. package/lib/components/Catalog/CatalogEntityTypeTag.d.ts +7 -0
  74. package/lib/components/Catalog/CatalogEntityTypeTag.js +40 -0
  75. package/lib/components/Catalog/CatalogPageDescription.js +5 -5
  76. package/lib/components/Catalog/CatalogSelector.d.ts +2 -2
  77. package/lib/components/Catalog/CatalogSelector.js +6 -5
  78. package/lib/components/Catalog/CatalogSortButton.d.ts +1 -1
  79. package/lib/components/Catalog/CatalogSortButton.js +28 -18
  80. package/lib/components/Catalog/CatalogTableView/CatalogDomainsCell.js +2 -1
  81. package/lib/components/Catalog/CatalogTableView/CatalogEntityCell.d.ts +1 -1
  82. package/lib/components/Catalog/CatalogTableView/CatalogEntityCell.js +4 -16
  83. package/lib/components/Catalog/CatalogTableView/CatalogEntityRelationCell.d.ts +1 -1
  84. package/lib/components/Catalog/CatalogTableView/CatalogEntityRelationCell.js +1 -1
  85. package/lib/components/Catalog/CatalogTableView/CatalogOwnersCell.js +2 -1
  86. package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.d.ts +2 -2
  87. package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.js +21 -15
  88. package/lib/components/Catalog/CatalogTableView/CatalogTableView.d.ts +3 -3
  89. package/lib/components/Catalog/CatalogTableView/CatalogTableView.js +11 -38
  90. package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.d.ts +0 -2
  91. package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.js +17 -42
  92. package/lib/components/Catalog/CatalogTableView/CatalogTagsCell.d.ts +1 -1
  93. package/lib/components/Catalog/CatalogTableView/CatalogTagsCell.js +2 -1
  94. package/lib/components/Catalog/CatalogTableView/CatalogUserEntityCell.js +9 -5
  95. package/lib/components/Catalog/CatalogTagsWithTooltip.d.ts +1 -1
  96. package/lib/components/Catalog/CatalogTagsWithTooltip.js +5 -5
  97. package/lib/components/Catalog/CatalogViewModeToggle.d.ts +1 -1
  98. package/lib/components/Catalog/CatalogViewModeToggle.js +19 -9
  99. package/lib/components/Catalog/variables.js +42 -8
  100. package/lib/components/CatalogClassic/CatalogClassic.d.ts +1 -1
  101. package/lib/components/CatalogClassic/CatalogClassic.js +9 -9
  102. package/lib/components/CatalogClassic/CatalogClassicActions.d.ts +1 -1
  103. package/lib/components/CatalogClassic/CatalogClassicActions.js +22 -12
  104. package/lib/components/CatalogClassic/CatalogClassicCard.d.ts +1 -1
  105. package/lib/components/CatalogClassic/CatalogClassicCard.js +24 -14
  106. package/lib/components/CatalogClassic/CatalogClassicHighlight.js +17 -7
  107. package/lib/components/CatalogClassic/CatalogClassicInfoBlock.js +4 -4
  108. package/lib/components/CatalogClassic/CatalogClassicVirtualizedGroups.d.ts +1 -1
  109. package/lib/components/CatalogClassic/CatalogClassicVirtualizedGroups.js +21 -11
  110. package/lib/components/CodeBlock/CodeBlock.d.ts +17 -7
  111. package/lib/components/CodeBlock/CodeBlock.js +25 -14
  112. package/lib/components/CodeBlock/CodeBlockContainer.js +18 -8
  113. package/lib/components/CodeBlock/CodeBlockControls.d.ts +4 -3
  114. package/lib/components/CodeBlock/CodeBlockControls.js +45 -18
  115. package/lib/components/CodeBlock/CodeBlockDropdown.d.ts +3 -0
  116. package/lib/components/CodeBlock/CodeBlockDropdown.js +35 -0
  117. package/lib/components/CodeBlock/CodeBlockTabs.d.ts +2 -2
  118. package/lib/components/CodeBlock/CodeBlockTabs.js +39 -20
  119. package/lib/components/CodeBlock/variables.js +1 -1
  120. package/lib/components/ColorModeSwitcher/ColorModeIcon.js +3 -3
  121. package/lib/components/ColorModeSwitcher/ColorModeSwitcher.js +3 -3
  122. package/lib/components/Dropdown/Dropdown.js +21 -10
  123. package/lib/components/Dropdown/DropdownMenu.d.ts +1 -1
  124. package/lib/components/Dropdown/DropdownMenu.js +5 -1
  125. package/lib/components/Dropdown/DropdownMenuItem.d.ts +1 -1
  126. package/lib/components/Dropdown/DropdownMenuItem.js +18 -8
  127. package/lib/components/Dropdown/variables.js +1 -0
  128. package/lib/components/Feedback/Comment.js +20 -10
  129. package/lib/components/Feedback/Feedback.d.ts +1 -1
  130. package/lib/components/Feedback/Feedback.js +25 -15
  131. package/lib/components/Feedback/Mood.js +25 -15
  132. package/lib/components/Feedback/Rating.js +23 -13
  133. package/lib/components/Feedback/Reasons.js +18 -8
  134. package/lib/components/Feedback/ReportDialog.d.ts +1 -1
  135. package/lib/components/Feedback/ReportDialog.js +3 -3
  136. package/lib/components/Feedback/Scale.js +23 -13
  137. package/lib/components/Feedback/Sentiment.js +24 -14
  138. package/lib/components/Feedback/Stars.js +19 -9
  139. package/lib/components/Filter/Filter.d.ts +1 -1
  140. package/lib/components/Filter/Filter.js +3 -3
  141. package/lib/components/Filter/FilterCheckboxes.d.ts +1 -1
  142. package/lib/components/Filter/FilterCheckboxes.js +13 -10
  143. package/lib/components/Filter/FilterContent.d.ts +2 -2
  144. package/lib/components/Filter/FilterContent.js +22 -12
  145. package/lib/components/Filter/FilterDateRange.d.ts +1 -1
  146. package/lib/components/Filter/FilterDateRange.js +5 -5
  147. package/lib/components/Filter/FilterInput.js +19 -9
  148. package/lib/components/Filter/FilterPopover.d.ts +2 -2
  149. package/lib/components/Filter/FilterPopover.js +3 -3
  150. package/lib/components/Filter/FilterSelect.d.ts +1 -1
  151. package/lib/components/Filter/FilterSelect.js +7 -7
  152. package/lib/components/Footer/Footer.js +5 -5
  153. package/lib/components/Footer/FooterColumn.js +3 -3
  154. package/lib/components/Footer/FooterCopyright.js +2 -2
  155. package/lib/components/Footer/FooterItem.js +8 -11
  156. package/lib/components/Footer/variables.js +2 -2
  157. package/lib/components/Image/Image.js +20 -8
  158. package/lib/components/JsonViewer/JsonViewer.d.ts +1 -1
  159. package/lib/components/JsonViewer/JsonViewer.js +18 -8
  160. package/lib/components/JsonViewer/helpers.js +19 -9
  161. package/lib/components/LanguagePicker/LanguagePicker.js +7 -7
  162. package/lib/components/LastUpdated/LastUpdated.js +19 -9
  163. package/lib/components/Link/Link.js +18 -8
  164. package/lib/components/LoadMore/LoadMore.js +1 -1
  165. package/lib/components/Loaders/Loading.js +2 -2
  166. package/lib/components/Logo/Logo.d.ts +1 -1
  167. package/lib/components/Logo/Logo.js +3 -3
  168. package/lib/components/Markdown/Markdown.js +29 -19
  169. package/lib/components/Markdown/styles/headingAnchor.js +0 -1
  170. package/lib/components/Marker/Marker.d.ts +1 -1
  171. package/lib/components/Marker/Marker.js +17 -7
  172. package/lib/components/Menu/Menu.d.ts +1 -1
  173. package/lib/components/Menu/Menu.js +3 -3
  174. package/lib/components/Menu/MenuContainer.d.ts +1 -1
  175. package/lib/components/Menu/MenuContainer.js +17 -7
  176. package/lib/components/Menu/MenuItem.d.ts +1 -1
  177. package/lib/components/Menu/MenuItem.js +32 -22
  178. package/lib/components/Menu/MenuMobile.js +27 -17
  179. package/lib/components/Menu/variables.js +3 -1
  180. package/lib/components/Navbar/Navbar.js +13 -13
  181. package/lib/components/Navbar/NavbarItem.js +15 -46
  182. package/lib/components/Navbar/NavbarLogo.d.ts +1 -1
  183. package/lib/components/Navbar/NavbarLogo.js +1 -1
  184. package/lib/components/Navbar/NavbarMenu.js +2 -2
  185. package/lib/components/Navbar/variables.js +2 -2
  186. package/lib/components/PageActions/PageActions.d.ts +6 -0
  187. package/lib/components/PageActions/PageActions.js +114 -0
  188. package/lib/components/PageActions/PageActionsMenuItem.d.ts +7 -0
  189. package/lib/components/PageActions/PageActionsMenuItem.js +58 -0
  190. package/lib/components/PageActions/variables.d.ts +1 -0
  191. package/lib/components/PageActions/variables.dark.d.ts +1 -0
  192. package/lib/components/PageActions/variables.dark.js +9 -0
  193. package/lib/components/PageActions/variables.js +37 -0
  194. package/lib/components/PageNavigation/NavigationButton.js +3 -3
  195. package/lib/components/PageNavigation/NextButton.js +20 -10
  196. package/lib/components/PageNavigation/PageNavigation.js +3 -3
  197. package/lib/components/PageNavigation/PreviousButton.js +3 -3
  198. package/lib/components/Panel/Panel.d.ts +1 -1
  199. package/lib/components/Panel/Panel.js +22 -12
  200. package/lib/components/Panel/PanelBody.js +17 -7
  201. package/lib/components/Portal/Portal.js +1 -1
  202. package/lib/components/Product/Product.d.ts +1 -1
  203. package/lib/components/Product/ProductPicker.js +7 -7
  204. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.d.ts +1 -1
  205. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +20 -10
  206. package/lib/components/Search/FilterFields/SearchFilterFieldTags.d.ts +1 -1
  207. package/lib/components/Search/FilterFields/SearchFilterFieldTags.js +1 -1
  208. package/lib/components/Search/Search.js +3 -3
  209. package/lib/components/Search/SearchAiConversationInput.js +21 -11
  210. package/lib/components/Search/SearchAiDialog.d.ts +2 -2
  211. package/lib/components/Search/SearchAiDialog.js +24 -14
  212. package/lib/components/Search/SearchAiMessage.d.ts +1 -1
  213. package/lib/components/Search/SearchAiMessage.js +7 -7
  214. package/lib/components/Search/SearchAiResponse.d.ts +1 -1
  215. package/lib/components/Search/SearchAiResponse.js +12 -12
  216. package/lib/components/Search/SearchDialog.js +40 -30
  217. package/lib/components/Search/SearchFilter.d.ts +1 -1
  218. package/lib/components/Search/SearchFilter.js +21 -11
  219. package/lib/components/Search/SearchFilterField.d.ts +1 -1
  220. package/lib/components/Search/SearchFilterField.js +5 -5
  221. package/lib/components/Search/SearchGroups.d.ts +1 -1
  222. package/lib/components/Search/SearchGroups.js +18 -8
  223. package/lib/components/Search/SearchHighlight.js +17 -7
  224. package/lib/components/Search/SearchInput.js +6 -6
  225. package/lib/components/Search/SearchItem.d.ts +1 -1
  226. package/lib/components/Search/SearchItem.js +24 -14
  227. package/lib/components/Search/SearchRecent.js +22 -12
  228. package/lib/components/Search/SearchShortcut.js +17 -7
  229. package/lib/components/Search/SearchSuggestedPages.js +20 -10
  230. package/lib/components/Search/SearchTrigger.js +21 -11
  231. package/lib/components/Segmented/Segmented.d.ts +1 -1
  232. package/lib/components/Segmented/Segmented.js +18 -8
  233. package/lib/components/Select/Select.d.ts +1 -1
  234. package/lib/components/Select/Select.js +23 -13
  235. package/lib/components/Select/SelectInput.d.ts +1 -1
  236. package/lib/components/Select/SelectInput.js +20 -10
  237. package/lib/components/Select/variables.js +2 -2
  238. package/lib/components/Sidebar/Sidebar.d.ts +1 -1
  239. package/lib/components/Sidebar/Sidebar.js +20 -10
  240. package/lib/components/SidebarActions/ChangeViewButton.d.ts +1 -1
  241. package/lib/components/SidebarActions/ChangeViewButton.js +5 -5
  242. package/lib/components/SidebarActions/SidebarActions.js +6 -6
  243. package/lib/components/SidebarActions/styled.js +18 -8
  244. package/lib/components/SkipContent/SkipContent.js +19 -9
  245. package/lib/components/Switch/Switch.js +17 -7
  246. package/lib/components/TableOfContent/TableOfContent.d.ts +1 -1
  247. package/lib/components/TableOfContent/TableOfContent.js +34 -21
  248. package/lib/components/Tag/Tag.d.ts +2 -1
  249. package/lib/components/Tag/Tag.js +5 -5
  250. package/lib/components/Tag/variables.js +14 -0
  251. package/lib/components/Tags/CounterTag.d.ts +1 -1
  252. package/lib/components/Tags/CounterTag.js +1 -1
  253. package/lib/components/Tags/HttpTag.d.ts +1 -1
  254. package/lib/components/Tags/HttpTag.js +1 -1
  255. package/lib/components/Tooltip/Tooltip.js +18 -8
  256. package/lib/components/Tooltip/TooltipWrapper.d.ts +1 -1
  257. package/lib/components/Tooltip/TooltipWrapper.js +2 -2
  258. package/lib/components/Typography/CompactTypography.d.ts +1 -1
  259. package/lib/components/Typography/CompactTypography.js +1 -1
  260. package/lib/components/Typography/H1.js +1 -1
  261. package/lib/components/Typography/H2.js +1 -1
  262. package/lib/components/Typography/H3.js +1 -1
  263. package/lib/components/Typography/H4.js +1 -1
  264. package/lib/components/UserMenu/LoginButton.js +2 -2
  265. package/lib/components/UserMenu/LogoutMenuItem.js +3 -3
  266. package/lib/components/UserMenu/UserAvatar.js +1 -1
  267. package/lib/components/UserMenu/UserInfoMenuItem.js +2 -2
  268. package/lib/components/UserMenu/UserMenu.js +9 -9
  269. package/lib/components/UserMenu/UserMenuMobile.js +4 -4
  270. package/lib/components/VersionPicker/VersionPicker.d.ts +2 -2
  271. package/lib/components/VersionPicker/VersionPicker.js +20 -10
  272. package/lib/core/constants/catalog.d.ts +1 -1
  273. package/lib/core/constants/common.d.ts +4 -0
  274. package/lib/core/constants/common.js +5 -1
  275. package/lib/core/contexts/CodeSnippetContext.d.ts +7 -0
  276. package/lib/core/contexts/CodeSnippetContext.js +23 -0
  277. package/lib/core/contexts/index.d.ts +1 -0
  278. package/lib/core/contexts/index.js +1 -0
  279. package/lib/core/hooks/__mocks__/use-theme-hooks.d.ts +1 -0
  280. package/lib/core/hooks/__mocks__/use-theme-hooks.js +1 -0
  281. package/lib/core/hooks/catalog/useCatalogTableHeaderCellActions.d.ts +1 -1
  282. package/lib/core/hooks/code-walkthrough/use-renderable-files.d.ts +1 -2
  283. package/lib/core/hooks/code-walkthrough/use-renderable-files.js +2 -2
  284. package/lib/core/hooks/index.d.ts +1 -0
  285. package/lib/core/hooks/index.js +1 -0
  286. package/lib/core/hooks/use-active-heading.d.ts +7 -2
  287. package/lib/core/hooks/use-active-heading.js +160 -23
  288. package/lib/core/hooks/use-active-section-id.d.ts +1 -1
  289. package/lib/core/hooks/use-active-section-id.js +2 -2
  290. package/lib/core/hooks/use-codeblock-tabs-controls.d.ts +2 -2
  291. package/lib/core/hooks/use-codeblock-tabs-controls.js +6 -6
  292. package/lib/core/hooks/use-local-state.d.ts +1 -0
  293. package/lib/core/hooks/use-local-state.js +32 -0
  294. package/lib/core/hooks/use-page-actions.d.ts +2 -0
  295. package/lib/core/hooks/use-page-actions.js +105 -0
  296. package/lib/core/hooks/use-theme-hooks.js +2 -0
  297. package/lib/core/styles/dark.js +13 -11
  298. package/lib/core/styles/global.js +40 -38
  299. package/lib/core/templates/Markdown.js +22 -12
  300. package/lib/core/types/catalog.d.ts +6 -2
  301. package/lib/core/types/hooks.d.ts +3 -2
  302. package/lib/core/types/index.d.ts +1 -0
  303. package/lib/core/types/index.js +1 -0
  304. package/lib/core/types/l10n.d.ts +1 -1
  305. package/lib/core/types/page-actions.d.ts +15 -0
  306. package/lib/core/types/page-actions.js +3 -0
  307. package/lib/core/types/search.d.ts +1 -1
  308. package/lib/core/types/sidebar.d.ts +1 -0
  309. package/lib/core/types/telemetry.d.ts +5 -20
  310. package/lib/core/utils/download-code-walkthrough.js +37 -7
  311. package/lib/core/utils/enhanced-smoothstep.d.ts +5 -0
  312. package/lib/core/utils/enhanced-smoothstep.js +15 -0
  313. package/lib/core/utils/get-file-icon.d.ts +3 -2
  314. package/lib/core/utils/get-file-icon.js +119 -29
  315. package/lib/core/utils/icon-resolver.d.ts +28 -0
  316. package/lib/core/utils/icon-resolver.js +52 -0
  317. package/lib/core/utils/index.d.ts +4 -1
  318. package/lib/core/utils/index.js +4 -1
  319. package/lib/core/utils/lang-to-name.d.ts +1 -0
  320. package/lib/core/utils/lang-to-name.js +37 -0
  321. package/lib/core/utils/{text-transform.js → string.js} +1 -1
  322. package/lib/ext/configure.d.ts +1 -1
  323. package/lib/icons/AddIcon/AddIcon.d.ts +1 -1
  324. package/lib/icons/AddIcon/AddIcon.js +1 -1
  325. package/lib/icons/AiStarsGradientIcon/AiStarsGradientIcon.d.ts +1 -1
  326. package/lib/icons/AiStarsGradientIcon/AiStarsGradientIcon.js +1 -1
  327. package/lib/icons/AiStarsIcon/AiStarsIcon.d.ts +1 -1
  328. package/lib/icons/AiStarsIcon/AiStarsIcon.js +1 -1
  329. package/lib/icons/ArrowDownIcon/ArrowDownIcon.d.ts +1 -1
  330. package/lib/icons/ArrowDownIcon/ArrowDownIcon.js +1 -1
  331. package/lib/icons/ArrowLeftIcon/ArrowLeftIcon.d.ts +1 -1
  332. package/lib/icons/ArrowLeftIcon/ArrowLeftIcon.js +1 -1
  333. package/lib/icons/ArrowRightIcon/ArrowRightIcon.d.ts +1 -1
  334. package/lib/icons/ArrowRightIcon/ArrowRightIcon.js +1 -1
  335. package/lib/icons/ArrowUpRightIcon/ArrowUpRightIcon.d.ts +1 -1
  336. package/lib/icons/ArrowUpRightIcon/ArrowUpRightIcon.js +1 -1
  337. package/lib/icons/AscSortIcon/AscSortIcon.d.ts +1 -1
  338. package/lib/icons/AscSortIcon/AscSortIcon.js +1 -1
  339. package/lib/icons/BareMetalServerIcon/BareMetalServerIcon.d.ts +1 -1
  340. package/lib/icons/BareMetalServerIcon/BareMetalServerIcon.js +1 -1
  341. package/lib/icons/BookmarkAddIcon/BookmarkAddIcon.d.ts +1 -1
  342. package/lib/icons/BookmarkAddIcon/BookmarkAddIcon.js +1 -1
  343. package/lib/icons/CDNIcon/CDNIcon.d.ts +14 -0
  344. package/lib/icons/CDNIcon/CDNIcon.js +48 -0
  345. package/lib/icons/CardsIcon/CardsIcon.d.ts +1 -1
  346. package/lib/icons/CardsIcon/CardsIcon.js +1 -1
  347. package/lib/icons/CaretDownIcon/CaretDownIcon.d.ts +1 -1
  348. package/lib/icons/CaretDownIcon/CaretDownIcon.js +1 -1
  349. package/lib/icons/CaretUpIcon/CaretUpIcon.d.ts +1 -1
  350. package/lib/icons/CaretUpIcon/CaretUpIcon.js +1 -1
  351. package/lib/icons/CertificateIcon/CertificateIcon.d.ts +1 -1
  352. package/lib/icons/CertificateIcon/CertificateIcon.js +1 -1
  353. package/lib/icons/CharacterIcon/CharacterIcon.d.ts +1 -1
  354. package/lib/icons/CharacterIcon/CharacterIcon.js +1 -1
  355. package/lib/icons/ChatGptIcon/ChatGptIcon.d.ts +9 -0
  356. package/lib/icons/ChatGptIcon/ChatGptIcon.js +22 -0
  357. package/lib/icons/ChatIcon/ChatIcon.d.ts +1 -1
  358. package/lib/icons/ChatIcon/ChatIcon.js +1 -1
  359. package/lib/icons/CheckboxFilledIcon/CheckboxFilledIcon.d.ts +1 -1
  360. package/lib/icons/CheckboxFilledIcon/CheckboxFilledIcon.js +1 -1
  361. package/lib/icons/CheckmarkFilledIcon/CheckmarkFilledIcon.d.ts +1 -1
  362. package/lib/icons/CheckmarkFilledIcon/CheckmarkFilledIcon.js +1 -1
  363. package/lib/icons/CheckmarkIcon/CheckmarkIcon.d.ts +1 -1
  364. package/lib/icons/CheckmarkIcon/CheckmarkIcon.js +1 -1
  365. package/lib/icons/CheckmarkOutlineIcon/CheckmarkOutlineIcon.d.ts +9 -0
  366. package/lib/icons/CheckmarkOutlineIcon/CheckmarkOutlineIcon.js +23 -0
  367. package/lib/icons/ChevronDownIcon/ChevronDownIcon.d.ts +1 -1
  368. package/lib/icons/ChevronDownIcon/ChevronDownIcon.js +1 -1
  369. package/lib/icons/ChevronLeftIcon/ChevronLeftIcon.d.ts +1 -1
  370. package/lib/icons/ChevronLeftIcon/ChevronLeftIcon.js +1 -1
  371. package/lib/icons/ChevronRightIcon/ChevronRightIcon.d.ts +1 -1
  372. package/lib/icons/ChevronRightIcon/ChevronRightIcon.js +1 -1
  373. package/lib/icons/ChevronSortIcon/ChevronSortIcon.js +1 -1
  374. package/lib/icons/ChevronUpIcon/ChevronUpIcon.d.ts +1 -1
  375. package/lib/icons/ChevronUpIcon/ChevronUpIcon.js +1 -1
  376. package/lib/icons/CircleDashIcon/CircleDashIcon.d.ts +1 -1
  377. package/lib/icons/CircleDashIcon/CircleDashIcon.js +1 -1
  378. package/lib/icons/ClaudeIcon/ClaudeIcon.d.ts +9 -0
  379. package/lib/icons/ClaudeIcon/ClaudeIcon.js +22 -0
  380. package/lib/icons/CleanIcon/CleanIcon.d.ts +1 -1
  381. package/lib/icons/CleanIcon/CleanIcon.js +1 -1
  382. package/lib/icons/CloseFilledIcon/CloseFilledIcon.d.ts +1 -1
  383. package/lib/icons/CloseFilledIcon/CloseFilledIcon.js +1 -1
  384. package/lib/icons/CloseIcon/CloseIcon.d.ts +1 -1
  385. package/lib/icons/CloseIcon/CloseIcon.js +1 -1
  386. package/lib/icons/CloseOutlineIcon/CloseOutlineIcon.d.ts +1 -1
  387. package/lib/icons/CloseOutlineIcon/CloseOutlineIcon.js +1 -1
  388. package/lib/icons/CloudUploadIcon/CloudUploadIcon.d.ts +1 -1
  389. package/lib/icons/CloudUploadIcon/CloudUploadIcon.js +1 -1
  390. package/lib/icons/CodeIcon/CodeIcon.d.ts +1 -1
  391. package/lib/icons/CodeIcon/CodeIcon.js +1 -1
  392. package/lib/icons/ContrastIcon/ContrastIcon.d.ts +1 -1
  393. package/lib/icons/ContrastIcon/ContrastIcon.js +1 -1
  394. package/lib/icons/CookieIcon/CookieIcon.d.ts +1 -1
  395. package/lib/icons/CookieIcon/CookieIcon.js +1 -1
  396. package/lib/icons/CopyIcon/CopyIcon.d.ts +1 -1
  397. package/lib/icons/CopyIcon/CopyIcon.js +1 -1
  398. package/lib/icons/CopyLinkIcon/CopyLinkIcon.d.ts +1 -1
  399. package/lib/icons/CopyLinkIcon/CopyLinkIcon.js +1 -1
  400. package/lib/icons/CurveAutoColonIcon/CurveAutoColonIcon.d.ts +1 -1
  401. package/lib/icons/CurveAutoColonIcon/CurveAutoColonIcon.js +1 -1
  402. package/lib/icons/DataFormatIcon/DataFormatIcon.d.ts +1 -1
  403. package/lib/icons/DataFormatIcon/DataFormatIcon.js +1 -1
  404. package/lib/icons/DataRefineryIcon/DataRefineryIcon.d.ts +1 -1
  405. package/lib/icons/DataRefineryIcon/DataRefineryIcon.js +1 -1
  406. package/lib/icons/DatabaseIcon/DatabaseIcon.d.ts +1 -1
  407. package/lib/icons/DatabaseIcon/DatabaseIcon.js +1 -1
  408. package/lib/icons/DescSortIcon/DescSortIcon.d.ts +1 -1
  409. package/lib/icons/DescSortIcon/DescSortIcon.js +1 -1
  410. package/lib/icons/DeselectIcon/DeselectIcon.d.ts +1 -1
  411. package/lib/icons/DeselectIcon/DeselectIcon.js +1 -1
  412. package/lib/icons/DocumentAddIcon/DocumentAddIcon.d.ts +1 -1
  413. package/lib/icons/DocumentAddIcon/DocumentAddIcon.js +1 -1
  414. package/lib/icons/DocumentBlankIcon/DocumentBlankIcon.d.ts +1 -1
  415. package/lib/icons/DocumentBlankIcon/DocumentBlankIcon.js +1 -1
  416. package/lib/icons/DocumentCssIcon/DocumentCssIcon.d.ts +1 -1
  417. package/lib/icons/DocumentCssIcon/DocumentCssIcon.js +1 -1
  418. package/lib/icons/DocumentCssIcon/index.d.ts +1 -1
  419. package/lib/icons/DocumentCssIcon/index.js +1 -1
  420. package/lib/icons/DocumentGraphqlIcon/DocumentGraphqlIcon.d.ts +1 -1
  421. package/lib/icons/DocumentGraphqlIcon/DocumentGraphqlIcon.js +1 -1
  422. package/lib/icons/DocumentGraphqlIcon/index.d.ts +1 -1
  423. package/lib/icons/DocumentGraphqlIcon/index.js +1 -1
  424. package/lib/icons/DocumentHtmlIcon/DocumentHtmlIcon.d.ts +1 -1
  425. package/lib/icons/DocumentHtmlIcon/DocumentHtmlIcon.js +1 -1
  426. package/lib/icons/DocumentHtmlIcon/index.d.ts +1 -1
  427. package/lib/icons/DocumentHtmlIcon/index.js +1 -1
  428. package/lib/icons/DocumentIcon/DocumentIcon.d.ts +1 -1
  429. package/lib/icons/DocumentIcon/DocumentIcon.js +1 -1
  430. package/lib/icons/DocumentIcon/index.d.ts +1 -1
  431. package/lib/icons/DocumentIcon/index.js +1 -1
  432. package/lib/icons/DocumentJavaIcon/DocumentJavaIcon.d.ts +1 -1
  433. package/lib/icons/DocumentJavaIcon/DocumentJavaIcon.js +1 -1
  434. package/lib/icons/DocumentJavaIcon/index.d.ts +1 -1
  435. package/lib/icons/DocumentJavaIcon/index.js +1 -1
  436. package/lib/icons/DocumentJsIcon/DocumentJsIcon.d.ts +1 -1
  437. package/lib/icons/DocumentJsIcon/DocumentJsIcon.js +1 -1
  438. package/lib/icons/DocumentJsIcon/index.d.ts +1 -1
  439. package/lib/icons/DocumentJsIcon/index.js +1 -1
  440. package/lib/icons/DocumentJsonIcon/DocumentJsonIcon.d.ts +1 -1
  441. package/lib/icons/DocumentJsonIcon/DocumentJsonIcon.js +1 -1
  442. package/lib/icons/DocumentJsonIcon/index.d.ts +1 -1
  443. package/lib/icons/DocumentJsonIcon/index.js +1 -1
  444. package/lib/icons/DocumentMarkdownIcon/DocumentMarkdownIcon.d.ts +1 -1
  445. package/lib/icons/DocumentMarkdownIcon/DocumentMarkdownIcon.js +1 -1
  446. package/lib/icons/DocumentMarkdownIcon/index.d.ts +1 -1
  447. package/lib/icons/DocumentMarkdownIcon/index.js +1 -1
  448. package/lib/icons/DocumentPythonIcon/DocumentPythonIcon.d.ts +1 -1
  449. package/lib/icons/DocumentPythonIcon/DocumentPythonIcon.js +1 -1
  450. package/lib/icons/DocumentPythonIcon/index.d.ts +1 -1
  451. package/lib/icons/DocumentPythonIcon/index.js +1 -1
  452. package/lib/icons/DocumentReactIcon/DocumentReactIcon.d.ts +1 -1
  453. package/lib/icons/DocumentReactIcon/DocumentReactIcon.js +1 -1
  454. package/lib/icons/DocumentReactIcon/index.d.ts +1 -1
  455. package/lib/icons/DocumentReactIcon/index.js +1 -1
  456. package/lib/icons/DocumentShellIcon/DocumentShellIcon.d.ts +1 -1
  457. package/lib/icons/DocumentShellIcon/DocumentShellIcon.js +1 -1
  458. package/lib/icons/DocumentShellIcon/index.d.ts +1 -1
  459. package/lib/icons/DocumentShellIcon/index.js +1 -1
  460. package/lib/icons/DocumentTsIcon/DocumentTsIcon.d.ts +1 -1
  461. package/lib/icons/DocumentTsIcon/DocumentTsIcon.js +1 -1
  462. package/lib/icons/DocumentTsIcon/index.d.ts +1 -1
  463. package/lib/icons/DocumentTsIcon/index.js +1 -1
  464. package/lib/icons/DocumentYamlIcon/DocumentYamlIcon.d.ts +1 -1
  465. package/lib/icons/DocumentYamlIcon/DocumentYamlIcon.js +1 -1
  466. package/lib/icons/DocumentYamlIcon/index.d.ts +1 -1
  467. package/lib/icons/DocumentYamlIcon/index.js +1 -1
  468. package/lib/icons/DownloadIcon/DownloadIcon.d.ts +1 -1
  469. package/lib/icons/DownloadIcon/DownloadIcon.js +1 -1
  470. package/lib/icons/DraggableIcon/DraggableIcon.d.ts +1 -1
  471. package/lib/icons/DraggableIcon/DraggableIcon.js +1 -1
  472. package/lib/icons/EditIcon/EditIcon.d.ts +1 -1
  473. package/lib/icons/EditIcon/EditIcon.js +1 -1
  474. package/lib/icons/EmailIcon/EmailIcon.d.ts +1 -1
  475. package/lib/icons/EmailIcon/EmailIcon.js +1 -1
  476. package/lib/icons/EntityTypeIcon/EntityTypeIcon.d.ts +1 -1
  477. package/lib/icons/EntityTypeIcon/EntityTypeIcon.js +1 -1
  478. package/lib/icons/ErrorFilledIcon/ErrorFilledIcon.d.ts +1 -1
  479. package/lib/icons/ErrorFilledIcon/ErrorFilledIcon.js +1 -1
  480. package/lib/icons/ErrorIcon/ErrorIcon.d.ts +1 -1
  481. package/lib/icons/ErrorIcon/ErrorIcon.js +1 -1
  482. package/lib/icons/ExportIcon/ExportIcon.d.ts +1 -1
  483. package/lib/icons/ExportIcon/ExportIcon.js +1 -1
  484. package/lib/icons/FaceDissatisfiedIcon/FaceDissatisfiedIcon.d.ts +1 -1
  485. package/lib/icons/FaceDissatisfiedIcon/FaceDissatisfiedIcon.js +1 -1
  486. package/lib/icons/FaceNeutralIcon/FaceNeutralIcon.d.ts +1 -1
  487. package/lib/icons/FaceNeutralIcon/FaceNeutralIcon.js +1 -1
  488. package/lib/icons/FaceSatisfiedIcon/FaceSatisfiedIcon.d.ts +1 -1
  489. package/lib/icons/FaceSatisfiedIcon/FaceSatisfiedIcon.js +1 -1
  490. package/lib/icons/FileIcon/FileIcon.d.ts +1 -1
  491. package/lib/icons/FileIcon/FileIcon.js +1 -1
  492. package/lib/icons/FileStorageIcon/FileStorageIcon.d.ts +1 -1
  493. package/lib/icons/FileStorageIcon/FileStorageIcon.js +1 -1
  494. package/lib/icons/FilterIcon/FilterIcon.d.ts +1 -1
  495. package/lib/icons/FilterIcon/FilterIcon.js +1 -1
  496. package/lib/icons/FlowIcon/FlowIcon.d.ts +1 -1
  497. package/lib/icons/FlowIcon/FlowIcon.js +1 -1
  498. package/lib/icons/FolderAddIcon/FolderAddIcon.d.ts +1 -1
  499. package/lib/icons/FolderAddIcon/FolderAddIcon.js +1 -1
  500. package/lib/icons/FolderIcon/FolderIcon.d.ts +1 -1
  501. package/lib/icons/FolderIcon/FolderIcon.js +1 -1
  502. package/lib/icons/FolderMoveToIcon/FolderMoveToIcon.d.ts +1 -1
  503. package/lib/icons/FolderMoveToIcon/FolderMoveToIcon.js +1 -1
  504. package/lib/icons/GenericIcon/GenericIcon.d.ts +11 -0
  505. package/lib/icons/GenericIcon/GenericIcon.js +76 -0
  506. package/lib/icons/GithubIcon/GithubIcon.d.ts +1 -1
  507. package/lib/icons/GithubIcon/GithubIcon.js +1 -1
  508. package/lib/icons/GlobalOutlinedIcon/GlobalOutlinedIcon.d.ts +1 -1
  509. package/lib/icons/GlobalOutlinedIcon/GlobalOutlinedIcon.js +1 -1
  510. package/lib/icons/GraphIcon/GraphIcon.d.ts +1 -1
  511. package/lib/icons/GraphIcon/GraphIcon.js +1 -1
  512. package/lib/icons/GraphqlIcon/GraphqlIcon.d.ts +9 -0
  513. package/lib/icons/GraphqlIcon/GraphqlIcon.js +36 -0
  514. package/lib/icons/GraphqlIcon/index.d.ts +1 -0
  515. package/lib/icons/GraphqlIcon/index.js +6 -0
  516. package/lib/icons/GridIcon/GridIcon.d.ts +1 -1
  517. package/lib/icons/GridIcon/GridIcon.js +1 -1
  518. package/lib/icons/HexagonIcon/HexagonIcon.d.ts +9 -0
  519. package/lib/icons/HexagonIcon/HexagonIcon.js +22 -0
  520. package/lib/icons/HorizontalViewIcon/HorizontalViewIcon.d.ts +1 -1
  521. package/lib/icons/HorizontalViewIcon/HorizontalViewIcon.js +1 -1
  522. package/lib/icons/IBMCloudHyperProtectCryptoServicesIcon/IBMCloudHyperProtectCryptoServicesIcon.d.ts +1 -1
  523. package/lib/icons/IBMCloudHyperProtectCryptoServicesIcon/IBMCloudHyperProtectCryptoServicesIcon.js +1 -1
  524. package/lib/icons/InformationFilledIcon/InformationFilledIcon.d.ts +1 -1
  525. package/lib/icons/InformationFilledIcon/InformationFilledIcon.js +1 -1
  526. package/lib/icons/InformationIcon/InformationIcon.d.ts +1 -1
  527. package/lib/icons/InformationIcon/InformationIcon.js +1 -1
  528. package/lib/icons/JsonIcon/JsonIcon.d.ts +1 -1
  529. package/lib/icons/JsonIcon/JsonIcon.js +1 -1
  530. package/lib/icons/KafkaIcon/KafkaIcon.d.ts +1 -1
  531. package/lib/icons/KafkaIcon/KafkaIcon.js +1 -1
  532. package/lib/icons/LaunchIcon/LaunchIcon.d.ts +1 -1
  533. package/lib/icons/LaunchIcon/LaunchIcon.js +1 -1
  534. package/lib/icons/LinkIcon/LinkIcon.d.ts +1 -1
  535. package/lib/icons/LinkIcon/LinkIcon.js +1 -1
  536. package/lib/icons/LogoutIcon/LogoutIcon.d.ts +1 -1
  537. package/lib/icons/LogoutIcon/LogoutIcon.js +1 -1
  538. package/lib/icons/MarkdownFullIcon/MarkdownFullIcon.d.ts +9 -0
  539. package/lib/icons/MarkdownFullIcon/MarkdownFullIcon.js +23 -0
  540. package/lib/icons/MaximizeIcon/MaximizeIcon.d.ts +1 -1
  541. package/lib/icons/MaximizeIcon/MaximizeIcon.js +1 -1
  542. package/lib/icons/MenuIcon/MenuIcon.d.ts +1 -1
  543. package/lib/icons/MenuIcon/MenuIcon.js +1 -1
  544. package/lib/icons/MinimizeIcon/MinimizeIcon.d.ts +1 -1
  545. package/lib/icons/MinimizeIcon/MinimizeIcon.js +1 -1
  546. package/lib/icons/MobileSidebarIcon/MobileSidebarIcon.d.ts +1 -1
  547. package/lib/icons/MobileSidebarIcon/MobileSidebarIcon.js +1 -1
  548. package/lib/icons/MoleculesIcon/MoleculesIcon.d.ts +9 -0
  549. package/lib/icons/MoleculesIcon/MoleculesIcon.js +22 -0
  550. package/lib/icons/MoonIcon/MoonIcon.d.ts +1 -1
  551. package/lib/icons/MoonIcon/MoonIcon.js +1 -1
  552. package/lib/icons/NetworkIcon/NetworkIcon.d.ts +9 -0
  553. package/lib/icons/NetworkIcon/NetworkIcon.js +23 -0
  554. package/lib/icons/NoneIcon/NoneIcon.d.ts +9 -0
  555. package/lib/icons/NoneIcon/NoneIcon.js +17 -0
  556. package/lib/icons/NotesIcon/NotesIcon.d.ts +9 -0
  557. package/lib/icons/NotesIcon/NotesIcon.js +26 -0
  558. package/lib/icons/OverflowMenuHorizontalIcon/OverflowMenuHorizontalIcon.d.ts +1 -1
  559. package/lib/icons/OverflowMenuHorizontalIcon/OverflowMenuHorizontalIcon.js +1 -1
  560. package/lib/icons/OverflowMenuVerticalIcon/OverflowMenuVerticalIcon.d.ts +1 -1
  561. package/lib/icons/OverflowMenuVerticalIcon/OverflowMenuVerticalIcon.js +1 -1
  562. package/lib/icons/PeopleIcon/PeopleIcon.d.ts +1 -1
  563. package/lib/icons/PeopleIcon/PeopleIcon.js +1 -1
  564. package/lib/icons/PlaylistIcon/PlaylistIcon.d.ts +1 -1
  565. package/lib/icons/PlaylistIcon/PlaylistIcon.js +1 -1
  566. package/lib/icons/PlusCustomIcon/PlusCustomIcon.d.ts +1 -1
  567. package/lib/icons/PlusCustomIcon/PlusCustomIcon.js +1 -1
  568. package/lib/icons/RabbitMQIcon/RabbitMQIcon.d.ts +1 -1
  569. package/lib/icons/RabbitMQIcon/RabbitMQIcon.js +1 -1
  570. package/lib/icons/RecentlyViewedIcon/RecentlyViewedIcon.d.ts +1 -1
  571. package/lib/icons/RecentlyViewedIcon/RecentlyViewedIcon.js +1 -1
  572. package/lib/icons/RenewIcon/RenewIcon.d.ts +1 -1
  573. package/lib/icons/RenewIcon/RenewIcon.js +1 -1
  574. package/lib/icons/ResetIcon/ResetIcon.d.ts +1 -1
  575. package/lib/icons/ResetIcon/ResetIcon.js +1 -1
  576. package/lib/icons/RestartIcon/RestartIcon.d.ts +1 -1
  577. package/lib/icons/RestartIcon/RestartIcon.js +1 -1
  578. package/lib/icons/ReturnKeyIcon/ReturnKeyIcon.d.ts +1 -1
  579. package/lib/icons/ReturnKeyIcon/ReturnKeyIcon.js +1 -1
  580. package/lib/icons/RocketIcon/RocketIcon.d.ts +1 -1
  581. package/lib/icons/RocketIcon/RocketIcon.js +1 -1
  582. package/lib/icons/SaveIcon/SaveIcon.d.ts +1 -1
  583. package/lib/icons/SaveIcon/SaveIcon.js +1 -1
  584. package/lib/icons/SearchIcon/SearchIcon.d.ts +1 -1
  585. package/lib/icons/SearchIcon/SearchIcon.js +1 -1
  586. package/lib/icons/SecurityIcon/SecurityIcon.d.ts +1 -1
  587. package/lib/icons/SecurityIcon/SecurityIcon.js +1 -1
  588. package/lib/icons/SelectIcon/SelectIcon.d.ts +1 -1
  589. package/lib/icons/SelectIcon/SelectIcon.js +1 -1
  590. package/lib/icons/SendIcon/SendIcon.d.ts +1 -1
  591. package/lib/icons/SendIcon/SendIcon.js +1 -1
  592. package/lib/icons/SettingsCogIcon/SettingsCogIcon.d.ts +1 -1
  593. package/lib/icons/SettingsCogIcon/SettingsCogIcon.js +1 -1
  594. package/lib/icons/SettingsIcon/SettingsIcon.d.ts +1 -1
  595. package/lib/icons/SettingsIcon/SettingsIcon.js +1 -1
  596. package/lib/icons/SidePanelCloseIcon/SidePanelCloseIcon.d.ts +1 -1
  597. package/lib/icons/SidePanelCloseIcon/SidePanelCloseIcon.js +1 -1
  598. package/lib/icons/SidePanelOpenIcon/SidePanelOpenIcon.d.ts +1 -1
  599. package/lib/icons/SidePanelOpenIcon/SidePanelOpenIcon.js +1 -1
  600. package/lib/icons/SlackIcon/SlackIcon.d.ts +1 -1
  601. package/lib/icons/SlackIcon/SlackIcon.js +1 -1
  602. package/lib/icons/SortIcon/SortIcon.d.ts +1 -1
  603. package/lib/icons/SortIcon/SortIcon.js +1 -1
  604. package/lib/icons/Spinner/Spinner.d.ts +1 -1
  605. package/lib/icons/Spinner/Spinner.js +18 -8
  606. package/lib/icons/SpinnerIcon/SpinnerIcon.d.ts +1 -1
  607. package/lib/icons/SpinnerIcon/SpinnerIcon.js +1 -1
  608. package/lib/icons/StarFilledIcon/StarFilledIcon.d.ts +1 -1
  609. package/lib/icons/StarFilledIcon/StarFilledIcon.js +1 -1
  610. package/lib/icons/StarIcon/StarIcon.d.ts +1 -1
  611. package/lib/icons/StarIcon/StarIcon.js +1 -1
  612. package/lib/icons/SubtractIcon/SubtractIcon.d.ts +1 -1
  613. package/lib/icons/SubtractIcon/SubtractIcon.js +1 -1
  614. package/lib/icons/SunIcon/SunIcon.d.ts +1 -1
  615. package/lib/icons/SunIcon/SunIcon.js +1 -1
  616. package/lib/icons/TableBuiltIcon/TableBuiltIcon.d.ts +1 -1
  617. package/lib/icons/TableBuiltIcon/TableBuiltIcon.js +1 -1
  618. package/lib/icons/TableIcon/TableIcon.d.ts +1 -1
  619. package/lib/icons/TableIcon/TableIcon.js +1 -1
  620. package/lib/icons/TagsIcon/TagsIcon.d.ts +1 -1
  621. package/lib/icons/TagsIcon/TagsIcon.js +1 -1
  622. package/lib/icons/TaskViewIcon/TaskViewIcon.d.ts +1 -1
  623. package/lib/icons/TaskViewIcon/TaskViewIcon.js +1 -1
  624. package/lib/icons/TimeIcon/TimeIcon.d.ts +1 -1
  625. package/lib/icons/TimeIcon/TimeIcon.js +1 -1
  626. package/lib/icons/TrashCanIcon/TrashCanIcon.d.ts +1 -1
  627. package/lib/icons/TrashCanIcon/TrashCanIcon.js +1 -1
  628. package/lib/icons/UserIcon/UserIcon.d.ts +1 -1
  629. package/lib/icons/UserIcon/UserIcon.js +1 -1
  630. package/lib/icons/ValueVariableIcon/ValueVariableIcon.d.ts +1 -1
  631. package/lib/icons/ValueVariableIcon/ValueVariableIcon.js +1 -1
  632. package/lib/icons/VerticalViewIcon/VerticalViewIcon.d.ts +1 -1
  633. package/lib/icons/VerticalViewIcon/VerticalViewIcon.js +1 -1
  634. package/lib/icons/ViewIcon/ViewIcon.d.ts +1 -1
  635. package/lib/icons/ViewIcon/ViewIcon.js +1 -1
  636. package/lib/icons/ViewOffIcon/ViewOffIcon.d.ts +1 -1
  637. package/lib/icons/ViewOffIcon/ViewOffIcon.js +1 -1
  638. package/lib/icons/WarningAltFilled/WarningAltFilled.d.ts +1 -1
  639. package/lib/icons/WarningAltFilled/WarningAltFilled.js +1 -1
  640. package/lib/icons/WarningAltFilledIcon/WarningAltFilledIcon.d.ts +1 -1
  641. package/lib/icons/WarningAltFilledIcon/WarningAltFilledIcon.js +1 -1
  642. package/lib/icons/WarningAltIcon/WarningAltIcon.d.ts +1 -1
  643. package/lib/icons/WarningAltIcon/WarningAltIcon.js +1 -1
  644. package/lib/icons/WarningFilledIcon/WarningFilledIcon.d.ts +1 -1
  645. package/lib/icons/WarningFilledIcon/WarningFilledIcon.js +1 -1
  646. package/lib/icons/WarningSquareIcon/WarningSquareIcon.d.ts +1 -1
  647. package/lib/icons/WarningSquareIcon/WarningSquareIcon.js +1 -1
  648. package/lib/icons/WorkflowAutomationIcon/WorkflowAutomationIcon.d.ts +1 -1
  649. package/lib/icons/WorkflowAutomationIcon/WorkflowAutomationIcon.js +1 -1
  650. package/lib/icons/types.d.ts +6 -0
  651. package/lib/index.d.ts +267 -261
  652. package/lib/index.js +284 -268
  653. package/lib/layouts/CodeWalkthroughLayout.js +2 -2
  654. package/lib/layouts/DocumentationLayout.js +19 -15
  655. package/lib/layouts/Forbidden.js +2 -2
  656. package/lib/layouts/InternalServerErrorLayout.js +3 -3
  657. package/lib/layouts/NotFound.js +3 -3
  658. package/lib/layouts/OIDCForbidden.js +18 -8
  659. package/lib/layouts/PageLayout.js +2 -2
  660. package/lib/layouts/RootLayout.js +3 -3
  661. package/lib/layouts/ThreePanelLayout.js +18 -8
  662. package/lib/markdoc/components/Admonition/Admonition.d.ts +1 -1
  663. package/lib/markdoc/components/Admonition/Admonition.js +1 -1
  664. package/lib/markdoc/components/Cards/Card.js +4 -4
  665. package/lib/markdoc/components/Cards/CardIcon.js +7 -19
  666. package/lib/markdoc/components/Cards/Cards.js +17 -7
  667. package/lib/markdoc/components/CodeBlock/CodeBlock.d.ts +1 -1
  668. package/lib/markdoc/components/CodeBlock/CodeBlock.js +1 -1
  669. package/lib/markdoc/components/CodeGroup/CodeGroup.d.ts +4 -0
  670. package/lib/markdoc/components/CodeGroup/CodeGroup.js +82 -0
  671. package/lib/markdoc/components/CodeWalkthrough/CodeContainer.js +19 -9
  672. package/lib/markdoc/components/CodeWalkthrough/CodeFilters.js +1 -1
  673. package/lib/markdoc/components/CodeWalkthrough/CodePanel.js +23 -13
  674. package/lib/markdoc/components/CodeWalkthrough/CodePanelHeader.js +31 -18
  675. package/lib/markdoc/components/CodeWalkthrough/CodePanelPreview.js +20 -10
  676. package/lib/markdoc/components/CodeWalkthrough/CodePanelToolbar.js +19 -9
  677. package/lib/markdoc/components/CodeWalkthrough/CodeStep.js +19 -9
  678. package/lib/markdoc/components/CodeWalkthrough/CodeToggle.js +20 -10
  679. package/lib/markdoc/components/CodeWalkthrough/CodeWalkthrough.js +21 -11
  680. package/lib/markdoc/components/CodeWalkthrough/Input.js +18 -8
  681. package/lib/markdoc/components/Heading/Heading.d.ts +2 -1
  682. package/lib/markdoc/components/Heading/Heading.js +39 -11
  683. package/lib/markdoc/components/HtmlBlock/HtmlBlock.js +17 -7
  684. package/lib/markdoc/components/Icon/Icon.d.ts +3 -0
  685. package/lib/markdoc/components/Icon/Icon.js +29 -0
  686. package/lib/markdoc/components/Image/Image.d.ts +1 -1
  687. package/lib/markdoc/components/Image/Image.js +1 -1
  688. package/lib/markdoc/components/InlineSvg/InlineSvg.js +17 -7
  689. package/lib/markdoc/components/MarkdocExample/MarkdocExample.js +18 -8
  690. package/lib/markdoc/components/Mermaid/Mermaid.js +1 -1
  691. package/lib/markdoc/components/Tabs/Tab.d.ts +3 -2
  692. package/lib/markdoc/components/Tabs/Tab.js +6 -3
  693. package/lib/markdoc/components/Tabs/TabList.d.ts +2 -2
  694. package/lib/markdoc/components/Tabs/TabList.js +22 -12
  695. package/lib/markdoc/components/Tabs/Tabs.d.ts +1 -1
  696. package/lib/markdoc/components/Tabs/Tabs.js +19 -9
  697. package/lib/markdoc/components/Tabs/variables.js +2 -0
  698. package/lib/markdoc/components/default.d.ts +22 -20
  699. package/lib/markdoc/components/default.js +22 -20
  700. package/lib/markdoc/default.d.ts +6 -6
  701. package/lib/markdoc/default.js +43 -29
  702. package/lib/markdoc/tags/admonition.d.ts +1 -1
  703. package/lib/markdoc/tags/card.d.ts +1 -1
  704. package/lib/markdoc/tags/card.js +2 -2
  705. package/lib/markdoc/tags/cards.d.ts +1 -1
  706. package/lib/markdoc/tags/code-group.d.ts +2 -0
  707. package/lib/markdoc/tags/code-group.js +23 -0
  708. package/lib/markdoc/tags/code-snippet.d.ts +1 -1
  709. package/lib/markdoc/tags/code-snippet.js +2 -2
  710. package/lib/markdoc/tags/code-step.d.ts +1 -1
  711. package/lib/markdoc/tags/code-toggle.d.ts +1 -1
  712. package/lib/markdoc/tags/code-walkthrough.d.ts +1 -1
  713. package/lib/markdoc/tags/code-walkthrough.js +3 -3
  714. package/lib/markdoc/tags/debug.d.ts +1 -1
  715. package/lib/markdoc/tags/html.d.ts +1 -1
  716. package/lib/markdoc/tags/icon.d.ts +2 -0
  717. package/lib/markdoc/tags/icon.js +16 -0
  718. package/lib/markdoc/tags/img.d.ts +1 -1
  719. package/lib/markdoc/tags/inline-svg.d.ts +1 -1
  720. package/lib/markdoc/tags/inline-svg.js +1 -1
  721. package/lib/markdoc/tags/input.d.ts +1 -1
  722. package/lib/markdoc/tags/markdoc-example.d.ts +1 -1
  723. package/lib/markdoc/tags/partial.d.ts +1 -1
  724. package/lib/markdoc/tags/partial.js +2 -2
  725. package/lib/markdoc/tags/tab.d.ts +1 -1
  726. package/lib/markdoc/tags/tab.js +1 -0
  727. package/lib/markdoc/tags/tabs.d.ts +1 -1
  728. package/lib/markdoc/tags/tabs.js +1 -1
  729. package/package.json +4 -4
  730. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  731. package/src/components/Button/Button.tsx +4 -2
  732. package/src/components/Button/ButtonGroup.tsx +53 -0
  733. package/src/components/Button/variables.ts +32 -5
  734. package/src/components/Catalog/Catalog.tsx +1 -1
  735. package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +12 -6
  736. package/src/components/Catalog/CatalogEntitiesEmptyState.tsx +38 -4
  737. package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +25 -17
  738. package/src/components/Catalog/CatalogEntity/CatalogEntityInfoBar.tsx +25 -9
  739. package/src/components/Catalog/CatalogEntity/CatalogEntityLinks.tsx +12 -15
  740. package/src/components/Catalog/CatalogEntity/CatalogEntityMetadata.tsx +39 -2
  741. package/src/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.tsx +61 -0
  742. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ApiDescriptionProperty.tsx +12 -1
  743. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.tsx +7 -1
  744. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.tsx +15 -4
  745. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.tsx +5 -1
  746. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +2 -3
  747. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.tsx +11 -3
  748. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.tsx +37 -0
  749. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.tsx +1 -1
  750. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.tsx +2 -0
  751. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.tsx +7 -23
  752. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.tsx +5 -6
  753. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +21 -13
  754. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +9 -2
  755. package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +52 -0
  756. package/src/components/Catalog/CatalogEntityIcon.tsx +33 -33
  757. package/src/components/Catalog/CatalogEntityTypeIcon.tsx +23 -28
  758. package/src/components/Catalog/CatalogEntityTypeTag.tsx +49 -0
  759. package/src/components/Catalog/CatalogPageDescription.tsx +5 -4
  760. package/src/components/Catalog/CatalogSelector.tsx +3 -1
  761. package/src/components/Catalog/CatalogSortButton.tsx +19 -20
  762. package/src/components/Catalog/CatalogTableView/CatalogDomainsCell.tsx +1 -0
  763. package/src/components/Catalog/CatalogTableView/CatalogEntityCell.tsx +3 -17
  764. package/src/components/Catalog/CatalogTableView/CatalogOwnersCell.tsx +1 -0
  765. package/src/components/Catalog/CatalogTableView/CatalogTableHeaderCell.tsx +5 -8
  766. package/src/components/Catalog/CatalogTableView/CatalogTableView.tsx +6 -36
  767. package/src/components/Catalog/CatalogTableView/CatalogTableViewRow.tsx +18 -46
  768. package/src/components/Catalog/CatalogTableView/CatalogTagsCell.tsx +1 -0
  769. package/src/components/Catalog/CatalogTableView/CatalogUserEntityCell.tsx +9 -4
  770. package/src/components/Catalog/CatalogTagsWithTooltip.tsx +9 -5
  771. package/src/components/Catalog/CatalogViewModeToggle.tsx +1 -1
  772. package/src/components/Catalog/variables.ts +42 -8
  773. package/src/components/CodeBlock/CodeBlock.tsx +15 -5
  774. package/src/components/CodeBlock/CodeBlockControls.tsx +67 -26
  775. package/src/components/CodeBlock/CodeBlockDropdown.tsx +53 -0
  776. package/src/components/CodeBlock/CodeBlockTabs.tsx +29 -20
  777. package/src/components/CodeBlock/variables.ts +1 -1
  778. package/src/components/Dropdown/Dropdown.tsx +1 -0
  779. package/src/components/Dropdown/DropdownMenu.tsx +4 -0
  780. package/src/components/Dropdown/variables.ts +1 -0
  781. package/src/components/Feedback/Feedback.tsx +1 -1
  782. package/src/components/Filter/FilterCheckboxes.tsx +9 -2
  783. package/src/components/Footer/FooterItem.tsx +5 -12
  784. package/src/components/Footer/variables.ts +2 -2
  785. package/src/components/Image/Image.tsx +2 -0
  786. package/src/components/Markdown/Markdown.tsx +3 -3
  787. package/src/components/Markdown/styles/headingAnchor.ts +0 -1
  788. package/src/components/Menu/MenuItem.tsx +5 -5
  789. package/src/components/Menu/variables.ts +3 -1
  790. package/src/components/Navbar/NavbarItem.tsx +8 -17
  791. package/src/components/Navbar/variables.ts +2 -2
  792. package/src/components/PageActions/PageActions.tsx +110 -0
  793. package/src/components/PageActions/PageActionsMenuItem.tsx +73 -0
  794. package/src/components/PageActions/variables.dark.ts +6 -0
  795. package/src/components/PageActions/variables.ts +34 -0
  796. package/src/components/Search/SearchDialog.tsx +2 -2
  797. package/src/components/Select/variables.ts +2 -2
  798. package/src/components/TableOfContent/TableOfContent.tsx +33 -36
  799. package/src/components/Tag/Tag.tsx +11 -2
  800. package/src/components/Tag/variables.ts +14 -0
  801. package/src/core/constants/catalog.ts +1 -1
  802. package/src/core/constants/common.ts +4 -0
  803. package/src/core/contexts/CodeSnippetContext.tsx +31 -0
  804. package/src/core/contexts/index.ts +1 -0
  805. package/src/core/hooks/__mocks__/use-theme-hooks.ts +1 -0
  806. package/src/core/hooks/code-walkthrough/use-renderable-files.ts +3 -4
  807. package/src/core/hooks/index.ts +1 -0
  808. package/src/core/hooks/use-active-heading.ts +199 -28
  809. package/src/core/hooks/use-active-section-id.ts +2 -1
  810. package/src/core/hooks/use-codeblock-tabs-controls.ts +8 -8
  811. package/src/core/hooks/use-local-state.ts +30 -0
  812. package/src/core/hooks/use-page-actions.ts +119 -0
  813. package/src/core/hooks/use-theme-hooks.ts +2 -0
  814. package/src/core/styles/dark.ts +2 -1
  815. package/src/core/styles/global.ts +2 -0
  816. package/src/core/types/catalog.ts +5 -1
  817. package/src/core/types/hooks.ts +2 -0
  818. package/src/core/types/index.ts +1 -0
  819. package/src/core/types/l10n.ts +21 -0
  820. package/src/core/types/page-actions.ts +18 -0
  821. package/src/core/types/sidebar.ts +1 -0
  822. package/src/core/types/telemetry.ts +5 -13
  823. package/src/core/utils/download-code-walkthrough.ts +5 -4
  824. package/src/core/utils/enhanced-smoothstep.ts +14 -0
  825. package/src/core/utils/get-file-icon.tsx +94 -0
  826. package/src/core/utils/icon-resolver.ts +57 -0
  827. package/src/core/utils/index.ts +4 -1
  828. package/src/core/utils/lang-to-name.ts +35 -0
  829. package/src/ext/configure.ts +1 -1
  830. package/src/icons/CDNIcon/CDNIcon.tsx +47 -0
  831. package/src/icons/ChatGptIcon/ChatGptIcon.tsx +23 -0
  832. package/src/icons/CheckmarkOutlineIcon/CheckmarkOutlineIcon.tsx +24 -0
  833. package/src/icons/ClaudeIcon/ClaudeIcon.tsx +23 -0
  834. package/src/icons/GenericIcon/GenericIcon.tsx +78 -0
  835. package/src/icons/GraphqlIcon/GraphqlIcon.tsx +81 -0
  836. package/src/icons/GraphqlIcon/index.ts +1 -0
  837. package/src/icons/HexagonIcon/HexagonIcon.tsx +23 -0
  838. package/src/icons/MarkdownFullIcon/MarkdownFullIcon.tsx +24 -0
  839. package/src/icons/MoleculesIcon/MoleculesIcon.tsx +23 -0
  840. package/src/icons/NetworkIcon/NetworkIcon.tsx +31 -0
  841. package/src/icons/NoneIcon/NoneIcon.tsx +17 -0
  842. package/src/icons/NotesIcon/NotesIcon.tsx +43 -0
  843. package/src/icons/types.ts +7 -0
  844. package/src/index.ts +7 -1
  845. package/src/layouts/CodeWalkthroughLayout.tsx +1 -1
  846. package/src/layouts/DocumentationLayout.tsx +23 -13
  847. package/src/markdoc/components/Cards/CardIcon.tsx +6 -21
  848. package/src/markdoc/components/CodeGroup/CodeGroup.tsx +78 -0
  849. package/src/markdoc/components/CodeWalkthrough/CodePanelHeader.tsx +7 -4
  850. package/src/markdoc/components/Heading/Heading.tsx +22 -3
  851. package/src/markdoc/components/Icon/Icon.tsx +16 -0
  852. package/src/markdoc/components/Tabs/Tab.tsx +6 -1
  853. package/src/markdoc/components/Tabs/Tabs.tsx +1 -1
  854. package/src/markdoc/components/Tabs/variables.ts +2 -0
  855. package/src/markdoc/components/default.ts +2 -0
  856. package/src/markdoc/default.ts +4 -0
  857. package/src/markdoc/tags/card.ts +1 -1
  858. package/src/markdoc/tags/code-group.ts +21 -0
  859. package/src/markdoc/tags/code-snippet.ts +1 -1
  860. package/src/markdoc/tags/icon.ts +14 -0
  861. package/src/markdoc/tags/tab.ts +1 -0
  862. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.d.ts +0 -1
  863. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +0 -5
  864. package/lib/ext/process-scorecard.d.ts +0 -5
  865. package/lib/ext/process-scorecard.js +0 -11
  866. package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +0 -1
  867. package/src/core/utils/get-file-icon.ts +0 -42
  868. package/src/ext/process-scorecard.ts +0 -13
  869. /package/lib/core/utils/{text-transform.d.ts → string.d.ts} +0 -0
  870. /package/src/core/utils/{text-transform.ts → string.ts} +0 -0
@@ -2,7 +2,10 @@ import React from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
4
  import type { JSX } from 'react';
5
- import type { FileTabs } from '@redocly/theme/components/CodeBlock/CodeBlock';
5
+ import type {
6
+ CodeBlockDropdownItems,
7
+ CodeBlockTabItems,
8
+ } from '@redocly/theme/components/CodeBlock/CodeBlock';
6
9
 
7
10
  import { CodeBlockTabs } from '@redocly/theme/components/CodeBlock/CodeBlockTabs';
8
11
  import { CopyButton } from '@redocly/theme/components/Buttons/CopyButton';
@@ -14,13 +17,15 @@ import { MinimizeIcon } from '@redocly/theme/icons/MinimizeIcon/MinimizeIcon';
14
17
  import { SelectIcon } from '@redocly/theme/icons/SelectIcon/SelectIcon';
15
18
  import { WarningSquareIcon } from '@redocly/theme/icons/WarningSquareIcon/WarningSquareIcon';
16
19
  import { Button } from '@redocly/theme/components/Button/Button';
20
+ import { CodeBlockDropdown } from '@redocly/theme/components/CodeBlock/CodeBlockDropdown';
17
21
 
18
22
  export type CodeBlockControlsProps = {
19
23
  children?: React.ReactNode;
20
24
  className?: string;
21
25
  title?: React.ReactNode | string;
22
26
  controls?: ControlItems | false;
23
- tabs?: FileTabs;
27
+ tabs?: CodeBlockTabItems;
28
+ dropdown?: CodeBlockDropdownItems;
24
29
  };
25
30
 
26
31
  type ControlItems = {
@@ -58,6 +63,7 @@ export function CodeBlockControls({
58
63
  title,
59
64
  controls,
60
65
  tabs,
66
+ dropdown,
61
67
  }: CodeBlockControlsProps): JSX.Element | null {
62
68
  const { codeSnippet } = useThemeConfig();
63
69
  const { useTelemetry } = useThemeHooks();
@@ -72,11 +78,14 @@ export function CodeBlockControls({
72
78
  report: null,
73
79
  };
74
80
 
81
+ const isEmptyTitle = !title && !tabs && !dropdown;
82
+
75
83
  const defaultControls = controls ? (
76
84
  <>
77
85
  {title && <Title>{title}</Title>}
78
86
  {tabs && <CodeBlockTabs tabs={tabs} />}
79
87
  <ControlsWrapper>
88
+ {dropdown && <CodeBlockDropdown {...dropdown} />}
80
89
  {report && !report?.props?.hide ? (
81
90
  <TooltipWrapper tooltipTranslationKey="codeSnippet.report.tooltipText" placement="top">
82
91
  <ControlButton
@@ -92,27 +101,31 @@ export function CodeBlockControls({
92
101
  ) : null}
93
102
 
94
103
  {expand && !codeSnippet?.expand?.hide ? (
95
- <ControlButton
96
- variant="text"
97
- size="small"
98
- data-testid="expand-all"
99
- icon={controlsType === 'icon' ? <MaximizeIcon /> : undefined}
100
- onClick={expand?.onClick}
101
- >
102
- {controlsType !== 'icon' && (expand?.label || 'Expand all')}
103
- </ControlButton>
104
+ <TooltipWrapper tooltipTranslationKey="codeSnippet.expand.tooltipText" placement="top">
105
+ <ControlButton
106
+ variant="text"
107
+ size="small"
108
+ data-testid="expand-all"
109
+ icon={controlsType === 'icon' ? <MaximizeIcon /> : undefined}
110
+ onClick={expand?.onClick}
111
+ >
112
+ {controlsType !== 'icon' && (expand?.label || 'Expand all')}
113
+ </ControlButton>
114
+ </TooltipWrapper>
104
115
  ) : null}
105
116
 
106
117
  {collapse && !codeSnippet?.collapse?.hide ? (
107
- <ControlButton
108
- variant="text"
109
- size="small"
110
- data-testid="collapse-all"
111
- icon={controlsType === 'icon' ? <MinimizeIcon /> : undefined}
112
- onClick={collapse?.onClick}
113
- >
114
- {controlsType !== 'icon' && (expand?.label || 'Collapse all')}
115
- </ControlButton>
118
+ <TooltipWrapper tooltipTranslationKey="codeSnippet.collapse.tooltipText" placement="top">
119
+ <ControlButton
120
+ variant="text"
121
+ size="small"
122
+ data-testid="collapse-all"
123
+ icon={controlsType === 'icon' ? <MinimizeIcon /> : undefined}
124
+ onClick={collapse?.onClick}
125
+ >
126
+ {controlsType !== 'icon' && (expand?.label || 'Collapse all')}
127
+ </ControlButton>
128
+ </TooltipWrapper>
116
129
  ) : null}
117
130
 
118
131
  {select ? (
@@ -141,7 +154,7 @@ export function CodeBlockControls({
141
154
 
142
155
  {copy && !codeSnippet?.copy?.hide ? (
143
156
  <TooltipWrapper tooltipTranslationKey="codeSnippet.copy.tooltipText" placement="top">
144
- <CopyButton
157
+ <StyledCopyButton
145
158
  data={copy.data}
146
159
  data-source={copy.dataSource}
147
160
  data-hash={copy.dataHash}
@@ -156,7 +169,7 @@ export function CodeBlockControls({
156
169
  } else {
157
170
  telemetry.send({
158
171
  type: 'openapi_docs.copy_code_snippet.clicked',
159
- payload: { snippet_type: 'copy' },
172
+ payload: { snippetType: 'copy' },
160
173
  });
161
174
  }
162
175
  }}
@@ -168,15 +181,21 @@ export function CodeBlockControls({
168
181
  ) : null;
169
182
 
170
183
  return children || controls ? (
171
- <ContainerWrapper data-component-name="CodeBlock/CodeBlockControls" className={className}>
184
+ <ContainerWrapper
185
+ data-component-name="CodeBlock/CodeBlockControls"
186
+ className={className}
187
+ $isEmptyTitle={isEmptyTitle}
188
+ >
172
189
  {children ? children : defaultControls}
173
190
  </ContainerWrapper>
174
191
  ) : null;
175
192
  }
176
193
 
177
- const ContainerWrapper = styled.div`
194
+ const ContainerWrapper = styled.div<{ $isEmptyTitle: boolean }>`
178
195
  display: grid;
179
- justify-content: end;
196
+ flex-direction: row;
197
+ align-items: center;
198
+ gap: var(--spacing-sm);
180
199
  font-size: var(--code-block-controls-font-size);
181
200
  font-family: var(--code-block-controls-font-family);
182
201
  background-color: var(--code-block-controls-bg-color);
@@ -185,6 +204,18 @@ const ContainerWrapper = styled.div`
185
204
  line-height: var(--line-height-lg);
186
205
  min-height: var(--control-height-base);
187
206
  grid-template-columns: 1fr auto;
207
+ z-index: 1;
208
+ ${({ $isEmptyTitle }) =>
209
+ $isEmptyTitle &&
210
+ `
211
+ position: absolute;
212
+ right: 0;
213
+ width: auto;
214
+ border: none;
215
+ background-color: transparent;
216
+ grid-template-columns: 1fr;
217
+ margin: 0;
218
+ `}
188
219
  `;
189
220
 
190
221
  const Title = styled.span`
@@ -193,6 +224,7 @@ const Title = styled.span`
193
224
  color: var(--code-block-controls-text-color);
194
225
  width: 100%;
195
226
  font-weight: var(--code-block-controls-font-weight);
227
+ padding-left: var(--spacing-xs);
196
228
  `;
197
229
 
198
230
  const ControlsWrapper = styled.div`
@@ -201,11 +233,20 @@ const ControlsWrapper = styled.div`
201
233
  align-items: center;
202
234
  gap: var(--spacing-xxs);
203
235
  justify-content: end;
204
- margin-left: var(--spacing-sm);
205
236
  `;
206
237
 
207
238
  const ControlButton = styled(Button)`
239
+ --button-icon-size: 16px; /* increase icon size for code blocks */
240
+ --button-icon-padding: 3px;
241
+ --button-backdrop-filter: blur(8px); /* backdrop filter when there is text under the button */
242
+
208
243
  & + & {
209
244
  margin-left: 0;
210
245
  }
211
246
  `;
247
+
248
+ const StyledCopyButton = styled(CopyButton)`
249
+ --button-icon-size: 16px; /* increase icon size for code blocks */
250
+ --button-icon-padding: 3px;
251
+ --button-backdrop-filter: blur(8px);
252
+ `;
@@ -0,0 +1,53 @@
1
+ import React, { type JSX } from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import type { CodeBlockDropdownItems } from '@redocly/theme/components/CodeBlock/CodeBlock';
5
+
6
+ import { Dropdown } from '@redocly/theme/components/Dropdown/Dropdown';
7
+ import { DropdownMenu } from '@redocly/theme/components/Dropdown/DropdownMenu';
8
+ import { DropdownMenuItem } from '@redocly/theme/components/Dropdown/DropdownMenuItem';
9
+ import { Button } from '@redocly/theme/components/Button/Button';
10
+ import { ChevronSortIcon } from '@redocly/theme/icons/ChevronSortIcon/ChevronSortIcon';
11
+ import { NoneIcon } from '@redocly/theme/icons/NoneIcon/NoneIcon';
12
+ import { getFileIconByLanguage } from '@redocly/theme/core/utils';
13
+
14
+ export function CodeBlockDropdown({ items, onChange, value }: CodeBlockDropdownItems): JSX.Element {
15
+ const activeItem = items.find((item) => item.name === value) || items[0];
16
+ const icon = activeItem?.lang ? getFileIconByLanguage(activeItem?.lang) : null;
17
+ return (
18
+ <StyledDropdown
19
+ alignment="end"
20
+ trigger={
21
+ <Button icon={<ChevronSortIcon />} iconPosition="right" variant="text" size="small">
22
+ {icon}
23
+ {activeItem.name}
24
+ </Button>
25
+ }
26
+ >
27
+ <DropdownMenu>
28
+ {items.map((item) => {
29
+ const icon = getFileIconByLanguage(item.lang || '');
30
+ return (
31
+ <DropdownMenuItem
32
+ key={item.lang}
33
+ onAction={() => onChange(item.name)}
34
+ active={item.name === activeItem.name}
35
+ prefix={item.lang ? icon : <NoneIcon size="var(--icon-size)" />}
36
+ >
37
+ {item.name}
38
+ </DropdownMenuItem>
39
+ );
40
+ })}
41
+ </DropdownMenu>
42
+ </StyledDropdown>
43
+ );
44
+ }
45
+
46
+ const StyledDropdown = styled(Dropdown)`
47
+ margin-left: auto;
48
+ --icon-size: 18px;
49
+ --button-color: var(--text-color-secondary);
50
+ button.button-size-small {
51
+ --button-icon-size: 18px;
52
+ }
53
+ `;
@@ -2,16 +2,16 @@ import React, { useEffect, useRef } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
3
 
4
4
  import type { JSX } from 'react';
5
- import type { FileTabs } from '@redocly/theme/components/CodeBlock/CodeBlock';
5
+ import type { CodeBlockTabItems } from '@redocly/theme/components/CodeBlock/CodeBlock';
6
6
 
7
7
  import { useCodeBlockTabsControls } from '@redocly/theme/core/hooks';
8
8
  import { Button } from '@redocly/theme/components/Button/Button';
9
- import { DocumentBlankIcon } from '@redocly/theme/icons/DocumentBlankIcon/DocumentBlankIcon';
10
9
  import { ChevronLeftIcon } from '@redocly/theme/icons/ChevronLeftIcon/ChevronLeftIcon';
11
10
  import { ChevronRightIcon } from '@redocly/theme/icons/ChevronRightIcon/ChevronRightIcon';
11
+ import { getFileIconByExt, getFileIconByLanguage } from '@redocly/theme/core/utils/get-file-icon';
12
12
 
13
13
  export type CodeBlockTabsProps = {
14
- tabs: FileTabs;
14
+ tabs: CodeBlockTabItems;
15
15
  };
16
16
 
17
17
  export function CodeBlockTabs({ tabs }: CodeBlockTabsProps): JSX.Element {
@@ -24,31 +24,40 @@ export function CodeBlockTabs({ tabs }: CodeBlockTabsProps): JSX.Element {
24
24
  });
25
25
 
26
26
  useEffect(() => {
27
- const activeTab = tabRefs.current.find((tab) => tab?.dataset.name === tabs.activeTabName);
27
+ const activeTab = tabRefs.current.find((tab) => tab?.dataset.name === tabs.value);
28
28
 
29
29
  if (activeTab) {
30
30
  activeTab.scrollIntoView({ block: 'nearest', inline: 'center' });
31
31
  }
32
- }, [tabs.activeTabName]);
32
+ }, [tabs.value]);
33
33
 
34
34
  return (
35
35
  <CodeBlockTabsWrapper ref={containerRef} data-component-name="CodeBlock/CodeBlockTabs">
36
36
  <ShadowWrapper>
37
37
  <Tabs>
38
- {tabs.files.map(({ name }, i) => (
39
- <Tab
40
- ref={(el: HTMLButtonElement | null) => {
41
- tabRefs.current[i] = el as HTMLButtonElement;
42
- }}
43
- data-name={name}
44
- active={name === tabs.activeTabName}
45
- key={name}
46
- onClick={() => tabs.handleTabSwitch(name)}
47
- >
48
- <DocumentBlankIcon />
49
- {name}
50
- </Tab>
51
- ))}
38
+ {tabs.items.map(({ name, lang }, i) => {
39
+ const ext = name.match(/\.([^.]+)$/)?.[1];
40
+ const fileIcon = lang
41
+ ? getFileIconByLanguage(lang)
42
+ : ext
43
+ ? getFileIconByExt(ext)
44
+ : null;
45
+
46
+ return (
47
+ <Tab
48
+ ref={(el: HTMLButtonElement | null) => {
49
+ tabRefs.current[i] = el as HTMLButtonElement;
50
+ }}
51
+ data-name={name}
52
+ active={name === tabs.value}
53
+ key={name + i}
54
+ onClick={() => tabs.onChange(name)}
55
+ >
56
+ {fileIcon}
57
+ {name}
58
+ </Tab>
59
+ );
60
+ })}
52
61
  </Tabs>
53
62
  </ShadowWrapper>
54
63
 
@@ -69,7 +78,6 @@ export function CodeBlockTabs({ tabs }: CodeBlockTabsProps): JSX.Element {
69
78
  const CodeBlockTabsWrapper = styled.div`
70
79
  display: flex;
71
80
  overflow: hidden;
72
- padding: var(--spacing-xxs) 0;
73
81
  `;
74
82
 
75
83
  const Controls = styled.div`
@@ -111,6 +119,7 @@ const Tabs = styled.div`
111
119
  `;
112
120
 
113
121
  const Tab = styled.button<{ active: boolean }>`
122
+ --icon-size: 18px;
114
123
  display: inline-flex;
115
124
  align-items: center;
116
125
 
@@ -73,7 +73,7 @@ export const code = css`
73
73
  --code-block-controls-border: 1px solid var(--border-color-secondary); // @presenter Border
74
74
  --code-block-icon-controls-bg-color: var(--code-block-controls-bg-color);
75
75
  --code-block-text-controls-bg-color: var(--code-block-controls-bg-color);
76
- --code-block-controls-padding: var(--spacing-unit) var(--spacing-unit) var(--spacing-unit) var(--spacing-base);
76
+ --code-block-controls-padding: var(--spacing-xxs);
77
77
  --code-block-controls-height: 20px;
78
78
  --code-block-controls-width: 20px;
79
79
 
@@ -126,6 +126,7 @@ const DropdownWrapper = styled.div`
126
126
  `;
127
127
 
128
128
  const ChildrenWrapper = styled.div<{ placement?: string; alignment?: string; isOpen?: boolean }>`
129
+ margin-top: var(--dropdown-menu-margin-top);
129
130
  position: absolute;
130
131
  top: ${({ placement }) => (placement === 'top' ? 'auto' : '100%')};
131
132
  bottom: ${({ placement }) => (placement === 'top' ? '100%' : 'auto')};
@@ -47,6 +47,10 @@ const DropdownMenuWrapper = styled.ul`
47
47
  line-height: var(--dropdown-menu-line-height);
48
48
  color: var(--dropdown-menu-text-color);
49
49
 
50
+ /* Make sure the spacing is not overriden by the markdown list styles */
51
+ --md-list-margin: 0;
52
+ --md-list-left-padding: var(--dropdown-menu-padding);
53
+
50
54
  margin: 0;
51
55
  min-width: var(--dropdown-menu-min-width);
52
56
  max-width: var(--dropdown-menu-max-width);
@@ -9,6 +9,7 @@ export const dropdown = css`
9
9
  --dropdown-menu-line-height: var(--line-height-base); // @presenter LineHeight
10
10
  --dropdown-menu-text-color: var(--text-color-secondary); // @presenter Color
11
11
 
12
+ --dropdown-menu-margin-top: var(--spacing-xxs);
12
13
  --dropdown-menu-min-width: 100px;
13
14
  --dropdown-menu-max-width: 424px;
14
15
  --dropdown-menu-max-height: 300px;
@@ -58,7 +58,7 @@ export function Feedback(props: FeedbackProps & { path?: string }) {
58
58
  settings={settings}
59
59
  onSubmit={(values) => {
60
60
  submitFeedback({ type, values, path });
61
- telemetry.send({ type: 'feedback.sent', payload: { feedback_type: type } });
61
+ telemetry.send({ type: 'feedback.sent', payload: { feedbackType: type } });
62
62
  }}
63
63
  />
64
64
  </FeedbackWrapper>
@@ -28,7 +28,7 @@ export function FilterCheckboxes({
28
28
  {translate(filter.titleTranslationKey, filter.title)}
29
29
  </FilterTitle>
30
30
  <FilterOptions>
31
- {filter.options.map(({ value, count }) => {
31
+ {(filter.filteredOptions || filter.options).map(({ value, count }) => {
32
32
  const id = 'filter--' + filter.property + '--' + value;
33
33
  return (
34
34
  <FilterCheckboxOption
@@ -39,7 +39,14 @@ export function FilterCheckboxes({
39
39
  telemetry.send({ type: 'filter_checkbox.toggled', payload: { id } });
40
40
  }}
41
41
  >
42
- <CheckboxIcon checked={filter.selectedOptions.has(value?.toLowerCase())} />
42
+ <CheckboxIcon
43
+ checked={
44
+ filter.selectedOptions instanceof Set
45
+ ? filter.selectedOptions.has(value) ||
46
+ filter.selectedOptions.has(value?.toLowerCase())
47
+ : false
48
+ }
49
+ />
43
50
  <FilterOptionLabel data-translation-key={value}>
44
51
  {changeTextCasing(translate(value), filterValuesCasing)}
45
52
  </FilterOptionLabel>
@@ -7,8 +7,8 @@ import type { ResolvedNavItem } from '@redocly/config';
7
7
  import { useThemeHooks } from '@redocly/theme/core/hooks';
8
8
  import { LaunchIcon } from '@redocly/theme/icons/LaunchIcon/LaunchIcon';
9
9
  import { Link } from '@redocly/theme/components/Link/Link';
10
- import { Image } from '@redocly/theme/components/Image/Image';
11
10
  import { breakpoints } from '@redocly/theme/core/utils';
11
+ import { GenericIcon } from '@redocly/theme/icons/GenericIcon/GenericIcon';
12
12
 
13
13
  export type FooterItemProps = {
14
14
  item: ResolvedNavItem;
@@ -26,6 +26,7 @@ export function FooterItem({ item, iconsOnly, className }: FooterItemProps): JSX
26
26
  }
27
27
  const hasIcon = Boolean(item.icon || item.srcSet);
28
28
  const iconWithoutLabel = Boolean(item.label === item.link && hasIcon);
29
+
29
30
  return (
30
31
  <FooterItemWrapper
31
32
  className={className}
@@ -48,15 +49,7 @@ export function FooterItem({ item, iconsOnly, className }: FooterItemProps): JSX
48
49
  >
49
50
  {hasIcon ? (
50
51
  <FooterLinkIcon iconsOnly={iconsOnly}>
51
- <Image
52
- src={item.icon}
53
- srcSet={item.srcSet}
54
- alt={
55
- item.label && item.label !== item.link
56
- ? `${item.label} icon`
57
- : `${(item.icon || item.srcSet)?.split('/').pop()?.split('.')[0]} icon`
58
- }
59
- />
52
+ <GenericIcon icon={item.icon} srcSet={item.srcSet} />
60
53
  </FooterLinkIcon>
61
54
  ) : null}
62
55
  {!iconWithoutLabel ? translate(item.labelTranslationKey, item.label) : null}
@@ -75,9 +68,9 @@ const FooterSeparator = styled.div`
75
68
  `;
76
69
 
77
70
  const FooterLinkIcon = styled.div<{ iconsOnly?: boolean }>`
71
+ --icon-width: var(--footer-item-icon-width);
72
+ --icon-height: var(--footer-item-icon-height);
78
73
  display: inline-flex;
79
- width: var(--footer-item-icon-width);
80
- height: var(--footer-item-icon-height);
81
74
  margin-right: ${({ iconsOnly }) => (iconsOnly ? '0' : 'var(--footer-item-icon-margin-right)')};
82
75
  vertical-align: middle;
83
76
  border: 1px solid var(--footer-item-icon-border-color);
@@ -26,8 +26,8 @@ export const footer = css`
26
26
  --footer-link-padding-vertical: var(--spacing-xs); // @presenter Spacing
27
27
  --footer-link-padding-horizontal: 0;
28
28
 
29
- --footer-item-icon-width: var(--spacing-lg); // @presenter Spacing
30
- --footer-item-icon-height: var(--spacing-lg); // @presenter Spacing
29
+ --footer-item-icon-width: var(--spacing-base); // @presenter Spacing
30
+ --footer-item-icon-height: var(--spacing-base); // @presenter Spacing
31
31
  --footer-item-icon-margin-right: var(--spacing-sm); // @presenter Spacing
32
32
  --footer-item-icon-border-color: var(--border-color-primary); // @presenter Color
33
33
  --footer-item-icon-border-radius: 12px; // @presenter BorderRadius
@@ -4,6 +4,7 @@ import styled from 'styled-components';
4
4
  import type { KeyboardEvent, JSX } from 'react';
5
5
 
6
6
  import { parseSrcSet, parseStyleString } from '@redocly/theme/core/utils';
7
+ import { useModalScrollLock } from '@redocly/theme/core/hooks';
7
8
 
8
9
  export type ImageProps = {
9
10
  src?: string;
@@ -49,6 +50,7 @@ export function Image(props: ImageProps): JSX.Element {
49
50
  setLightboxImage(undefined);
50
51
  }, []);
51
52
 
53
+ useModalScrollLock(!!lightboxImage);
52
54
  useEffect(() => {
53
55
  if (lightboxImage) {
54
56
  lightboxContainerRef.current?.focus();
@@ -2,7 +2,7 @@ import styled, { css } from 'styled-components';
2
2
 
3
3
  import type { PropsWithChildren } from 'react';
4
4
 
5
- import { typography } from '@redocly/theme/core/utils/theme-helpers';
5
+ import { typography } from '@redocly/theme/core/utils';
6
6
  import { markdownBaseTableCss } from '@redocly/theme/components/Markdown/styles/baseTable';
7
7
  import { markdownLinksCss } from '@redocly/theme/components/Markdown/styles/links';
8
8
  import { headingAnchorCss } from '@redocly/theme/components/Markdown/styles/headingAnchor';
@@ -248,8 +248,8 @@ export const Markdown = styled.main.attrs<{
248
248
  }
249
249
  }
250
250
 
251
- ul,
252
- ol {
251
+ ul.md,
252
+ ol.md {
253
253
  padding-left: var(--md-list-left-padding);
254
254
  margin: var(--md-list-margin);
255
255
 
@@ -16,7 +16,6 @@ export function headingAnchorCss(className = 'anchor'): FlattenSimpleInterpolati
16
16
  padding-left: 4px;
17
17
  }
18
18
 
19
- svg,
20
19
  .${className} svg {
21
20
  fill: var(--heading-anchor-color);
22
21
  visibility: hidden;
@@ -14,6 +14,7 @@ import { MenuItemType } from '@redocly/theme/core/constants';
14
14
  import { getMenuItemType } from '@redocly/theme/core/utils';
15
15
  import { ArrowRightIcon } from '@redocly/theme/icons/ArrowRightIcon/ArrowRightIcon';
16
16
  import { Badge } from '@redocly/theme/components/Badge/Badge';
17
+ import { GenericIcon } from '@redocly/theme/icons/GenericIcon/GenericIcon';
17
18
 
18
19
  export function MenuItem(props: React.PropsWithChildren<MenuItemProps>): JSX.Element {
19
20
  const { item, depth, className, onClick } = props;
@@ -86,7 +87,7 @@ export function MenuItem(props: React.PropsWithChildren<MenuItemProps>): JSX.Ele
86
87
  data-testid="menu-item-label"
87
88
  >
88
89
  {hasChevron ? <ChevronWrapper>{chevron}</ChevronWrapper> : null}
89
- {item.icon ? <MenuItemIcon src={item.icon} /> : null}
90
+ <MenuItemIcon icon={item.icon} srcSet={item.srcSet} />
90
91
  <MenuItemLabelTextWrapper>
91
92
  <MenuItemLabel>
92
93
  <span>{translate(item.labelTranslationKey, item.label)}</span>
@@ -325,11 +326,10 @@ const MenuItemSubLabel = styled.div`
325
326
  font-family: var(--menu-item-sublabel-font-family);
326
327
  `;
327
328
 
328
- const MenuItemIcon = styled.img`
329
- width: var(--menu-item-icon-size);
330
- height: var(--menu-item-icon-size);
329
+ const MenuItemIcon = styled(GenericIcon)`
330
+ --icon-width: var(--menu-item-icon-size);
331
+ --icon-height: var(--menu-item-icon-size);
331
332
  margin: var(--menu-item-icon-margin);
332
- border-radius: var(--menu-item-icon-border-radius);
333
333
  flex-shrink: 0;
334
334
  overflow: hidden;
335
335
  `;
@@ -69,7 +69,7 @@ export const menu = css`
69
69
  * @tokens Menu item icons
70
70
  */
71
71
  --menu-item-icon-size: var(--spacing-base);
72
- --menu-item-icon-margin: 0px;
72
+ --menu-item-icon-margin: 0 var(--spacing-xxs) 0 0;
73
73
  --menu-item-icon-border-radius: 100%;
74
74
 
75
75
  --menu-item-external-icon-size: 10px;
@@ -128,7 +128,9 @@ export const mobileMenu = css`
128
128
  /**
129
129
  * @tokens Mobile Menu
130
130
  * */
131
+ /* Fallback for older browsers. dvh accounts for dynamic UI elements like mobile address bars */
131
132
  --menu-mobile-height: calc(100vh - var(--navbar-height));
133
+ --menu-mobile-height: calc(100dvh - var(--navbar-height));
132
134
  --menu-mobile-width: 100%;
133
135
  --menu-mobile-z-index: var(--z-index-raised);
134
136
  --menu-mobile-left: 0;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import styled, { css } from 'styled-components';
2
+ import styled from 'styled-components';
3
3
  import { useLocation } from 'react-router-dom';
4
4
 
5
5
  import type { JSX } from 'react';
@@ -17,6 +17,7 @@ import { useThemeHooks } from '@redocly/theme/core/hooks';
17
17
  import { LaunchIcon } from '@redocly/theme/icons/LaunchIcon/LaunchIcon';
18
18
  import { Link } from '@redocly/theme/components/Link/Link';
19
19
  import { Dropdown } from '@redocly/theme/components/Dropdown/Dropdown';
20
+ import { GenericIcon } from '@redocly/theme/icons/GenericIcon/GenericIcon';
20
21
 
21
22
  export type NavbarItemProps = {
22
23
  navItem: ResolvedNavItem;
@@ -52,7 +53,7 @@ export function NavbarItem({ navItem, className }: NavbarItemProps): JSX.Element
52
53
  target={item.target}
53
54
  to={item.link}
54
55
  >
55
- <NavbarIcon url={item.icon} />
56
+ <NavbarIcon icon={item.icon} srcSet={item.srcSet} />
56
57
  <NavbarLabel data-translation-key={item.labelTranslationKey}>
57
58
  {translate(item.labelTranslationKey, item.label)}
58
59
  </NavbarLabel>
@@ -74,7 +75,7 @@ export function NavbarItem({ navItem, className }: NavbarItemProps): JSX.Element
74
75
  data-translation-key={item.labelTranslationKey}
75
76
  external={item.external}
76
77
  >
77
- <NavbarIcon url={item.icon} />
78
+ <NavbarIcon icon={item.icon} srcSet={item.srcSet} />
78
79
  <NavbarLabel data-translation-key={item.labelTranslationKey}>
79
80
  {translate(item.labelTranslationKey, item.label)}
80
81
  </NavbarLabel>
@@ -132,20 +133,10 @@ const NavbarLabel = styled.span`
132
133
  vertical-align: middle;
133
134
  `;
134
135
 
135
- const NavbarIcon = styled.i<{ url?: string }>`
136
- ${({ url }) =>
137
- url &&
138
- css`
139
- background-image: url('${url}');
140
- width: var(--navbar-item-icon-width);
141
- height: var(--navbar-item-icon-height);
142
- display: inline-block;
143
- background-size: contain;
144
- margin-right: var(--navbar-item-icon-margin-right);
145
- vertical-align: middle;
146
- background-position: center;
147
- background-repeat: no-repeat;
148
- `}
136
+ const NavbarIcon = styled(GenericIcon)`
137
+ --icon-width: var(--navbar-item-icon-width);
138
+ --icon-height: var(--navbar-item-icon-height);
139
+ margin-right: var(--navbar-item-icon-margin-right);
149
140
  `;
150
141
 
151
142
  const ExternalLinkIcon = styled(LaunchIcon)`
@@ -35,8 +35,8 @@ export const navbar = css`
35
35
  --navbar-item-bg-color-hover: var(--bg-color);
36
36
  --navbar-item-bottom-border-hover: none;
37
37
 
38
- --navbar-item-icon-width: 1.5em; // @presenter Spacing
39
- --navbar-item-icon-height: 1.5em; // @presenter Spacing
38
+ --navbar-item-icon-width: 1.25em; // @presenter Spacing
39
+ --navbar-item-icon-height: 1.25em; // @presenter Spacing
40
40
  --navbar-item-icon-margin-right: 0.5em; // @presenter Spacing
41
41
 
42
42
  --navbar-logo-height: var(--logo-height);