@redocly/theme 0.59.0-next.1 → 0.59.0-next.10

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 (221) hide show
  1. package/LICENSE +7 -1
  2. package/lib/components/Accordion/Accordion.js +17 -7
  3. package/lib/components/Accordion/AccordionBody.js +17 -7
  4. package/lib/components/Admonition/Admonition.js +17 -7
  5. package/lib/components/Badge/Badge.js +17 -7
  6. package/lib/components/Breadcrumbs/Breadcrumb.js +17 -7
  7. package/lib/components/Breadcrumbs/BreadcrumbDropdown.js +17 -7
  8. package/lib/components/Button/Button.js +17 -7
  9. package/lib/components/Buttons/AIAssistantButton.js +23 -9
  10. package/lib/components/Buttons/CopyButton.js +17 -7
  11. package/lib/components/Buttons/variables.js +1 -1
  12. package/lib/components/Catalog/Catalog.d.ts +6 -0
  13. package/lib/components/Catalog/Catalog.js +7 -6
  14. package/lib/components/Catalog/CatalogEntities.js +17 -7
  15. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.js +17 -7
  16. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsGraph.lazy.js +17 -7
  17. package/lib/components/Catalog/CatalogEntity/CatalogEntityInfoBar.js +1 -0
  18. package/lib/components/Catalog/CatalogEntity/CatalogEntityMetadata.js +17 -7
  19. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.js +1 -1
  20. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelations.js +17 -7
  21. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +1 -1
  22. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +17 -7
  23. package/lib/components/Catalog/CatalogEntityIcon.js +2 -1
  24. package/lib/components/Catalog/CatalogFilter/CatalogFilter.js +4 -0
  25. package/lib/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.js +17 -7
  26. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.js +17 -7
  27. package/lib/components/Catalog/CatalogFilter/CatalogFilterDateRange.js +17 -7
  28. package/lib/components/Catalog/CatalogFilter/CatalogFilterSelect.js +17 -7
  29. package/lib/components/Catalog/CatalogSortButton.js +17 -7
  30. package/lib/components/Catalog/CatalogTableView/CatalogTableHeaderCell.js +17 -7
  31. package/lib/components/Catalog/CatalogViewModeToggle.js +17 -7
  32. package/lib/components/Catalog/variables.js +1 -1
  33. package/lib/components/CatalogClassic/CatalogClassicActions.js +17 -7
  34. package/lib/components/CatalogClassic/CatalogClassicCard.js +17 -7
  35. package/lib/components/CatalogClassic/CatalogClassicHighlight.js +17 -7
  36. package/lib/components/CatalogClassic/CatalogClassicVirtualizedGroups.js +17 -7
  37. package/lib/components/CodeBlock/CodeBlock.js +17 -7
  38. package/lib/components/CodeBlock/CodeBlockContainer.js +17 -7
  39. package/lib/components/CodeBlock/CodeBlockTabs.js +17 -7
  40. package/lib/components/Dropdown/Dropdown.d.ts +16 -2
  41. package/lib/components/Dropdown/Dropdown.js +22 -12
  42. package/lib/components/Dropdown/DropdownMenuItem.js +17 -7
  43. package/lib/components/Feedback/Comment.js +17 -7
  44. package/lib/components/Feedback/Feedback.js +17 -7
  45. package/lib/components/Feedback/Mood.js +17 -7
  46. package/lib/components/Feedback/Rating.js +17 -7
  47. package/lib/components/Feedback/Reasons.js +17 -7
  48. package/lib/components/Feedback/Scale.js +17 -7
  49. package/lib/components/Feedback/Sentiment.js +17 -7
  50. package/lib/components/Feedback/Stars.js +17 -7
  51. package/lib/components/Filter/FilterContent.js +17 -7
  52. package/lib/components/Filter/FilterInput.js +17 -7
  53. package/lib/components/Image/Image.js +17 -7
  54. package/lib/components/JsonViewer/JsonViewer.js +17 -7
  55. package/lib/components/JsonViewer/helpers.js +17 -7
  56. package/lib/components/LastUpdated/LastUpdated.js +17 -7
  57. package/lib/components/Link/Link.js +17 -7
  58. package/lib/components/Markdown/Markdown.js +17 -7
  59. package/lib/components/Marker/Marker.js +17 -7
  60. package/lib/components/Menu/MenuContainer.js +17 -7
  61. package/lib/components/Menu/MenuItem.js +18 -8
  62. package/lib/components/Menu/MenuMobile.js +17 -7
  63. package/lib/components/Navbar/NavbarItem.js +3 -3
  64. package/lib/components/PageActions/PageActions.js +17 -7
  65. package/lib/components/PageNavigation/NextButton.js +17 -7
  66. package/lib/components/Panel/Panel.js +17 -7
  67. package/lib/components/Panel/PanelBody.js +17 -7
  68. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +17 -7
  69. package/lib/components/Search/FilterFields/SearchFilterFieldTags.js +1 -2
  70. package/lib/components/Search/SearchAiActionButtons.d.ts +10 -0
  71. package/lib/components/Search/SearchAiActionButtons.js +43 -0
  72. package/lib/components/Search/SearchAiConversationInput.d.ts +3 -1
  73. package/lib/components/Search/SearchAiConversationInput.js +56 -14
  74. package/lib/components/Search/SearchAiDialog.d.ts +3 -6
  75. package/lib/components/Search/SearchAiDialog.js +37 -16
  76. package/lib/components/Search/SearchAiMessage.d.ts +9 -5
  77. package/lib/components/Search/SearchAiMessage.js +146 -22
  78. package/lib/components/Search/SearchAiNegativeFeedbackForm.d.ts +8 -0
  79. package/lib/components/Search/SearchAiNegativeFeedbackForm.js +169 -0
  80. package/lib/components/Search/SearchDialog.js +53 -12
  81. package/lib/components/Search/SearchFilter.js +17 -7
  82. package/lib/components/Search/SearchGroups.js +19 -9
  83. package/lib/components/Search/SearchHighlight.js +17 -7
  84. package/lib/components/Search/SearchItem.js +17 -7
  85. package/lib/components/Search/SearchRecent.js +17 -7
  86. package/lib/components/Search/SearchShortcut.js +17 -7
  87. package/lib/components/Search/SearchSuggestedPages.js +17 -7
  88. package/lib/components/Search/SearchTrigger.js +17 -7
  89. package/lib/components/Search/variables.js +36 -64
  90. package/lib/components/Segmented/Segmented.js +17 -7
  91. package/lib/components/Select/Select.js +17 -7
  92. package/lib/components/Select/SelectInput.js +18 -8
  93. package/lib/components/Sidebar/Sidebar.js +17 -7
  94. package/lib/components/SidebarActions/styled.js +17 -7
  95. package/lib/components/SkipContent/SkipContent.js +17 -7
  96. package/lib/components/Switch/Switch.js +17 -7
  97. package/lib/components/TableOfContent/TableOfContent.js +17 -7
  98. package/lib/components/Tag/Tag.d.ts +2 -1
  99. package/lib/components/Tag/Tag.js +67 -18
  100. package/lib/components/Tag/variables.dark.js +135 -36
  101. package/lib/components/Tag/variables.js +78 -61
  102. package/lib/components/Tooltip/Tooltip.js +17 -7
  103. package/lib/components/VersionPicker/VersionPicker.js +17 -7
  104. package/lib/core/constants/search.d.ts +5 -4
  105. package/lib/core/constants/search.js +4 -5
  106. package/lib/core/contexts/CodeSnippetContext.js +17 -7
  107. package/lib/core/hooks/index.d.ts +1 -0
  108. package/lib/core/hooks/index.js +1 -0
  109. package/lib/core/hooks/menu/use-nested-menu.js +1 -1
  110. package/lib/core/hooks/search/use-feedback-tooltip.d.ts +6 -0
  111. package/lib/core/hooks/search/use-feedback-tooltip.js +26 -0
  112. package/lib/core/hooks/use-product-picker.js +2 -1
  113. package/lib/core/hooks/use-tabs.d.ts +3 -2
  114. package/lib/core/hooks/use-tabs.js +115 -57
  115. package/lib/core/hooks/use-telemetry-fallback.d.ts +10 -8
  116. package/lib/core/hooks/use-telemetry-fallback.js +10 -8
  117. package/lib/core/styles/dark.js +4 -0
  118. package/lib/core/styles/global.js +4 -0
  119. package/lib/core/templates/Markdown.js +17 -7
  120. package/lib/core/types/hooks.d.ts +6 -3
  121. package/lib/core/types/l10n.d.ts +1 -1
  122. package/lib/core/types/search.d.ts +11 -4
  123. package/lib/core/types/search.js +6 -0
  124. package/lib/core/utils/download-code-walkthrough.js +17 -7
  125. package/lib/core/utils/frontmatter-translate.d.ts +6 -0
  126. package/lib/core/utils/frontmatter-translate.js +14 -0
  127. package/lib/core/utils/get-file-icon.js +17 -7
  128. package/lib/core/utils/index.d.ts +1 -0
  129. package/lib/core/utils/index.js +1 -0
  130. package/lib/icons/AiStarsGradientIcon/AiStarsGradientIcon.js +44 -4
  131. package/lib/icons/AiStarsIcon/AiStarsIcon.js +11 -2
  132. package/lib/icons/CubeIcon/CubeIcon.d.ts +9 -0
  133. package/lib/icons/CubeIcon/CubeIcon.js +17 -0
  134. package/lib/icons/GenericIcon/GenericIcon.js +17 -7
  135. package/lib/icons/HashtagIcon/HashtagIcon.d.ts +9 -0
  136. package/lib/icons/HashtagIcon/HashtagIcon.js +22 -0
  137. package/lib/icons/RedoclyIcon/RedoclyIcon.js +4 -7
  138. package/lib/icons/Spinner/Spinner.js +17 -7
  139. package/lib/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.d.ts +9 -0
  140. package/lib/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.js +34 -0
  141. package/lib/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.d.ts +9 -0
  142. package/lib/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.js +34 -0
  143. package/lib/index.d.ts +1 -0
  144. package/lib/index.js +18 -7
  145. package/lib/layouts/OIDCForbidden.js +17 -7
  146. package/lib/layouts/ThreePanelLayout.js +17 -7
  147. package/lib/markdoc/components/Cards/Card.js +1 -28
  148. package/lib/markdoc/components/Cards/Cards.js +17 -7
  149. package/lib/markdoc/components/CodeGroup/CodeGroup.js +17 -7
  150. package/lib/markdoc/components/CodeWalkthrough/CodeContainer.js +17 -7
  151. package/lib/markdoc/components/CodeWalkthrough/CodePanel.js +17 -7
  152. package/lib/markdoc/components/CodeWalkthrough/CodePanelHeader.js +17 -7
  153. package/lib/markdoc/components/CodeWalkthrough/CodePanelPreview.js +17 -7
  154. package/lib/markdoc/components/CodeWalkthrough/CodePanelToolbar.js +17 -7
  155. package/lib/markdoc/components/CodeWalkthrough/CodeStep.js +17 -7
  156. package/lib/markdoc/components/CodeWalkthrough/CodeToggle.js +17 -7
  157. package/lib/markdoc/components/CodeWalkthrough/CodeWalkthrough.js +17 -7
  158. package/lib/markdoc/components/CodeWalkthrough/Input.js +17 -7
  159. package/lib/markdoc/components/Heading/Heading.js +17 -7
  160. package/lib/markdoc/components/HtmlBlock/HtmlBlock.js +17 -7
  161. package/lib/markdoc/components/InlineSvg/InlineSvg.js +17 -7
  162. package/lib/markdoc/components/MarkdocExample/MarkdocExample.js +17 -7
  163. package/lib/markdoc/components/Tabs/TabList.d.ts +3 -1
  164. package/lib/markdoc/components/Tabs/TabList.js +214 -54
  165. package/lib/markdoc/components/Tabs/Tabs.d.ts +2 -1
  166. package/lib/markdoc/components/Tabs/Tabs.js +74 -19
  167. package/lib/markdoc/default.d.ts +104 -1
  168. package/lib/markdoc/default.js +17 -7
  169. package/lib/markdoc/tags/card.js +0 -1
  170. package/package.json +8 -8
  171. package/src/components/Buttons/AIAssistantButton.tsx +6 -2
  172. package/src/components/Buttons/variables.ts +1 -1
  173. package/src/components/Catalog/Catalog.tsx +15 -4
  174. package/src/components/Catalog/CatalogEntity/CatalogEntityInfoBar.tsx +1 -0
  175. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +1 -1
  176. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +1 -1
  177. package/src/components/Catalog/CatalogEntityIcon.tsx +2 -1
  178. package/src/components/Catalog/CatalogFilter/CatalogFilter.tsx +5 -0
  179. package/src/components/Catalog/variables.ts +1 -1
  180. package/src/components/Dropdown/Dropdown.tsx +84 -79
  181. package/src/components/Menu/MenuItem.tsx +1 -0
  182. package/src/components/Navbar/NavbarItem.tsx +6 -5
  183. package/src/components/Search/FilterFields/SearchFilterFieldTags.tsx +3 -3
  184. package/src/components/Search/SearchAiActionButtons.tsx +76 -0
  185. package/src/components/Search/SearchAiConversationInput.tsx +61 -18
  186. package/src/components/Search/SearchAiDialog.tsx +52 -23
  187. package/src/components/Search/SearchAiMessage.tsx +172 -43
  188. package/src/components/Search/SearchAiNegativeFeedbackForm.tsx +210 -0
  189. package/src/components/Search/SearchDialog.tsx +49 -13
  190. package/src/components/Search/SearchGroups.tsx +2 -0
  191. package/src/components/Search/variables.ts +36 -64
  192. package/src/components/Select/SelectInput.tsx +1 -0
  193. package/src/components/Tag/Tag.tsx +36 -20
  194. package/src/components/Tag/variables.dark.ts +135 -36
  195. package/src/components/Tag/variables.ts +78 -61
  196. package/src/core/constants/search.ts +8 -4
  197. package/src/core/hooks/index.ts +1 -0
  198. package/src/core/hooks/menu/use-nested-menu.ts +2 -2
  199. package/src/core/hooks/search/use-feedback-tooltip.ts +32 -0
  200. package/src/core/hooks/use-product-picker.ts +2 -1
  201. package/src/core/hooks/use-tabs.ts +168 -86
  202. package/src/core/hooks/use-telemetry-fallback.ts +10 -8
  203. package/src/core/styles/dark.ts +4 -0
  204. package/src/core/styles/global.ts +4 -0
  205. package/src/core/types/hooks.ts +6 -1
  206. package/src/core/types/l10n.ts +5 -0
  207. package/src/core/types/search.ts +13 -4
  208. package/src/core/utils/frontmatter-translate.ts +9 -0
  209. package/src/core/utils/index.ts +1 -0
  210. package/src/icons/AiStarsGradientIcon/AiStarsGradientIcon.tsx +13 -4
  211. package/src/icons/AiStarsIcon/AiStarsIcon.tsx +11 -2
  212. package/src/icons/CubeIcon/CubeIcon.tsx +27 -0
  213. package/src/icons/HashtagIcon/HashtagIcon.tsx +23 -0
  214. package/src/icons/RedoclyIcon/RedoclyIcon.tsx +4 -22
  215. package/src/icons/ThumbDownFilledIcon/ThumbDownFilledIcon.tsx +38 -0
  216. package/src/icons/ThumbUpFilledIcon/ThumbUpFilledIcon.tsx +35 -0
  217. package/src/index.ts +1 -0
  218. package/src/markdoc/components/Cards/Card.tsx +1 -28
  219. package/src/markdoc/components/Tabs/TabList.tsx +312 -105
  220. package/src/markdoc/components/Tabs/Tabs.tsx +136 -11
  221. package/src/markdoc/tags/card.ts +0 -1
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -6,10 +6,11 @@ export declare enum AiSearchError {
6
6
  EmptyResponse = "empty_response",
7
7
  ErrorProcessingResponse = "error_processing_response"
8
8
  }
