mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-18 05:47:32 +00:00
22d4c345be
* add assets, photoswipe html element to body * add single script, gallery for multiple items * update docs for image gallery * fix relative links * inject image script on mount * replace inline script * remove facebook, twitter, pinterest sharing * fix hover on share * fix start img aspect radio, reduce size * right align json script * right align go script * change script background
4 lines
11 KiB
JavaScript
4 lines
11 KiB
JavaScript
/*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08
|
|
* http://photoswipe.com
|
|
* Copyright (c) 2019 Dmitry Semenov; */
|
|
!function (a, b) { "function" == typeof define && define.amd ? define(b) : "object" == typeof exports ? module.exports = b() : a.PhotoSwipeUI_Default = b(); }(this, function () { "use strict"; var a = function (a, b) { var c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v = this, w = !1, x = !0, y = !0, z = { barsSize: { top: 44, bottom: "auto" }, closeElClasses: ["item", "caption", "zoom-wrap", "ui", "top-bar"], timeToIdle: 4e3, timeToIdleOutside: 1e3, loadingIndicatorDelay: 1e3, addCaptionHTMLFn: function (a, b) { return a.title ? (b.children[0].innerHTML = a.title, !0) : (b.children[0].innerHTML = "", !1); }, closeEl: !0, captionEl: !0, fullscreenEl: !0, zoomEl: !0, shareEl: !0, counterEl: !0, arrowEl: !0, preloaderEl: !0, tapToClose: !1, tapToToggleControls: !0, clickToCloseNonZoomable: !0, shareButtons: [{ id: "download", label: "Download image", url: "{{raw_image_url}}", download: !0 }], getImageURLForShare: function () { return a.currItem.src || ""; }, getPageURLForShare: function () { return window.location.href; }, getTextForShare: function () { return a.currItem.title || ""; }, indexIndicatorSep: " / ", fitControlsWidth: 1200 }, A = function (a) { if (r) return !0; a = a || window.event, q.timeToIdle && q.mouseUsed && !k && K(); for (var c, d, e = a.target || a.srcElement, f = e.getAttribute("class") || "", g = 0; g < S.length; g++)c = S[g], c.onTap && f.indexOf("pswp__" + c.name) > -1 && (c.onTap(), d = !0); if (d) { a.stopPropagation && a.stopPropagation(), r = !0; var h = b.features.isOldAndroid ? 600 : 30; s = setTimeout(function () { r = !1; }, h); } }, B = function () { return !a.likelyTouchDevice || q.mouseUsed || screen.width > q.fitControlsWidth; }, C = function (a, c, d) { b[(d ? "add" : "remove") + "Class"](a, "pswp__" + c); }, D = function () { var a = 1 === q.getNumItemsFn(); a !== p && (C(d, "ui--one-slide", a), p = a); }, E = function () { C(i, "share-modal--hidden", y); }, F = function () { return y = !y, y ? (b.removeClass(i, "pswp__share-modal--fade-in"), setTimeout(function () { y && E(); }, 300)) : (E(), setTimeout(function () { y || b.addClass(i, "pswp__share-modal--fade-in"); }, 30)), y || H(), !1; }, G = function (b) { b = b || window.event; var c = b.target || b.srcElement; return a.shout("shareLinkClick", b, c), !!c.href && (!!c.hasAttribute("download") || (window.open(c.href, "pswp_share", "scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left=" + (window.screen ? Math.round(screen.width / 2 - 275) : 100)), y || F(), !1)); }, H = function () { for (var a, b, c, d, e, f = "", g = 0; g < q.shareButtons.length; g++)a = q.shareButtons[g], c = q.getImageURLForShare(a), d = q.getPageURLForShare(a), e = q.getTextForShare(a), b = a.url.replace("{{url}}", encodeURIComponent(d)).replace("{{image_url}}", encodeURIComponent(c)).replace("{{raw_image_url}}", c).replace("{{text}}", encodeURIComponent(e)), f += '<a href="' + b + '" target="_blank" class="pswp__share--' + a.id + '"' + (a.download ? "download" : "") + ">" + a.label + "</a>", q.parseShareButtonOut && (f = q.parseShareButtonOut(a, f)); i.children[0].innerHTML = f, i.children[0].onclick = G; }, I = function (a) { for (var c = 0; c < q.closeElClasses.length; c++)if (b.hasClass(a, "pswp__" + q.closeElClasses[c])) return !0; }, J = 0, K = function () { clearTimeout(u), J = 0, k && v.setIdle(!1); }, L = function (a) { a = a ? a : window.event; var b = a.relatedTarget || a.toElement; b && "HTML" !== b.nodeName || (clearTimeout(u), u = setTimeout(function () { v.setIdle(!0); }, q.timeToIdleOutside)); }, M = function () { q.fullscreenEl && !b.features.isOldAndroid && (c || (c = v.getFullscreenAPI()), c ? (b.bind(document, c.eventK, v.updateFullscreen), v.updateFullscreen(), b.addClass(a.template, "pswp--supports-fs")) : b.removeClass(a.template, "pswp--supports-fs")); }, N = function () { q.preloaderEl && (O(!0), l("beforeChange", function () { clearTimeout(o), o = setTimeout(function () { a.currItem && a.currItem.loading ? (!a.allowProgressiveImg() || a.currItem.img && !a.currItem.img.naturalWidth) && O(!1) : O(!0); }, q.loadingIndicatorDelay); }), l("imageLoadComplete", function (b, c) { a.currItem === c && O(!0); })); }, O = function (a) { n !== a && (C(m, "preloader--active", !a), n = a); }, P = function (a) { var c = a.vGap; if (B()) { var g = q.barsSize; if (q.captionEl && "auto" === g.bottom) if (f || (f = b.createEl("pswp__caption pswp__caption--fake"), f.appendChild(b.createEl("pswp__caption__center")), d.insertBefore(f, e), b.addClass(d, "pswp__ui--fit")), q.addCaptionHTMLFn(a, f, !0)) { var h = f.clientHeight; c.bottom = parseInt(h, 10) || 44; } else c.bottom = g.top; else c.bottom = "auto" === g.bottom ? 0 : g.bottom; c.top = g.top; } else c.top = c.bottom = 0; }, Q = function () { q.timeToIdle && l("mouseUsed", function () { b.bind(document, "mousemove", K), b.bind(document, "mouseout", L), t = setInterval(function () { J++, 2 === J && v.setIdle(!0); }, q.timeToIdle / 2); }); }, R = function () { l("onVerticalDrag", function (a) { x && a < .95 ? v.hideControls() : !x && a >= .95 && v.showControls(); }); var a; l("onPinchClose", function (b) { x && b < .9 ? (v.hideControls(), a = !0) : a && !x && b > .9 && v.showControls(); }), l("zoomGestureEnded", function () { a = !1, a && !x && v.showControls(); }); }, S = [{ name: "caption", option: "captionEl", onInit: function (a) { e = a; } }, { name: "share-modal", option: "shareEl", onInit: function (a) { i = a; }, onTap: function () { F(); } }, { name: "button--share", option: "shareEl", onInit: function (a) { h = a; }, onTap: function () { F(); } }, { name: "button--zoom", option: "zoomEl", onTap: a.toggleDesktopZoom }, { name: "counter", option: "counterEl", onInit: function (a) { g = a; } }, { name: "button--close", option: "closeEl", onTap: a.close }, { name: "button--arrow--left", option: "arrowEl", onTap: a.prev }, { name: "button--arrow--right", option: "arrowEl", onTap: a.next }, { name: "button--fs", option: "fullscreenEl", onTap: function () { c.isFullscreen() ? c.exit() : c.enter(); } }, { name: "preloader", option: "preloaderEl", onInit: function (a) { m = a; } }], T = function () { var a, c, e, f = function (d) { if (d) for (var f = d.length, g = 0; g < f; g++) { a = d[g], c = a.className; for (var h = 0; h < S.length; h++)e = S[h], c.indexOf("pswp__" + e.name) > -1 && (q[e.option] ? (b.removeClass(a, "pswp__element--disabled"), e.onInit && e.onInit(a)) : b.addClass(a, "pswp__element--disabled")); } }; f(d.children); var g = b.getChildByClass(d, "pswp__top-bar"); g && f(g.children); }; v.init = function () { b.extend(a.options, z, !0), q = a.options, d = b.getChildByClass(a.scrollWrap, "pswp__ui"), l = a.listen, R(), l("beforeChange", v.update), l("doubleTap", function (b) { var c = a.currItem.initialZoomLevel; a.getZoomLevel() !== c ? a.zoomTo(c, b, 333) : a.zoomTo(q.getDoubleTapZoom(!1, a.currItem), b, 333); }), l("preventDragEvent", function (a, b, c) { var d = a.target || a.srcElement; d && d.getAttribute("class") && a.type.indexOf("mouse") > -1 && (d.getAttribute("class").indexOf("__caption") > 0 || /(SMALL|STRONG|EM)/i.test(d.tagName)) && (c.prevent = !1); }), l("bindEvents", function () { b.bind(d, "pswpTap click", A), b.bind(a.scrollWrap, "pswpTap", v.onGlobalTap), a.likelyTouchDevice || b.bind(a.scrollWrap, "mouseover", v.onMouseOver); }), l("unbindEvents", function () { y || F(), t && clearInterval(t), b.unbind(document, "mouseout", L), b.unbind(document, "mousemove", K), b.unbind(d, "pswpTap click", A), b.unbind(a.scrollWrap, "pswpTap", v.onGlobalTap), b.unbind(a.scrollWrap, "mouseover", v.onMouseOver), c && (b.unbind(document, c.eventK, v.updateFullscreen), c.isFullscreen() && (q.hideAnimationDuration = 0, c.exit()), c = null); }), l("destroy", function () { q.captionEl && (f && d.removeChild(f), b.removeClass(e, "pswp__caption--empty")), i && (i.children[0].onclick = null), b.removeClass(d, "pswp__ui--over-close"), b.addClass(d, "pswp__ui--hidden"), v.setIdle(!1); }), q.showAnimationDuration || b.removeClass(d, "pswp__ui--hidden"), l("initialZoomIn", function () { q.showAnimationDuration && b.removeClass(d, "pswp__ui--hidden"); }), l("initialZoomOut", function () { b.addClass(d, "pswp__ui--hidden"); }), l("parseVerticalMargin", P), T(), q.shareEl && h && i && (y = !0), D(), Q(), M(), N(); }, v.setIdle = function (a) { k = a, C(d, "ui--idle", a); }, v.update = function () { x && a.currItem ? (v.updateIndexIndicator(), q.captionEl && (q.addCaptionHTMLFn(a.currItem, e), C(e, "caption--empty", !a.currItem.title)), w = !0) : w = !1, y || F(), D(); }, v.updateFullscreen = function (d) { d && setTimeout(function () { a.setScrollOffset(0, b.getScrollY()); }, 50), b[(c.isFullscreen() ? "add" : "remove") + "Class"](a.template, "pswp--fs"); }, v.updateIndexIndicator = function () { q.counterEl && (g.innerHTML = a.getCurrentIndex() + 1 + q.indexIndicatorSep + q.getNumItemsFn()); }, v.onGlobalTap = function (c) { c = c || window.event; var d = c.target || c.srcElement; if (!r) if (c.detail && "mouse" === c.detail.pointerType) { if (I(d)) return void a.close(); b.hasClass(d, "pswp__img") && (1 === a.getZoomLevel() && a.getZoomLevel() <= a.currItem.fitRatio ? q.clickToCloseNonZoomable && a.close() : a.toggleDesktopZoom(c.detail.releasePoint)); } else if (q.tapToToggleControls && (x ? v.hideControls() : v.showControls()), q.tapToClose && (b.hasClass(d, "pswp__img") || I(d))) return void a.close(); }, v.onMouseOver = function (a) { a = a || window.event; var b = a.target || a.srcElement; C(d, "ui--over-close", I(b)); }, v.hideControls = function () { b.addClass(d, "pswp__ui--hidden"), x = !1; }, v.showControls = function () { x = !0, w || v.update(), b.removeClass(d, "pswp__ui--hidden"); }, v.supportsFullscreen = function () { var a = document; return !!(a.exitFullscreen || a.mozCancelFullScreen || a.webkitExitFullscreen || a.msExitFullscreen); }, v.getFullscreenAPI = function () { var b, c = document.documentElement, d = "fullscreenchange"; return c.requestFullscreen ? b = { enterK: "requestFullscreen", exitK: "exitFullscreen", elementK: "fullscreenElement", eventK: d } : c.mozRequestFullScreen ? b = { enterK: "mozRequestFullScreen", exitK: "mozCancelFullScreen", elementK: "mozFullScreenElement", eventK: "moz" + d } : c.webkitRequestFullscreen ? b = { enterK: "webkitRequestFullscreen", exitK: "webkitExitFullscreen", elementK: "webkitFullscreenElement", eventK: "webkit" + d } : c.msRequestFullscreen && (b = { enterK: "msRequestFullscreen", exitK: "msExitFullscreen", elementK: "msFullscreenElement", eventK: "MSFullscreenChange" }), b && (b.enter = function () { return j = q.closeOnScroll, q.closeOnScroll = !1, "webkitRequestFullscreen" !== this.enterK ? a.template[this.enterK]() : void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT); }, b.exit = function () { return q.closeOnScroll = j, document[this.exitK](); }, b.isFullscreen = function () { return document[this.elementK]; }), b; }; }; return a; }); |