@redocly/theme 0.69.0 → 0.70.0-next.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 (217) hide show
  1. package/lib/components/Button/Button.js +5 -2
  2. package/lib/components/Button/variables.js +14 -5
  3. package/lib/components/Buttons/DownloadButton.js +13 -3
  4. package/lib/components/Catalog/Catalog.d.ts +2 -2
  5. package/lib/components/Catalog/CatalogActionsRow.d.ts +3 -2
  6. package/lib/components/Catalog/CatalogCardView/CatalogCard.d.ts +2 -2
  7. package/lib/components/Catalog/CatalogEntities.d.ts +2 -2
  8. package/lib/components/Catalog/CatalogEntitiesEmptyState.d.ts +1 -1
  9. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.d.ts +2 -2
  10. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.js +1 -2
  11. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.d.ts +3 -1
  12. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.js +45 -23
  13. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.js +67 -33
  14. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.d.ts +3 -1
  15. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.js +15 -3
  16. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.d.ts +3 -1
  17. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.js +48 -57
  18. package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.d.ts +1 -1
  19. package/lib/components/Catalog/CatalogEntity/CatalogEntityLinks.d.ts +1 -1
  20. package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.d.ts +1 -1
  21. package/lib/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.d.ts +1 -1
  22. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.d.ts +2 -2
  23. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.d.ts +1 -1
  24. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.d.ts +2 -2
  25. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.d.ts +2 -2
  26. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.d.ts +2 -2
  27. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.d.ts +2 -2
  28. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.d.ts +2 -2
  29. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.d.ts +2 -2
  30. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +1 -2
  31. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.d.ts +2 -2
  32. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.d.ts +2 -2
  33. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.d.ts +1 -1
  34. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.d.ts +2 -3
  35. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.d.ts +1 -1
  36. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.d.ts +3 -4
  37. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.d.ts +3 -4
  38. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.d.ts +1 -1
  39. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +1 -2
  40. package/lib/components/Catalog/CatalogEntityIcon.d.ts +1 -1
  41. package/lib/components/Catalog/CatalogEntityTypeTag.d.ts +2 -2
  42. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.d.ts +1 -1
  43. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.js +1 -2
  44. package/lib/components/Catalog/CatalogHighlight.d.ts +2 -1
  45. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.d.ts +2 -1
  46. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.d.ts +1 -1
  47. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.d.ts +2 -1
  48. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.d.ts +2 -2
  49. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.d.ts +2 -2
  50. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.d.ts +1 -1
  51. package/lib/components/Catalog/CatalogSelector.d.ts +3 -2
  52. package/lib/components/Catalog/CatalogTableView/CatalogEntityCell.d.ts +1 -1
  53. package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.d.ts +1 -1
  54. package/lib/components/Catalog/CatalogTableView/CatalogTableView.d.ts +2 -1
  55. package/lib/components/Catalog/CatalogTableView/CatalogTableViewRow.d.ts +2 -1
  56. package/lib/components/Catalog/CatalogTableView/CatalogTagsCell.d.ts +1 -1
  57. package/lib/components/Catalog/CatalogTags.d.ts +2 -2
  58. package/lib/components/Catalog/CatalogViewModeToggle.d.ts +1 -1
  59. package/lib/components/Catalog/variables.js +24 -33
  60. package/lib/components/CatalogClassic/CatalogClassicInfoBlock.d.ts +1 -1
  61. package/lib/components/CatalogClassic/CatalogClassicInfoBlock.js +1 -2
  62. package/lib/components/CatalogClassic/CatalogClassicVirtualizedGroups.d.ts +1 -1
  63. package/lib/components/CodeBlock/CodeBlockControls.d.ts +1 -1
  64. package/lib/components/Dropdown/Dropdown.js +7 -8
  65. package/lib/components/Filter/FilterOptionLabel.d.ts +1 -1
  66. package/lib/components/LoadMore/LoadMore.d.ts +1 -1
  67. package/lib/components/MCP/McpConnectionTabs.js +2 -2
  68. package/lib/components/PageActions/PageActions.d.ts +1 -1
  69. package/lib/components/ReplaySecuritySchemeActions/ReplaySecuritySchemeActions.d.ts +11 -0
  70. package/lib/components/ReplaySecuritySchemeActions/ReplaySecuritySchemeActions.js +7 -0
  71. package/lib/components/Search/SearchAiDialog.d.ts +1 -1
  72. package/lib/components/Search/SearchAiMessage.d.ts +1 -2
  73. package/lib/components/Search/SearchAiMessage.js +8 -10
  74. package/lib/components/Search/SearchAiResponse.d.ts +1 -1
  75. package/lib/components/Search/SearchGroups.d.ts +1 -1
  76. package/lib/components/SplitButton/SplitButton.d.ts +1 -0
  77. package/lib/components/SplitButton/SplitButton.js +2 -2
  78. package/lib/components/Tooltip/AnchorTooltip.js +17 -27
  79. package/lib/components/Tooltip/JsTooltip.js +34 -46
  80. package/lib/components/Tooltip/Tooltip.js +1 -2
  81. package/lib/core/constants/markdown.d.ts +2 -0
  82. package/lib/core/constants/markdown.js +3 -1
  83. package/lib/core/hooks/catalog/use-catalog-entity-schema.d.ts +1 -1
  84. package/lib/core/hooks/catalog/use-catalog-entity-schema.js +2 -2
  85. package/lib/core/hooks/catalog/use-catalog-table-header-cell-actions.d.ts +1 -1
  86. package/lib/core/hooks/catalog/use-graph.d.ts +3 -3
  87. package/lib/core/hooks/code-walkthrough/use-code-walkthrough-controls.js +1 -1
  88. package/lib/core/hooks/index.d.ts +1 -0
  89. package/lib/core/hooks/index.js +1 -0
  90. package/lib/core/hooks/menu/use-nested-menu.js +2 -2
  91. package/lib/core/hooks/use-active-section-id.js +6 -0
  92. package/lib/core/hooks/use-anchor-positioning.d.ts +3 -0
  93. package/lib/core/hooks/use-anchor-positioning.js +21 -0
  94. package/lib/core/hooks/use-element-size.d.ts +1 -1
  95. package/lib/core/hooks/use-theme-hooks.js +0 -1
  96. package/lib/core/types/catalog.d.ts +2 -3
  97. package/lib/core/types/common.d.ts +1 -1
  98. package/lib/core/types/hooks.d.ts +4 -10
  99. package/lib/core/utils/load-and-navigate.js +3 -3
  100. package/lib/core/utils/mcp.d.ts +0 -1
  101. package/lib/core/utils/mcp.js +0 -13
  102. package/lib/core/utils/menu.d.ts +2 -2
  103. package/lib/core/utils/urls.js +1 -3
  104. package/lib/ext/use-configure-replay.d.ts +1 -1
  105. package/lib/layouts/OIDCForbidden.js +1 -1
  106. package/lib/markdoc/components/CodeWalkthrough/CodePanelPreview.d.ts +1 -2
  107. package/lib/markdoc/components/Diagram/Diagram.d.ts +1 -1
  108. package/lib/markdoc/components/Diagram/Diagram.js +1 -2
  109. package/lib/markdoc/components/Tabs/Tab.d.ts +1 -1
  110. package/lib/markdoc/components/Tabs/TabList.d.ts +1 -1
  111. package/lib/markdoc/tags/code-walkthrough.d.ts +1 -1
  112. package/lib/markdoc/tags/markdoc-example.js +34 -22
  113. package/package.json +4 -4
  114. package/src/components/Button/Button.tsx +5 -2
  115. package/src/components/Button/variables.ts +14 -5
  116. package/src/components/Buttons/DownloadButton.tsx +16 -8
  117. package/src/components/Catalog/Catalog.tsx +4 -4
  118. package/src/components/Catalog/CatalogActionsRow.tsx +3 -2
  119. package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +3 -2
  120. package/src/components/Catalog/CatalogEntities.tsx +3 -2
  121. package/src/components/Catalog/CatalogEntitiesEmptyState.tsx +2 -1
  122. package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +6 -2
  123. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.tsx +4 -5
  124. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.tsx +56 -35
  125. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.tsx +80 -42
  126. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityRevisionItem.tsx +18 -2
  127. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.tsx +61 -75
  128. package/src/components/Catalog/CatalogEntity/CatalogEntityInfoBar.tsx +2 -1
  129. package/src/components/Catalog/CatalogEntity/CatalogEntityLinks.tsx +1 -1
  130. package/src/components/Catalog/CatalogEntity/CatalogEntityMetadata.tsx +1 -1
  131. package/src/components/Catalog/CatalogEntity/CatalogEntityMethodAndPath.tsx +1 -1
  132. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.tsx +3 -2
  133. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityPropertyCard.tsx +2 -1
  134. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/ContactProperty.tsx +3 -2
  135. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +3 -2
  136. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/EntityTypeProperty.tsx +3 -2
  137. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/FormatProperty.tsx +3 -2
  138. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/GitProperty.tsx +3 -2
  139. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +3 -4
  140. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/TagsProperty.tsx +3 -2
  141. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/UserEmailProperty.tsx +3 -2
  142. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +2 -1
  143. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityDefaultRelations.tsx +7 -4
  144. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.tsx +2 -1
  145. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +7 -4
  146. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.tsx +3 -4
  147. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +3 -2
  148. package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +1 -2
  149. package/src/components/Catalog/CatalogEntityIcon.tsx +3 -2
  150. package/src/components/Catalog/CatalogEntityTypeTag.tsx +3 -2
  151. package/src/components/Catalog/CatalogFilter/CatalogFilterContent.tsx +2 -4
  152. package/src/components/Catalog/CatalogHighlight.tsx +2 -1
  153. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.tsx +2 -1
  154. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.tsx +2 -1
  155. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.tsx +2 -1
  156. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.tsx +3 -2
  157. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.tsx +3 -2
  158. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.tsx +2 -1
  159. package/src/components/Catalog/CatalogSelector.tsx +3 -2
  160. package/src/components/Catalog/CatalogTableView/CatalogEntityCell.tsx +1 -1
  161. package/src/components/Catalog/CatalogTableView/CatalogTableHeaderCell.tsx +1 -1
  162. package/src/components/Catalog/CatalogTableView/CatalogTableView.tsx +2 -1
  163. package/src/components/Catalog/CatalogTableView/CatalogTableViewRow.tsx +2 -1
  164. package/src/components/Catalog/CatalogTableView/CatalogTagsCell.tsx +1 -1
  165. package/src/components/Catalog/CatalogTags.tsx +4 -2
  166. package/src/components/Catalog/CatalogViewModeToggle.tsx +1 -1
  167. package/src/components/Catalog/variables.ts +24 -33
  168. package/src/components/CatalogClassic/CatalogClassicInfoBlock.tsx +2 -5
  169. package/src/components/CatalogClassic/CatalogClassicVirtualizedGroups.tsx +1 -1
  170. package/src/components/CodeBlock/CodeBlockControls.tsx +2 -1
  171. package/src/components/Dropdown/Dropdown.tsx +5 -8
  172. package/src/components/Filter/FilterOptionLabel.tsx +1 -1
  173. package/src/components/LoadMore/LoadMore.tsx +2 -1
  174. package/src/components/MCP/McpConnectionTabs.tsx +3 -4
  175. package/src/components/PageActions/PageActions.tsx +2 -1
  176. package/src/components/ReplaySecuritySchemeActions/ReplaySecuritySchemeActions.tsx +19 -0
  177. package/src/components/Search/SearchAiDialog.tsx +1 -1
  178. package/src/components/Search/SearchAiMessage.tsx +3 -6
  179. package/src/components/Search/SearchAiResponse.tsx +2 -4
  180. package/src/components/Search/SearchGroups.tsx +1 -5
  181. package/src/components/SplitButton/SplitButton.tsx +3 -0
  182. package/src/components/Tooltip/AnchorTooltip.tsx +17 -27
  183. package/src/components/Tooltip/JsTooltip.tsx +55 -62
  184. package/src/components/Tooltip/Tooltip.tsx +1 -2
  185. package/src/core/constants/markdown.ts +4 -0
  186. package/src/core/hooks/__mocks__/index.ts +1 -0
  187. package/src/core/hooks/__mocks__/use-anchor-positioning.ts +3 -0
  188. package/src/core/hooks/__mocks__/use-theme-hooks.ts +0 -3
  189. package/src/core/hooks/catalog/use-catalog-entity-schema.ts +3 -3
  190. package/src/core/hooks/catalog/use-catalog-table-header-cell-actions.ts +1 -1
  191. package/src/core/hooks/catalog/use-graph.ts +4 -4
  192. package/src/core/hooks/code-walkthrough/__mocks__/MockIntersectionObserver.ts +1 -1
  193. package/src/core/hooks/code-walkthrough/__mocks__/mock-intersection-observer.ts +1 -1
  194. package/src/core/hooks/code-walkthrough/use-code-walkthrough-controls.ts +1 -1
  195. package/src/core/hooks/index.ts +1 -0
  196. package/src/core/hooks/menu/__mocks__/use-mobile-menu-items.ts +1 -1
  197. package/src/core/hooks/menu/use-nested-menu.ts +2 -2
  198. package/src/core/hooks/use-active-section-id.ts +8 -0
  199. package/src/core/hooks/use-anchor-positioning.ts +22 -0
  200. package/src/core/hooks/use-element-size.ts +2 -1
  201. package/src/core/hooks/use-theme-hooks.ts +0 -1
  202. package/src/core/types/catalog.ts +7 -3
  203. package/src/core/types/common.ts +1 -1
  204. package/src/core/types/hooks.ts +15 -14
  205. package/src/core/utils/load-and-navigate.ts +3 -3
  206. package/src/core/utils/mcp.ts +0 -17
  207. package/src/core/utils/menu.ts +2 -2
  208. package/src/core/utils/urls.ts +1 -3
  209. package/src/ext/use-configure-replay.ts +3 -3
  210. package/src/layouts/OIDCForbidden.tsx +1 -1
  211. package/src/markdoc/components/CodeWalkthrough/CodePanelPreview.tsx +2 -2
  212. package/src/markdoc/components/CodeWalkthrough/CodeWalkthrough.tsx +2 -4
  213. package/src/markdoc/components/Diagram/Diagram.tsx +2 -5
  214. package/src/markdoc/components/Tabs/Tab.tsx +1 -1
  215. package/src/markdoc/components/Tabs/TabList.tsx +1 -1
  216. package/src/markdoc/tags/code-walkthrough.ts +2 -1
  217. package/src/markdoc/tags/markdoc-example.ts +45 -28
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
 