9
- export declare const enum AiSearchConversationRole {
10
- USER = "user",
11
- ASSISTANT = "assistant"
12
- }
9
+ export declare const AiSearchConversationRole: {
10
+ readonly USER: "user";
11
+ readonly ASSISTANT: "assistant";
12
+ };
13
+ export type AiSearchConversationRole = (typeof AiSearchConversationRole)[keyof typeof AiSearchConversationRole];
13
14
  export declare const AI_SEARCH_ERROR_CONFIG: Record<AiSearchError, AiSearchErrorConfig>;
14
15
  export declare const AI_SEARCH_MAX_MESSAGE_LENGTH = 45000;
15
16
  export declare const SEARCH_DEBOUNCE_TIME_MS = 300;
@@ -9,11 +9,10 @@ var AiSearchError;
9
9
  AiSearchError["EmptyResponse"] = "empty_response";
10
10
  AiSearchError["ErrorProcessingResponse"] = "error_processing_response";
11
11
  })(AiSearchError || (exports.AiSearchError = AiSearchError = {}));
12
- var AiSearchConversationRole;
13
- (function (AiSearchConversationRole) {
14
- AiSearchConversationRole["USER"] = "user";
15
- AiSearchConversationRole["ASSISTANT"] = "assistant";
16
- })(AiSearchConversationRole || (exports.AiSearchConversationRole = AiSearchConversationRole = {}));
12
+ exports.AiSearchConversationRole = {
13
+ USER: 'user',
14
+ ASSISTANT: 'assistant',
15
+ };
17
16
  const defaultErrorConfig = {
18
17
  headerKey: 'search.ai.error.header',
19
18
  headerDefault: 'Oops! Something went wrong.',
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.useActiveCodeSnippetId = exports.useCodeSnippetContext = exports.CodeSnippetContext = exports.CODE_GROUP_SNIPPET_NAME_KEY = void 0;
27
37
  exports.CodeSnippetProvider = CodeSnippetProvider;
@@ -26,6 +26,7 @@ export * from './use-language-picker';
26
26
  export * from './use-product-picker';
27
27
  export * from './search/use-search-dialog';
28
28
  export * from './search/use-search-filter';
29
+ export * from './search/use-feedback-tooltip';
29
30
  export * from './use-controlled-state';
30
31
  export * from './use-codeblock-tabs-controls';
31
32
  export * from './code-walkthrough/use-code-walkthrough';
@@ -42,6 +42,7 @@ __exportStar(require("./use-language-picker"), exports);
42
42
  __exportStar(require("./use-product-picker"), exports);
43
43
  __exportStar(require("./search/use-search-dialog"), exports);
44
44
  __exportStar(require("./search/use-search-filter"), exports);
45
+ __exportStar(require("./search/use-feedback-tooltip"), exports);
45
46
  __exportStar(require("./use-controlled-state"), exports);
46
47
  __exportStar(require("./use-codeblock-tabs-controls"), exports);
47
48
  __exportStar(require("./code-walkthrough/use-code-walkthrough"), exports);
@@ -71,7 +71,7 @@ function useNestedMenu({ item, labelRef, nestedMenuRef }) {
71
71
  }
72
72
  const [firstChild] = item.items;
73
73
  if (!isExpanded && item.selectFirstItemOnExpand && firstChild.link) {
74
- yield (0, load_and_navigate_1.loadAndNavigate)({ navigate, to: firstChild.link });
74
+ yield (0, load_and_navigate_1.loadAndNavigate)({ navigate, to: (0, urls_1.withPathPrefix)(firstChild.link) });
75
75
  }
76
76
  setIsExpanded(!isExpanded);
77
77
  }), [item, isExpanded, navigate, location.pathname, setIsExpanded]);
