blazy-8.x-2.x-dev/js/components/box/blazy.blazybox.min.js

js/components/box/blazy.blazybox.min.js
!function(f,b,v){"use strict";var y,C,p,g,x="blazybox",t=x,z="iframe",s="is-bbox",a="."+x,o=a+":not(."+s+")",B=a+"__content",_="media__element",l=a+"__close",w="is-"+x+"--open",$=s+"--fh",D=s+"--fs",T="b-provider--",k="visually-hidden",E="aria-hidden",i="[data-blazybox-trigger]",A=f.sanitizer,M=f.multimedia||!1,S={};function n(e){var a=b.blazyBox;e.preventDefault(),e.stopPropagation();e=e.target,e=e.href?e:f.closest(e,i);a.open(e)}function d(e){var a=b.blazyBox,i=f(e);a.el=e,a.$el=i,a.btnClose=i.find(l),i.on("click."+x,l,a.close,!0),i.addClass(s)}function r(e){f.on(e,"click."+x,n)}b.blazyBox={btnClose:null,el:null,$el:null,options:{hideCloseBtn:!1},open:function(e,a){var i,t=b.blazyBox,s=v.body,o=t.$el,l=function(e){var a=e;f.isObj(e)&&(a=e.el||e.element);return f.isElm(a)?a:null}(e),n=f.isElm(l)?f.parse(f.attr(l,"data-b-media data-media")):{},d=n.provider,r=n.irrational,c=n.token,h=o.find(B),u=f.windowSize(),m=a||{},e=S[c];f.isUnd(m.fs)&&(m.fs=!0,m.width=u.width,m.height=u.height),e||(e=b.theme("blazyBoxMedia",{el:l,dataset:n,options:m}),n={ADD_TAGS:[z],ADD_ATTR:["allow","allowfullscreen"]},e=A.sanitize(e,n),S[c]=e),o.removeClass(k).attr(E,!1),m.fs&&o.addClass(D),o.removeClass(T+y),d&&o.addClass(T+d),h.innerHTML=e,a?(t.options=f.extend({},t.options,a),a=t.options,C=a.class||"",p=a.bodyClass||"",g=a.bodyClosingClass||"",C&&o.addClass(C),p&&f.removeClass(s,p),setTimeout(function(){p&&f.addClass(s,p)},301)):f.addClass(s,w),M&&M.pause(),o.removeClass($),r&&o.addClass($),o=f.find(h,".media"),f.isElm(o)&&b.attachBehaviors(o),setTimeout(function(){i=f.find(h,z),f.isElm(i)&&f.addClass(i,_)},101),t.check(),m.provider=d,f.trigger(x+":opened",[t,l,m]),y=d},close:function(e){var a=b.blazyBox,i=v.body,t=a.$el;f.isUnd(e)||e.preventDefault();function s(){t.addClass(k).attr(E,!0).find(B).innerHTML=""}f.removeClass(i,w),t.removeClass(D),p&&f.removeClass(i,p),g?f.addClass(i,g):s(),t.one("transitionend",function(){g&&f.removeClass(i,g),C&&(t.removeClass(C),s())}),b.detachBehaviors(t[0]),f.trigger(x+":closed",[a])},check:function(){var e;this.options.hideCloseBtn&&(e=this.btnClose||this.$el.find(l),f.addClass(e,k))},attach:function(){var e=f.find(v.body,a);f.isElm(e)||f.append(v.body,b.theme("blazyBox"))},isOpened:function(){return!b.blazyBox.$el.hasClass(k)}},b.theme.blazyBox=function(){return f.template('<div class="$id visually-hidden" tabindex="-1" role="dialog" aria-hidden="true" aria-label="$id"><div class="$id__content"></div><button class="$id__close" data-role="none">&times;</button></div>',{id:x})},b.theme.blazyBoxMedia=function(e){var a=e.el,i=e.dataset||{},t=e.options||{},s=t.fs,o=f.attr(a,"data-oembed-url"),l=i.html,n=!0,e="";return l?(n=!1,i.encoded&&(l=atob(l)),e+=l):"image"===i.boxType&&(s=!0,t.width=i.width,t.height=i.height,l=f.image.alt(a,""),i=a.href,i=f.attr(a,"data-box-url",i,!0),e+='<img class="'+_+'" src="'+i+'" decoding="async" loading="eager" alt="'+l+'" />'),o&&!A.isDangerous("src",o)&&(e+='<iframe class="'+_+'" src="'+o+'" width="100%" height="100%" allowfullscreen></iframe>'),s&&t.width&&n&&(e='<div class="media media--ratio media--ratio--fluid" style="'+("padding-bottom: "+f.image.ratio(t)+"%; width:"+t.width+"px;")+'">'+e+"</div>"),'<div class="'+x+'__media">'+e+"</div>"},b.behaviors.blazyBox={attach:function(e){f.ready(function(){b.blazyBox.attach(),f.once(d,t,o,e),f.once(r,"blzybx",i,e)})},detach:function(e,a,i){"unload"===i&&f.once.removeSafely(t,o,e)}}}(dBlazy,Drupal,this.document);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc