UNPKG

@pdf-viewer/react

Version:

A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.

338 lines (332 loc) 9.61 kB
import * as l from "react"; import { useState as N } from "react"; var P = function(e) { if (typeof document > "u") return null; var n = Array.isArray(e) ? e[0] : e; return n.ownerDocument.body; }, d = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new WeakMap(), y = {}, w = 0, R = function(e) { return e && (e.host || R(e.parentNode)); }, T = function(e, n) { return n.map(function(t) { if (e.contains(t)) return t; var r = R(t); return r && e.contains(r) ? r : (console.error("aria-hidden", t, "in not contained inside", e, ". Doing nothing"), null); }).filter(function(t) { return !!t; }); }, z = function(e, n, t, r) { var a = T(n, Array.isArray(e) ? e : [e]); y[t] || (y[t] = /* @__PURE__ */ new WeakMap()); var o = y[t], c = [], i = /* @__PURE__ */ new Set(), b = new Set(a), p = function(u) { !u || i.has(u) || (i.add(u), p(u.parentNode)); }; a.forEach(p); var s = function(u) { !u || b.has(u) || Array.prototype.forEach.call(u.children, function(f) { if (i.has(f)) s(f); else try { var h = f.getAttribute(r), x = h !== null && h !== "false", k = (d.get(f) || 0) + 1, O = (o.get(f) || 0) + 1; d.set(f, k), o.set(f, O), c.push(f), k === 1 && x && g.set(f, !0), O === 1 && f.setAttribute(t, "true"), x || f.setAttribute(r, "true"); } catch (I) { console.error("aria-hidden: cannot operate on ", f, I); } }); }; return s(n), i.clear(), w++, function() { c.forEach(function(u) { var f = d.get(u) - 1, h = o.get(u) - 1; d.set(u, f), o.set(u, h), f || (g.has(u) || u.removeAttribute(r), g.delete(u)), h || u.removeAttribute(t); }), w--, w || (d = /* @__PURE__ */ new WeakMap(), d = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new WeakMap(), y = {}); }; }, oe = function(e, n, t) { t === void 0 && (t = "data-aria-hidden"); var r = Array.from(Array.isArray(e) ? e : [e]), a = n || P(e); return a ? (r.push.apply(r, Array.from(a.querySelectorAll("[aria-live], script"))), z(r, a, t, "aria-hidden")) : function() { return null; }; }, m = function() { return m = Object.assign || function(n) { for (var t, r = 1, a = arguments.length; r < a; r++) { t = arguments[r]; for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (n[o] = t[o]); } return n; }, m.apply(this, arguments); }; function B(e, n) { var t = {}; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && n.indexOf(r) < 0 && (t[r] = e[r]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, r = Object.getOwnPropertySymbols(e); a < r.length; a++) n.indexOf(r[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[a]) && (t[r[a]] = e[r[a]]); return t; } function ie(e, n, t) { if (t || arguments.length === 2) for (var r = 0, a = n.length, o; r < a; r++) (o || !(r in n)) && (o || (o = Array.prototype.slice.call(n, 0, r)), o[r] = n[r]); return e.concat(o || Array.prototype.slice.call(n)); } var S = "right-scroll-bar-position", E = "width-before-scroll-bar", L = "with-scroll-bars-hidden", D = "--removed-body-scroll-bar-size"; function A(e, n) { return typeof e == "function" ? e(n) : e && (e.current = n), e; } function V(e, n) { var t = N(function() { return { // value value: e, // last callback callback: n, // "memoized" public interface facade: { get current() { return t.value; }, set current(r) { var a = t.value; a !== r && (t.value = r, t.callback(r, a)); } } }; })[0]; return t.callback = n, t.facade; } var G = typeof window < "u" ? l.useLayoutEffect : l.useEffect, M = /* @__PURE__ */ new WeakMap(); function ce(e, n) { var t = V(n || null, function(r) { return e.forEach(function(a) { return A(a, r); }); }); return G(function() { var r = M.get(t); if (r) { var a = new Set(r), o = new Set(e), c = t.current; a.forEach(function(i) { o.has(i) || A(i, null); }), o.forEach(function(i) { a.has(i) || A(i, c); }); } M.set(t, e); }, [e]), t; } function Q(e) { return e; } function q(e, n) { n === void 0 && (n = Q); var t = [], r = !1, a = { read: function() { if (r) throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); return t.length ? t[t.length - 1] : e; }, useMedium: function(o) { var c = n(o, r); return t.push(c), function() { t = t.filter(function(i) { return i !== c; }); }; }, assignSyncMedium: function(o) { for (r = !0; t.length; ) { var c = t; t = [], c.forEach(o); } t = { push: function(i) { return o(i); }, filter: function() { return t; } }; }, assignMedium: function(o) { r = !0; var c = []; if (t.length) { var i = t; t = [], i.forEach(o), c = t; } var b = function() { var s = c; c = [], s.forEach(o); }, p = function() { return Promise.resolve().then(b); }; p(), t = { push: function(s) { c.push(s), p(); }, filter: function(s) { return c = c.filter(s), t; } }; } }; return a; } function ue(e) { e === void 0 && (e = {}); var n = q(null); return n.options = m({ async: !0, ssr: !1 }, e), n; } var j = function(e) { var n = e.sideCar, t = B(e, ["sideCar"]); if (!n) throw new Error("Sidecar: please provide `sideCar` property to import the right car"); var r = n.read(); if (!r) throw new Error("Sidecar medium not found"); return l.createElement(r, m({}, t)); }; j.isSideCarExport = !0; function fe(e, n) { return e.useMedium(n), j; } var W, F = function() { if (W) return W; if (typeof __webpack_nonce__ < "u") return __webpack_nonce__; }; function H() { if (!document) return null; var e = document.createElement("style"); e.type = "text/css"; var n = F(); return n && e.setAttribute("nonce", n), e; } function K(e, n) { e.styleSheet ? e.styleSheet.cssText = n : e.appendChild(document.createTextNode(n)); } function U(e) { var n = document.head || document.getElementsByTagName("head")[0]; n.appendChild(e); } var J = function() { var e = 0, n = null; return { add: function(t) { e == 0 && (n = H()) && (K(n, t), U(n)), e++; }, remove: function() { e--, !e && n && (n.parentNode && n.parentNode.removeChild(n), n = null); } }; }, X = function() { var e = J(); return function(n, t) { l.useEffect(function() { return e.add(n), function() { e.remove(); }; }, [n && t]); }; }, Y = function() { var e = X(), n = function(t) { var r = t.styles, a = t.dynamic; return e(r, a), null; }; return n; }, Z = { left: 0, top: 0, right: 0, gap: 0 }, C = function(e) { return parseInt(e || "", 10) || 0; }, $ = function(e) { var n = window.getComputedStyle(document.body), t = n[e === "padding" ? "paddingLeft" : "marginLeft"], r = n[e === "padding" ? "paddingTop" : "marginTop"], a = n[e === "padding" ? "paddingRight" : "marginRight"]; return [C(t), C(r), C(a)]; }, ee = function(e) { if (e === void 0 && (e = "margin"), typeof window > "u") return Z; var n = $(e), t = document.documentElement.clientWidth, r = window.innerWidth; return { left: n[0], top: n[1], right: n[2], gap: Math.max(0, r - t + n[2] - n[0]) }; }, te = Y(), v = "data-scroll-locked", ne = function(e, n, t, r) { var a = e.left, o = e.top, c = e.right, i = e.gap; return t === void 0 && (t = "margin"), ` .`.concat(L, ` { overflow: hidden `).concat(r, `; padding-right: `).concat(i, "px ").concat(r, `; } body[`).concat(v, `] { overflow: hidden `).concat(r, `; overscroll-behavior: contain; `).concat([ n && "position: relative ".concat(r, ";"), t === "margin" && ` padding-left: `.concat(a, `px; padding-top: `).concat(o, `px; padding-right: `).concat(c, `px; margin-left:0; margin-top:0; margin-right: `).concat(i, "px ").concat(r, `; `), t === "padding" && "padding-right: ".concat(i, "px ").concat(r, ";") ].filter(Boolean).join(""), ` } .`).concat(S, ` { right: `).concat(i, "px ").concat(r, `; } .`).concat(E, ` { margin-right: `).concat(i, "px ").concat(r, `; } .`).concat(S, " .").concat(S, ` { right: 0 `).concat(r, `; } .`).concat(E, " .").concat(E, ` { margin-right: 0 `).concat(r, `; } body[`).concat(v, `] { `).concat(D, ": ").concat(i, `px; } `); }, _ = function() { var e = parseInt(document.body.getAttribute(v) || "0", 10); return isFinite(e) ? e : 0; }, re = function() { l.useEffect(function() { return document.body.setAttribute(v, (_() + 1).toString()), function() { var e = _() - 1; e <= 0 ? document.body.removeAttribute(v) : document.body.setAttribute(v, e.toString()); }; }, []); }, se = function(e) { var n = e.noRelative, t = e.noImportant, r = e.gapMode, a = r === void 0 ? "margin" : r; re(); var o = l.useMemo(function() { return ee(a); }, [a]); return l.createElement(te, { styles: ne(o, !n, a, t ? "" : "!important") }); }; export { se as R, B as _, m as a, ie as b, ue as c, fe as e, E as f, oe as h, Y as s, ce as u, S as z };