@@ -0,0 +1,6 @@
1
+ type UseFeedbackTooltipReturn = {
2
+ isOpen: boolean;
3
+ showTooltip: () => void;
4
+ };
5
+ export declare function useFeedbackTooltip(): UseFeedbackTooltipReturn;
6
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useFeedbackTooltip = useFeedbackTooltip;
4
+ const react_1 = require("react");
5
+ const use_control_1 = require("../use-control");
6
+ const DEFAULT_TOOLTIP_DURATION = 1500;
7
+ function useFeedbackTooltip() {
8
+ const [closeTooltipTimeout, setCloseTooltipTimeout] = (0, react_1.useState)(null);
9
+ const tooltipControl = (0, use_control_1.useControl)();
10
+ const showTooltip = () => {
11
+ tooltipControl.handleOpen();
12
+ if (closeTooltipTimeout) {
13
+ clearTimeout(closeTooltipTimeout);
14
+ }
15
+ const newCloseTooltipTimeout = setTimeout(() => {
16
+ tooltipControl.handleClose();
17
+ setCloseTooltipTimeout(null);
18
+ }, DEFAULT_TOOLTIP_DURATION);
19
+ setCloseTooltipTimeout(newCloseTooltipTimeout);
20
+ };
21
+ return {
22
+ isOpen: tooltipControl.isOpened,
23
+ showTooltip,
24
+ };
25
+ }
26
+ //# sourceMappingURL=use-feedback-tooltip.js.map
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useProductPicker = useProductPicker;
4
4
  const react_router_dom_1 = require("react-router-dom");
