UNPKG

@fancyapps/ui

Version:

Robust JavaScript UI Component Library

1 lines 3.34 kB
!/*! License details at fancyapps.com/license */function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).window=e.window||{})}(this,function(e){"use strict";let o=e=>"object"==typeof e&&null!==e&&e.constructor===Object&&"[object Object]"===Object.prototype.toString.call(e),t=(e,...n)=>{let i=n.length;for(let l=0;l<i;l++)Object.entries(n[l]||{}).forEach(([n,i])=>{let l=Array.isArray(i)?[]:{};e[n]||Object.assign(e,{[n]:l}),o(i)?Object.assign(e[n],t(l,i)):Array.isArray(i)?Object.assign(e,{[n]:[...i]}):Object.assign(e,{[n]:i})});return e};var n,i=((n=i||{}).Reset="reset",n.Zoom="zoom",n.ZoomIn="zoomIn",n.ZoomOut="zoomOut",n.ZoomTo="zoomTo",n.ToggleCover="toggleCover",n.ToggleFull="toggleFull",n.ToggleMax="toggleMax",n.IterateZoom="iterateZoom",n.Pan="pan",n.Swipe="swipe",n.Move="move",n.MoveLeft="moveLeft",n.MoveRight="moveRight",n.MoveUp="moveUp",n.MoveDown="moveDown",n.RotateCCW="rotateCCW",n.RotateCW="rotateCW",n.FlipX="flipX",n.FlipY="flipY",n);let l={mediaQuery:"(max-width: 578px), (max-height: 578px)"};e.Compactmode=()=>{let e,n,a,c=!1,s=null,r=null;function m(e){u(e.matches)}function g(){if(!e||!1===e.getOptions().Compactmode)return;e.on("backdropClick",d),e.on("Carousel.panzoom:init",p);let i=function(){let t=e?.getOptions().Compactmode;return o(t)?{...l,...t}:l}().mediaQuery;i&&i.length&&(n=t({},e.getOptions()),u((a=window.matchMedia(i)).matches),a.addEventListener("change",m))}function d(){c&&e?.getContainer()?.classList.toggle("is-idle")}function p(t,l,a){a&&a.panzoomRef&&(a.panzoomRef.on("singleClick",()=>{c&&e?.getContainer()?.classList.toggle("is-idle")}),a.panzoomRef.on("dblClick",()=>{if(c){let e=n?.Carousel?.Zoomable,t=e&&o(e)?e.Panzoom?.clickAction:i.ToggleFull;t&&a?.panzoomRef?.execute(t)}}))}function u(l){c=l;let a=e?.getContainer();if(!e||!a)return;a.classList.toggle("is-compact",c);let m=n?.Carousel?.Thumbs||{},g=n?.Carousel?.Zoomable||{},d=t({clickAction:i.ToggleFull,singleClickAction:!1,dblClickAction:!1},c?{clickAction:!1,singleClickAction:!1,dblClickAction:!1}:o(g)?g.Panzoom:{});c?(s||((s=document.createElement("div")).classList.add("fancybox__footer"),a.appendChild(s)),r||((r=document.createElement("div")).classList.add("f-caption"),s.appendChild(r))):a.classList.remove("is-idle");let p=e.getOptions(),u=e.getCarousel()?.getOptions(),f=e.getCarousel()?.getPlugins().Thumbs;if(f&&f.isEnabled()){let e=f.getContainer();s&&e&&s.insertAdjacentElement("beforeend",e)}for(let o of e.getCarousel()?.getSlides()||[]){let n=o.index===e.getCarousel()?.getPageIndex();o.panzoomRef&&t(o.panzoomRef.getOptions(),d),c&&o.captionEl&&(n?(s?.insertAdjacentElement("afterbegin",o.captionEl),r&&r.remove(),(r=o.captionEl).removeAttribute("id")):o.captionEl.remove(),o.captionEl=void 0),!c&&n&&r&&(o.el?.insertAdjacentElement("beforeend",r),o.captionEl=r,r=null)}let C={captionEl:c?r:n?.Carousel?.captionEl,Thumbs:{parentEl:c?s:o(m)?m.parentEl:null},Zoomable:{Panzoom:{...d}}};t(p,{idle:!1,backdropClick:!c&&(n?.backdropClick||"close"),Carousel:C}),u&&t(u,C)}return{init:function(o){(e=o).on("initLayout",g)},destroy:function(){e?.off("initLayout",g),e?.off("Carousel.panzoom:init",p),a?.removeEventListener("change",m),a=void 0},isEnabled:function(){return c}}}});