4
4
  import { CatalogHighlight } from '@redocly/theme/components/Catalog/CatalogHighlight';
5
5
  import { CatalogEntityTypeIcon } from '@redocly/theme/components/Catalog/CatalogEntityTypeIcon';
6
- import { BffCatalogEntity } from '@redocly/theme/core/types';
6
+ import type { BffCatalogEntity } from '@redocly/theme/core/types';
7
7
 
8
8
  type Entity = Pick<BffCatalogEntity, 'type' | 'title' | 'summary'>;
9
9
  export type CatalogEntityCellProps<T extends Entity> = {
@@ -4,7 +4,7 @@ import styled, { css } from 'styled-components';
4
4
  import { CaretDownIcon } from '@redocly/theme/icons/CaretDownIcon/CaretDownIcon';
5
5
  import { CaretUpIcon } from '@redocly/theme/icons/CaretUpIcon/CaretUpIcon';
6
6
  import { useCatalogTableHeaderCellActions } from '@redocly/theme/core/hooks';
7
- import {
7
+ import type {
8
8
  BaseEntity,
9
9
  CatalogColumn,
10
10
  } from '@redocly/theme/components/Catalog/CatalogTableView/CatalogTableView';
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
2
3
  import styled from 'styled-components';
3
4
 
4
5
  import type { CatalogEntityConfig, EntitiesCatalogConfig } from '@redocly/config';
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
2
3
  import styled from 'styled-components';
3
4
 
4
5
  import type { CatalogEntityConfig, EntitiesCatalogConfig } from '@redocly/config';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import { BffCatalogEntity } from '@redocly/theme/core/types';
3
+ import type { BffCatalogEntity } from '@redocly/theme/core/types';
4
4
  import { CatalogTags } from '@redocly/theme/components/Catalog/CatalogTags';
5
5
 
6
6
  export type CatalogTagsCellProps = {
@@ -1,8 +1,10 @@
1
- import React, { JSX } from 'react';
1
+ import type { JSX } from 'react';
2
+ import React from 'react';
2
3
  import styled from 'styled-components';
3
4
 
4
5
  import { CATALOG_TAG_MAX_LENGTH } from '@redocly/theme/core/constants';
5
- import { Tag, TagProps } from '@redocly/theme/components/Tag/Tag';
6
+ import type { TagProps } from '@redocly/theme/components/Tag/Tag';
7
+ import { Tag } from '@redocly/theme/components/Tag/Tag';
6
8
  import { Tooltip } from '@redocly/theme/components/Tooltip/Tooltip';
7
9
  import { CatalogHighlight } from '@redocly/theme/components/Catalog/CatalogHighlight';
8
10
  import { useThemeHooks } from '@redocly/theme/core/hooks';
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
 
4
4
  import { TableIcon } from '@redocly/theme/icons/TableIcon/TableIcon';
5
5
  import { CardsIcon } from '@redocly/theme/icons/CardsIcon/CardsIcon';
6
- import { CatalogViewMode } from '@redocly/theme/core/types';
6
+ import type { CatalogViewMode } from '@redocly/theme/core/types';
7
7
 
8
8
  export type CatalogViewModeToggleProps = {
9
9
  viewMode: CatalogViewMode;
@@ -471,33 +471,31 @@ export const catalog = css`
471
471
  * @tokens Catalog history button
472
472
  */
473
473
  --catalog-history-button-width: 252px;
474
- --catalog-history-button-item-width: 244px;
475
474
  --catalog-history-separator-border-color: var(--border-color-secondary);
476
- --catalog-history-separator-margin-bottom: var(--spacing-sm);
475
+ --catalog-history-separator-margin: var(--spacing-sm) 0;
477
476
  --catalog-history-item-padding: var(--spacing-xxs);
478
- --catalog-history-item-margin-bottom: calc(var(--spacing-xxs) * -1);
479
- --catalog-history-item-gap: var(--spacing-xs);
480
- --catalog-history-item-border-radius: var(--menu-item-label-border-radius);
477
+ --catalog-history-item-gap: var(--spacing-xxs);
478
+ --catalog-history-item-border-radius: var(--border-radius-lg);
481
479
  --catalog-history-item-bg-color-hover: var(--menu-item-bg-color-hover);
482
480
  --catalog-history-icon-size: 16px;
483
- --catalog-history-content-max-width: 212px;
481
+ --catalog-history-icon-gap: 2px;
484
482
  --catalog-history-text-font-family: var(--font-family-base);
485
483
  --catalog-history-text-font-size: var(--font-size-base);
486
484
  --catalog-history-text-font-weight: var(--font-weight-regular);
487
485
  --catalog-history-text-line-height: var(--line-height-base);
488
- --catalog-history-text-color: var(--text-color-primary);
486
+ --catalog-history-text-color: var(--menu-content-color);
489
487
  --catalog-history-pill-gap: var(--spacing-xxs);
488
+ --catalog-history-pill-height: 22px;
490
489
  --catalog-history-pill-padding-vertical: 1px;
491
490
  --catalog-history-pill-padding-horizontal: var(--spacing-xs);
492
491
  --catalog-history-pill-border-color: var(--border-color-primary);
493
- --catalog-history-pill-border-radius: 12px;
494
- --catalog-history-pill-icon-size: 16px;
492
+ --catalog-history-pill-border-radius: var(--border-radius-xl);
493
+ --catalog-history-pill-icon-size: 14px;
495
494
  --catalog-history-pill-icon-color: var(--color-green-8);
496
495
  --catalog-history-pill-font-family: var(--font-family-base);
497
496
  --catalog-history-pill-font-size: var(--font-size-base);
498
497
  --catalog-history-pill-line-height: var(--line-height-base);
499
498
  --catalog-history-pill-text-color: var(--text-color-primary);
500
- --catalog-history-pill-min-width: calc(100% - 118px - var(--catalog-history-item-gap));
501
499
  // @tokens End
502
500
 
503
501
  /**
@@ -506,50 +504,44 @@ export const catalog = css`
506
504
  --catalog-history-sidebar-width: 320px;
507
505
  --catalog-history-sidebar-bg-color: var(--sidebar-bg-color);
508
506
  --catalog-history-sidebar-border-color: var(--border-color-secondary);
507
+ --catalog-history-sidebar-padding: var(--spacing-base) var(--spacing-base) 0;
508
+ --catalog-history-sidebar-divider-margin: var(--spacing-sm) 0 0;
509
509
 
510
- --catalog-history-sidebar-header-padding: var(--spacing-base) var(--spacing-sm) var(--spacing-base);
510
+ --catalog-history-sidebar-header-padding: var(--spacing-xxs);
511
511
  --catalog-history-sidebar-header-font-family: var(--font-family-base);
512
512
  --catalog-history-sidebar-header-font-size: var(--font-size-base);
513
513
  --catalog-history-sidebar-header-font-weight: var(--font-weight-regular);
514
514
  --catalog-history-sidebar-header-line-height: var(--line-height-base);
515
515
  --catalog-history-sidebar-header-letter-spacing: 0;
516
- --catalog-history-sidebar-header-color: var(--text-color-primary);
516
+ --catalog-history-sidebar-header-color: var(--menu-content-color);
517
517
 
518
- --catalog-history-sidebar-close-button-size: 32px;
519
- --catalog-history-sidebar-close-button-border-radius: var(--border-radius-md);
518
+ --catalog-history-sidebar-close-button-size: 22px;
519
+ --catalog-history-sidebar-close-button-border-radius: var(--border-radius-xl);
520
520
  --catalog-history-sidebar-close-button-bg-color-hover: var(--color-hover-base);
521
521
  --catalog-history-sidebar-close-icon-color: var(--text-color-primary);
522
522
 
523
- --catalog-history-sidebar-content-padding: 0 var(--spacing-sm);
524
- --catalog-history-sidebar-content-margin-top: calc(var(--spacing-xxs) * -1);
525
-
526
- --catalog-history-sidebar-version-header-padding: var(--spacing-xs) var(--spacing-xxs);
523
+ --catalog-history-sidebar-version-header-padding: var(--spacing-xxs);
527
524
  --catalog-history-sidebar-version-header-border-radius: var(--border-radius-md);
528
525
  --catalog-history-sidebar-version-header-bg-color-hover: var(--color-hover-base);
526
+ --catalog-history-sidebar-version-header-bg-color-current: var(--menu-item-bg-color-active);
529
527
 
530
- --catalog-history-sidebar-version-icon-size: 32px;
531
- --catalog-history-sidebar-version-icon-color: var(--text-color-secondary);
528
+ --catalog-history-sidebar-version-icon-size: 20px;
529
+ --catalog-history-sidebar-version-icon-color: var(--text-color-primary);
532
530
  --catalog-history-sidebar-version-icon-color-current: var(--color-static-white);
533
- --catalog-history-sidebar-version-icon-margin-right: var(--spacing-xs);
531
+ --catalog-history-sidebar-version-icon-margin-right: var(--spacing-xxs);
534
532
  --catalog-history-sidebar-chevron-icon-color: var(--text-color-secondary);
535
- --catalog-history-sidebar-version-info-gap: 2px;
536
533
 
537
534
  --catalog-history-sidebar-version-title-font-family: var(--font-family-base);
538
535
  --catalog-history-sidebar-version-title-font-size: var(--font-size-base);
539
- --catalog-history-sidebar-version-title-font-weight: var(--font-weight-medium);
536
+ --catalog-history-sidebar-version-title-font-weight: var(--font-weight-regular);
540
537
  --catalog-history-sidebar-version-title-line-height: var(--line-height-base);
541
- --catalog-history-sidebar-version-title-color: var(--color-warm-grey-7);
542
-
543
- --catalog-history-sidebar-version-date-font-family: var(--font-family-base);
544
- --catalog-history-sidebar-version-date-font-size: var(--font-size-sm);
545
- --catalog-history-sidebar-version-date-font-weight: var(--font-weight-regular);
546
- --catalog-history-sidebar-version-date-line-height: var(--line-height-sm);
547
- --catalog-history-sidebar-version-date-color: var(--color-warm-grey-7);
538
+ --catalog-history-sidebar-version-title-color: var(--menu-content-color);
548
539
 
549
- --catalog-history-sidebar-revisions-padding-left: 40px;
540
+ --catalog-history-sidebar-revisions-padding-left: 28px;
550
541
  --catalog-history-sidebar-revisions-padding-bottom: var(--spacing-base);
542
+ --catalog-history-sidebar-revision-line-left: 14px;
551
543
 
552
- --catalog-history-sidebar-revision-item-padding: var(--spacing-xs) var(--spacing-sm);
544
+ --catalog-history-sidebar-revision-item-padding: var(--spacing-xxs) var(--spacing-sm);
553
545
  --catalog-history-sidebar-revision-item-border-radius: var(--border-radius-md);
554
546
  --catalog-history-sidebar-revision-item-bg-color-hover: var(--bg-color-hover);
555
547
 
@@ -573,7 +565,6 @@ export const catalog = css`
573
565
  /**
574
566
  * @tokens Catalog history tag border radius
575
567
  */
576
- --catalog-history-sidebar-version-tag-border-radius: var(--border-radius-xl);
577
568
  --catalog-history-sidebar-revision-tag-border-radius: var(--border-radius-xl);
578
569
  // @tokens End
579
570
 
@@ -1,13 +1,10 @@
1
- import React from 'react';
1
+ import React, { type JSX } from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { JSX } from 'react';
5
-
6
4
  import { useThemeHooks } from '@redocly/theme/core/hooks';
7
- import { getScorecardColorVariable } from '@redocly/theme/core/utils';
5
+ import { getScorecardColorVariable, getBaseDataAttributes } from '@redocly/theme/core/utils';
8
6
  import { Tag } from '@redocly/theme/components/Tag/Tag';
9
7
  import { Link } from '@redocly/theme/components/Link/Link';
10
- import { getBaseDataAttributes } from '@redocly/theme/core/utils';
11
8
 
12
9
  export type CatalogClassicInfoBlockProps = {
13
10
  metadata?: {
@@ -2,7 +2,7 @@ import React, { useMemo, useEffect, useState } from 'react';
2
2
  import { useWindowVirtualizer } from '@tanstack/react-virtual';
3
3
  import styled from 'styled-components';
4
4
 
5
- import { CatalogItem, ResolvedFilter } from '@redocly/theme/core/types';
5
+ import type { CatalogItem, ResolvedFilter } from '@redocly/theme/core/types';
6
6
  import { useElementSize } from '@redocly/theme/core/hooks';
7
7
  import { CatalogClassicCard } from '@redocly/theme/components/CatalogClassic/CatalogClassicCard';
8
8
  import { CounterTag } from '@redocly/theme/components/Tags/CounterTag';
@@ -7,7 +7,8 @@ import type { CodeBlockItems } from '@redocly/theme/components/CodeBlock/CodeBlo
7
7
  import { CodeBlockTabs } from '@redocly/theme/components/CodeBlock/CodeBlockTabs';
8
8
  import { CopyButton } from '@redocly/theme/components/Buttons/CopyButton';
9
9
  import { Tooltip } from '@redocly/theme/components/Tooltip/Tooltip';
10
- import { useThemeHooks, useThemeConfig, ReportButtonProps } from '@redocly/theme/core/hooks';
10
+ import type { ReportButtonProps } from '@redocly/theme/core/hooks';
11
+ import { useThemeHooks, useThemeConfig } from '@redocly/theme/core/hooks';
11
12
  import { DeselectIcon } from '@redocly/theme/icons/DeselectIcon/DeselectIcon';
12
13
  import { MaximizeIcon } from '@redocly/theme/icons/MaximizeIcon/MaximizeIcon';
13
14
  import { MinimizeIcon } from '@redocly/theme/icons/MinimizeIcon/MinimizeIcon';
@@ -116,8 +116,12 @@ export const Dropdown = forwardRef<HTMLDivElement, DropdownProps>(
116
116
  const wrapper = wrapperRef.current;
117
117
  if (!wrapper) return;
118
118
  const rect = wrapper.getBoundingClientRect();
119
+ const menuHeight = menuRef.current?.offsetHeight ?? 0;
120
+ const fitsBelow = rect.bottom + menuHeight <= window.innerHeight;
121
+ const fitsAbove = rect.top - menuHeight >= 0;
122
+ const openUpward = placement === 'top' ? fitsAbove || !fitsBelow : !fitsBelow && fitsAbove;
119
123
  const style: CSSProperties = { minWidth: rect.width };
120
- if (placement === 'top') {
124
+ if (openUpward) {
121
125
  style.bottom = window.innerHeight - rect.top;
122
126
  } else {
123
127
  style.top = rect.bottom;
@@ -212,13 +216,6 @@ const DropdownWrapper = styled.div`
212
216
  position: relative;
213
217
 
214
218
  text-decoration: none;
215
-
216
- /* The trigger keeps its hovered appearance while the menu is open. */
217
- > .button[aria-expanded='true'] {
218
- background-color: var(--button-bg-color-hover);
219
- color: var(--button-color-hover);
220
- border-color: var(--button-border-color-hover);
221
- }
222
219
  `;
223
220
 
224
221
  const ChildrenWrapper = styled.div<{
@@ -1,4 +1,4 @@
1
- import React, { type PropsWithChildren, JSX } from 'react';
1
+ import React, { type JSX, type PropsWithChildren } from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
4
  export type FilterOptionLabelProps = PropsWithChildren<{
@@ -1,4 +1,5 @@
1
- import React, { JSX } from 'react';
1
+ import type { JSX } from 'react';
2
+ import React from 'react';
2
3
  import styled from 'styled-components';
3
4
 
4
5
  import { Button } from '@redocly/theme/components/Button/Button';
@@ -9,7 +9,6 @@ import type { CodeBlockControlsProps } from '@redocly/theme/components/CodeBlock
9
9
  import { useMCPConfig, useThemeHooks } from '@redocly/theme/core/hooks';
10
10
  import {
11
11
  generateClaudeCodeCommand,
12
- generateClaudeDesktopConfig,
13
12
  generateCodexCommand,
14
13
  generateMcpInstallPrompt,
15
14
  getBaseDataAttributes,
@@ -177,12 +176,12 @@ function renderTabContent(
177
176
  <TabHint>
178
177
  {translate(
179
178
  'page.mcpNotAllowed.snippets.claudeDesktop.instruction',
180
- 'In Claude Desktop, open Settings → Developer → Edit Config, add this to the configuration file, and restart Claude Desktop:',
179
+ 'Open Customize → Connectors → Add custom connector and paste this server URL:',
181
180
  )}
182
181
  </TabHint>
183
182
  <CodeBlock
184
- lang="json"
185
- source={generateClaudeDesktopConfig(connection)}
183
+ lang="text"
184
+ source={connection.url}
186
185
  header={snippetHeader(option, 'claude-desktop')}
187
186
  />
188
187
  </>
@@ -12,7 +12,8 @@ import { SplitButton } from '@redocly/theme/components/SplitButton/SplitButton';
12
12
  import { DropdownMenu } from '@redocly/theme/components/Dropdown/DropdownMenu';
13
13
  import { Spinner } from '@redocly/theme/icons/Spinner/Spinner';
14
14
  import { CheckmarkFilledIcon } from '@redocly/theme/icons/CheckmarkFilledIcon/CheckmarkFilledIcon';
15
- import { PageActionType, usePageActions, useThemeHooks } from '@redocly/theme/core/hooks';
15
+ import type { PageActionType } from '@redocly/theme/core/hooks';
16
+ import { usePageActions, useThemeHooks } from '@redocly/theme/core/hooks';
16
17
 
17
18
  type ActionState = 'idle' | 'processing' | 'done';
18
19
 
@@ -0,0 +1,19 @@
1
+ // Named after the OpenAPI fields, not the labels Replay shows, so renaming a label cannot
2
+ // silently change what a project matches on. Only schemes that take a single credential are
3
+ // here: Replay renders no slot for the rest, which `setValue` could not fill anyway.
4
+ export type ReplaySecurityType = 'oauth2' | 'openIdConnect' | 'apiKey' | 'http-bearer';
5
+
6
+ export type ReplaySecuritySchemeActionsProps = {
7
+ schemeId: string | null;
8
+ securityType: ReplaySecurityType;
9
+ environment: string;
10
+ // Undefined for an operation with no documented id, and in the workflow tab, which has no operation.
11
+ operationId?: string;
12
+ value: string;
13
+ setValue: (value: string) => void;
14
+ apiId?: string;
15
+ };
16
+
17
+ export function ReplaySecuritySchemeActions(_props: ReplaySecuritySchemeActionsProps) {
18
+ return null;
19
+ }
@@ -13,8 +13,8 @@ import type {
13
13
  import { useThemeConfig, useThemeHooks } from '@redocly/theme/core/hooks';
14
14
  import { Button } from '@redocly/theme/components/Button/Button';
15
15
  import { SearchAiConversationInput } from '@redocly/theme/components/Search/SearchAiConversationInput';
16
+ import type { AiSearchError } from '@redocly/theme/core/constants';
16
17
  import {
17
- AiSearchError,
18
18
  AI_SEARCH_ERROR_CONFIG as ERROR_CONFIG,
19
19
  AiSearchConversationRole,
20
20
  } from '@redocly/theme/core/constants';
@@ -1,19 +1,16 @@
1
- import React, { memo, useState } from 'react';
1
+ import React, { memo, useState, type JSX } from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
- import type { JSX } from 'react';
5
-
6
4
  import {
7
5
  FeedbackType,
8
6
  type SearchAiMessageResource,
9
7
  type ToolCall,
10
8
  type ContentSegment,
9
+ ToolCallName,
11
10
  } from '@redocly/theme/core/types';
12
- import { TOOL_CALL_DISPLAY_TEXT } from '@redocly/theme/core/constants';
13
- import { ToolCallName } from '@redocly/theme/core/types';
11
+ import { TOOL_CALL_DISPLAY_TEXT, AiSearchConversationRole } from '@redocly/theme/core/constants';
14
12
  import { Link } from '@redocly/theme/components/Link/Link';
15
13
  import { Tag } from '@redocly/theme/components/Tag/Tag';
16
- import { AiSearchConversationRole } from '@redocly/theme/core/constants';
17
14
  import { useThemeHooks } from '@redocly/theme/core/hooks';
18
15
  import { Markdown } from '@redocly/theme/components/Markdown/Markdown';
19
16
  import { DocumentIcon } from '@redocly/theme/icons/DocumentIcon/DocumentIcon';
@@ -13,10 +13,8 @@ import { Markdown } from '@redocly/theme/components/Markdown/Markdown';
13
13
  import { Typography } from '@redocly/theme/components/Typography/Typography';
14
14
  import { Admonition } from '@redocly/theme/components/Admonition/Admonition';
15
15
  import { ErrorFilledIcon } from '@redocly/theme/icons/ErrorFilledIcon/ErrorFilledIcon';
16
- import {
17
- AiSearchError,
18
- AI_SEARCH_ERROR_CONFIG as ERROR_CONFIG,
19
- } from '@redocly/theme/core/constants';
16
+ import type { AiSearchError } from '@redocly/theme/core/constants';
17
+ import { AI_SEARCH_ERROR_CONFIG as ERROR_CONFIG } from '@redocly/theme/core/constants';
20
18
  import { ChatIcon } from '@redocly/theme/icons/ChatIcon/ChatIcon';
21
19
 
22
20
  export type SearchAiResponseProps = {
@@ -3,11 +3,7 @@ import styled from 'styled-components';
3
3
 
4
4
  import type { JSX } from 'react';
5
5
 
6
- import {
7
- type SearchFacet,
8
- type SearchFacetCount,
9
- type SearchFilterItem,
10
- } from '@redocly/theme/core/types';
6
+ import type { SearchFacet, SearchFacetCount, SearchFilterItem } from '@redocly/theme/core/types';
11
7
  import { Tag } from '@redocly/theme/components/Tag/Tag';
12
8
  import { useThemeHooks } from '@redocly/theme/core/hooks';
13
9
 
@@ -14,6 +14,7 @@ export type SplitButtonProps = {
14
14
  children: ComponentProps<typeof Dropdown>['children'];
15
15
  variant?: ButtonGroupVariant;
16
16
  size?: ButtonGroupSize;
17
+ tone?: ButtonProps['tone'];
17
18
  placement?: 'top' | 'bottom';
18
19
  alignment?: 'start' | 'end';
19
20
  portalled?: boolean;
@@ -31,6 +32,7 @@ export function SplitButton(props: SplitButtonProps): JSX.Element {
31
32
  children,
32
33
  variant,
33
34
  size,
35
+ tone,
34
36
  placement = 'bottom',
35
37
  alignment = 'end',
36
38
  portalled,
@@ -63,6 +65,7 @@ export function SplitButton(props: SplitButtonProps): JSX.Element {
63
65
  aria-haspopup="menu"
64
66
  variant={variant}
65
67
  size={size}
68
+ tone={tone}
66
69
  disabled={disabled}
67
70
  />
68
71
  }
@@ -132,15 +132,13 @@ const PLACEMENTS = {
132
132
  $withArrow &&
133
133
  css`
134
134
  &::after {
135
- border-left: 14px solid transparent;
136
- border-right: 14px solid transparent;
137
- border-top-width: 8px;
138
- border-top-style: solid;
139
- border-radius: 2px;
135
+ width: 16px;
136
+ height: 8px;
137
+ clip-path: path('M0 0H16L9.414 6.586A2 2 0 0 1 6.586 6.586Z');
140
138
  bottom: 0;
141
- ${$arrowPosition === 'left' && 'left: 16px; transform: translateY(100%);'}
139
+ ${$arrowPosition === 'left' && 'left: 22px; transform: translateY(100%);'}
142
140
  ${$arrowPosition === 'center' && 'left: 50%; transform: translate(-50%, 100%);'}
143
- ${$arrowPosition === 'right' && 'right: 16px; transform: translateY(100%);'}
141
+ ${$arrowPosition === 'right' && 'right: 22px; transform: translateY(100%);'}
144
142
  }
145
143
  `}
146
144
  `,
@@ -166,15 +164,13 @@ const PLACEMENTS = {
166
164
  $withArrow &&
167
165
  css`
168
166
  &::after {
169
- border-left: 14px solid transparent;
170
- border-right: 14px solid transparent;
171
- border-bottom-width: 8px;
172
- border-bottom-style: solid;
173
- border-radius: 0 0 2px 2px;
167
+ width: 16px;
168
+ height: 8px;
169
+ clip-path: path('M0 8H16L9.414 1.414A2 2 0 0 0 6.586 1.414Z');
174
170
  top: 0;
175
- ${$arrowPosition === 'left' && 'left: 16px; transform: translateY(-100%);'}
171
+ ${$arrowPosition === 'left' && 'left: 22px; transform: translateY(-100%);'}
176
172
  ${$arrowPosition === 'center' && 'left: 50%; transform: translate(-50%, -100%);'}
177
- ${$arrowPosition === 'right' && 'right: 16px; transform: translateY(-100%);'}
173
+ ${$arrowPosition === 'right' && 'right: 22px; transform: translateY(-100%);'}
178
174
  }
179
175
  `}
180
176
  `,
@@ -188,11 +184,9 @@ const PLACEMENTS = {
188
184
  $withArrow &&
189
185
  css`
190
186
  &::after {
191
- border-top: 14px solid transparent;
192
- border-bottom: 14px solid transparent;
193
- border-left-width: 8px;
194
- border-left-style: solid;
195
- border-radius: 2px 0 0 2px;
187
+ width: 8px;
188
+ height: 16px;
189
+ clip-path: path('M0 0V16L6.586 9.414A2 2 0 0 0 6.586 6.586Z');
196
190
  right: -9px;
197
191
  top: 50%;
198
192
  transform: translateY(-50%);
@@ -209,11 +203,9 @@ const PLACEMENTS = {
209
203
  $withArrow &&
210
204
  css`
211
205
  &::after {
212
- border-top: 14px solid transparent;
213
- border-bottom: 14px solid transparent;
214
- border-right-width: 8px;
215
- border-right-style: solid;
216
- border-radius: 0 2px 2px 0;
206
+ width: 8px;
207
+ height: 16px;
208
+ clip-path: path('M8 0V16L1.414 9.414A2 2 0 0 1 1.414 6.586Z');
217
209
  left: -9px;
218
210
  top: 50%;
219
211
  transform: translateY(-50%);
@@ -263,9 +255,7 @@ const TooltipBody = styled.span.attrs<{ $anchorName: string }>(({ $anchorName })
263
255
 
264
256
  content: ' ';
265
257
  display: inline-block;
266
- width: 0;
267
- height: 0;
268
- border-color: var(--tooltip-arrow-color, var(--tooltip-bg-color));
258
+ background: var(--tooltip-arrow-color, var(--tooltip-bg-color));
269
259
  }
270
260
 
271
261
  background: var(--tooltip-bg-color);