5
5
  const use_theme_hooks_1 = require("./use-theme-hooks");
6
+ const utils_1 = require("../utils");
6
7
  function useProductPicker() {
7
8
  const { useCurrentProduct, useProducts, useTelemetry, useLoadAndNavigate } = (0, use_theme_hooks_1.useThemeHooks)();
8
9
  const currentProduct = useCurrentProduct();
@@ -14,7 +15,7 @@ function useProductPicker() {
14
15
  if (!product)
15
16
  return;
16
17
  telemetry.sendProductPickedMessage({ product: product.slug });
17
- loadAndNavigate({ navigate, to: product.link });
18
+ loadAndNavigate({ navigate, to: (0, utils_1.withPathPrefix)(product.link) });
18
19
  }
19
20
  return {
20
21
  currentProduct,
@@ -4,18 +4,19 @@ type UseTabsProps = {
4
4
  totalTabs: number;
5
5
  containerRef?: React.RefObject<HTMLElement | null>;
6
6
  };
7
- export declare function useTabs({ activeTab, onTabChange, totalTabs, containerRef }: UseTabsProps): {
7
+ type UseTabsReturn = {
8
8
  setTabRef: (element: HTMLButtonElement | null, index: number) => void;
9
9
  onTabClick: (labelOrIndex: string | number) => void;
10
10
  handleKeyboard: (event: React.KeyboardEvent, index: number) => void;
11
11
  visibleTabs: number[];
12
12
  overflowTabs: number[];
13
- allTabsHidden: boolean;
13
+ isReady: boolean;
14
14
  };
15
15
  type UseActiveTabProps = {
16
16
  initialTab: string;
17
17
  tabsId?: string;
18
18
  };
19
+ export declare function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }: UseTabsProps): UseTabsReturn;
19
20
  export declare const useActiveTab: ({ initialTab, tabsId }: UseActiveTabProps) => {
20
21
  activeTab: string;
21
22
  setActiveTab: import("react").Dispatch<import("react").SetStateAction<string>>;
@@ -6,15 +6,20 @@ const react_1 = require("react");
6
6
  const react_router_dom_1 = require("react-router-dom");
7
7
  const MORE_BUTTON_WIDTH = 80;
8
8
  const TABS_GAP = 8;
9
- function useTabs({ activeTab, onTabChange, totalTabs, containerRef }) {
9
+ function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }) {
10
10
  const [tabs, setTabs] = (0, react_1.useState)({
11
11
  visible: Array.from({ length: totalTabs }, (_, i) => i),
12
12
  overflow: [],
13
13
  });
14
+ const [isReady, setIsReady] = (0, react_1.useState)(false);
15
+ const isFirstCalculation = (0, react_1.useRef)(true);
14
16
  const tabRefs = (0, react_1.useRef)([]);
15
17
  const tabWidthsRef = (0, react_1.useRef)([]);
16
18
  const tabLabelsRef = (0, react_1.useRef)([]);
17
- const allTabsHidden = (0, react_1.useMemo)(() => tabs.visible.length === 0, [tabs.visible]);
19
+ const activeTabRef = (0, react_1.useRef)(activeTab);
20
+ const calculateVisibleTabsRef = (0, react_1.useRef)(null);
21
+ // Synchronously update ref before any callbacks or effects run
22
+ activeTabRef.current = activeTab;
18
23
  const setTabRef = (0, react_1.useCallback)((element, index) => {
19
24
  tabRefs.current[index] = element;
20
25
  const width = element === null || element === void 0 ? void 0 : element.offsetWidth;
@@ -25,18 +30,25 @@ function useTabs({ activeTab, onTabChange, totalTabs, containerRef }) {
25
30
  if (label) {
26
31
  tabLabelsRef.current[index] = label;
27
32
  }
28
- }, []);
29
- const focusTab = (index) => {
33
+ // Trigger calculation once all tabs are registered
34
+ if (isFirstCalculation.current &&
35
+ tabWidthsRef.current.length >= totalTabs &&
36
+ tabLabelsRef.current.length >= totalTabs &&
37
+ calculateVisibleTabsRef.current) {
38
+ requestAnimationFrame(calculateVisibleTabsRef.current);
39
+ }
40
+ }, [totalTabs]);
41
+ const focusTab = (0, react_1.useCallback)((index) => {
30
42
  const currentElement = tabRefs.current[index];
31
43
  currentElement === null || currentElement === void 0 ? void 0 : currentElement.focus();
32
- };
44
+ }, []);
33
45
  const onTabSelect = (0, react_1.useCallback)((index) => {
34
46
  var _a;
35
47
  focusTab(index);
36
48
  const label = (_a = tabRefs.current[index]) === null || _a === void 0 ? void 0 : _a.getAttribute('data-label');
37
49
  if (label)
38
50
  onTabChange(label);
39
- }, [onTabChange]);
51
+ }, [onTabChange, focusTab]);
40
52
  const handleKeyboard = (0, react_1.useCallback)((event, index) => {
41
53
  let newIndex = index;
42
54
  if (event.key === 'ArrowRight') {
@@ -59,109 +71,155 @@ function useTabs({ activeTab, onTabChange, totalTabs, containerRef }) {
59
71
  onTabSelect(newIndex);
60
72
  }, [totalTabs, onTabSelect]);
61
73
  const replaceLastVisibleTabWithClickedOverflowTab = (0, react_1.useCallback)((clickedIndex) => {
62
- const { visible: visibleTabs, overflow: overflowTabs } = tabs;
63
- // Indexes of visible tabs should be sorted(asc), to replace the last visible tab with the clicked tab
64
- const newVisibleTabs = [...visibleTabs].sort((a, b) => a - b);
65
- const newOverflowTabs = [...overflowTabs];
66
- const clickedIdxInOverflow = newOverflowTabs.indexOf(clickedIndex);
67
- if (clickedIdxInOverflow !== -1) {
68
- const lastVisible = newVisibleTabs[newVisibleTabs.length - 1];
69
- newOverflowTabs.splice(clickedIdxInOverflow, 1);
70
- newOverflowTabs.unshift(lastVisible);
71
- newVisibleTabs.splice(newVisibleTabs.length - 1, 1);
72
- newVisibleTabs.unshift(clickedIndex);
73
- }
74
- setTabs({
75
- visible: newVisibleTabs,
76
- overflow: newOverflowTabs,
74
+ setTabs((prevTabs) => {
75
+ const { visible: visibleTabs, overflow: overflowTabs } = prevTabs;
76
+ const sortedVisible = [...visibleTabs].sort((a, b) => a - b);
77
+ const lastVisible = sortedVisible[sortedVisible.length - 1];
78
+ return {
79
+ visible: visibleTabs.map((idx) => (idx === lastVisible ? clickedIndex : idx)),
80
+ overflow: overflowTabs.map((idx) => (idx === clickedIndex ? lastVisible : idx)),
81
+ };
77
82
  });
78
- }, [tabs]);
83
+ }, []);
79
84
  const onTabClick = (0, react_1.useCallback)((labelOrIndex) => {
80
85
  const clickedIndex = typeof labelOrIndex === 'string'
81
86
  ? tabRefs.current.findIndex((ref) => (ref === null || ref === void 0 ? void 0 : ref.getAttribute('data-label')) === labelOrIndex)
82
87
  : labelOrIndex;
83
88
  if (clickedIndex === -1)
84
89
  return;
85
- const hasOverflowTabs = tabs.overflow.length > 0;
86
- if (hasOverflowTabs && !allTabsHidden && tabs.overflow.includes(clickedIndex)) {
87
- replaceLastVisibleTabWithClickedOverflowTab(clickedIndex);
88
- }
89
90
  const label = tabLabelsRef.current[clickedIndex];
90
- if (label) {
91
- onTabChange(label);
92
- focusTab(clickedIndex);
91
+ if (!label)
92
+ return;
93
+ // If this is an overflow tab, replace it with a visible one
94
+ if (tabs.overflow.includes(clickedIndex)) {
95
+ replaceLastVisibleTabWithClickedOverflowTab(clickedIndex);
93
96
  }
94
- }, [allTabsHidden, tabs.overflow, onTabChange, replaceLastVisibleTabWithClickedOverflowTab]);
97
+ onTabChange(label);
98
+ focusTab(clickedIndex);
99
+ }, [tabs.overflow, onTabChange, replaceLastVisibleTabWithClickedOverflowTab, focusTab]);
95
100
  const calculateVisibleTabs = (0, react_1.useCallback)(() => {
96
101
  const container = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
97
102
  if (!container)
98
103
  return;
99
104
  const containerWidth = container.offsetWidth;
100
105
  const tabWidths = tabWidthsRef.current;
101
- const activeTabIndex = tabRefs.current.findIndex((ref) => (ref === null || ref === void 0 ? void 0 : ref.getAttribute('data-label')) === activeTab);
102
- // Active tab should always be visible, so we include it at the beginning of the array
106
+ const tabLabels = tabLabelsRef.current;
107
+ // Wait until all tabs are registered before calculating
108
+ if (tabWidths.length < totalTabs || tabLabels.length < totalTabs) {
109
+ return;
110
+ }
111
+ // Check if container has proper width (not zero)
112
+ if (containerWidth === 0) {
113
+ return;
114
+ }
115
+ // Find active tab index by label in tabLabelsRef, not by DOM element
116
+ // because tab might not be rendered if it's in overflow
117
+ const activeTabIndex = tabLabels.findIndex((label) => label === activeTabRef.current);
103
118
  let tabsWidth = activeTabIndex !== -1 ? tabWidths[activeTabIndex] : 0;
104
- const visible = activeTabIndex !== -1 ? [activeTabIndex] : [];
105
- const overflow = [];
119
+ const visibleTabs = activeTabIndex !== -1 ? [activeTabIndex] : [];
120
+ const overflowTabs = [];
106
121
  for (let i = 0; i < tabWidths.length; i++) {
107
- // Skip active tab, it was added initially
108
- if (i === activeTabIndex) {
122
+ if (i === activeTabIndex)
109
123
  continue;
110
- }
111
124
  const tabWidthWithGap = tabWidths[i] + TABS_GAP;
112
125
  const projectedWidth = tabsWidth + tabWidthWithGap;
113
126
  if (projectedWidth <= containerWidth) {
114
- visible.push(i);
127
+ visibleTabs.push(i);
115
128
  tabsWidth += tabWidthWithGap;
116
129
  }
117
130
  else {
118
- overflow.push(i);
131
+ overflowTabs.push(i);
119
132
  }
120
133
  }
121
- if (overflow.length > 0) {
134
+ if (overflowTabs.length > 0) {
122
135
  tabsWidth += MORE_BUTTON_WIDTH;
123
- // Remove tabs starting from the end of the array until the width of the visible tabs is less than the container width
124
- while (tabsWidth > containerWidth && visible.length) {
125
- const removed = visible.pop();
126
- if (removed !== undefined) {
127
- overflow.unshift(removed);
136
+ while (tabsWidth > containerWidth && visibleTabs.length > 1) {
137
+ const removed = visibleTabs.pop();
138
+ // Never remove the active tab - it should always stay visible or be the last one
139
+ if (removed !== undefined && removed !== activeTabIndex) {
140
+ overflowTabs.unshift(removed);
128
141
  tabsWidth -= tabWidths[removed];
129
142
  }
143
+ else if (removed === activeTabIndex) {
144
+ // Put it back if we accidentally removed the active tab
145
+ visibleTabs.push(removed);
146
+ break;
147
+ }
148
+ }
149
+ // If even with only the active tab visible, it doesn't fit with More button,
150
+ // move all tabs to overflow (show only dropdown)
151
+ if (tabsWidth > containerWidth && visibleTabs.length === 1) {
152
+ overflowTabs.unshift(...visibleTabs);
153
+ visibleTabs.length = 0;
130
154
  }
131
155
  }
132
156
  setTabs({
133
- visible,
134
- overflow,
157
+ visible: visibleTabs,
158
+ overflow: overflowTabs,
135
159
  });
136
- }, [containerRef, activeTab]);
160
+ // Set ready state on first calculation
161
+ if (isFirstCalculation.current) {
162
+ isFirstCalculation.current = false;
163
+ setIsReady(true);
164
+ }
165
+ }, [containerRef, totalTabs]);
166
+ // Store calculateVisibleTabs in ref for use in setTabRef
167
+ calculateVisibleTabsRef.current = calculateVisibleTabs;
168
+ // Reset isFirstCalculation when totalTabs changes (new page/tabs)
137
169
  (0, react_1.useEffect)(() => {
138
- if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current))
170
+ isFirstCalculation.current = true;
171
+ setIsReady(false);
172
+ // Clear refs so we wait for new tabs to register
173
+ tabWidthsRef.current = [];
174
+ tabLabelsRef.current = [];
175
+ }, [totalTabs]);
176
+ // Call calculateVisibleTabs on first render and resize
177
+ (0, react_1.useEffect)(() => {
178
+ const container = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
179
+ if (!container)
139
180
  return;
140
- let resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
181
+ let resizeTimeout = null;
182
+ // Use ResizeObserver to wait until container has proper size
183
+ const resizeObserver = new ResizeObserver(() => {
184
+ if (resizeTimeout)
185
+ cancelAnimationFrame(resizeTimeout);
186
+ resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
187
+ });
188
+ resizeObserver.observe(container);
141
189
  const handleResize = () => {
142
- if (resizeTimeout) {
190
+ if (resizeTimeout)
143
191
  cancelAnimationFrame(resizeTimeout);
144
- }
145
192
  resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
146
193
  };
147
194
  window.addEventListener('resize', handleResize);
148
195
  return () => {
196
+ resizeObserver.disconnect();
149
197
  window.removeEventListener('resize', handleResize);
150
- cancelAnimationFrame(resizeTimeout);
198
+ if (resizeTimeout)
199
+ cancelAnimationFrame(resizeTimeout);
151
200
  };
152
201
  }, [containerRef, totalTabs, calculateVisibleTabs]);
