@fancyapps/ui
Version:
Robust JavaScript UI Component Library
5 lines (4 loc) • 3.7 kB
JavaScript
/*! License details at fancyapps.com/license */
import{extend as o}from"../utils/extend.js";import{isPlainObject as e}from"../utils/isPlainObject.js";var n;!function(o){o.Reset="reset",o.Zoom="zoom",o.ZoomIn="zoomIn",o.ZoomOut="zoomOut",o.ZoomTo="zoomTo",o.ToggleCover="toggleCover",o.ToggleFull="toggleFull",o.ToggleMax="toggleMax",o.IterateZoom="iterateZoom",o.Pan="pan",o.Swipe="swipe",o.Move="move",o.MoveLeft="moveLeft",o.MoveRight="moveRight",o.MoveUp="moveUp",o.MoveDown="moveDown",o.RotateCCW="rotateCCW",o.RotateCW="rotateCW",o.FlipX="flipX",o.FlipY="flipY"}(n||(n={}));const t={mediaQuery:"(max-width: 578px), (max-height: 578px)"},i=()=>{let i,l,a,c=!1,s=null,d=null;function u(o){g(o.matches)}function r(){if(!i||!1===i.getOptions().Compactmode)return;const n=function(){const o=null==i?void 0:i.getOptions().Compactmode;return e(o)?Object.assign(Object.assign({},t),o):t}().mediaQuery;if(!n||!n.length)return;i.on("backdropClick",v),i.on("Carousel.panzoom:init",m);const c=i.getOptions();l=o({},c),a=window.matchMedia(n),g(a.matches),a.addEventListener("change",u)}function v(){var o;c&&(null===(o=null==i?void 0:i.getContainer())||void 0===o||o.classList.toggle("is-idle"))}function m(o,t,a){a&&a.panzoomRef&&(a.panzoomRef.on("singleClick",()=>{var o;c&&(null===(o=null==i?void 0:i.getContainer())||void 0===o||o.classList.toggle("is-idle"))}),a.panzoomRef.on("dblClick",(o,t)=>{var i,s,d;if(c){const o=null===(i=null==l?void 0:l.Carousel)||void 0===i?void 0:i.Zoomable,c=o&&e(o)?null===(s=o.Panzoom)||void 0===s?void 0:s.clickAction:n.ToggleFull;c&&(null===(d=null==a?void 0:a.panzoomRef)||void 0===d||d.execute(c,{srcEvent:t.srcEvent}))}}))}function g(t){var a,u,r,v,m,g;c=t;const p=null==i?void 0:i.getContainer(),f=null==i?void 0:i.getCarousel();if(!i||!p)return;const C=null===(u=null===(a=null==i?void 0:i.getPlugins())||void 0===a?void 0:a.Sidebar)||void 0===u?void 0:u.isEnabled(),b=i.getOptions(),E=null===(r=null==l?void 0:l.Carousel)||void 0===r?void 0:r.Zoomable,h=null===(v=null==l?void 0:l.Carousel)||void 0===v?void 0:v.Thumbs;p.classList.toggle("is-compact",c);const k=o({clickAction:n.ToggleFull,singleClickAction:!1,dblClickAction:!1},c?{clickAction:!1,singleClickAction:!1,dblClickAction:!1}:e(E)?E.Panzoom:{});if(c?(s||(s=document.createElement("div"),s.classList.add("fancybox__footer"),p.appendChild(s)),d||C||(d=document.createElement("div"),d.classList.add("f-caption"),s.appendChild(d))):p.classList.remove("is-idle"),f){const o=f.getPlugins().Thumbs;if(o&&o.isEnabled()){const e=o.getContainer();s&&e&&s.insertAdjacentElement("beforeend",e)}}if(f&&!C)for(const e of f.getSlides()||[]){const n=e.index===f.getPageIndex();e.panzoomRef&&o(e.panzoomRef.getOptions(),k),c&&e.captionEl&&(n?(null==s||s.insertAdjacentElement("afterbegin",e.captionEl),d&&d.remove(),d=e.captionEl,d.removeAttribute("id")):e.captionEl.remove(),e.captionEl=void 0),!c&&n&&d&&(null===(m=e.el)||void 0===m||m.insertAdjacentElement("beforeend",d),e.captionEl=d,d=null)}const z={captionEl:c&&!C?d:null===(g=null==l?void 0:l.Carousel)||void 0===g?void 0:g.captionEl,Thumbs:!1!==h&&{parentEl:c?s:e(h)?h.parentEl:null},Zoomable:!1!==E&&{Panzoom:Object.assign({},k)}};o(b,{idle:!1,backdropClick:!c&&((null==l?void 0:l.backdropClick)||"close"),Carousel:z});const x=null==f?void 0:f.getOptions();x&&o(x,z)}return{init:function(o){i=o,i.on("initLayout",r)},destroy:function(){c=!1,null==i||i.off("initLayout",r),null==i||i.off("Carousel.panzoom:init",m),null==a||a.removeEventListener("change",u),a=void 0},
//!!! Baac, shis cheko vai pati mode ir eneiblota, bet varbuut vajag checkot vai plugins ir eneiblots, taapat kaa citos pluginos :/
isEnabled:function(){return c}}};export{i as Compactmode};