@ussebastian/kitdigital
Version:
Kit Digital de la Universidad San Sebastián
3 lines (2 loc) • 23.4 kB
JavaScript
/*! @ussebastian/kitdigital v0.3.7 | MIT (c) Asimov Consultores SpA - 2023 */
import{w as t}from"./main.js";function e(t){return"number"==typeof t}function n(t){return"string"==typeof t}function r(t){return"[object Object]"===Object.prototype.toString.call(t)}function o(t){return r(t)||function(t){return Array.isArray(t)}(t)}function i(t){return Math.abs(t)}function s(t){return t?t/i(t):0}function a(t,e){return i(t-e)}function u(t){return d(t).map(Number)}function c(t){return t[l(t)]}function l(t){return Math.max(0,t.length-1)}function d(t){return Object.keys(t)}function f(t,e){return[t,e].reduce((function(t,e){return d(e).forEach((function(n){var o=t[n],i=e[n],s=r(o)&&r(i);t[n]=s?f(o,i):i})),t}),{})}function p(t,e){var n=d(t),r=d(e);return n.length===r.length&&n.every((function(n){var r=t[n],i=e[n];return"function"==typeof r?"".concat(r)==="".concat(i):o(r)&&o(i)?p(r,i):r===i}))}function h(t,n){var r={start:function(){return 0},center:function(t){return o(t)/2},end:o};function o(t){return n-t}return{measure:function(o){return e(t)?n*Number(t):r[t](o)}}}function m(t,e){var n=i(t-e);function r(e){return e<t}function o(t){return t>e}function s(t){return r(t)||o(t)}return{length:n,max:e,min:t,constrain:function(n){return s(n)?r(n)?t:e:n},reachedAny:s,reachedMax:o,reachedMin:r,removeOffset:function(t){return n?t-n*Math.ceil((t-e)/n):t}}}function v(t,e,n){var r=m(0,t),o=r.min,s=r.constrain,a=t+1,u=c(e);function c(t){return n?i((a+t)%a):s(t)}function l(){return u}function d(t){return u=c(t),f}var f={add:function(t){return d(l()+t)},clone:function(){return v(t,l(),n)},get:l,set:d,min:o,max:t};return f}function g(){var t=[];var e={add:function(n,r,o,i){return void 0===i&&(i={passive:!0}),n.addEventListener(r,o,i),t.push((function(){return n.removeEventListener(r,o,i)})),e},removeAll:function(){return t=t.filter((function(t){return t()})),e}};return e}function b(t){var n=t;function r(t){return n/=t,i}function o(t){return e(t)?t:t.get()}var i={add:function(t){return n+=o(t),i},divide:r,get:function(){return n},multiply:function(t){return n*=t,i},normalize:function(){return 0!==n&&r(n),i},set:function(t){return n=o(t),i},subtract:function(t){return n-=o(t),i}};return i}function y(t,e,n,r,o,u,c,l,d,f,p,h,m,v,y,x){var S=t.cross,B=["INPUT","SELECT","TEXTAREA"],A={passive:!1},E=b(0),N=g(),I=g(),T=m.measure(20),w={mouse:300,touch:400},C={mouse:500,touch:600},L=y?5:16,O=1,M=0,_=0,P=!1,k=!1,D=!1,$=!1;function z(t){if(!(($=!o.isTouchEvent(t))&&0!==t.button||(e=t.target,i=e.nodeName||"",B.indexOf(i)>-1))){var e,i,s=a(r.get(),u.get())>=2,c=$||!s;P=!0,o.pointerDown(t),E.set(r),r.set(u),d.useBaseMass().useSpeed(80),function(){var t=$?document:n;I.add(t,"touchmove",H,A).add(t,"touchend",V).add(t,"mousemove",H,A).add(t,"mouseup",V)}(),M=o.readPoint(t),_=o.readPoint(t,S),h.emit("pointerDown"),c&&(D=!1)}}function H(t){if(!k&&!$){if(!t.cancelable)return V(t);var n=o.readPoint(t),i=o.readPoint(t,S),s=a(n,M),u=a(i,_);if(!(k=s>u)&&!D)return V(t)}var l=o.pointerMove(t);!D&&l&&(D=!0),c.start(),r.add(e.apply(l)),t.preventDefault()}function V(t){var n=f.byDistance(0,!1).index!==p.get(),u=o.pointerUp(t)*(y?C:w)[$?"mouse":"touch"],c=function(t,e){var n=p.clone().add(-1*s(t)),r=n.get()===p.min||n.get()===p.max,o=f.byDistance(t,!y).distance;return y||i(t)<T?o:!v&&r?.4*o:x&&e?.5*o:f.byIndex(n.get(),0).distance}(e.apply(u),n),m=function(t,e){if(0===t||0===e)return 0;if(i(t)<=i(e))return 0;var n=a(i(t),i(e));return i(n/t)}(u,c),g=a(r.get(),E.get())>=.5,b=n&&m>.75,S=i(u)<T,B=b?10:L,A=b?O+2.5*m:O;g&&!$&&(D=!0),k=!1,P=!1,I.removeAll(),d.useSpeed(S?9:B).useMass(A),l.distance(c,!y),$=!1,h.emit("pointerUp")}function q(t){D&&(t.stopPropagation(),t.preventDefault())}return{addActivationEvents:function(){var t=n;N.add(t,"dragstart",(function(t){return t.preventDefault()}),A).add(t,"touchmove",(function(){}),A).add(t,"touchend",(function(){})).add(t,"touchstart",z).add(t,"mousedown",z).add(t,"touchcancel",V).add(t,"contextmenu",V).add(t,"click",q,!0)},clickAllowed:function(){return!D},pointerDown:function(){return P},removeAllEvents:function(){N.removeAll(),I.removeAll()}}}function x(t,e,n){var r,o,i=(r=2,o=Math.pow(10,r),function(t){return Math.round(t*o)/o}),a=b(0),u=b(0),c=b(0),l=0,d=e,f=n;function p(t){return d=t,m}function h(t){return f=t,m}var m={direction:function(){return l},seek:function(e){c.set(e).subtract(t);var n,r,o,i,p=(n=c.get(),(o=0)+(n-(r=0))/(100-r)*(d-o));return l=s(c.get()),c.normalize().multiply(p).subtract(a),(i=c).divide(f),u.add(i),m},settle:function(e){var n=e.get()-t.get(),r=!i(n);return r&&t.set(e),r},update:function(){a.add(u),t.add(a),u.multiply(0)},useBaseMass:function(){return h(n)},useBaseSpeed:function(){return p(e)},useMass:h,useSpeed:p};return m}function S(t,e,n,r,o){var s=o.measure(10),a=o.measure(50),u=!1;return{constrain:function(o){if(!u&&t.reachedAny(n.get())&&t.reachedAny(e.get())){var c=t.reachedMin(e.get())?"min":"max",l=i(t[c]-e.get()),d=n.get()-e.get(),f=Math.min(l/a,.85);n.subtract(d*f),!o&&i(d)<s&&(n.set(t.constrain(n.get())),r.useSpeed(10).useMass(3))}},toggleActive:function(t){u=!t}}}function B(t,e,n,r){var o=m(-e+t,n[0]),i=n.map(o.constrain);return{snapsContained:function(){if(e<=t)return[o.max];if("keepSnaps"===r)return i;var n=function(){var t=i[0],e=c(i),n=i.lastIndexOf(t),r=i.indexOf(e)+1;return m(n,r)}(),s=n.min,a=n.max;return i.slice(s,a)}()}}function A(t,e,n,r){var o=m(e.min+.1,e.max+.1),i=o.reachedMin,s=o.reachedMax;return{loop:function(e){if(function(t){return 1===t?s(n.get()):-1===t&&i(n.get())}(e)){var o=t*(-1*e);r.forEach((function(t){return t.add(o)}))}}}}function E(t){var e=t.max,n=t.length;return{get:function(t){return(t-e)/-n}}}function N(t,e,n,r,o){var a=r.reachedAny,u=r.removeOffset,c=r.constrain;function l(t){return t.concat().sort((function(t,e){return i(t)-i(e)}))[0]}function d(e,r){var o=[e,e+n,e-n];return t?l(r?o.filter((function(t){return s(t)===r})):o):o[0]}return{byDistance:function(n,r){var s=o.get()+n,l=function(n){var r=t?u(n):c(n);return{index:e.map((function(t){return t-r})).map((function(t){return d(t,0)})).map((function(t,e){return{diff:t,index:e}})).sort((function(t,e){return i(t.diff)-i(e.diff)}))[0].index,distance:r}}(s),f=l.index,p=l.distance,h=!t&&a(s);return!r||h?{index:f,distance:n}:{index:f,distance:n+d(e[f]-p,0)}},byIndex:function(t,n){return{index:t,distance:d(e[t]-o.get(),n)}},shortcut:d}}function I(t,e,n){var r="x"===t.scroll?function(t){return"translate3d(".concat(t,"px,0px,0px)")}:function(t){return"translate3d(0px,".concat(t,"px,0px)")},o=n.style,i=!1;return{clear:function(){i||(o.transform="",n.getAttribute("style")||n.removeAttribute("style"))},to:function(t){i||(o.transform=r(e.apply(t.get())))},toggleActive:function(t){i=!t}}}function T(t,e,n,r,o,i,s,a,c){var l,d=u(o),f=u(o).reverse(),p=(l=i[0]-1,v(m(f,l),"end")).concat(function(){var t=n-i[0]-1,e=m(d,t);return v(e,"start")}());function h(t,e){return t.reduce((function(t,e){return t-o[e]}),e)}function m(t,e){return t.reduce((function(t,n){return h(t,e)>0?t.concat([n]):t}),[])}function v(n,o){var i="start"===o,u=i?-r:r,l=s.findSlideBounds([u]);return n.map((function(n){var o=i?0:-r,s=i?r:0,u=l.filter((function(t){return t.index===n}))[0][i?"end":"start"],d=b(-1),f=b(-1),p=I(t,e,c[n]);return{index:n,location:f,translate:p,target:function(){return d.set(a.get()>u?o:s)}}}))}return{canLoop:function(){return p.every((function(t){var e=t.index;return h(d.filter((function(t){return t!==e})),n)<=.1}))},clear:function(){p.forEach((function(t){return t.translate.clear()}))},loop:function(){p.forEach((function(t){var e=t.target,n=t.translate,r=t.location,o=e();o.get()!==r.get()&&(0===o.get()?n.clear():n.to(o),r.set(o))}))},loopPoints:p}}function w(t,e,n,r,o,i,s){var a=o.removeOffset,u=o.constrain,c=.5,l=i?[0,e,-e]:[0],d=f(l,s);function f(e,o){var i=e||l,s=function(t){var e=t||0;return n.map((function(t){return m(c,t-c).constrain(t*e)}))}(o);return i.reduce((function(e,o){var i=r.map((function(e,r){return{start:e-n[r]+s[r]+o,end:e+t-s[r]+o,index:r}}));return e.concat(i)}),[])}return{check:function(t,e){var n=i?a(t):u(t);return(e||d).reduce((function(t,e){var r=e.index,o=e.start,i=e.end;return!(-1!==t.indexOf(r))&&(o<n&&i>n)?t.concat([r]):t}),[])},findSlideBounds:f}}function C(t,n,r){var o=e(r);return{groupSlides:function(e){return o?function(t,e){return u(t).filter((function(t){return t%e==0})).map((function(n){return t.slice(n,n+e)}))}(e,r):function(e){return u(e).reduce((function(e,r){var o=n.slice(c(e),r+1).reduce((function(t,e){return t+e}),0);return!r||o>t?e.concat(r):e}),[]).map((function(t,n,r){return e.slice(t,r[n+1])}))}(e)}}}function L(t,e,n,r,o){var s=r.align,a=r.axis,d=r.direction,f=r.startIndex,p=r.inViewThreshold,L=r.loop,O=r.speed,M=r.dragFree,_=r.slidesToScroll,P=r.skipSnaps,k=r.containScroll,D=e.getBoundingClientRect(),$=n.map((function(t){return t.getBoundingClientRect()})),z=function(t){var e="rtl"===t?-1:1;return{apply:function(t){return t*e}}}(d),H=function(t,e){var n="y"===t?"y":"x";return{scroll:n,cross:"y"===t?"x":"y",startEdge:"y"===n?"top":"rtl"===e?"right":"left",endEdge:"y"===n?"bottom":"rtl"===e?"left":"right",measureSize:function(t){var e=t.width,r=t.height;return"x"===n?e:r}}}(a,d),V=H.measureSize(D),q=function(t){return{measure:function(e){return t*(e/100)}}}(V),j=h(s,V),R=!L&&""!==k,U=function(t,e,n,r,o){var s=t.measureSize,a=t.startEdge,u=t.endEdge,d=n[0]&&o,f=function(){if(!d)return 0;var t=n[0];return i(e[a]-t[a])}(),p=function(){if(!d)return 0;var t=window.getComputedStyle(c(r));return parseFloat(t.getPropertyValue("margin-".concat(u)))}(),h=n.map(s),m=n.map((function(t,e,n){var r=!e,o=e===l(n);return r?h[e]+f:o?h[e]+p:n[e+1][a]-t[a]})).map(i);return{slideSizes:h,slideSizesWithGaps:m}}(H,D,$,n,L||""!==k),F=U.slideSizes,W=U.slideSizesWithGaps,G=C(V,W,_),J=function(t,e,n,r,o,s,a){var u,d=t.startEdge,f=t.endEdge,p=s.groupSlides,h=p(r).map((function(t){return c(t)[f]-t[0][d]})).map(i).map(e.measure),m=r.map((function(t){return n[d]-t[d]})).map((function(t){return-i(t)})),v=(u=c(m)-c(o),p(m).map((function(t){return t[0]})).map((function(t,e,n){var r=!e,o=e===l(n);return a&&r?0:a&&o?u:t+h[e]})));return{snaps:m,snapsAligned:v}}(H,j,D,$,W,G,R),X=J.snaps,Y=J.snapsAligned,K=-c(X)+c(W),Q=B(V,K,Y,k).snapsContained,Z=R?Q:Y,tt=function(t,e,n){var r,o;return{limit:(r=e[0],o=c(e),m(n?r-t:o,r))}}(K,Z,L).limit,et=v(l(Z),f,L),nt=et.clone(),rt=u(n),ot=function(t){var e=0;function n(t,n){return function(){t===!!e&&n()}}function r(){e=window.requestAnimationFrame(t)}return{proceed:n(!0,r),start:n(!1,r),stop:n(!0,(function(){window.cancelAnimationFrame(e),e=0}))}}((function(){L||pt.scrollBounds.constrain(pt.dragHandler.pointerDown()),pt.scrollBody.seek(at).update();var t=pt.scrollBody.settle(at);t&&!pt.dragHandler.pointerDown()&&(pt.animation.stop(),o.emit("settle")),t||o.emit("scroll"),L&&(pt.scrollLooper.loop(pt.scrollBody.direction()),pt.slideLooper.loop()),pt.translate.to(st),pt.animation.proceed()})),it=Z[et.get()],st=b(it),at=b(it),ut=x(st,O,1),ct=N(L,Z,K,tt,at),lt=function(t,e,n,r,o,i){function s(r){var s=r.distance,a=r.index!==e.get();s&&(t.start(),o.add(s)),a&&(n.set(e.get()),e.set(r.index),i.emit("select"))}return{distance:function(t,e){s(r.byDistance(t,e))},index:function(t,n){var o=e.clone().set(t);s(r.byIndex(o.get(),n))}}}(ot,et,nt,ct,at,o),dt=w(V,K,F,X,tt,L,p),ft=y(H,z,t,at,function(t){var e,n;function r(t){return"undefined"!=typeof TouchEvent&&t instanceof TouchEvent}function o(t){return t.timeStamp}function s(e,n){var o=n||t.scroll,i="client".concat("x"===o?"X":"Y");return(r(e)?e.touches[0]:e)[i]}return{isTouchEvent:r,pointerDown:function(t){return e=t,n=t,s(t)},pointerMove:function(t){var r=s(t)-s(n),i=o(t)-o(e)>170;return n=t,i&&(e=t),r},pointerUp:function(t){if(!e||!n)return 0;var r=s(n)-s(e),a=o(t)-o(e),u=o(t)-o(n)>170,c=r/a;return a&&!u&&i(c)>.1?c:0},readPoint:s}}(H),st,ot,lt,ut,ct,et,o,q,L,M,P),pt={containerRect:D,slideRects:$,animation:ot,axis:H,direction:z,dragHandler:ft,eventStore:g(),percentOfView:q,index:et,indexPrevious:nt,limit:tt,location:st,options:r,scrollBody:ut,scrollBounds:S(tt,st,at,ut,q),scrollLooper:A(K,tt,st,[st,at]),scrollProgress:E(tt),scrollSnaps:Z,scrollTarget:ct,scrollTo:lt,slideLooper:T(H,z,V,K,W,Z,dt,st,n),slidesToScroll:G,slidesInView:dt,slideIndexes:rt,target:at,translate:I(H,z,e)};return pt}var O={align:"center",axis:"x",container:null,slides:null,containScroll:"",direction:"ltr",slidesToScroll:1,breakpoints:{},dragFree:!1,draggable:!0,inViewThreshold:0,loop:!1,skipSnaps:!1,speed:10,startIndex:0,active:!0};function M(){function t(t,e){return f(t,e||{})}return{merge:t,areEqual:function(t,e){return JSON.stringify(d(t.breakpoints||{}))===JSON.stringify(d(e.breakpoints||{}))&&p(t,e)},atMedia:function(e){var n=e.breakpoints||{},r=d(n).filter((function(t){return window.matchMedia(t).matches})).map((function(t){return n[t]})).reduce((function(e,n){return t(e,n)}),{});return t(e,r)}}}function _(t,e,r){var o,i,s,a,u=g(),c=M(),l=function(){var t=M(),e=t.atMedia,n=t.areEqual,r=[],o=[];function i(t){var r=e(t.options);return function(){return!n(r,e(t.options))}}var s={init:function(t,n){return o=t.map(i),(r=t.filter((function(t){return e(t.options).active}))).forEach((function(t){return t.init(n)})),t.reduce((function(t,e){var n;return Object.assign(t,((n={})[e.name]=e,n))}),{})},destroy:function(){r=r.filter((function(t){return t.destroy()}))},haveChanged:function(){return o.some((function(t){return t()}))}};return s}(),d=function(){var t={};function e(e){return t[e]||[]}var n={emit:function(t){return e(t).forEach((function(e){return e(t)})),n},off:function(r,o){return t[r]=e(r).filter((function(t){return t!==o})),n},on:function(r,o){return t[r]=e(r).concat([o]),n}};return n}(),f=d.on,p=d.off,h=B,m=!1,v=c.merge(O,_.globalOptions),b=c.merge(v),y=[],x=0;function S(e,r){if(!m){if(v=c.merge(v,e),b=c.atMedia(v),function(){var e=b.container,r=b.slides,o=n(e)?t.querySelector(e):e;s=o||t.children[0];var i=n(r)?s.querySelectorAll(r):r;a=[].slice.call(i||s.children)}(),o=L(t,s,a,b,d),x=o.axis.measureSize(t.getBoundingClientRect()),!b.active)return A();if(o.translate.to(o.location),y=r||y,i=l.init(y,T),b.loop){if(!o.slideLooper.canLoop())return A(),S({loop:!1},r),void(v=c.merge(v,{loop:!0}));o.slideLooper.loop()}b.draggable&&s.offsetParent&&a.length&&o.dragHandler.addActivationEvents()}}function B(t,e){var n=I();A(),S(c.merge({startIndex:n},t),e),d.emit("reInit")}function A(){o.dragHandler.removeAllEvents(),o.animation.stop(),o.eventStore.removeAll(),o.translate.clear(),o.slideLooper.clear(),l.destroy()}function E(t){var e=o[t?"target":"location"].get(),n=b.loop?"removeOffset":"constrain";return o.slidesInView.check(o.limit[n](e))}function N(t,e,n){b.active&&!m&&(o.scrollBody.useBaseMass().useSpeed(e?100:b.speed),o.scrollTo.index(t,n||0))}function I(){return o.index.get()}var T={canScrollNext:function(){return o.index.clone().add(1).get()!==I()},canScrollPrev:function(){return o.index.clone().add(-1).get()!==I()},clickAllowed:function(){return o.dragHandler.clickAllowed()},containerNode:function(){return s},internalEngine:function(){return o},destroy:function(){m||(m=!0,u.removeAll(),A(),d.emit("destroy"))},off:p,on:f,plugins:function(){return i},previousScrollSnap:function(){return o.indexPrevious.get()},reInit:h,rootNode:function(){return t},scrollNext:function(t){N(o.index.clone().add(1).get(),!0===t,-1)},scrollPrev:function(t){N(o.index.clone().add(-1).get(),!0===t,1)},scrollProgress:function(){return o.scrollProgress.get(o.location.get())},scrollSnapList:function(){return o.scrollSnaps.map(o.scrollProgress.get)},scrollTo:N,selectedScrollSnap:I,slideNodes:function(){return a},slidesInView:E,slidesNotInView:function(t){var e=E(t);return o.slideIndexes.filter((function(t){return-1===e.indexOf(t)}))}};return S(e,r),u.add(window,"resize",(function(){var e=c.atMedia(v),n=!c.areEqual(e,b),r=o.axis.measureSize(t.getBoundingClientRect()),i=x!==r,s=l.haveChanged();(i||n||s)&&B(),d.emit("resize")})),setTimeout((function(){return d.emit("init")}),0),T}_.globalOptions=void 0,_.optionsHandler=M;var P={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function k(t){var e,n,r,o=_.optionsHandler(),i=o.merge(P,k.globalOptions),s=0,a=!1;function u(){n.off("pointerDown",r),e.stopOnInteraction||n.off("pointerUp",d),l(),s=0}function c(t){l(),void 0!==t&&(a=t),s=window.setTimeout(f,e.delay)}function l(){s&&window.clearTimeout(s)}function d(){s&&(l(),c())}function f(){var t=n.internalEngine().index;if(e.stopOnLastSnap&&t.get()===t.max)return u();n.canScrollNext()?n.scrollNext(a):n.scrollTo(0,a),c()}var p={name:"autoplay",options:o.merge(i,t),init:function(t){n=t,e=o.atMedia(p.options),a=e.jump,r=e.stopOnInteraction?u:l;var i=n.internalEngine().eventStore,s=n.rootNode(),f=e.rootNode&&e.rootNode(s)||s;n.on("pointerDown",r),e.stopOnInteraction||n.on("pointerUp",d),e.stopOnMouseEnter&&(i.add(f,"mouseenter",r),e.stopOnInteraction||i.add(f,"mouseleave",d)),i.add(document,"visibilitychange",(function(){if("hidden"===document.visibilityState)return l();d()})),i.add(window,"pagehide",(function(t){t.persisted&&l()})),e.playOnInit&&c()},destroy:u,play:c,stop:l,reset:d};return p}k.globalOptions=void 0;class D{constructor(t){this.rootNode=t;const e=t=>this.rootNode.getAttribute(t),n=t=>this.rootNode.hasAttribute(t);this.carouselClass=e("data-uss-carousel"),this.rootNode.classList.add(this.carouselClass),this.carouselType=this.carouselClass.split("-").pop(),this.visibleItems=null,"cards"===this.carouselType&&(this.visibleItems=e("data-uss-visible-items")||1),this.align="cards"===this.carouselType?"start":"center",this.carouselItemsClass=e("data-uss-items-class"),this.autoplayDelay=e("data-uss-autoplay"),this.title=e("data-uss-title"),this.hideControlls=n("data-uss-hide-controls"),this.EmblaOptions={loop:n("data-uss-loop"),draggable:n("data-uss-draggable"),speed:e("data-uss-speed")||10,startIndex:e("data-uss-startIndex")||0,align:this.align},this.emblaInstance=null,this.prevButtonNode=null,this.nextButtonNode=null,this.pageButtonContainer=null,this.pageButtonsArray=null,this.mobileBreakpoint=990,this.counterNode=null,this.carouselItems=this.carouselItemsClass?this.rootNode.querySelectorAll(`.${this.carouselItemsClass}`):this.rootNode.querySelectorAll(":scope > *"),this.totalItems=this.carouselItems.length,this.disableNextButtonAtIndex=this.totalItems-1,this.carouselViewport=null}setupPageButtons=t=>{this.pageButtonsArray.forEach(((e,n)=>{e.addEventListener("click",(()=>t.scrollTo(n)),!1)}))};generatePageButtons=t=>{const e=`<button class="uss-carousel-${this.carouselType}__page-single-button" type="button">\n </button>`;this.pageButtonContainer.innerHTML=t.scrollSnapList().reduce((t=>t+e),"");const n=Array.prototype.slice.call(this.pageButtonContainer.children);for(let t=0;t<n.length;t+=1){const e=(t+1).toString().padStart(2,"0");n[t].innerHTML=e}return n};selectPage=t=>()=>{const e=t.previousScrollSnap(),n=t.selectedScrollSnap();this.pageButtonsArray[e].classList.remove(`uss-carousel-${this.carouselType}__page-single-button--selected`),this.pageButtonsArray[n].classList.add(`uss-carousel-${this.carouselType}__page-single-button--selected`)};makeControls(){const t=document.createElement("div");if(t.classList.add(`uss-carousel-${this.carouselType}__control-container`),this.title){const e=document.createElement("h2");e.classList.add(`uss-carousel-${this.carouselType}__title`),e.innerHTML=this.title,"cards"===this.carouselType?this.rootNode.prepend(e):t.appendChild(e)}const e=document.createElement("div");e.classList.add(`uss-carousel-${this.carouselType}__control`);let n=null;n=document.createElement("div"),n.classList.add(`uss-carousel-${this.carouselType}__page-buttons`),this.pageButtonContainer=n;const r=document.createElement("div");r.classList.add(`uss-carousel-${this.carouselType}__counter`),r.innerHTML=`01/${this.totalItems.toString().padStart(2,"0")}`;document.createElement("div").classList.add(`uss-carousel-${this.carouselType}__page-totals`);const o=document.createElement("div");o.classList.add(`uss-carousel-${this.carouselType}__control-buttons-container`);const i=document.createElement("button");i.classList.add("uss-btn","uss-btn--slide","uss-btn--slide-prev"),i.setAttribute("data-uss-carousel-button","prev"),this.prevButtonNode=i;const s=document.createElement("i");s.classList.add("uss-icon","ri-arrow-left-s-line");const a=document.createElement("button");a.classList.add("uss-btn","uss-btn--slide","uss-btn--slide-next"),a.setAttribute("data-uss-carousel-button","next"),this.nextButtonNode=a;const u=document.createElement("i");return u.classList.add("uss-icon","ri-arrow-right-s-line"),i.appendChild(s),a.appendChild(u),o.appendChild(i),o.appendChild(a),e.appendChild(n),n.before(r),this.counterNode=r,e.appendChild(o),t.appendChild(e),"cards"===this.carouselType&&(t.appendChild(e),t.appendChild(r)),t}handleButtonsDisableState(){const t=document.body.clientWidth,e=this.emblaInstance.selectedScrollSnap();t<this.mobileBreakpoint?0===e?(this.prevButtonNode.setAttribute("disabled",!0),this.nextButtonNode.removeAttribute("disabled")):e>=this.totalItems-1?(this.nextButtonNode.setAttribute("disabled",!0),this.prevButtonNode.removeAttribute("disabled")):(this.prevButtonNode.removeAttribute("disabled"),this.nextButtonNode.removeAttribute("disabled")):e>=this.disableNextButtonAtIndex?(this.nextButtonNode.setAttribute("disabled",!0),this.prevButtonNode.removeAttribute("disabled",!1)):(this.nextButtonNode.removeAttribute("disabled",!1),this.prevButtonNode.removeAttribute("disabled",!1),0===e&&this.prevButtonNode.setAttribute("disabled",!0))}handleCounter(){const t=(this.emblaInstance.selectedScrollSnap()+1).toString().padStart(2,"0");this.counterNode.innerHTML=`${t}/${this.totalItems.toString().padStart(2,"0")}`}init(){"cards"===this.carouselType&&this.visibleItems&&(this.carouselItems.forEach(((t,e)=>{this.carouselItems[e].classList.add(`uss-carousel-cards__md-col-${this.visibleItems}`)})),this.disableNextButtonAtIndex=this.carouselItems.length-this.visibleItems);let e=document.createElement("div");e.classList.add(`uss-carousel-${this.carouselType}__container`);const n=t(this.carouselItems,e);this.rootNode.appendChild(n),e=this.rootNode.querySelector(`.uss-carousel-${this.carouselType}__container`);const r=document.createElement("div");if(r.classList.add(`uss-carousel-${this.carouselType}__viewport`),this.carouselViewport=t([e],r),this.rootNode.appendChild(this.carouselViewport),!this.hideControlls){const t=this.makeControls();this.carouselType,this.rootNode.appendChild(t)}let o=null;this.autoplayDelay&&(o=k({delay:this.autoplayDelay},this.rootNode));const i=_(this.carouselViewport,this.EmblaOptions,o?[o]:null);if(this.emblaInstance=i,this.hideControlls||"cards"===this.carouselType)this.hideControlls||(i.on("init",(()=>{this.handleButtonsDisableState()})),i.on("select",(()=>{this.handleCounter(),this.handleButtonsDisableState()})));else{this.pageButtonsArray=this.generatePageButtons(i);const t=this.selectPage(i);this.setupPageButtons(i),i.on("init",t),i.on("select",t),this.EmblaOptions.loop||(i.on("init",(()=>{this.handleButtonsDisableState()})),i.on("select",(()=>{this.handleButtonsDisableState()})))}this.hideControlls||(this.prevButtonNode.addEventListener("click",i.scrollPrev,!1),this.nextButtonNode.addEventListener("click",i.scrollNext,!1))}}export{D as default};