202
+ // Recalculate when activeTab changes to ensure it's visible
203
+ (0, react_1.useEffect)(() => {
204
+ if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) || isFirstCalculation.current)
205
+ return;
206
+ requestAnimationFrame(calculateVisibleTabs);
207
+ }, [activeTab, containerRef, calculateVisibleTabs]);
153
208
  return {
154
209
  setTabRef,
155
210
  onTabClick,
156
211
  handleKeyboard,
157
212
  visibleTabs: tabs.visible,
158
213
  overflowTabs: tabs.overflow,
159
- allTabsHidden,
214
+ isReady,
160
215
  };
161
216
  }
162
217
  const useActiveTab = ({ initialTab, tabsId }) => {
163
218
  const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
164
- const [activeTab, setActiveTab] = (0, react_1.useState)(getInitialTab({ initialTab, searchParams, tabsId }));
219
+ const initialTabValue = (0, react_1.useMemo)(() => getInitialTab({ initialTab, searchParams, tabsId }),
220
+ // eslint-disable-next-line react-hooks/exhaustive-deps
221
+ []);
222
+ const [activeTab, setActiveTab] = (0, react_1.useState)(initialTabValue);
165
223
  const prevActiveTabRef = (0, react_1.useRef)(activeTab);
166
224
  (0, react_1.useEffect)(() => {
167
225
  const hasActiveTabChanged = prevActiveTabRef.current !== activeTab;
@@ -174,10 +232,10 @@ const useActiveTab = ({ initialTab, tabsId }) => {
174
232
  return searchParams;
175
233
  });
176
234
  }, [activeTab, setSearchParams, tabsId]);
