UNPKG

pagefind-react

Version:

A pagefind React Component drop-in

52 lines 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PageFind = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const PageFind = ({ id }) => { const loaded = (0, react_1.useRef)(false); const targetID = id ?? "search"; (0, react_1.useEffect)(() => { if (!loaded.current) { loaded.current = true; let observer; const PagefindUI = typeof window.PagefindUI !== "undefined" && window.PagefindUI; if (PagefindUI) { try { new PagefindUI({ element: `#${targetID}`, resetStyles: false, showImages: false, showEmptyFilters: false, }); const pagefindDrawer = document.querySelector(".pagefind-ui__drawer"); if (pagefindDrawer) { const callback = () => { const links = document.querySelectorAll(".pagefind-ui__result-link"); for (const link of links) { link.href = link.href.replace(".html", ""); } }; observer = new MutationObserver(callback); observer.observe(pagefindDrawer, { attributes: false, childList: true, subtree: true, }); } } catch (e) { console.error(e); } } return () => { if (observer) { observer.disconnect(); } }; } }, [loaded, targetID]); return (0, jsx_runtime_1.jsx)("div", { id: targetID }); }; exports.PageFind = PageFind; //# sourceMappingURL=pagefind.js.map