@redocly/theme 0.55.0-next.0 → 0.55.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/lib/components/Breadcrumbs/Breadcrumbs.js +3 -3
  2. package/lib/components/Buttons/EditPageButton.js +3 -3
  3. package/lib/components/CatalogClassic/CatalogClassicActions.js +3 -3
  4. package/lib/components/CatalogClassic/CatalogClassicCard.js +3 -3
  5. package/lib/components/CatalogClassic/CatalogClassicInfoBlock.js +3 -3
  6. package/lib/components/CodeBlock/CodeBlockControls.js +3 -3
  7. package/lib/components/Feedback/Feedback.js +3 -3
  8. package/lib/components/Feedback/ReportDialog.js +3 -3
  9. package/lib/components/Filter/FilterCheckboxes.js +3 -3
  10. package/lib/components/Footer/FooterItem.js +3 -3
  11. package/lib/components/LanguagePicker/LanguagePicker.js +3 -3
  12. package/lib/components/Logo/Logo.js +3 -3
  13. package/lib/components/Menu/MenuItem.js +3 -3
  14. package/lib/components/Navbar/Navbar.js +4 -4
  15. package/lib/components/Navbar/NavbarItem.js +3 -3
  16. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.d.ts +1 -0
  17. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +5 -0
  18. package/lib/components/Search/SearchDialog.js +5 -5
  19. package/lib/components/Search/SearchInput.js +3 -3
  20. package/lib/components/Search/SearchRecent.js +3 -3
  21. package/lib/components/Select/variables.js +2 -2
  22. package/lib/components/SidebarActions/SidebarActions.js +5 -5
  23. package/lib/components/TableOfContent/TableOfContent.js +3 -3
  24. package/lib/components/UserMenu/LoginButton.js +3 -3
  25. package/lib/components/UserMenu/LogoutMenuItem.js +3 -3
  26. package/lib/core/hooks/__mocks__/use-theme-hooks.d.ts +3 -0
  27. package/lib/core/hooks/__mocks__/use-theme-hooks.js +3 -0
  28. package/lib/core/hooks/search/use-search-dialog.js +4 -4
  29. package/lib/core/hooks/use-color-switcher.js +3 -3
  30. package/lib/core/hooks/use-product-picker.js +3 -3
  31. package/lib/core/hooks/use-theme-hooks.js +1 -4
  32. package/lib/core/types/hooks.d.ts +5 -0
  33. package/lib/ext/process-scorecard.d.ts +5 -0
  34. package/lib/ext/process-scorecard.js +11 -0
  35. package/lib/index.d.ts +1 -0
  36. package/lib/index.js +1 -0
  37. package/lib/markdoc/components/Tabs/Tabs.js +1 -4
  38. package/package.json +2 -2
  39. package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -3
  40. package/src/components/Buttons/EditPageButton.tsx +3 -3
  41. package/src/components/CatalogClassic/CatalogClassicActions.tsx +3 -3
  42. package/src/components/CatalogClassic/CatalogClassicCard.tsx +3 -3
  43. package/src/components/CatalogClassic/CatalogClassicInfoBlock.tsx +3 -3
  44. package/src/components/CodeBlock/CodeBlockControls.tsx +3 -3
  45. package/src/components/Feedback/Feedback.tsx +3 -3
  46. package/src/components/Feedback/ReportDialog.tsx +3 -3
  47. package/src/components/Filter/FilterCheckboxes.tsx +3 -3
  48. package/src/components/Footer/FooterItem.tsx +3 -3
  49. package/src/components/LanguagePicker/LanguagePicker.tsx +3 -3
  50. package/src/components/Logo/Logo.tsx +3 -3
  51. package/src/components/Menu/MenuItem.tsx +3 -3
  52. package/src/components/Navbar/Navbar.tsx +4 -4
  53. package/src/components/Navbar/NavbarItem.tsx +3 -3
  54. package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +1 -0
  55. package/src/components/Search/SearchDialog.tsx +5 -5
  56. package/src/components/Search/SearchInput.tsx +3 -3
  57. package/src/components/Search/SearchRecent.tsx +3 -3
  58. package/src/components/Select/variables.ts +2 -2
  59. package/src/components/SidebarActions/SidebarActions.tsx +5 -5
  60. package/src/components/TableOfContent/TableOfContent.tsx +3 -3
  61. package/src/components/UserMenu/LoginButton.tsx +3 -3
  62. package/src/components/UserMenu/LogoutMenuItem.tsx +3 -3
  63. package/src/core/hooks/__mocks__/use-theme-hooks.ts +3 -0
  64. package/src/core/hooks/search/use-search-dialog.ts +4 -4
  65. package/src/core/hooks/use-color-switcher.ts +3 -3
  66. package/src/core/hooks/use-product-picker.ts +3 -3
  67. package/src/core/hooks/use-theme-hooks.ts +1 -4
  68. package/src/core/types/hooks.ts +4 -1
  69. package/src/ext/process-scorecard.ts +13 -0
  70. package/src/index.ts +1 -0
  71. package/src/markdoc/components/Tabs/Tabs.tsx +1 -7
@@ -9,8 +9,8 @@ const styled_components_1 = __importDefault(require("styled-components"));
9
9
  const hooks_1 = require("../../core/hooks");
10
10
  const Breadcrumb_1 = require("../../components/Breadcrumbs/Breadcrumb");
11
11
  function Breadcrumbs(props) {
12
- const { useBreadcrumbs, useTelemetry } = (0, hooks_1.useThemeHooks)();
13
- const telemetry = useTelemetry();
12
+ const { useBreadcrumbs, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
13
+ const otelTelemetry = useOtelTelemetry();
14
14
  const breadcrumbs = useBreadcrumbs();
15
15
  if (breadcrumbs.length === 0) {
16
16
  return null;
@@ -19,7 +19,7 @@ function Breadcrumbs(props) {
19
19
  const isLast = idx === breadcrumbs.length - 1;
20
20
  return (react_1.default.createElement(react_1.default.Fragment, { key: idx },
21
21
  react_1.default.createElement(Breadcrumb_1.Breadcrumb, { link: breadcrumb.link, label: breadcrumb.label, isActive: isLast, onClick: () => {
22
- telemetry.send({
22
+ otelTelemetry.send({
23
23
  type: 'breadcrumb.clicked',
24
24
  payload: {
25
25
  link: breadcrumb.link,
@@ -10,10 +10,10 @@ const hooks_1 = require("../../core/hooks");
10
10
  const EditIcon_1 = require("../../icons/EditIcon/EditIcon");
11
11
  const Link_1 = require("../../components/Link/Link");
12
12
  function EditPageButton({ to }) {
13
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
13
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
14
14
  const { translate } = useTranslate();
15
- const telemetry = useTelemetry();
16
- return (react_1.default.createElement(EditPageButtonWrapper, { "data-component-name": "Buttons/EditPageButton", target: "_blank", to: to, onClick: () => telemetry.send({ type: 'edit_page_link.clicked' }) },
15
+ const otelTelemetry = useOtelTelemetry();
16
+ return (react_1.default.createElement(EditPageButtonWrapper, { "data-component-name": "Buttons/EditPageButton", target: "_blank", to: to, onClick: () => otelTelemetry.send({ type: 'edit_page_link.clicked' }) },
17
17
  react_1.default.createElement(ButtonIcon, null),
18
18
  react_1.default.createElement(ButtonText, { "data-translation-key": "markdown.editPage.text" }, translate('markdown.editPage.text', 'Edit'))));
19
19
  }
@@ -45,13 +45,13 @@ function CatalogClassicActions(props) {
45
45
  activeFilters++;
46
46
  }
47
47
  }
48
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
48
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
49
49
  const { translate } = useTranslate();
50
- const telemetry = useTelemetry();
50
+ const otelTelemetry = useOtelTelemetry();
51
51
  return (React.createElement(CatalogActionsWrapper, { "data-component-name": "CatalogClassic/CatalogClassicActions" },
52
52
  React.createElement(Button_1.Button, { variant: "ghost", size: "small", icon: React.createElement(FilterIcon_1.FilterIcon, null), iconPosition: "left", onClick: () => {
53
53
  onOpenFilter();
54
- telemetry.send({ type: 'catalog_actions_button.clicked' });
54
+ otelTelemetry.send({ type: 'catalog_actions_button.clicked' });
55
55
  }, "data-translation-key": "catalog.filters.title" }, translate('catalog.filters.title', 'Filters')),
56
56
  activeFilters > 0 ? React.createElement(CounterTag_1.CounterTag, { borderless: true }, activeFilters) : null));
57
57
  }
@@ -51,10 +51,10 @@ function stripHtmlTags(text) {
51
51
  }
52
52
  function CatalogClassicCard({ item }) {
53
53
  var _a, _b;
54
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
55
- const telemetry = useTelemetry();
54
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
55
+ const otelTelemetry = useOtelTelemetry();
56
56
  return (React.createElement(Link_1.Link, { key: item.docsLink || item.link, to: item.docsLink || item.link },
57
- React.createElement(StyledCard, { "data-component-name": "CatalogClassic/CatalogClassicCard", onClick: () => telemetry.send({ type: 'catalog_item.clicked' }) },
57
+ React.createElement(StyledCard, { "data-component-name": "CatalogClassic/CatalogClassicCard", onClick: () => otelTelemetry.send({ type: 'catalog_item.clicked' }) },
58
58
  React.createElement(CardContent, null,
59
59
  React.createElement(CardTitleWrapper, null,
60
60
  React.createElement(CardTitle, null,
@@ -18,10 +18,10 @@ function CatalogClassicInfoBlock(props) {
18
18
  }
19
19
  function ScorecardBadge(props) {
20
20
  const { level, slug, colorVariable } = props;
21
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
22
- const telemetry = useTelemetry();
21
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
22
+ const otelTelemetry = useOtelTelemetry();
23
23
  return (react_1.default.createElement(Link_1.Link, { to: slug },
24
- react_1.default.createElement(Tag_1.Tag, { onClick: () => telemetry.send({ type: 'scorecard_link.clicked', payload: { action: 'click' } }), withStatusDot: true, statusDotColor: `var(${colorVariable})` }, level)));
24
+ react_1.default.createElement(Tag_1.Tag, { onClick: () => otelTelemetry.send({ type: 'scorecard_link.clicked', payload: { action: 'click' } }), withStatusDot: true, statusDotColor: `var(${colorVariable})` }, level)));
25
25
  }
26
26
  const CatalogInfoBlockWrapper = styled_components_1.default.div `
27
27
  position: relative;
@@ -19,8 +19,8 @@ const Button_1 = require("../../components/Button/Button");
19
19
  function CodeBlockControls({ children, className, title, controls, tabs, }) {
20
20
  var _a, _b, _c, _d, _e;
21
21
  const { codeSnippet } = (0, hooks_1.useThemeConfig)();
22
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
23
- const telemetry = useTelemetry();
22
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
23
+ const otelTelemetry = useOtelTelemetry();
24
24
  const controlsType = (codeSnippet === null || codeSnippet === void 0 ? void 0 : codeSnippet.elementFormat) || 'icon';
25
25
  const { copy, expand, collapse, select, deselect, report } = controls || {
26
26
  copy: null,
@@ -48,7 +48,7 @@ function CodeBlockControls({ children, className, title, controls, tabs, }) {
48
48
  (_a = copy === null || copy === void 0 ? void 0 : copy.onClick) === null || _a === void 0 ? void 0 : _a.call(copy);
49
49
  }
50
50
  else {
51
- telemetry.send({
51
+ otelTelemetry.send({
52
52
  type: 'openapi_docs.copy_code_snippet.clicked',
53
53
  payload: { snippet_type: 'copy' },
54
54
  });
@@ -46,9 +46,9 @@ const feedbackComponents = {
46
46
  };
47
47
  function Feedback(props) {
48
48
  var _a;
49
- const { useSubmitFeedback, useTelemetry } = (0, hooks_1.useThemeHooks)();
49
+ const { useSubmitFeedback, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
50
50
  const { submitFeedback } = useSubmitFeedback();
51
- const telemetry = useTelemetry();
51
+ const otelTelemetry = useOtelTelemetry();
52
52
  const { pathname } = (0, react_router_dom_1.useLocation)();
53
53
  const { feedback: themeFeedbackConf } = (0, hooks_1.useThemeConfig)();
54
54
  const feedbackConf = Object.assign(Object.assign({}, themeFeedbackConf), { path: props === null || props === void 0 ? void 0 : props.path, type: (props === null || props === void 0 ? void 0 : props.type) || (themeFeedbackConf === null || themeFeedbackConf === void 0 ? void 0 : themeFeedbackConf.type) || constants_1.DEFAULT_FEEDBACK_TYPE, settings: (props === null || props === void 0 ? void 0 : props.settings) || (themeFeedbackConf === null || themeFeedbackConf === void 0 ? void 0 : themeFeedbackConf.settings) || {}, hide: (_a = props.hide) !== null && _a !== void 0 ? _a : themeFeedbackConf === null || themeFeedbackConf === void 0 ? void 0 : themeFeedbackConf.hide });
@@ -64,7 +64,7 @@ function Feedback(props) {
64
64
  return (React.createElement(FeedbackWrapper, { "data-component-name": "Feedback/Feedback" },
65
65
  React.createElement(FeedbackComponent, { settings: settings, onSubmit: (values) => {
66
66
  submitFeedback({ type, values, path });
67
- telemetry.send({ type: 'feedback.sent', payload: { feedback_type: type } });
67
+ otelTelemetry.send({ type: 'feedback.sent', payload: { feedback_type: type } });
68
68
  } })));
69
69
  };
70
70
  return React.createElement(React.Fragment, { key: pathname }, renderFeedbackComponent());
@@ -21,9 +21,9 @@ const Comment_1 = require("../../components/Feedback/Comment");
21
21
  const Portal_1 = require("../../components/Portal/Portal");
22
22
  function ReportDialog({ location, settings, onSubmit, onCancel, submitFeedback, lang, }) {
23
23
  const { label } = settings;
24
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
24
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
25
25
  const { pathname } = (0, react_router_dom_1.useLocation)();
26
- const telemetry = useTelemetry();
26
+ const otelTelemetry = useOtelTelemetry();
27
27
  return (react_1.default.createElement(Portal_1.Portal, null,
28
28
  react_1.default.createElement(ReportDialogWrapper, { className: "scroll-lock", "data-component-name": "Feedback/ReportDialog" },
29
29
  react_1.default.createElement(Comment_1.Comment, { settings: { label }, onSubmit: (value) => __awaiter(this, void 0, void 0, function* () {
@@ -34,7 +34,7 @@ function ReportDialog({ location, settings, onSubmit, onCancel, submitFeedback,
34
34
  path: pathname,
35
35
  lang,
36
36
  });
37
- telemetry.send({ type: 'code_snippet.reported' });
37
+ otelTelemetry.send({ type: 'code_snippet.reported' });
38
38
  onSubmit();
39
39
  }), isDialog: true, onCancel: onCancel }))));
40
40
  }
@@ -15,16 +15,16 @@ const CheckboxIcon_1 = require("../../icons/CheckboxIcon/CheckboxIcon");
15
15
  const CounterTag_1 = require("../../components/Tags/CounterTag");
16
16
  const utils_1 = require("../../core/utils");
17
17
  function FilterCheckboxes({ filter, filterValuesCasing }) {
18
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
18
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
19
19
  const { translate } = useTranslate();
20
- const telemetry = useTelemetry();
20
+ const otelTelemetry = useOtelTelemetry();
21
21
  return (react_1.default.createElement(FilterCheckboxesWrapper, { "data-component-name": "Filter/FilterCheckboxes" },
22
22
  react_1.default.createElement(FilterTitle_1.FilterTitle, { "data-translation-key": filter.titleTranslationKey }, translate(filter.titleTranslationKey, filter.title)),
23
23
  react_1.default.createElement(FilterOptions_1.FilterOptions, null, filter.filteredOptions.map(({ value, count }) => {
24
24
  const id = 'filter--' + filter.property + '--' + value;
25
25
  return (react_1.default.createElement(FilterCheckboxOption, { key: id, role: "link", onClick: () => {
26
26
  filter.toggleOption(value);
27
- telemetry.send({ type: 'filter_checkbox.toggled', payload: { id } });
27
+ otelTelemetry.send({ type: 'filter_checkbox.toggled', payload: { id } });
28
28
  } },
29
29
  react_1.default.createElement(CheckboxIcon_1.CheckboxIcon, { checked: filter.selectedOptions.has(value) }),
30
30
  react_1.default.createElement(FilterOptionLabel_1.FilterOptionLabel, { "data-translation-key": value }, (0, utils_1.changeTextCasing)(translate(value), filterValuesCasing)),
@@ -12,15 +12,15 @@ const Link_1 = require("../../components/Link/Link");
12
12
  const Image_1 = require("../../components/Image/Image");
13
13
  const utils_1 = require("../../core/utils");
14
14
  function FooterItem({ item, iconsOnly, className }) {
15
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
16
- const telemetry = useTelemetry();
15
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
16
+ const otelTelemetry = useOtelTelemetry();
17
17
  const { translate } = useTranslate();
18
18
  if (item.type === 'error') {
19
19
  return null;
20
20
  }
21
21
  const hasIcon = Boolean(item.icon || item.srcSet);
22
22
  const iconWithoutLabel = Boolean(item.label === item.link && hasIcon);
23
- return (react_1.default.createElement(FooterItemWrapper, { className: className, "data-component-name": "Footer/FooterItem", iconsOnly: iconsOnly, item: item }, item.type === 'separator' ? (react_1.default.createElement(FooterSeparator, { "data-translation-key": item.labelTranslationKey }, translate(item.labelTranslationKey, item.label))) : (react_1.default.createElement(FooterLink, { to: item.link, external: item.external, target: item.target, "data-testid": item.label, onClick: () => telemetry.send({ type: 'footer_item.clicked' }), "data-translation-key": item.labelTranslationKey },
23
+ return (react_1.default.createElement(FooterItemWrapper, { className: className, "data-component-name": "Footer/FooterItem", iconsOnly: iconsOnly, item: item }, item.type === 'separator' ? (react_1.default.createElement(FooterSeparator, { "data-translation-key": item.labelTranslationKey }, translate(item.labelTranslationKey, item.label))) : (react_1.default.createElement(FooterLink, { to: item.link, external: item.external, target: item.target, "data-testid": item.label, onClick: () => otelTelemetry.send({ type: 'footer_item.clicked' }), "data-translation-key": item.labelTranslationKey },
24
24
  hasIcon ? (react_1.default.createElement(FooterLinkIcon, { iconsOnly: iconsOnly },
25
25
  react_1.default.createElement(Image_1.Image, { src: item.icon, srcSet: item.srcSet }))) : null,
26
26
  !iconWithoutLabel ? translate(item.labelTranslationKey, item.label) : null,
@@ -15,8 +15,8 @@ const Dropdown_1 = require("../../components/Dropdown/Dropdown");
15
15
  const CheckmarkIcon_1 = require("../../icons/CheckmarkIcon/CheckmarkIcon");
16
16
  function LanguagePicker(props) {
17
17
  const { currentLocale, locales, setLocale } = (0, hooks_1.useLanguagePicker)();
18
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
19
- const telemetry = useTelemetry();
18
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
19
+ const otelTelemetry = useOtelTelemetry();
20
20
  if (locales.length < 2 || !currentLocale) {
21
21
  return null;
22
22
  }
@@ -26,7 +26,7 @@ function LanguagePicker(props) {
26
26
  onAction: () => {
27
27
  setLocale(locale.code);
28
28
  props.onChangeLanguage(locale.code);
29
- telemetry.send({
29
+ otelTelemetry.send({
30
30
  type: 'language_picker_locale.changed',
31
31
  payload: { locale: locale.code },
32
32
  });
@@ -22,13 +22,13 @@ const Link_1 = require("../../components/Link/Link");
22
22
  const Image_1 = require("../../components/Image/Image");
23
23
  function Logo(_a) {
24
24
  var { config, className } = _a, otherProps = __rest(_a, ["config", "className"]);
25
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
26
- const telemetry = useTelemetry();
25
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
26
+ const otelTelemetry = useOtelTelemetry();
27
27
  if (!(config === null || config === void 0 ? void 0 : config.image) && !(config === null || config === void 0 ? void 0 : config.srcSet)) {
28
28
  return null;
29
29
  }
30
30
  const image = (react_1.default.createElement(Image_1.Image, { className: className, src: config.image, srcSet: config.srcSet, alt: config.altText }));
31
- return (react_1.default.createElement(LogoWrapper, Object.assign({ "data-component-name": "Logo/Logo", className: className }, otherProps), config.link ? (react_1.default.createElement(Link_1.Link, { to: config.link, onClick: () => telemetry.send({ type: 'logo.clicked' }) }, image)) : (image)));
31
+ return (react_1.default.createElement(LogoWrapper, Object.assign({ "data-component-name": "Logo/Logo", className: className }, otherProps), config.link ? (react_1.default.createElement(Link_1.Link, { to: config.link, onClick: () => otelTelemetry.send({ type: 'logo.clicked' }) }, image)) : (image)));
32
32
  }
33
33
  const LogoWrapper = styled_components_1.default.div `
34
34
  max-width: var(--logo-max-width);
@@ -39,7 +39,7 @@ const Badge_1 = require("../../components/Badge/Badge");
39
39
  function MenuItem(props) {
40
40
  var _a;
41
41
  const { item, depth, className, onClick } = props;
42
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
42
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
43
43
  const { translate } = useTranslate();
44
44
  const type = (0, utils_1.getMenuItemType)(item);
45
45
  const nestedMenuRef = (0, react_1.useRef)(null);
@@ -47,14 +47,14 @@ function MenuItem(props) {
47
47
  const { isExpanded, canUnmount, style, handleExpand } = (0, hooks_1.useNestedMenu)(Object.assign(Object.assign({}, props), { type,
48
48
  labelRef,
49
49
  nestedMenuRef }));
50
- const telemetry = useTelemetry();
50
+ const otelTelemetry = useOtelTelemetry();
51
51
  const isDrilldown = type === constants_1.MenuItemType.DrillDown;
52
52
  const isSeparator = type === constants_1.MenuItemType.Separator;
53
53
  const isNested = type === constants_1.MenuItemType.Group;
54
54
  const hasChevron = isNested && !isDrilldown;
55
55
  const hasHttpTag = !!item.httpVerb || type === constants_1.MenuItemType.Operation;
56
56
  const handleOnClick = () => {
57
- telemetry.send({
57
+ otelTelemetry.send({
58
58
  type: 'sidebar.item_clicked',
59
59
  payload: {
60
60
  label: item.label,
@@ -23,9 +23,9 @@ function Navbar({ className }) {
23
23
  var _a;
24
24
  const { isOpen, closeMobileMenu, openMobileMenu } = (0, hooks_1.useMobileMenu)(false);
25
25
  const themeConfig = (0, hooks_1.useThemeConfig)();
26
- const { useL10n, useTelemetry } = (0, hooks_1.useThemeHooks)();
26
+ const { useL10n, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
27
27
  const { changeLanguage } = useL10n();
28
- const telemetry = useTelemetry();
28
+ const otelTelemetry = useOtelTelemetry();
29
29
  const menu = (_a = themeConfig.navbar) === null || _a === void 0 ? void 0 : _a.items;
30
30
  const { search: searchSettings, navbar, userMenu: userMenuSettings, logo } = themeConfig;
31
31
  if (navbar === null || navbar === void 0 ? void 0 : navbar.hide) {
@@ -45,11 +45,11 @@ function Navbar({ className }) {
45
45
  react_1.default.createElement(MobileMenuButton, { variant: "text", "data-testid": "mobile-menu-button", onClick: isOpen
46
46
  ? () => {
47
47
  closeMobileMenu();
48
- telemetry.send({ type: 'mobile_menu_button_close.clicked' });
48
+ otelTelemetry.send({ type: 'mobile_menu_button_close.clicked' });
49
49
  }
50
50
  : () => {
51
51
  openMobileMenu();
52
- telemetry.send({ type: 'mobile_menu_button_open.clicked' });
52
+ otelTelemetry.send({ type: 'mobile_menu_button_open.clicked' });
53
53
  }, icon: isOpen ? react_1.default.createElement(CloseIcon_1.CloseIcon, null) : react_1.default.createElement(MenuIcon_1.MenuIcon, null) }),
54
54
  hideUserMenu ? null : react_1.default.createElement(UserMenu_1.UserMenu, null))));
55
55
  }
@@ -39,17 +39,17 @@ const Link_1 = require("../../components/Link/Link");
39
39
  const Dropdown_1 = require("../../components/Dropdown/Dropdown");
40
40
  function NavbarItem({ navItem, className }) {
41
41
  const { pathname } = (0, react_router_dom_1.useLocation)();
42
- const { useTranslate, useL10nConfig, useTelemetry } = (0, hooks_1.useThemeHooks)();
42
+ const { useTranslate, useL10nConfig, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
43
43
  const { translate } = useTranslate();
44
44
  const { defaultLocale, currentLocale, locales } = useL10nConfig();
45
- const telemetry = useTelemetry();
45
+ const otelTelemetry = useOtelTelemetry();
46
46
  if (navItem.type !== 'link' && !navItem.items)
47
47
  return null;
48
48
  const item = navItem;
49
49
  const normalizedPath = (item.link && item.link !== '/' ? (0, utils_1.removeTrailingSlash)(item.link) : item.link) || '';
50
50
  const isActive = pathname ===
51
51
  (0, utils_1.withPathPrefix)((0, utils_1.getPathnameForLocale)(normalizedPath, defaultLocale, currentLocale, locales));
52
- const itemContent = (react_1.default.createElement(NavbarMenuItem, { as: item.link ? Link_1.Link : undefined, active: isActive, className: className, onClick: () => telemetry.send({ type: 'navbar.menu_item_clicked', payload: { type: item.type } }), external: item.external, target: item.target, to: item.link },
52
+ const itemContent = (react_1.default.createElement(NavbarMenuItem, { as: item.link ? Link_1.Link : undefined, active: isActive, className: className, onClick: () => otelTelemetry.send({ type: 'navbar.menu_item_clicked', payload: { type: item.type } }), external: item.external, target: item.target, to: item.link },
53
53
  react_1.default.createElement(NavbarIcon, { url: item.icon }),
54
54
  react_1.default.createElement(NavbarLabel, { "data-translation-key": item.labelTranslationKey }, translate(item.labelTranslationKey, item.label)),
55
55
  item.external ? react_1.default.createElement(ExternalLinkIcon, { size: "10px" }) : null));
@@ -0,0 +1 @@
1
+ export declare const AfterOpenApiDescription: any;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AfterOpenApiDescription = void 0;
4
+ exports.AfterOpenApiDescription = null;
5
+ //# sourceMappingURL=AfterOpenApiDescription.js.map
@@ -51,8 +51,8 @@ const ChevronLeftIcon_1 = require("../../icons/ChevronLeftIcon/ChevronLeftIcon")
51
51
  const EditIcon_1 = require("../../icons/EditIcon/EditIcon");
52
52
  const AiStarsGradientIcon_1 = require("../../icons/AiStarsGradientIcon/AiStarsGradientIcon");
53
53
  function SearchDialog({ onClose, className }) {
54
- const { useTranslate, useCurrentProduct, useSearch, useProducts, useAiSearch, useTelemetry } = (0, hooks_1.useThemeHooks)();
55
- const telemetry = useTelemetry();
54
+ const { useTranslate, useCurrentProduct, useSearch, useProducts, useAiSearch, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
55
+ const otelTelemetry = useOtelTelemetry();
56
56
  const products = useProducts();
57
57
  const currentProduct = useCurrentProduct();
58
58
  const [product, setProduct] = (0, react_1.useState)(currentProduct);
@@ -110,7 +110,7 @@ function SearchDialog({ onClose, className }) {
110
110
  }
111
111
  return (react_1.default.createElement(SearchItem_1.SearchItem, { key: `${index}-${item.document.id}`, item: item, product: itemProduct, innerRef: innerRef, onClick: () => {
112
112
  addSearchHistoryItem(query);
113
- telemetry.send({
113
+ otelTelemetry.send({
114
114
  type: 'search.result.clicked',
115
115
  payload: {
116
116
  query,
@@ -122,7 +122,7 @@ function SearchDialog({ onClose, className }) {
122
122
  });
123
123
  onClose();
124
124
  } }));
125
- }, [onClose, product, products, addSearchHistoryItem, query, telemetry, mode]);
125
+ }, [onClose, product, products, addSearchHistoryItem, query, otelTelemetry, mode]);
126
126
  const showLoadMore = (0, react_1.useCallback)((groupKey, currentCount = 0) => {
127
127
  const groupFacet = facets.find((facet) => facet.field === groupField);
128
128
  let needLoadMore = false;
@@ -223,7 +223,7 @@ function SearchDialog({ onClose, className }) {
223
223
  translate('search.loading', 'Loading...'))) : (react_1.default.createElement(SearchMessage, { "data-translation-key": "search.noResults" },
224
224
  react_1.default.createElement("b", null, translate('search.noResults.title', 'No results'))))) : (react_1.default.createElement(react_1.default.Fragment, null,
225
225
  react_1.default.createElement(SearchRecent_1.SearchRecent, { onSelect: (query, index) => {
226
- telemetry.send({
226
+ otelTelemetry.send({
227
227
  type: 'search.recent.clicked',
228
228
  payload: {
229
229
  query,
@@ -13,9 +13,9 @@ const hooks_1 = require("../../core/hooks");
13
13
  const CloseFilledIcon_1 = require("../../icons/CloseFilledIcon/CloseFilledIcon");
14
14
  const ChevronLeftIcon_1 = require("../../icons/ChevronLeftIcon/ChevronLeftIcon");
15
15
  function SearchInput({ placeholder, value, onChange, isLoading, showReturnButton, inputRef, onReturn, onSubmit, className, }) {
16
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
16
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
17
17
  const { addSearchHistoryItem } = (0, hooks_1.useRecentSearches)();
18
- const telemetry = useTelemetry();
18
+ const otelTelemetry = useOtelTelemetry();
19
19
  const { onKeyDown } = (0, hooks_1.useInputKeyCommands)({
20
20
  onEnter: (event) => onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(event),
21
21
  onClear: () => addSearchHistoryItem(value),
@@ -27,7 +27,7 @@ function SearchInput({ placeholder, value, onChange, isLoading, showReturnButton
27
27
  const handleOnReset = () => {
28
28
  onChange('');
29
29
  addSearchHistoryItem(value);
30
- telemetry.send({ type: 'search_input_reset_button.clicked' });
30
+ otelTelemetry.send({ type: 'search_input_reset_button.clicked' });
31
31
  };
32
32
  return (react_1.default.createElement(SearchInputWrapper, { "data-component-name": "Search/SearchInput", className: className },
33
33
  showReturnButton ? (react_1.default.createElement(Button_1.Button, { icon: react_1.default.createElement(ChevronLeftIcon_1.ChevronLeftIcon, null), onClick: onReturn })) : value && isLoading ? (react_1.default.createElement(Spinner_1.Spinner, { size: "24px", color: "--search-input-icon-color" })) : (react_1.default.createElement(SearchIcon_1.SearchIcon, { size: "24px", color: "--search-input-icon-color" })),
@@ -36,15 +36,15 @@ const RecentlyViewedIcon_1 = require("../../icons/RecentlyViewedIcon/RecentlyVie
36
36
  const Button_1 = require("../../components/Button/Button");
37
37
  function SearchRecent({ onSelect, className }) {
38
38
  const { items, removeSearchHistoryItem } = (0, hooks_1.useRecentSearches)();
39
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
39
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
40
40
  const { translate } = useTranslate();
41
- const telemetry = useTelemetry();
41
+ const otelTelemetry = useOtelTelemetry();
42
42
  if (!items || !items.length)
43
43
  return null;
44
44
  const handleOnRemove = (e, item) => {
45
45
  e.stopPropagation();
46
46
  removeSearchHistoryItem(item);
47
- telemetry.send({ type: 'search_recent_remove_button.clicked' });
47
+ otelTelemetry.send({ type: 'search_recent_remove_button.clicked' });
48
48
  };
49
49
  const handleKeyDown = (e, item, index) => {
50
50
  if (e.key === 'Enter') {
@@ -12,7 +12,7 @@ exports.select = (0, styled_components_1.css) `
12
12
  --select-text-color: var(--text-color-secondary); // @presenter Color
13
13
  --select-border-radius: var(--border-radius); // @presenter BorderRadius
14
14
  --select-border: var(--border-width) var(--border-style) var(--border-color-primary); // @presenter Border
15
-
15
+
16
16
  --select-input-padding-vertical: 6px; // @presenter Spacing
17
17
  --select-input-padding-horizontal: 6px; // @presenter Spacing
18
18
  --select-input-padding: var(--select-input-padding-vertical) var(--select-input-padding-horizontal);
@@ -40,7 +40,7 @@ exports.select = (0, styled_components_1.css) `
40
40
  --select-list-item-border-radius: var(--border-radius); // @presenter BorderRadius
41
41
  --select-list-item-bg-color-active: transparent; // @presenter Color
42
42
  --select-list-item-bg-color-hover: var(--menu-item-bg-color-hover); // @presenter Color
43
- --select-list-item-font-weight-active: var(--font-weight-medium); // @presenter Color
43
+ --select-list-item-font-weight-active: var(--font-weight-medium); // @presenter Color
44
44
 
45
45
  --select-placeholder-color: var(--color-warm-grey-6); // @presenter Color
46
46
  // @tokens End
@@ -14,17 +14,17 @@ const SidePanelCloseIcon_1 = require("../../icons/SidePanelCloseIcon/SidePanelCl
14
14
  const SidePanelOpenIcon_1 = require("../../icons/SidePanelOpenIcon/SidePanelOpenIcon");
15
15
  const styled_1 = require("../../components/SidebarActions/styled");
16
16
  const SidebarActions = ({ layout, hideCollapseSidebarButton = false, collapsedSidebar, isApiDocs, onChangeViewClick, onChangeCollapseSidebarClick, requestAccessButton, className, }) => {
17
- const { useTelemetry, useTranslate } = (0, hooks_1.useThemeHooks)();
17
+ const { useOtelTelemetry, useTranslate } = (0, hooks_1.useThemeHooks)();
18
18
  const { translate } = useTranslate();
19
- const telemetry = useTelemetry();
19
+ const otelTelemetry = useOtelTelemetry();
20
20
  return (react_1.default.createElement(styled_1.ControlsWrap, { className: className, isCollapsed: collapsedSidebar, "data-component-name": "Sidebar/SidebarActions" },
21
21
  !hideCollapseSidebarButton && (react_1.default.createElement(Button_1.Button, { onClick: () => {
22
22
  onChangeCollapseSidebarClick();
23
23
  if (collapsedSidebar) {
24
- telemetry.send({ type: 'sidebar.item_expanded' });
24
+ otelTelemetry.send({ type: 'sidebar.item_expanded' });
25
25
  }
26
26
  else {
27
- telemetry.send({ type: 'sidebar.item_collapsed' });
27
+ otelTelemetry.send({ type: 'sidebar.item_collapsed' });
28
28
  }
29
29
  }, title: collapsedSidebar
30
30
  ? translate('sidebar.actions.show', 'Show sidebar')
@@ -32,7 +32,7 @@ const SidebarActions = ({ layout, hideCollapseSidebarButton = false, collapsedSi
32
32
  isApiDocs && (react_1.default.createElement(styled_1.ControlsWrapChangeLayoutButtons, { isCollapsed: collapsedSidebar },
33
33
  react_1.default.createElement(ChangeViewButton_1.ChangeViewButton, { collapsedSidebar: collapsedSidebar, layout: layout, onClick: () => {
34
34
  onChangeViewClick();
35
- telemetry.send({ type: 'change_layout_button.clicked' });
35
+ otelTelemetry.send({ type: 'change_layout_button.clicked' });
36
36
  } }))),
37
37
  !collapsedSidebar && requestAccessButton));
38
38
  };
@@ -33,9 +33,9 @@ const hooks_1 = require("../../core/hooks");
33
33
  const utils_1 = require("../../core/utils");
34
34
  function TableOfContent(props) {
35
35
  const { headings, contentWrapper, className } = props;
36
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
36
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
37
37
  const { translate } = useTranslate();
38
- const telemetry = useTelemetry();
38
+ const otelTelemetry = useOtelTelemetry();
39
39
  const sidebar = React.useRef(null);
40
40
  (0, hooks_1.useFullHeight)(sidebar);
41
41
  const { markdown: { toc = {} } = {} } = (0, hooks_1.useThemeConfig)();
@@ -54,7 +54,7 @@ function TableOfContent(props) {
54
54
  return null;
55
55
  }
56
56
  const href = '#' + heading.id;
57
- return (React.createElement(TableOfContentMenuItem, { key: href + idx, href: href, depth: heading.depth - leastDepth + 1 || 0, className: activeHeadingId === heading.id ? 'active' : '', dangerouslySetInnerHTML: { __html: heading.value || '' }, "data-testid": `toc-${heading.value}`, onClick: () => telemetry.send({ type: 'toc_item.clicked' }) }));
57
+ return (React.createElement(TableOfContentMenuItem, { key: href + idx, href: href, depth: heading.depth - leastDepth + 1 || 0, className: activeHeadingId === heading.id ? 'active' : '', dangerouslySetInnerHTML: { __html: heading.value || '' }, "data-testid": `toc-${heading.value}`, onClick: () => otelTelemetry.send({ type: 'toc_item.clicked' }) }));
58
58
  })))));
59
59
  }
60
60
  const TableOfContentMenu = styled_components_1.default.aside `
@@ -8,10 +8,10 @@ const react_1 = __importDefault(require("react"));
8
8
  const hooks_1 = require("../../core/hooks");
9
9
  const Button_1 = require("../../components/Button/Button");
10
10
  function LoginButton({ href, className }) {
11
- const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
11
+ const { useTranslate, useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
12
12
  const { translate } = useTranslate();
13
- const telemetry = useTelemetry();
13
+ const otelTelemetry = useOtelTelemetry();
14
14
  return (react_1.default.createElement("div", { "data-component-name": "UserMenu/LoginButton", className: className },
15
- react_1.default.createElement(Button_1.Button, { "data-translation-key": "userMenu.login", to: href, onClick: () => telemetry.send({ type: 'login_button.clicked' }), "data-testid": "login-btn", extraClass: className, variant: "primary", size: "medium" }, translate('userMenu.login', 'Login'))));
15
+ react_1.default.createElement(Button_1.Button, { "data-translation-key": "userMenu.login", to: href, onClick: () => otelTelemetry.send({ type: 'login_button.clicked' }), "data-testid": "login-btn", extraClass: className, variant: "primary", size: "medium" }, translate('userMenu.login', 'Login'))));
16
16
  }
17
17
  //# sourceMappingURL=LoginButton.js.map
@@ -9,12 +9,12 @@ const hooks_1 = require("../../core/hooks");
9
9
  const LogoutIcon_1 = require("../../icons/LogoutIcon/LogoutIcon");
10
10
  const DropdownMenuItem_1 = require("../../components/Dropdown/DropdownMenuItem");
11
11
  function LogoutMenuItem({ iconOnly, className }) {
12
- const { useTranslate, useTelemetry, useUserMenu } = (0, hooks_1.useThemeHooks)();
12
+ const { useTranslate, useOtelTelemetry, useUserMenu } = (0, hooks_1.useThemeHooks)();
13
13
  const { handleLogout } = useUserMenu();
14
- const telemetry = useTelemetry();
14
+ const otelTelemetry = useOtelTelemetry();
15
15
  const { translate } = useTranslate();
16
16
  const handleClick = () => {
17
- telemetry.send({ type: 'logout_menu_item.clicked' });
17
+ otelTelemetry.send({ type: 'logout_menu_item.clicked' });
18
18
  handleLogout();
19
19
  };
20
20
  return (react_1.default.createElement(DropdownMenuItem_1.DropdownMenuItem, { className: className, dangerous: true, "data-component-name": "UserMenu/LogoutMenuItem", onAction: handleClick, "data-translation-key": "userMenu.logout", prefix: react_1.default.createElement(LogoutIcon_1.LogoutIcon, null), style: { width: iconOnly ? 'fit-content' : '100%' } }, iconOnly ? null : translate('userMenu.logout', 'Log out')));
@@ -5,6 +5,9 @@ export declare const useThemeHooks: jest.Mock<{
5
5
  useTelemetry: jest.Mock<{
6
6
  send: jest.Mock<any, any, any>;
7
7
  }, [], any>;
8
+ useOtelTelemetry: jest.Mock<{
9
+ send: jest.Mock<any, any, any>;
10
+ }, [], any>;
8
11
  useBreadcrumbs: jest.Mock<any, any, any>;
9
12
  usePageSharedData: jest.Mock<any, any, any>;
10
13
  useCatalogClassic: jest.Mock<{
@@ -12,6 +12,9 @@ exports.useThemeHooks = jest.fn(() => ({
12
12
  useTelemetry: jest.fn(() => ({
13
13
  send: jest.fn(),
14
14
  })),
15
+ useOtelTelemetry: jest.fn(() => ({
16
+ send: jest.fn(),
17
+ })),
15
18
  useBreadcrumbs: jest.fn().mockReturnValue([]),
16
19
  usePageSharedData: jest.fn().mockReturnValue({}),
17
20
  useCatalogClassic: jest.fn(() => ({
@@ -13,15 +13,15 @@ function useSearchDialog() {
13
13
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
14
14
  const themeSettings = (0, hooks_1.useThemeConfig)();
15
15
  const location = (0, react_router_dom_1.useLocation)();
16
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
17
- const telemetry = useTelemetry();
16
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
17
+ const otelTelemetry = useOtelTelemetry();
18
18
  const keyShortcuts = (_b = (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.search) === null || _a === void 0 ? void 0 : _a.shortcuts) !== null && _b !== void 0 ? _b : ['/'];
19
19
  const hotKeys = keyShortcuts === null || keyShortcuts === void 0 ? void 0 : keyShortcuts.join(',');
20
20
  (0, react_1.useEffect)(() => {
21
21
  if (hotKeys) {
22
22
  (0, hotkeys_js_1.default)(hotKeys, (ev) => {
23
23
  setIsOpen(true);
24
- telemetry.send({ type: 'search.opened', payload: { method: 'shortcut' } });
24
+ otelTelemetry.send({ type: 'search.opened', payload: { method: 'shortcut' } });
25
25
  ev.preventDefault();
26
26
  });
27
27
  return () => hotkeys_js_1.default.unbind(hotKeys);
@@ -29,7 +29,7 @@ function useSearchDialog() {
29
29
  // eslint-disable-next-line react-hooks/exhaustive-deps
30
30
  }, [hotKeys]);
31
31
  const onOpen = (0, react_1.useCallback)(function () {
32
- telemetry.send({ type: 'search.opened', payload: { method: 'click' } });
32
+ otelTelemetry.send({ type: 'search.opened', payload: { method: 'click' } });
33
33
  setIsOpen(true);
34
34
  // eslint-disable-next-line react-hooks/exhaustive-deps
35
35
  }, []);
@@ -5,8 +5,8 @@ const react_1 = require("react");
5
5
  const hooks_1 = require("../../core/hooks");
6
6
  const useColorSwitcher = () => {
7
7
  const themeSettings = (0, hooks_1.useThemeConfig)();
8
- const { useTelemetry } = (0, hooks_1.useThemeHooks)();
9
- const telemetry = useTelemetry();
8
+ const { useOtelTelemetry } = (0, hooks_1.useThemeHooks)();
9
+ const otelTelemetry = useOtelTelemetry();
10
10
  const colorMode = themeSettings.colorMode;
11
11
  const modes = (colorMode === null || colorMode === void 0 ? void 0 : colorMode.modes) || ['light', 'dark'];
12
12
  const defaultColor = modes[0] || 'light';
@@ -27,7 +27,7 @@ const useColorSwitcher = () => {
27
27
  window.requestAnimationFrame(() => {
28
28
  document.documentElement.classList.remove('notransition');
29
29
  });
30
- telemetry.send({
30
+ otelTelemetry.send({
31
31
  type: 'color_mode.switched',
32
32
  payload: { from: activeColorMode, to: newMode },
33
33
  });
@@ -4,16 +4,16 @@ exports.useProductPicker = useProductPicker;
4
4
  const react_router_dom_1 = require("react-router-dom");
5
5
  const hooks_1 = require("../../core/hooks");
6
6
  function useProductPicker() {
7
- const { useCurrentProduct, useProducts, useTelemetry, useLoadAndNavigate } = (0, hooks_1.useThemeHooks)();
7
+ const { useCurrentProduct, useProducts, useOtelTelemetry, useLoadAndNavigate } = (0, hooks_1.useThemeHooks)();
8
8
  const currentProduct = useCurrentProduct();
9
9
  const products = useProducts();
10
- const telemetry = useTelemetry();
10
+ const otelTelemetry = useOtelTelemetry();
11
11
  const navigate = (0, react_router_dom_1.useNavigate)();
12
12
  const loadAndNavigate = useLoadAndNavigate();
13
13
  function setProduct(product) {
14
14
  if (!product)
15
15
  return;
16
- telemetry.send({ type: 'product.picked', payload: { product: product.slug } });
16
+ otelTelemetry.send({ type: 'product.picked', payload: { product: product.slug } });
17
17
  loadAndNavigate({ navigate, to: product.link });
18
18
  }
19
19
  return {