177
- return {
235
+ return (0, react_1.useMemo)(() => ({
178
236
  activeTab,
179
237
  setActiveTab,
180
- };
238
+ }), [activeTab]);
181
239
  };
182
240
  exports.useActiveTab = useActiveTab;
183
241
  const getInitialTab = ({ initialTab, searchParams, tabsId }) => {
@@ -36,20 +36,22 @@ export declare const useTelemetryFallback: () => {
36
36
  sendLanguagePickerLocaleChangedMessage: () => void;
37
37
  sendSearchOpenedMessage: () => void;
38
38
  sendSearchQueryMessage: () => void;
39
+ sendSearchAiOpenedMessage: () => void;
39
40
  sendSearchAIQueryMessage: () => void;
41
+ sendSearchAIFeedbackMessage: () => void;
40
42
  sendFeedbackMessage: () => void;
41
43
  sendSearchResultClickedMessage: () => void;
42
44
  sendRedirectMessage: () => void;
43
45
  sendOpenapiDocsMessage: () => void;
44
46
  sendCopyCodeSnippetClickedMessage: () => void;
45
- sendOpenapiDocsViewedMessage: () => void;
46
- sendOpenapiDocsPerformanceMetricsMessage: () => void;
47
- sendOpenapiDocsDownloadDefinitionClickedMessage: () => void;
48
- sendOpenapiDocsSelectLanguageClickedMessage: () => void;
49
- sendOpenapiDocsExpandCollapseAllClickedMessage: () => void;
50
- sendOpenapiDocsSwitchServersClickedMessage: () => void;
51
- sendOpenapiDocsExamplesSwitcherClickedMessage: () => void;
52
- sendOpenapiDocsTryItOpenedMessage: () => void;
47
+ sendViewedMessage: () => void;
48
+ sendPerformanceMetricsMessage: () => void;
49
+ sendDownloadDefinitionClickedMessage: () => void;
50
+ sendSelectLanguageClickedMessage: () => void;
51
+ sendExpandCollapseAllClickedMessage: () => void;
52
+ sendSwitchServersClickedMessage: () => void;
53
+ sendExamplesSwitcherClickedMessage: () => void;
54
+ sendTryItOpenedMessage: () => void;
53
55
  sendAsyncapiDocsViewedMessage: () => void;
54
56
  sendAsyncapiDocsPerformanceMetricsMessage: () => void;
55
57
  sendAsyncapiDocsSwitchMessageClickedMessage: () => void;
@@ -40,20 +40,22 @@ const useTelemetryFallback = () => ({
40
40
  sendLanguagePickerLocaleChangedMessage: () => { },
41
41
  sendSearchOpenedMessage: () => { },
42
42
  sendSearchQueryMessage: () => { },
43
+ sendSearchAiOpenedMessage: () => { },
43
44
  sendSearchAIQueryMessage: () => { },
45
+ sendSearchAIFeedbackMessage: () => { },
44
46
  sendFeedbackMessage: () => { },
45
47
  sendSearchResultClickedMessage: () => { },
46
48
  sendRedirectMessage: () => { },
47
49
  sendOpenapiDocsMessage: () => { },
48
50
  sendCopyCodeSnippetClickedMessage: () => { },
49
- sendOpenapiDocsViewedMessage: () => { },
50
- sendOpenapiDocsPerformanceMetricsMessage: () => { },
51
- sendOpenapiDocsDownloadDefinitionClickedMessage: () => { },
52
- sendOpenapiDocsSelectLanguageClickedMessage: () => { },
53
- sendOpenapiDocsExpandCollapseAllClickedMessage: () => { },
54
- sendOpenapiDocsSwitchServersClickedMessage: () => { },
55
- sendOpenapiDocsExamplesSwitcherClickedMessage: () => { },
56
- sendOpenapiDocsTryItOpenedMessage: () => { },
51
+ sendViewedMessage: () => { },
52
+ sendPerformanceMetricsMessage: () => { },
53
+ sendDownloadDefinitionClickedMessage: () => { },
54
+ sendSelectLanguageClickedMessage: () => { },
55
+ sendExpandCollapseAllClickedMessage: () => { },
56
+ sendSwitchServersClickedMessage: () => { },
57
+ sendExamplesSwitcherClickedMessage: () => { },
58
+ sendTryItOpenedMessage: () => { },
57
59
  sendAsyncapiDocsViewedMessage: () => { },
58
60
  sendAsyncapiDocsPerformanceMetricsMessage: () => { },
59
61
  sendAsyncapiDocsSwitchMessageClickedMessage: () => { },
@@ -37,6 +37,10 @@ const replayDarkMode = (0, styled_components_1.css) `
37
37
  --replay-server-variable-bg-color-hover: rgba(31, 10, 144, 0.4); // @presenter Color
38
38
  --replay-path-parameter-bg-color-hover: rgba(5, 88, 99, 0.4); // @presenter Color
39
39
 
40
+ --replay-runtime-expression-color: rgba(147, 166, 249, 1); // @presenter Color
41
+ --replay-runtime-expression-bg-color: rgba(147, 166, 249, 0.16); // @presenter Color
42
+ --replay-operators-color: rgba(168, 143, 88, 1); // @presenter Color
43
+
40
44
  // @tokens End
41
45
  `;
42
46
  exports.darkMode = (0, styled_components_1.css) `
@@ -1203,6 +1203,10 @@ const replay = (0, styled_components_1.css) `
1203
1203
  --replay-server-variable-bg-color-hover: rgba(119, 45, 240, 0.16); // @presenter Color
1204
1204
  --replay-path-parameter-bg-color-hover: rgba(4, 117, 161, 0.16); // @presenter Color
1205
1205
 
1206
+ --replay-runtime-expression-color: rgba(54, 90, 249, 1); // @presenter Color
1207
+ --replay-runtime-expression-bg-color: rgba(54, 90, 249, 0.08); // @presenter Color
1208
+ --replay-operators-color: rgba(193, 142, 31, 1); // @presenter Color
1209
+
1206
1210
  // @tokens End
1207
1211
  `;
1208
1212
  exports.styles = (0, styled_components_1.css) `
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.default = default_1;
27
37
  const React = __importStar(require("react"));
@@ -60,7 +60,7 @@ export type ThemeHooks = {
60
60
  breadcrumbs: BreadcrumbItem[];
61
61
  currentItemSiblings?: BreadcrumbItem[];
62
62
  };
63
- useSearch: (product?: string, autoSearchDisabled?: boolean) => {
63
+ useSearch: (product?: string, autoSearchDisabled?: boolean, searchSessionId?: string) => {
64
64
  query: string;
65
65
  setQuery: React.Dispatch<React.SetStateAction<string>>;
66
66
  filter: SearchFilterItem[];
@@ -78,7 +78,7 @@ export type ThemeHooks = {
78
78
  };
79
79
  useAiSearch: (options?: {
80
80
  filter?: SearchFilterItem[];
81
- }) => {
81
+ }, searchSessionId?: string) => {
82
82
  askQuestion: (question: string, history?: AiSearchConversationItem[]) => void;
83
83
  isGeneratingResponse: boolean;
84
84
  question: string;
@@ -112,7 +112,10 @@ export type ThemeHooks = {
112
112
  prevPage?: ResolvedNavItemWithLink;
113
113
  nextPage?: ResolvedNavItemWithLink;
114
114
  } | undefined;
115
- useCatalog: (config?: CatalogEntityConfig, entitiesCounterInitial?: number, initialViewMode?: CatalogViewMode) => UseCatalogResponse;
115
+ useCatalog: (config?: CatalogEntityConfig, serverFilters?: Record<string, {
116
+ value: string;
117
+ count: number;
118
+ }[]>, entitiesCounterInitial?: number, initialViewMode?: CatalogViewMode) => UseCatalogResponse;
116
119
  useCatalogSort: () => UseCatalogSortResponse;
117
120
  useCatalogSearch: () => UseCatalogSearchResponse;
118
121
  useFetchCatalogEntities: (params: CatalogApiParams, initialData?: BffCatalogEntityList) => CatalogApiResults<BffCatalogEntity, BffCatalogEntityList>;