UNPKG

@redocly/theme

Version:

Shared UI components lib

36 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useProductPicker = useProductPicker; const react_router_dom_1 = require("react-router-dom"); const utils_1 = require("../../components/Product/utils"); const use_theme_hooks_1 = require("./use-theme-hooks"); const utils_2 = require("../utils"); function useProductPicker() { const { useCurrentProduct, useProducts, useTelemetry, useLoadAndNavigate } = (0, use_theme_hooks_1.useThemeHooks)(); const currentProduct = useCurrentProduct(); const products = useProducts(); const telemetry = useTelemetry(); const navigate = (0, react_router_dom_1.useNavigate)(); const loadAndNavigate = useLoadAndNavigate(); function setProduct(product) { if (!product) return; telemetry.sendProductPickedMessage([{ object: 'product', product: product.slug }]); if (typeof document === 'undefined') return; if (product.name) { const root = document.documentElement; Array.from(root.classList) .filter((c) => c.startsWith('product-')) .forEach((c) => root.classList.remove(c)); root.classList.add((0, utils_1.getProductClassName)(product.name)); } loadAndNavigate({ navigate, to: (0, utils_2.withPathPrefix)(product.link) }); } return { currentProduct, products, setProduct, }; } //# sourceMappingURL=use-product-picker.js.map