@cntrl-site/components 1.0.7-alpha.0 → 1.0.7-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/Form/FormComponent.d.ts +1 -1
- package/dist/Components/OnelinerForm/OnelinerFormComponent.d.ts +1 -1
- package/dist/Components/TestimonialGrid/TestimonialGrid.d.ts +11 -18
- package/dist/Components/TestimonialGrid/TestimonialGridComponent.d.ts +9 -10
- package/dist/Components/TestimonialSingle/TestimonialSingle.d.ts +13 -30
- package/dist/Components/TestimonialSingle/TestimonialSingleComponent.d.ts +14 -46
- package/dist/components.css +1 -1
- package/dist/index.js +874 -457
- package/dist/index.mjs +4243 -3432
- package/dist/types/Component.d.ts +1 -0
- package/dist/types/SchemaV1.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),j=require("react"),ft=require("classnames"),x=require("./useScopedStyles-DpVdqfXj.js"),br=require("react-dom");function Sr(t){return t.type==="object"&&t.version===1}const xr="ControlSlider-module__wrapper___sHEkd",Cr="ControlSlider-module__hoverArrow___A-dOH",$r="ControlSlider-module__sliderItem___QQSkR",wr="ControlSlider-module__sliderImage___9hRl-",Tr="ControlSlider-module__arrow___05ghY",_r="ControlSlider-module__arrowVertical___tBfVN",Ar="ControlSlider-module__nextArrow___-30Yc",Er="ControlSlider-module__arrowInner___aEra3",Lr="ControlSlider-module__arrowIcon___S4ztF",Fr="ControlSlider-module__arrowImg___2dwJW",kr="ControlSlider-module__mirror___brd6U",Ir="ControlSlider-module__pagination___bicLF",Rr="ControlSlider-module__paginationInner___bT-P-",Wr="ControlSlider-module__paginationVertical___zYqKw",Vr="ControlSlider-module__paginationItem___nTRbk",zr="ControlSlider-module__dot___p1Qun",Nr="ControlSlider-module__activeDot___LHFaj",Mr="ControlSlider-module__paginationInsideBottom___R3FWn",Pr="ControlSlider-module__paginationInsideTop___V-qb-",jr="ControlSlider-module__paginationOutsideBottom___14w8D",Hr="ControlSlider-module__paginationOutsideTop___SCLqB",Or="ControlSlider-module__paginationInsideLeft___yOBRZ",Br="ControlSlider-module__paginationInsideRight___Rtt3o",Dr="ControlSlider-module__paginationOutsideLeft___lahaw",Ur="ControlSlider-module__paginationOutsideRight___EtuQa",Gr="ControlSlider-module__imgWrapper___UjEgB",qr="ControlSlider-module__captionBlock___dJ6-j",Yr="ControlSlider-module__captionTextWrapper___HFlpf",Xr="ControlSlider-module__captionText___uGBVc",Kr="ControlSlider-module__active___WZK4G",Jr="ControlSlider-module__withPointerEvents___t-18M",Zr="ControlSlider-module__topLeftAlignment___zjnGM",Qr="ControlSlider-module__topCenterAlignment___gD1xW",ti="ControlSlider-module__topRightAlignment___NMapS",ei="ControlSlider-module__middleLeftAlignment___OnUrY",ni="ControlSlider-module__middleCenterAlignment___Tdkl0",oi="ControlSlider-module__middleRightAlignment___wEbfX",ri="ControlSlider-module__bottomLeftAlignment___cTP2-",ii="ControlSlider-module__bottomCenterAlignment___c54fB",ai="ControlSlider-module__bottomRightAlignment___kEwrz",li="ControlSlider-module__clickOverlay___DZA28",si="ControlSlider-module__contain___pLyq7",ci="ControlSlider-module__cover___KdDat",X={wrapper:xr,hoverArrow:Cr,sliderItem:$r,sliderImage:wr,arrow:Tr,arrowVertical:_r,nextArrow:Ar,arrowInner:Er,arrowIcon:Lr,arrowImg:Fr,mirror:kr,pagination:Ir,paginationInner:Rr,paginationVertical:Wr,paginationItem:Vr,dot:zr,activeDot:Nr,paginationInsideBottom:Mr,paginationInsideTop:Pr,paginationOutsideBottom:jr,paginationOutsideTop:Hr,paginationInsideLeft:Or,paginationInsideRight:Br,paginationOutsideLeft:Dr,paginationOutsideRight:Ur,imgWrapper:Gr,captionBlock:qr,captionTextWrapper:Yr,captionText:Xr,active:Kr,withPointerEvents:Jr,topLeftAlignment:Zr,topCenterAlignment:Qr,topRightAlignment:ti,middleLeftAlignment:ei,middleCenterAlignment:ni,middleRightAlignment:oi,bottomLeftAlignment:ri,bottomCenterAlignment:ii,bottomRightAlignment:ai,clickOverlay:li,contain:si,cover:ci};function pi(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function ui(t,e,n){return e&&pi(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}var io="(prefers-reduced-motion: reduce)",ge=1,di=2,ve=3,xe=4,Ne=5,Ze=6,nn=7,gi={CREATED:ge,MOUNTED:di,IDLE:ve,MOVING:xe,SCROLLING:Ne,DRAGGING:Ze,DESTROYED:nn};function qt(t){t.length=0}function te(t,e,n){return Array.prototype.slice.call(t,e,n)}function mt(t){return t.bind.apply(t,[null].concat(te(arguments,1)))}var Lo=setTimeout,An=function(){};function ao(t){return requestAnimationFrame(t)}function sn(t,e){return typeof e===t}function Le(t){return!Nn(t)&&sn("object",t)}var zn=Array.isArray,Fo=mt(sn,"function"),Zt=mt(sn,"string"),Me=mt(sn,"undefined");function Nn(t){return t===null}function ko(t){try{return t instanceof(t.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function Pe(t){return zn(t)?t:[t]}function Lt(t,e){Pe(t).forEach(e)}function Mn(t,e){return t.indexOf(e)>-1}function Qe(t,e){return t.push.apply(t,Pe(e)),t}function Dt(t,e,n){t&&Lt(e,function(o){o&&t.classList[n?"add":"remove"](o)})}function zt(t,e){Dt(t,Zt(e)?e.split(" "):e,!0)}function je(t,e){Lt(e,t.appendChild.bind(t))}function Pn(t,e){Lt(t,function(n){var o=(e||n).parentNode;o&&o.insertBefore(n,e)})}function Fe(t,e){return ko(t)&&(t.msMatchesSelector||t.matches).call(t,e)}function Io(t,e){var n=t?te(t.children):[];return e?n.filter(function(o){return Fe(o,e)}):n}function He(t,e){return e?Io(t,e)[0]:t.firstElementChild}var ke=Object.keys;function ie(t,e,n){return t&&(n?ke(t).reverse():ke(t)).forEach(function(o){o!=="__proto__"&&e(t[o],o)}),t}function Ie(t){return te(arguments,1).forEach(function(e){ie(e,function(n,o){t[o]=e[o]})}),t}function Kt(t){return te(arguments,1).forEach(function(e){ie(e,function(n,o){zn(n)?t[o]=n.slice():Le(n)?t[o]=Kt({},Le(t[o])?t[o]:{},n):t[o]=n})}),t}function lo(t,e){Lt(e||ke(t),function(n){delete t[n]})}function Nt(t,e){Lt(t,function(n){Lt(e,function(o){n&&n.removeAttribute(o)})})}function nt(t,e,n){Le(e)?ie(e,function(o,r){nt(t,r,o)}):Lt(t,function(o){Nn(n)||n===""?Nt(o,e):o.setAttribute(e,String(n))})}function me(t,e,n){var o=document.createElement(t);return e&&(Zt(e)?zt(o,e):nt(o,e)),n&&je(n,o),o}function It(t,e,n){if(Me(n))return getComputedStyle(t)[e];Nn(n)||(t.style[e]=""+n)}function Re(t,e){It(t,"display",e)}function Ro(t){t.setActive&&t.setActive()||t.focus({preventScroll:!0})}function Rt(t,e){return t.getAttribute(e)}function so(t,e){return t&&t.classList.contains(e)}function At(t){return t.getBoundingClientRect()}function ae(t){Lt(t,function(e){e&&e.parentNode&&e.parentNode.removeChild(e)})}function Wo(t){return He(new DOMParser().parseFromString(t,"text/html").body)}function Bt(t,e){t.preventDefault(),e&&(t.stopPropagation(),t.stopImmediatePropagation())}function Vo(t,e){return t&&t.querySelector(e)}function jn(t,e){return e?te(t.querySelectorAll(e)):[]}function Ut(t,e){Dt(t,e,!1)}function En(t){return t.timeStamp}function re(t){return Zt(t)?t:t?t+"px":""}var Oe="splide",Hn="data-"+Oe;function Ae(t,e){if(!t)throw new Error("["+Oe+"] "+(e||""))}var Qt=Math.min,on=Math.max,rn=Math.floor,We=Math.ceil,wt=Math.abs;function zo(t,e,n){return wt(t-e)<n}function tn(t,e,n,o){var r=Qt(e,n),a=on(e,n);return o?r<t&&t<a:r<=t&&t<=a}function ue(t,e,n){var o=Qt(e,n),r=on(e,n);return Qt(on(o,t),r)}function Ln(t){return+(t>0)-+(t<0)}function Fn(t,e){return Lt(e,function(n){t=t.replace("%s",""+n)}),t}function On(t){return t<10?"0"+t:""+t}var co={};function mi(t){return""+t+On(co[t]=(co[t]||0)+1)}function No(){var t=[];function e(i,p,c,f){r(i,p,function(u,k,b){var y="addEventListener"in u,l=y?u.removeEventListener.bind(u,k,c,f):u.removeListener.bind(u,c);y?u.addEventListener(k,c,f):u.addListener(c),t.push([u,k,b,c,l])})}function n(i,p,c){r(i,p,function(f,u,k){t=t.filter(function(b){return b[0]===f&&b[1]===u&&b[2]===k&&(!c||b[3]===c)?(b[4](),!1):!0})})}function o(i,p,c){var f,u=!0;return typeof CustomEvent=="function"?f=new CustomEvent(p,{bubbles:u,detail:c}):(f=document.createEvent("CustomEvent"),f.initCustomEvent(p,u,!1,c)),i.dispatchEvent(f),f}function r(i,p,c){Lt(i,function(f){f&&Lt(p,function(u){u.split(" ").forEach(function(k){var b=k.split(".");c(f,b[0],b[1])})})})}function a(){t.forEach(function(i){i[4]()}),qt(t)}return{bind:e,unbind:n,dispatch:o,destroy:a}}var ee="mounted",kn="ready",Yt="move",Ce="moved",Bn="click",Mo="active",Po="inactive",jo="visible",Ho="hidden",St="refresh",$t="updated",be="resize",cn="resized",Oo="drag",Bo="dragging",Do="dragged",pn="scroll",se="scrolled",fi="overflow",Dn="destroy",Uo="arrows:mounted",Go="arrows:updated",qo="pagination:mounted",Yo="pagination:updated",Un="navigation:mounted",Gn="autoplay:play",Xo="autoplay:playing",qn="autoplay:pause",Yn="lazyload:loaded",Ko="sk",Jo="sh",an="ei";function vt(t){var e=t?t.event.bus:document.createDocumentFragment(),n=No();function o(a,i){n.bind(e,Pe(a).join(" "),function(p){i.apply(i,zn(p.detail)?p.detail:[])})}function r(a){n.dispatch(e,a,te(arguments,1))}return t&&t.event.on(Dn,n.destroy),Ie(n,{bus:e,on:o,off:mt(n.unbind,e),emit:r})}function un(t,e,n,o){var r=Date.now,a,i=0,p,c=!0,f=0;function u(){if(!c){if(i=t?Qt((r()-a)/t,1):1,n&&n(i),i>=1&&(e(),a=r(),o&&++f>=o))return b();p=ao(u)}}function k(h){h||l(),a=r()-(h?i*t:0),c=!1,p=ao(u)}function b(){c=!0}function y(){a=r(),i=0,n&&n(i)}function l(){p&&cancelAnimationFrame(p),i=0,p=0,c=!0}function g(h){t=h}function $(){return c}return{start:k,rewind:y,pause:b,cancel:l,set:g,isPaused:$}}function yi(t){var e=t;function n(r){e=r}function o(r){return Mn(Pe(r),e)}return{set:n,is:o}}function hi(t,e){var n=un(0,t,null,1);return function(){n.isPaused()&&n.start()}}function vi(t,e,n){var o=t.state,r=n.breakpoints||{},a=n.reducedMotion||{},i=No(),p=[];function c(){var l=n.mediaQuery==="min";ke(r).sort(function(g,$){return l?+g-+$:+$-+g}).forEach(function(g){u(r[g],"("+(l?"min":"max")+"-width:"+g+"px)")}),u(a,io),k()}function f(l){l&&i.destroy()}function u(l,g){var $=matchMedia(g);i.bind($,"change",k),p.push([l,$])}function k(){var l=o.is(nn),g=n.direction,$=p.reduce(function(h,v){return Kt(h,v[1].matches?v[0]:{})},{});lo(n),y($),n.destroy?t.destroy(n.destroy==="completely"):l?(f(!0),t.mount()):g!==n.direction&&t.refresh()}function b(l){matchMedia(io).matches&&(l?Kt(n,a):lo(n,ke(a)))}function y(l,g,$){Kt(n,l),g&&Kt(Object.getPrototypeOf(n),l),($||!o.is(ge))&&t.emit($t,n)}return{setup:c,destroy:f,reduce:b,set:y}}var dn="Arrow",gn=dn+"Left",mn=dn+"Right",Zo=dn+"Up",Qo=dn+"Down",po="rtl",fn="ttb",xn={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[Zo,mn],ArrowRight:[Qo,gn]};function bi(t,e,n){function o(a,i,p){p=p||n.direction;var c=p===po&&!i?1:p===fn?0:-1;return xn[a]&&xn[a][c]||a.replace(/width|left|right/i,function(f,u){var k=xn[f.toLowerCase()][c]||f;return u>0?k.charAt(0).toUpperCase()+k.slice(1):k})}function r(a){return a*(n.direction===po?1:-1)}return{resolve:o,orient:r}}var Gt="role",fe="tabindex",Si="disabled",Wt="aria-",Be=Wt+"controls",tr=Wt+"current",uo=Wt+"selected",Et=Wt+"label",Xn=Wt+"labelledby",er=Wt+"hidden",Kn=Wt+"orientation",Ve=Wt+"roledescription",go=Wt+"live",mo=Wt+"busy",fo=Wt+"atomic",Jn=[Gt,fe,Si,Be,tr,Et,Xn,er,Kn,Ve],Mt=Oe+"__",ne="is-",Cn=Oe,yo=Mt+"track",xi=Mt+"list",yn=Mt+"slide",nr=yn+"--clone",Ci=yn+"__container",Zn=Mt+"arrows",hn=Mt+"arrow",or=hn+"--prev",rr=hn+"--next",vn=Mt+"pagination",ir=vn+"__page",$i=Mt+"progress",wi=$i+"__bar",Ti=Mt+"toggle",_i=Mt+"spinner",Ai=Mt+"sr",Ei=ne+"initialized",le=ne+"active",ar=ne+"prev",lr=ne+"next",In=ne+"visible",Rn=ne+"loading",sr=ne+"focus-in",cr=ne+"overflow",Li=[le,In,ar,lr,Rn,sr,cr],Fi={slide:yn,clone:nr,arrows:Zn,arrow:hn,prev:or,next:rr,pagination:vn,page:ir,spinner:_i};function ki(t,e){if(Fo(t.closest))return t.closest(e);for(var n=t;n&&n.nodeType===1&&!Fe(n,e);)n=n.parentElement;return n}var Ii=5,ho=200,pr="touchstart mousedown",$n="touchmove mousemove",wn="touchend touchcancel mouseup click";function Ri(t,e,n){var o=vt(t),r=o.on,a=o.bind,i=t.root,p=n.i18n,c={},f=[],u=[],k=[],b,y,l;function g(){E(),B(),v()}function $(){r(St,h),r(St,g),r($t,v),a(document,pr+" keydown",function(m){l=m.type==="keydown"},{capture:!0}),a(i,"focusin",function(){Dt(i,sr,!!l)})}function h(m){var F=Jn.concat("style");qt(f),Ut(i,u),Ut(b,k),Nt([b,y],F),Nt(i,m?F:["style",Ve])}function v(){Ut(i,u),Ut(b,k),u=L(Cn),k=L(yo),zt(i,u),zt(b,k),nt(i,Et,n.label),nt(i,Xn,n.labelledby)}function E(){b=M("."+yo),y=He(b,"."+xi),Ae(b&&y,"A track/list element is missing."),Qe(f,Io(y,"."+yn+":not(."+nr+")")),ie({arrows:Zn,pagination:vn,prev:or,next:rr,bar:wi,toggle:Ti},function(m,F){c[F]=M("."+m)}),Ie(c,{root:i,track:b,list:y,slides:f})}function B(){var m=i.id||mi(Oe),F=n.role;i.id=m,b.id=b.id||m+"-track",y.id=y.id||m+"-list",!Rt(i,Gt)&&i.tagName!=="SECTION"&&F&&nt(i,Gt,F),nt(i,Ve,p.carousel),nt(y,Gt,"presentation")}function M(m){var F=Vo(i,m);return F&&ki(F,"."+Cn)===i?F:void 0}function L(m){return[m+"--"+n.type,m+"--"+n.direction,n.drag&&m+"--draggable",n.isNavigation&&m+"--nav",m===Cn&&le]}return Ie(c,{setup:g,mount:$,destroy:h})}var Se="slide",$e="loop",De="fade";function Wi(t,e,n,o){var r=vt(t),a=r.on,i=r.emit,p=r.bind,c=t.Components,f=t.root,u=t.options,k=u.isNavigation,b=u.updateOnMove,y=u.i18n,l=u.pagination,g=u.slideFocus,$=c.Direction.resolve,h=Rt(o,"style"),v=Rt(o,Et),E=n>-1,B=He(o,"."+Ci),M;function L(){E||(o.id=f.id+"-slide"+On(e+1),nt(o,Gt,l?"tabpanel":"group"),nt(o,Ve,y.slide),nt(o,Et,v||Fn(y.slideLabel,[e+1,t.length]))),m()}function m(){p(o,"click",mt(i,Bn,C)),p(o,"keydown",mt(i,Ko,C)),a([Ce,Jo,se],R),a(Un,I),b&&a(Yt,N)}function F(){M=!0,r.destroy(),Ut(o,Li),Nt(o,Jn),nt(o,"style",h),nt(o,Et,v||"")}function I(){var T=t.splides.map(function(A){var V=A.splide.Components.Slides.getAt(e);return V?V.slide.id:""}).join(" ");nt(o,Et,Fn(y.slideX,(E?n:e)+1)),nt(o,Be,T),nt(o,Gt,g?"button":""),g&&Nt(o,Ve)}function N(){M||R()}function R(){if(!M){var T=t.index;W(),_(),Dt(o,ar,e===T-1),Dt(o,lr,e===T+1)}}function W(){var T=H();T!==so(o,le)&&(Dt(o,le,T),nt(o,tr,k&&T||""),i(T?Mo:Po,C))}function _(){var T=d(),A=!T&&(!H()||E);if(t.state.is([xe,Ne])||nt(o,er,A||""),nt(jn(o,u.focusableNodes||""),fe,A?-1:""),g&&nt(o,fe,A?-1:0),T!==so(o,In)&&(Dt(o,In,T),i(T?jo:Ho,C)),!T&&document.activeElement===o){var V=c.Slides.getAt(t.index);V&&Ro(V.slide)}}function D(T,A,V){It(V&&B||o,T,A)}function H(){var T=t.index;return T===e||u.cloneStatus&&T===n}function d(){if(t.is(De))return H();var T=At(c.Elements.track),A=At(o),V=$("left",!0),q=$("right",!0);return rn(T[V])<=We(A[V])&&rn(A[q])<=We(T[q])}function w(T,A){var V=wt(T-e);return!E&&(u.rewind||t.is($e))&&(V=Qt(V,t.length-V)),V<=A}var C={index:e,slideIndex:n,slide:o,container:B,isClone:E,mount:L,destroy:F,update:R,style:D,isWithin:w};return C}function Vi(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=o.bind,p=e.Elements,c=p.slides,f=p.list,u=[];function k(){b(),r(St,y),r(St,b)}function b(){c.forEach(function(R,W){g(R,W,-1)})}function y(){M(function(R){R.destroy()}),qt(u)}function l(){M(function(R){R.update()})}function g(R,W,_){var D=Wi(t,W,_,R);D.mount(),u.push(D),u.sort(function(H,d){return H.index-d.index})}function $(R){return R?L(function(W){return!W.isClone}):u}function h(R){var W=e.Controller,_=W.toIndex(R),D=W.hasFocus()?1:n.perPage;return L(function(H){return tn(H.index,_,_+D-1)})}function v(R){return L(R)[0]}function E(R,W){Lt(R,function(_){if(Zt(_)&&(_=Wo(_)),ko(_)){var D=c[W];D?Pn(_,D):je(f,_),zt(_,n.classes.slide),F(_,mt(a,be))}}),a(St)}function B(R){ae(L(R).map(function(W){return W.slide})),a(St)}function M(R,W){$(W).forEach(R)}function L(R){return u.filter(Fo(R)?R:function(W){return Zt(R)?Fe(W.slide,R):Mn(Pe(R),W.index)})}function m(R,W,_){M(function(D){D.style(R,W,_)})}function F(R,W){var _=jn(R,"img"),D=_.length;D?_.forEach(function(H){i(H,"load error",function(){--D||W()})}):W()}function I(R){return R?c.length:u.length}function N(){return u.length>n.perPage}return{mount:k,destroy:y,update:l,register:g,get:$,getIn:h,getAt:v,add:E,remove:B,forEach:M,filter:L,style:m,getLength:I,isEnough:N}}function zi(t,e,n){var o=vt(t),r=o.on,a=o.bind,i=o.emit,p=e.Slides,c=e.Direction.resolve,f=e.Elements,u=f.root,k=f.track,b=f.list,y=p.getAt,l=p.style,g,$,h;function v(){E(),a(window,"resize load",hi(mt(i,be))),r([$t,St],E),r(be,B)}function E(){g=n.direction===fn,It(u,"maxWidth",re(n.width)),It(k,c("paddingLeft"),M(!1)),It(k,c("paddingRight"),M(!0)),B(!0)}function B(C){var T=At(u);(C||$.width!==T.width||$.height!==T.height)&&(It(k,"height",L()),l(c("marginRight"),re(n.gap)),l("width",F()),l("height",I(),!0),$=T,i(cn),h!==(h=w())&&(Dt(u,cr,h),i(fi,h)))}function M(C){var T=n.padding,A=c(C?"right":"left");return T&&re(T[A]||(Le(T)?0:T))||"0px"}function L(){var C="";return g&&(C=m(),Ae(C,"height or heightRatio is missing."),C="calc("+C+" - "+M(!1)+" - "+M(!0)+")"),C}function m(){return re(n.height||At(b).width*n.heightRatio)}function F(){return n.autoWidth?null:re(n.fixedWidth)||(g?"":N())}function I(){return re(n.fixedHeight)||(g?n.autoHeight?null:N():m())}function N(){var C=re(n.gap);return"calc((100%"+(C&&" + "+C)+")/"+(n.perPage||1)+(C&&" - "+C)+")"}function R(){return At(b)[c("width")]}function W(C,T){var A=y(C||0);return A?At(A.slide)[c("width")]+(T?0:H()):0}function _(C,T){var A=y(C);if(A){var V=At(A.slide)[c("right")],q=At(b)[c("left")];return wt(V-q)+(T?0:H())}return 0}function D(C){return _(t.length-1)-_(0)+W(0,C)}function H(){var C=y(0);return C&&parseFloat(It(C.slide,c("marginRight")))||0}function d(C){return parseFloat(It(k,c("padding"+(C?"Right":"Left"))))||0}function w(){return t.is(De)||D(!0)>R()}return{mount:v,resize:B,listSize:R,slideSize:W,sliderSize:D,totalSize:_,getPadding:d,isOverflow:w}}var Ni=2;function Mi(t,e,n){var o=vt(t),r=o.on,a=e.Elements,i=e.Slides,p=e.Direction.resolve,c=[],f;function u(){r(St,k),r([$t,be],y),(f=$())&&(l(f),e.Layout.resize(!0))}function k(){b(),u()}function b(){ae(c),qt(c),o.destroy()}function y(){var h=$();f!==h&&(f<h||!h)&&o.emit(St)}function l(h){var v=i.get().slice(),E=v.length;if(E){for(;v.length<h;)Qe(v,v);Qe(v.slice(-h),v.slice(0,h)).forEach(function(B,M){var L=M<h,m=g(B.slide,M);L?Pn(m,v[0].slide):je(a.list,m),Qe(c,m),i.register(m,M-h+(L?0:E),B.index)})}}function g(h,v){var E=h.cloneNode(!0);return zt(E,n.classes.clone),E.id=t.root.id+"-clone"+On(v+1),E}function $(){var h=n.clones;if(!t.is($e))h=0;else if(Me(h)){var v=n[p("fixedWidth")]&&e.Layout.slideSize(0),E=v&&We(At(a.track)[p("width")]/v);h=E||n[p("autoWidth")]&&t.length||n.perPage*Ni}return h}return{mount:u,destroy:b}}function Pi(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=t.state.set,p=e.Layout,c=p.slideSize,f=p.getPadding,u=p.totalSize,k=p.listSize,b=p.sliderSize,y=e.Direction,l=y.resolve,g=y.orient,$=e.Elements,h=$.list,v=$.track,E;function B(){E=e.Transition,r([ee,cn,$t,St],M)}function M(){e.Controller.isBusy()||(e.Scroll.cancel(),m(t.index),e.Slides.update())}function L(A,V,q,at){A!==V&&C(A>q)&&(R(),F(N(D(),A>q),!0)),i(xe),a(Yt,V,q,A),E.start(V,function(){i(ve),a(Ce,V,q,A),at&&at()})}function m(A){F(_(A,!0))}function F(A,V){if(!t.is(De)){var q=V?A:I(A);It(h,"transform","translate"+l("X")+"("+q+"px)"),A!==q&&a(Jo)}}function I(A){if(t.is($e)){var V=W(A),q=V>e.Controller.getEnd(),at=V<0;(at||q)&&(A=N(A,q))}return A}function N(A,V){var q=A-w(V),at=b();return A-=g(at*(We(wt(q)/at)||1))*(V?1:-1),A}function R(){F(D(),!0),E.cancel()}function W(A){for(var V=e.Slides.get(),q=0,at=1/0,it=0;it<V.length;it++){var pt=V[it].index,z=wt(_(pt,!0)-A);if(z<=at)at=z,q=pt;else break}return q}function _(A,V){var q=g(u(A-1)-d(A));return V?H(q):q}function D(){var A=l("left");return At(h)[A]-At(v)[A]+g(f(!1))}function H(A){return n.trimSpace&&t.is(Se)&&(A=ue(A,0,g(b(!0)-k()))),A}function d(A){var V=n.focus;return V==="center"?(k()-c(A,!0))/2:+V*c(A)||0}function w(A){return _(A?e.Controller.getEnd():0,!!n.trimSpace)}function C(A){var V=g(N(D(),A));return A?V>=0:V<=h[l("scrollWidth")]-At(v)[l("width")]}function T(A,V){V=Me(V)?D():V;var q=A!==!0&&g(V)<g(w(!1)),at=A!==!1&&g(V)>g(w(!0));return q||at}return{mount:B,move:L,jump:m,translate:F,shift:N,cancel:R,toIndex:W,toPosition:_,getPosition:D,getLimit:w,exceededLimit:T,reposition:M}}function ji(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=e.Move,p=i.getPosition,c=i.getLimit,f=i.toPosition,u=e.Slides,k=u.isEnough,b=u.getLength,y=n.omitEnd,l=t.is($e),g=t.is(Se),$=mt(D,!1),h=mt(D,!0),v=n.start||0,E,B=v,M,L,m;function F(){I(),r([$t,St,an],I),r(cn,N)}function I(){M=b(!0),L=n.perMove,m=n.perPage,E=C();var z=ue(v,0,y?E:M-1);z!==v&&(v=z,i.reposition())}function N(){E!==C()&&a(an)}function R(z,J,Y){if(!pt()){var K=_(z),tt=w(K);tt>-1&&(J||tt!==v)&&(q(tt),i.move(K,tt,B,Y))}}function W(z,J,Y,K){e.Scroll.scroll(z,J,Y,function(){var tt=w(i.toIndex(p()));q(y?Qt(tt,E):tt),K&&K()})}function _(z){var J=v;if(Zt(z)){var Y=z.match(/([+\-<>])(\d+)?/)||[],K=Y[1],tt=Y[2];K==="+"||K==="-"?J=H(v+ +(""+K+(+tt||1)),v):K===">"?J=tt?T(+tt):$(!0):K==="<"&&(J=h(!0))}else J=l?z:ue(z,0,E);return J}function D(z,J){var Y=L||(it()?1:m),K=H(v+Y*(z?-1:1),v,!(L||it()));return K===-1&&g&&!zo(p(),c(!z),1)?z?0:E:J?K:w(K)}function H(z,J,Y){if(k()||it()){var K=d(z);K!==z&&(J=z,z=K,Y=!1),z<0||z>E?!L&&(tn(0,z,J,!0)||tn(E,J,z,!0))?z=T(A(z)):l?z=Y?z<0?-(M%m||m):M:z:n.rewind?z=z<0?E:0:z=-1:Y&&z!==J&&(z=T(A(J)+(z<J?-1:1)))}else z=-1;return z}function d(z){if(g&&n.trimSpace==="move"&&z!==v)for(var J=p();J===f(z,!0)&&tn(z,0,t.length-1,!n.rewind);)z<v?--z:++z;return z}function w(z){return l?(z+M)%M||0:z}function C(){for(var z=M-(it()||l&&L?1:m);y&&z-- >0;)if(f(M-1,!0)!==f(z,!0)){z++;break}return ue(z,0,M-1)}function T(z){return ue(it()?z:m*z,0,E)}function A(z){return it()?Qt(z,E):rn((z>=E?M-1:z)/m)}function V(z){var J=i.toIndex(z);return g?ue(J,0,E):J}function q(z){z!==v&&(B=v,v=z)}function at(z){return z?B:v}function it(){return!Me(n.focus)||n.isNavigation}function pt(){return t.state.is([xe,Ne])&&!!n.waitForTransition}return{mount:F,go:R,scroll:W,getNext:$,getPrev:h,getAdjacent:D,getEnd:C,setIndex:q,getIndex:at,toIndex:T,toPage:A,toDest:V,hasFocus:it,isBusy:pt}}var Hi="http://www.w3.org/2000/svg",Oi="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",qe=40;function Bi(t,e,n){var o=vt(t),r=o.on,a=o.bind,i=o.emit,p=n.classes,c=n.i18n,f=e.Elements,u=e.Controller,k=f.arrows,b=f.track,y=k,l=f.prev,g=f.next,$,h,v={};function E(){M(),r($t,B)}function B(){L(),E()}function M(){var W=n.arrows;W&&!(l&&g)&&I(),l&&g&&(Ie(v,{prev:l,next:g}),Re(y,W?"":"none"),zt(y,h=Zn+"--"+n.direction),W&&(m(),R(),nt([l,g],Be,b.id),i(Uo,l,g)))}function L(){o.destroy(),Ut(y,h),$?(ae(k?[l,g]:y),l=g=null):Nt([l,g],Jn)}function m(){r([ee,Ce,St,se,an],R),a(g,"click",mt(F,">")),a(l,"click",mt(F,"<"))}function F(W){u.go(W,!0)}function I(){y=k||me("div",p.arrows),l=N(!0),g=N(!1),$=!0,je(y,[l,g]),!k&&Pn(y,b)}function N(W){var _='<button class="'+p.arrow+" "+(W?p.prev:p.next)+'" type="button"><svg xmlns="'+Hi+'" viewBox="0 0 '+qe+" "+qe+'" width="'+qe+'" height="'+qe+'" focusable="false"><path d="'+(n.arrowPath||Oi)+'" />';return Wo(_)}function R(){if(l&&g){var W=t.index,_=u.getPrev(),D=u.getNext(),H=_>-1&&W<_?c.last:c.prev,d=D>-1&&W>D?c.first:c.next;l.disabled=_<0,g.disabled=D<0,nt(l,Et,H),nt(g,Et,d),i(Go,l,g,_,D)}}return{arrows:v,mount:E,destroy:L,update:R}}var Di=Hn+"-interval";function Ui(t,e,n){var o=vt(t),r=o.on,a=o.bind,i=o.emit,p=un(n.interval,t.go.bind(t,">"),m),c=p.isPaused,f=e.Elements,u=e.Elements,k=u.root,b=u.toggle,y=n.autoplay,l,g,$=y==="pause";function h(){y&&(v(),b&&nt(b,Be,f.track.id),$||E(),L())}function v(){n.pauseOnHover&&a(k,"mouseenter mouseleave",function(I){l=I.type==="mouseenter",M()}),n.pauseOnFocus&&a(k,"focusin focusout",function(I){g=I.type==="focusin",M()}),b&&a(b,"click",function(){$?E():B(!0)}),r([Yt,pn,St],p.rewind),r(Yt,F)}function E(){c()&&e.Slides.isEnough()&&(p.start(!n.resetProgress),g=l=$=!1,L(),i(Gn))}function B(I){I===void 0&&(I=!0),$=!!I,L(),c()||(p.pause(),i(qn))}function M(){$||(l||g?B(!1):E())}function L(){b&&(Dt(b,le,!$),nt(b,Et,n.i18n[$?"play":"pause"]))}function m(I){var N=f.bar;N&&It(N,"width",I*100+"%"),i(Xo,I)}function F(I){var N=e.Slides.getAt(I);p.set(N&&+Rt(N.slide,Di)||n.interval)}return{mount:h,destroy:p.cancel,play:E,pause:B,isPaused:c}}function Gi(t,e,n){var o=vt(t),r=o.on;function a(){n.cover&&(r(Yn,mt(p,!0)),r([ee,$t,St],mt(i,!0)))}function i(c){e.Slides.forEach(function(f){var u=He(f.container||f.slide,"img");u&&u.src&&p(c,u,f)})}function p(c,f,u){u.style("background",c?'center/cover no-repeat url("'+f.src+'")':"",!0),Re(f,c?"none":"")}return{mount:a,destroy:mt(i,!1)}}var qi=10,Yi=600,Xi=.6,Ki=1.5,Ji=800;function Zi(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=t.state.set,p=e.Move,c=p.getPosition,f=p.getLimit,u=p.exceededLimit,k=p.translate,b=t.is(Se),y,l,g=1;function $(){r(Yt,B),r([$t,St],M)}function h(m,F,I,N,R){var W=c();if(B(),I&&(!b||!u())){var _=e.Layout.sliderSize(),D=Ln(m)*_*rn(wt(m)/_)||0;m=p.toPosition(e.Controller.toDest(m%_))+D}var H=zo(W,m,1);g=1,F=H?0:F||on(wt(m-W)/Ki,Ji),l=N,y=un(F,v,mt(E,W,m,R),1),i(Ne),a(pn),y.start()}function v(){i(ve),l&&l(),a(se)}function E(m,F,I,N){var R=c(),W=m+(F-m)*L(N),_=(W-R)*g;k(R+_),b&&!I&&u()&&(g*=Xi,wt(_)<qi&&h(f(u(!0)),Yi,!1,l,!0))}function B(){y&&y.cancel()}function M(){y&&!y.isPaused()&&(B(),v())}function L(m){var F=n.easingFunc;return F?F(m):1-Math.pow(1-m,4)}return{mount:$,destroy:B,scroll:h,cancel:M}}var de={passive:!1,capture:!0};function Qi(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=o.bind,p=o.unbind,c=t.state,f=e.Move,u=e.Scroll,k=e.Controller,b=e.Elements.track,y=e.Media.reduce,l=e.Direction,g=l.resolve,$=l.orient,h=f.getPosition,v=f.exceededLimit,E,B,M,L,m,F=!1,I,N,R;function W(){i(b,$n,An,de),i(b,wn,An,de),i(b,pr,D,de),i(b,"click",w,{capture:!0}),i(b,"dragstart",Bt),r([ee,$t],_)}function _(){var P=n.drag;st(!P),L=P==="free"}function D(P){if(I=!1,!N){var S=tt(P);K(P.target)&&(S||!P.button)&&(k.isBusy()?Bt(P,!0):(R=S?b:window,m=c.is([xe,Ne]),M=null,i(R,$n,H,de),i(R,wn,d,de),f.cancel(),u.cancel(),C(P)))}}function H(P){if(c.is(Ze)||(c.set(Ze),a(Oo)),P.cancelable)if(m){f.translate(E+Y(it(P)));var S=pt(P)>ho,U=F!==(F=v());(S||U)&&C(P),I=!0,a(Bo),Bt(P)}else V(P)&&(m=A(P),Bt(P))}function d(P){c.is(Ze)&&(c.set(ve),a(Do)),m&&(T(P),Bt(P)),p(R,$n,H),p(R,wn,d),m=!1}function w(P){!N&&I&&Bt(P,!0)}function C(P){M=B,B=P,E=h()}function T(P){var S=q(P),U=at(S),G=n.rewind&&n.rewindByDrag;y(!1),L?k.scroll(U,0,n.snap):t.is(De)?k.go($(Ln(S))<0?G?"<":"-":G?">":"+"):t.is(Se)&&F&&G?k.go(v(!0)?">":"<"):k.go(k.toDest(U),!0),y(!0)}function A(P){var S=n.dragMinThreshold,U=Le(S),G=U&&S.mouse||0,Z=(U?S.touch:+S)||10;return wt(it(P))>(tt(P)?Z:G)}function V(P){return wt(it(P))>wt(it(P,!0))}function q(P){if(t.is($e)||!F){var S=pt(P);if(S&&S<ho)return it(P)/S}return 0}function at(P){return h()+Ln(P)*Qt(wt(P)*(n.flickPower||600),L?1/0:e.Layout.listSize()*(n.flickMaxPages||1))}function it(P,S){return J(P,S)-J(z(P),S)}function pt(P){return En(P)-En(z(P))}function z(P){return B===P&&M||B}function J(P,S){return(tt(P)?P.changedTouches[0]:P)["page"+g(S?"Y":"X")]}function Y(P){return P/(F&&t.is(Se)?Ii:1)}function K(P){var S=n.noDrag;return!Fe(P,"."+ir+", ."+hn)&&(!S||!Fe(P,S))}function tt(P){return typeof TouchEvent<"u"&&P instanceof TouchEvent}function ct(){return m}function st(P){N=P}return{mount:W,disable:st,isDragging:ct}}var ta={Spacebar:" ",Right:mn,Left:gn,Up:Zo,Down:Qo};function Qn(t){return t=Zt(t)?t:t.key,ta[t]||t}var vo="keydown";function ea(t,e,n){var o=vt(t),r=o.on,a=o.bind,i=o.unbind,p=t.root,c=e.Direction.resolve,f,u;function k(){b(),r($t,y),r($t,b),r(Yt,g)}function b(){var h=n.keyboard;h&&(f=h==="global"?window:p,a(f,vo,$))}function y(){i(f,vo)}function l(h){u=h}function g(){var h=u;u=!0,Lo(function(){u=h})}function $(h){if(!u){var v=Qn(h);v===c(gn)?t.go("<"):v===c(mn)&&t.go(">")}}return{mount:k,destroy:y,disable:l}}var Ee=Hn+"-lazy",en=Ee+"-srcset",na="["+Ee+"], ["+en+"]";function oa(t,e,n){var o=vt(t),r=o.on,a=o.off,i=o.bind,p=o.emit,c=n.lazyLoad==="sequential",f=[Ce,se],u=[];function k(){n.lazyLoad&&(b(),r(St,b))}function b(){qt(u),y(),c?h():(a(f),r(f,l),l())}function y(){e.Slides.forEach(function(v){jn(v.slide,na).forEach(function(E){var B=Rt(E,Ee),M=Rt(E,en);if(B!==E.src||M!==E.srcset){var L=n.classes.spinner,m=E.parentElement,F=He(m,"."+L)||me("span",L,m);u.push([E,v,F]),E.src||Re(E,"none")}})})}function l(){u=u.filter(function(v){var E=n.perPage*((n.preloadPages||1)+1)-1;return v[1].isWithin(t.index,E)?g(v):!0}),u.length||a(f)}function g(v){var E=v[0];zt(v[1].slide,Rn),i(E,"load error",mt($,v)),nt(E,"src",Rt(E,Ee)),nt(E,"srcset",Rt(E,en)),Nt(E,Ee),Nt(E,en)}function $(v,E){var B=v[0],M=v[1];Ut(M.slide,Rn),E.type!=="error"&&(ae(v[2]),Re(B,""),p(Yn,B,M),p(be)),c&&h()}function h(){u.length&&g(u.shift())}return{mount:k,destroy:mt(qt,u),check:l}}function ra(t,e,n){var o=vt(t),r=o.on,a=o.emit,i=o.bind,p=e.Slides,c=e.Elements,f=e.Controller,u=f.hasFocus,k=f.getIndex,b=f.go,y=e.Direction.resolve,l=c.pagination,g=[],$,h;function v(){E(),r([$t,St,an],v);var N=n.pagination;l&&Re(l,N?"":"none"),N&&(r([Yt,pn,se],I),B(),I(),a(qo,{list:$,items:g},F(t.index)))}function E(){$&&(ae(l?te($.children):$),Ut($,h),qt(g),$=null),o.destroy()}function B(){var N=t.length,R=n.classes,W=n.i18n,_=n.perPage,D=u()?f.getEnd()+1:We(N/_);$=l||me("ul",R.pagination,c.track.parentElement),zt($,h=vn+"--"+m()),nt($,Gt,"tablist"),nt($,Et,W.select),nt($,Kn,m()===fn?"vertical":"");for(var H=0;H<D;H++){var d=me("li",null,$),w=me("button",{class:R.page,type:"button"},d),C=p.getIn(H).map(function(A){return A.slide.id}),T=!u()&&_>1?W.pageX:W.slideX;i(w,"click",mt(M,H)),n.paginationKeyboard&&i(w,"keydown",mt(L,H)),nt(d,Gt,"presentation"),nt(w,Gt,"tab"),nt(w,Be,C.join(" ")),nt(w,Et,Fn(T,H+1)),nt(w,fe,-1),g.push({li:d,button:w,page:H})}}function M(N){b(">"+N,!0)}function L(N,R){var W=g.length,_=Qn(R),D=m(),H=-1;_===y(mn,!1,D)?H=++N%W:_===y(gn,!1,D)?H=(--N+W)%W:_==="Home"?H=0:_==="End"&&(H=W-1);var d=g[H];d&&(Ro(d.button),b(">"+H),Bt(R,!0))}function m(){return n.paginationDirection||n.direction}function F(N){return g[f.toPage(N)]}function I(){var N=F(k(!0)),R=F(k());if(N){var W=N.button;Ut(W,le),Nt(W,uo),nt(W,fe,-1)}if(R){var _=R.button;zt(_,le),nt(_,uo,!0),nt(_,fe,"")}a(Yo,{list:$,items:g},N,R)}return{items:g,mount:v,destroy:E,getAt:F,update:I}}var ia=[" ","Enter"];function aa(t,e,n){var o=n.isNavigation,r=n.slideFocus,a=[];function i(){t.splides.forEach(function(l){l.isParent||(f(t,l.splide),f(l.splide,t))}),o&&u()}function p(){a.forEach(function(l){l.destroy()}),qt(a)}function c(){p(),i()}function f(l,g){var $=vt(l);$.on(Yt,function(h,v,E){g.go(g.is($e)?E:h)}),a.push($)}function u(){var l=vt(t),g=l.on;g(Bn,b),g(Ko,y),g([ee,$t],k),a.push(l),l.emit(Un,t.splides)}function k(){nt(e.Elements.list,Kn,n.direction===fn?"vertical":"")}function b(l){t.go(l.index)}function y(l,g){Mn(ia,Qn(g))&&(b(l),Bt(g))}return{setup:mt(e.Media.set,{slideFocus:Me(r)?o:r},!0),mount:i,destroy:p,remount:c}}function la(t,e,n){var o=vt(t),r=o.bind,a=0;function i(){n.wheel&&r(e.Elements.track,"wheel",p,de)}function p(f){if(f.cancelable){var u=f.deltaY,k=u<0,b=En(f),y=n.wheelMinThreshold||0,l=n.wheelSleep||0;wt(u)>y&&b-a>l&&(t.go(k?"<":">"),a=b),c(k)&&Bt(f)}}function c(f){return!n.releaseWheel||t.state.is(xe)||e.Controller.getAdjacent(f)!==-1}return{mount:i}}var sa=90;function ca(t,e,n){var o=vt(t),r=o.on,a=e.Elements.track,i=n.live&&!n.isNavigation,p=me("span",Ai),c=un(sa,mt(u,!1));function f(){i&&(b(!e.Autoplay.isPaused()),nt(a,fo,!0),p.textContent="…",r(Gn,mt(b,!0)),r(qn,mt(b,!1)),r([Ce,se],mt(u,!0)))}function u(y){nt(a,mo,y),y?(je(a,p),c.start()):(ae(p),c.cancel())}function k(){Nt(a,[go,fo,mo]),ae(p)}function b(y){i&&nt(a,go,y?"off":"polite")}return{mount:f,disable:b,destroy:k}}var pa=Object.freeze({__proto__:null,Media:vi,Direction:bi,Elements:Ri,Slides:Vi,Layout:zi,Clones:Mi,Move:Pi,Controller:ji,Arrows:Bi,Autoplay:Ui,Cover:Gi,Scroll:Zi,Drag:Qi,Keyboard:ea,LazyLoad:oa,Pagination:ra,Sync:aa,Wheel:la,Live:ca}),ua={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},da={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:Fi,i18n:ua,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function ga(t,e,n){var o=e.Slides;function r(){vt(t).on([ee,St],a)}function a(){o.forEach(function(p){p.style("transform","translateX(-"+100*p.index+"%)")})}function i(p,c){o.style("transition","opacity "+n.speed+"ms "+n.easing),Lo(c)}return{mount:r,start:i,cancel:An}}function ma(t,e,n){var o=e.Move,r=e.Controller,a=e.Scroll,i=e.Elements.list,p=mt(It,i,"transition"),c;function f(){vt(t).bind(i,"transitionend",function(y){y.target===i&&c&&(k(),c())})}function u(y,l){var g=o.toPosition(y,!0),$=o.getPosition(),h=b(y);wt(g-$)>=1&&h>=1?n.useScroll?a.scroll(g,h,!1,l):(p("transform "+h+"ms "+n.easing),o.translate(g,!0),c=l):(o.jump(y),l())}function k(){p(""),a.cancel()}function b(y){var l=n.rewindSpeed;if(t.is(Se)&&l){var g=r.getIndex(!0),$=r.getEnd();if(g===0&&y>=$||g>=$&&y===0)return l}return n.speed}return{mount:f,start:u,cancel:k}}var fa=(function(){function t(n,o){this.event=vt(),this.Components={},this.state=yi(ge),this.splides=[],this._o={},this._E={};var r=Zt(n)?Vo(document,n):n;Ae(r,r+" is invalid."),this.root=r,o=Kt({label:Rt(r,Et)||"",labelledby:Rt(r,Xn)||""},da,t.defaults,o||{});try{Kt(o,JSON.parse(Rt(r,Hn)))}catch{Ae(!1,"Invalid JSON")}this._o=Object.create(Kt({},o))}var e=t.prototype;return e.mount=function(o,r){var a=this,i=this.state,p=this.Components;Ae(i.is([ge,nn]),"Already mounted!"),i.set(ge),this._C=p,this._T=r||this._T||(this.is(De)?ga:ma),this._E=o||this._E;var c=Ie({},pa,this._E,{Transition:this._T});return ie(c,function(f,u){var k=f(a,p,a._o);p[u]=k,k.setup&&k.setup()}),ie(p,function(f){f.mount&&f.mount()}),this.emit(ee),zt(this.root,Ei),i.set(ve),this.emit(kn),this},e.sync=function(o){return this.splides.push({splide:o}),o.splides.push({splide:this,isParent:!0}),this.state.is(ve)&&(this._C.Sync.remount(),o.Components.Sync.remount()),this},e.go=function(o){return this._C.Controller.go(o),this},e.on=function(o,r){return this.event.on(o,r),this},e.off=function(o){return this.event.off(o),this},e.emit=function(o){var r;return(r=this.event).emit.apply(r,[o].concat(te(arguments,1))),this},e.add=function(o,r){return this._C.Slides.add(o,r),this},e.remove=function(o){return this._C.Slides.remove(o),this},e.is=function(o){return this._o.type===o},e.refresh=function(){return this.emit(St),this},e.destroy=function(o){o===void 0&&(o=!0);var r=this.event,a=this.state;return a.is(ge)?vt(this).on(kn,this.destroy.bind(this,o)):(ie(this._C,function(i){i.destroy&&i.destroy(o)},!0),r.emit(Dn),r.destroy(),o&&qt(this.splides),a.set(nn)),this},ui(t,[{key:"options",get:function(){return this._o},set:function(o){this._C.Media.set(o,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),t})(),to=fa;to.defaults={};to.STATES=gi;var bo=[[ee,"onMounted"],[kn,"onReady"],[Yt,"onMove"],[Ce,"onMoved"],[Bn,"onClick"],[Mo,"onActive"],[Po,"onInactive"],[jo,"onVisible"],[Ho,"onHidden"],[St,"onRefresh"],[$t,"onUpdated"],[be,"onResize"],[cn,"onResized"],[Oo,"onDrag"],[Bo,"onDragging"],[Do,"onDragged"],[pn,"onScroll"],[se,"onScrolled"],[Dn,"onDestroy"],[Uo,"onArrowsMounted"],[Go,"onArrowsUpdated"],[qo,"onPaginationMounted"],[Yo,"onPaginationUpdated"],[Un,"onNavigationMounted"],[Gn,"onAutoplayPlay"],[Xo,"onAutoplayPlaying"],[qn,"onAutoplayPause"],[Yn,"onLazyLoadLoaded"]];function eo(...t){return t.filter(Boolean).join(" ")}function ln(t){return t!==null&&typeof t=="object"}function Wn(t,e){if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&!t.some((n,o)=>!Wn(n,e[o]));if(ln(t)&&ln(e)){const n=Object.keys(t),o=Object.keys(e);return n.length===o.length&&!n.some(r=>!Object.prototype.hasOwnProperty.call(e,r)||!Wn(t[r],e[r]))}return t===e}function ya(t,e){return t.length===e.length&&!t.some((n,o)=>n!==e[o])}function ha(t,e){if(t){const n=Object.keys(t);for(let o=0;o<n.length;o++){const r=n[o];if(r!=="__proto__"&&e(t[r],r)===!1)break}}return t}function Vn(t,e){const n=t;return ha(e,(o,r)=>{Array.isArray(o)?n[r]=o.slice():ln(o)?n[r]=Vn(ln(n[r])?n[r]:{},o):n[r]=o}),n}var va=({children:t,className:e,...n})=>j.createElement("div",{className:eo("splide__track",e),...n},j.createElement("ul",{className:"splide__list"},t)),ur=class extends j.Component{constructor(){super(...arguments),this.splideRef=j.createRef(),this.slides=[]}componentDidMount(){const{options:t,extensions:e,transition:n}=this.props,{current:o}=this.splideRef;o&&(this.splide=new to(o,t),this.bind(this.splide),this.splide.mount(e,n),this.options=Vn({},t||{}),this.slides=this.getSlides())}componentWillUnmount(){this.splide&&(this.splide.destroy(),this.splide=void 0),this.options=void 0,this.slides.length=0}componentDidUpdate(){if(!this.splide)return;const{options:t}=this.props;t&&!Wn(this.options,t)&&(this.splide.options=t,this.options=Vn({},t));const e=this.getSlides();ya(this.slides,e)||(this.splide.refresh(),this.slides=e)}sync(t){var e;(e=this.splide)==null||e.sync(t)}go(t){var e;(e=this.splide)==null||e.go(t)}getSlides(){var t;if(this.splide){const e=(t=this.splide.Components.Elements)==null?void 0:t.list.children;return e&&Array.prototype.slice.call(e)||[]}return[]}bind(t){bo.forEach(([e,n])=>{const o=this.props[n];typeof o=="function"&&t.on(e,(...r)=>{o(t,...r)})})}omit(t,e){return e.forEach(n=>{Object.prototype.hasOwnProperty.call(t,n)&&delete t[n]}),t}render(){const{className:t,tag:e="div",hasTrack:n=!0,children:o,...r}=this.props;return j.createElement(e,{className:eo("splide",t),ref:this.splideRef,...this.omit(r,["options",...bo.map(a=>a[1])])},n?j.createElement(va,null,o):o)}},dr=({children:t,className:e,...n})=>j.createElement("li",{className:eo("splide__slide",e),...n},t);/*!
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),S=require("react"),me=require("classnames"),w=require("./useScopedStyles-DpVdqfXj.js"),br=require("react-dom");function xr(e){return e.type==="object"&&e.version===1}const Sr="ControlSlider-module__wrapper___sHEkd",Cr="ControlSlider-module__hoverArrow___A-dOH",wr="ControlSlider-module__sliderItem___QQSkR",Tr="ControlSlider-module__sliderImage___9hRl-",_r="ControlSlider-module__arrow___05ghY",$r="ControlSlider-module__arrowVertical___tBfVN",Ar="ControlSlider-module__nextArrow___-30Yc",Er="ControlSlider-module__arrowInner___aEra3",Ir="ControlSlider-module__arrowIcon___S4ztF",Lr="ControlSlider-module__arrowImg___2dwJW",Fr="ControlSlider-module__mirror___brd6U",kr="ControlSlider-module__pagination___bicLF",Rr="ControlSlider-module__paginationInner___bT-P-",Mr="ControlSlider-module__paginationVertical___zYqKw",Pr="ControlSlider-module__paginationItem___nTRbk",Wr="ControlSlider-module__dot___p1Qun",zr="ControlSlider-module__activeDot___LHFaj",Hr="ControlSlider-module__paginationInsideBottom___R3FWn",Vr="ControlSlider-module__paginationInsideTop___V-qb-",Nr="ControlSlider-module__paginationOutsideBottom___14w8D",Or="ControlSlider-module__paginationOutsideTop___SCLqB",jr="ControlSlider-module__paginationInsideLeft___yOBRZ",Br="ControlSlider-module__paginationInsideRight___Rtt3o",Dr="ControlSlider-module__paginationOutsideLeft___lahaw",Ur="ControlSlider-module__paginationOutsideRight___EtuQa",qr="ControlSlider-module__imgWrapper___UjEgB",Gr="ControlSlider-module__captionBlock___dJ6-j",Yr="ControlSlider-module__captionTextWrapper___HFlpf",Xr="ControlSlider-module__captionText___uGBVc",Kr="ControlSlider-module__active___WZK4G",Jr="ControlSlider-module__withPointerEvents___t-18M",Zr="ControlSlider-module__topLeftAlignment___zjnGM",Qr="ControlSlider-module__topCenterAlignment___gD1xW",ei="ControlSlider-module__topRightAlignment___NMapS",ti="ControlSlider-module__middleLeftAlignment___OnUrY",ni="ControlSlider-module__middleCenterAlignment___Tdkl0",oi="ControlSlider-module__middleRightAlignment___wEbfX",ri="ControlSlider-module__bottomLeftAlignment___cTP2-",ii="ControlSlider-module__bottomCenterAlignment___c54fB",ai="ControlSlider-module__bottomRightAlignment___kEwrz",li="ControlSlider-module__clickOverlay___DZA28",si="ControlSlider-module__contain___pLyq7",ci="ControlSlider-module__cover___KdDat",te={wrapper:Sr,hoverArrow:Cr,sliderItem:wr,sliderImage:Tr,arrow:_r,arrowVertical:$r,nextArrow:Ar,arrowInner:Er,arrowIcon:Ir,arrowImg:Lr,mirror:Fr,pagination:kr,paginationInner:Rr,paginationVertical:Mr,paginationItem:Pr,dot:Wr,activeDot:zr,paginationInsideBottom:Hr,paginationInsideTop:Vr,paginationOutsideBottom:Nr,paginationOutsideTop:Or,paginationInsideLeft:jr,paginationInsideRight:Br,paginationOutsideLeft:Dr,paginationOutsideRight:Ur,imgWrapper:qr,captionBlock:Gr,captionTextWrapper:Yr,captionText:Xr,active:Kr,withPointerEvents:Jr,topLeftAlignment:Zr,topCenterAlignment:Qr,topRightAlignment:ei,middleLeftAlignment:ti,middleCenterAlignment:ni,middleRightAlignment:oi,bottomLeftAlignment:ri,bottomCenterAlignment:ii,bottomRightAlignment:ai,clickOverlay:li,contain:si,cover:ci};function ui(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function pi(e,t,n){return t&&ui(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}var io="(prefers-reduced-motion: reduce)",yt=1,di=2,xt=3,wt=4,Ht=5,Qt=6,on=7,gi={CREATED:yt,MOUNTED:di,IDLE:xt,MOVING:wt,SCROLLING:Ht,DRAGGING:Qt,DESTROYED:on};function Je(e){e.length=0}function rt(e,t,n){return Array.prototype.slice.call(e,t,n)}function he(e){return e.bind.apply(e,[null].concat(rt(arguments,1)))}var Io=setTimeout,An=function(){};function ao(e){return requestAnimationFrame(e)}function cn(e,t){return typeof t===e}function Lt(e){return!zn(e)&&cn("object",e)}var Wn=Array.isArray,Lo=he(cn,"function"),nt=he(cn,"string"),Vt=he(cn,"undefined");function zn(e){return e===null}function Fo(e){try{return e instanceof(e.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function Nt(e){return Wn(e)?e:[e]}function Re(e,t){Nt(e).forEach(t)}function Hn(e,t){return e.indexOf(t)>-1}function en(e,t){return e.push.apply(e,Nt(t)),e}function Ye(e,t,n){e&&Re(t,function(o){o&&e.classList[n?"add":"remove"](o)})}function Oe(e,t){Ye(e,nt(t)?t.split(" "):t,!0)}function Ot(e,t){Re(t,e.appendChild.bind(e))}function Vn(e,t){Re(e,function(n){var o=(t||n).parentNode;o&&o.insertBefore(n,t)})}function Ft(e,t){return Fo(e)&&(e.msMatchesSelector||e.matches).call(e,t)}function ko(e,t){var n=e?rt(e.children):[];return t?n.filter(function(o){return Ft(o,t)}):n}function jt(e,t){return t?ko(e,t)[0]:e.firstElementChild}var kt=Object.keys;function st(e,t,n){return e&&(n?kt(e).reverse():kt(e)).forEach(function(o){o!=="__proto__"&&t(e[o],o)}),e}function Rt(e){return rt(arguments,1).forEach(function(t){st(t,function(n,o){e[o]=t[o]})}),e}function Qe(e){return rt(arguments,1).forEach(function(t){st(t,function(n,o){Wn(n)?e[o]=n.slice():Lt(n)?e[o]=Qe({},Lt(e[o])?e[o]:{},n):e[o]=n})}),e}function lo(e,t){Re(t||kt(e),function(n){delete e[n]})}function je(e,t){Re(e,function(n){Re(t,function(o){n&&n.removeAttribute(o)})})}function ae(e,t,n){Lt(t)?st(t,function(o,r){ae(e,r,o)}):Re(e,function(o){zn(n)||n===""?je(o,t):o.setAttribute(t,String(n))})}function ht(e,t,n){var o=document.createElement(e);return t&&(nt(t)?Oe(o,t):ae(o,t)),n&&Ot(n,o),o}function We(e,t,n){if(Vt(n))return getComputedStyle(e)[t];zn(n)||(e.style[t]=""+n)}function Mt(e,t){We(e,"display",t)}function Ro(e){e.setActive&&e.setActive()||e.focus({preventScroll:!0})}function ze(e,t){return e.getAttribute(t)}function so(e,t){return e&&e.classList.contains(t)}function Fe(e){return e.getBoundingClientRect()}function ct(e){Re(e,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function Mo(e){return jt(new DOMParser().parseFromString(e,"text/html").body)}function Ge(e,t){e.preventDefault(),t&&(e.stopPropagation(),e.stopImmediatePropagation())}function Po(e,t){return e&&e.querySelector(t)}function Nn(e,t){return t?rt(e.querySelectorAll(t)):[]}function Xe(e,t){Ye(e,t,!1)}function En(e){return e.timeStamp}function lt(e){return nt(e)?e:e?e+"px":""}var Bt="splide",On="data-"+Bt;function Et(e,t){if(!e)throw new Error("["+Bt+"] "+(t||""))}var ot=Math.min,rn=Math.max,an=Math.floor,Pt=Math.ceil,Ie=Math.abs;function Wo(e,t,n){return Ie(e-t)<n}function tn(e,t,n,o){var r=ot(t,n),l=rn(t,n);return o?r<e&&e<l:r<=e&&e<=l}function mt(e,t,n){var o=ot(t,n),r=rn(t,n);return ot(rn(o,e),r)}function In(e){return+(e>0)-+(e<0)}function Ln(e,t){return Re(t,function(n){e=e.replace("%s",""+n)}),e}function jn(e){return e<10?"0"+e:""+e}var co={};function mi(e){return""+e+jn(co[e]=(co[e]||0)+1)}function zo(){var e=[];function t(i,c,p,m){r(i,c,function(u,E,x){var h="addEventListener"in u,d=h?u.removeEventListener.bind(u,E,p,m):u.removeListener.bind(u,p);h?u.addEventListener(E,p,m):u.addListener(p),e.push([u,E,x,p,d])})}function n(i,c,p){r(i,c,function(m,u,E){e=e.filter(function(x){return x[0]===m&&x[1]===u&&x[2]===E&&(!p||x[3]===p)?(x[4](),!1):!0})})}function o(i,c,p){var m,u=!0;return typeof CustomEvent=="function"?m=new CustomEvent(c,{bubbles:u,detail:p}):(m=document.createEvent("CustomEvent"),m.initCustomEvent(c,u,!1,p)),i.dispatchEvent(m),m}function r(i,c,p){Re(i,function(m){m&&Re(c,function(u){u.split(" ").forEach(function(E){var x=E.split(".");p(m,x[0],x[1])})})})}function l(){e.forEach(function(i){i[4]()}),Je(e)}return{bind:t,unbind:n,dispatch:o,destroy:l}}var it="mounted",Fn="ready",Ze="move",Tt="moved",Bn="click",Ho="active",Vo="inactive",No="visible",Oo="hidden",Ce="refresh",Ee="updated",St="resize",un="resized",jo="drag",Bo="dragging",Do="dragged",pn="scroll",pt="scrolled",fi="overflow",Dn="destroy",Uo="arrows:mounted",qo="arrows:updated",Go="pagination:mounted",Yo="pagination:updated",Un="navigation:mounted",qn="autoplay:play",Xo="autoplay:playing",Gn="autoplay:pause",Yn="lazyload:loaded",Ko="sk",Jo="sh",ln="ei";function xe(e){var t=e?e.event.bus:document.createDocumentFragment(),n=zo();function o(l,i){n.bind(t,Nt(l).join(" "),function(c){i.apply(i,Wn(c.detail)?c.detail:[])})}function r(l){n.dispatch(t,l,rt(arguments,1))}return e&&e.event.on(Dn,n.destroy),Rt(n,{bus:t,on:o,off:he(n.unbind,t),emit:r})}function dn(e,t,n,o){var r=Date.now,l,i=0,c,p=!0,m=0;function u(){if(!p){if(i=e?ot((r()-l)/e,1):1,n&&n(i),i>=1&&(t(),l=r(),o&&++m>=o))return x();c=ao(u)}}function E(v){v||d(),l=r()-(v?i*e:0),p=!1,c=ao(u)}function x(){p=!0}function h(){l=r(),i=0,n&&n(i)}function d(){c&&cancelAnimationFrame(c),i=0,c=0,p=!0}function g(v){e=v}function C(){return p}return{start:E,rewind:h,pause:x,cancel:d,set:g,isPaused:C}}function yi(e){var t=e;function n(r){t=r}function o(r){return Hn(Nt(r),t)}return{set:n,is:o}}function hi(e,t){var n=dn(0,e,null,1);return function(){n.isPaused()&&n.start()}}function vi(e,t,n){var o=e.state,r=n.breakpoints||{},l=n.reducedMotion||{},i=zo(),c=[];function p(){var d=n.mediaQuery==="min";kt(r).sort(function(g,C){return d?+g-+C:+C-+g}).forEach(function(g){u(r[g],"("+(d?"min":"max")+"-width:"+g+"px)")}),u(l,io),E()}function m(d){d&&i.destroy()}function u(d,g){var C=matchMedia(g);i.bind(C,"change",E),c.push([d,C])}function E(){var d=o.is(on),g=n.direction,C=c.reduce(function(v,b){return Qe(v,b[1].matches?b[0]:{})},{});lo(n),h(C),n.destroy?e.destroy(n.destroy==="completely"):d?(m(!0),e.mount()):g!==n.direction&&e.refresh()}function x(d){matchMedia(io).matches&&(d?Qe(n,l):lo(n,kt(l)))}function h(d,g,C){Qe(n,d),g&&Qe(Object.getPrototypeOf(n),d),(C||!o.is(yt))&&e.emit(Ee,n)}return{setup:p,destroy:m,reduce:x,set:h}}var gn="Arrow",mn=gn+"Left",fn=gn+"Right",Zo=gn+"Up",Qo=gn+"Down",uo="rtl",yn="ttb",Sn={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[Zo,fn],ArrowRight:[Qo,mn]};function bi(e,t,n){function o(l,i,c){c=c||n.direction;var p=c===uo&&!i?1:c===yn?0:-1;return Sn[l]&&Sn[l][p]||l.replace(/width|left|right/i,function(m,u){var E=Sn[m.toLowerCase()][p]||m;return u>0?E.charAt(0).toUpperCase()+E.slice(1):E})}function r(l){return l*(n.direction===uo?1:-1)}return{resolve:o,orient:r}}var Ke="role",vt="tabindex",xi="disabled",He="aria-",Dt=He+"controls",er=He+"current",po=He+"selected",ke=He+"label",Xn=He+"labelledby",tr=He+"hidden",Kn=He+"orientation",Wt=He+"roledescription",go=He+"live",mo=He+"busy",fo=He+"atomic",Jn=[Ke,vt,xi,Dt,er,ke,Xn,tr,Kn,Wt],Be=Bt+"__",at="is-",Cn=Bt,yo=Be+"track",Si=Be+"list",hn=Be+"slide",nr=hn+"--clone",Ci=hn+"__container",Zn=Be+"arrows",vn=Be+"arrow",or=vn+"--prev",rr=vn+"--next",bn=Be+"pagination",ir=bn+"__page",wi=Be+"progress",Ti=wi+"__bar",_i=Be+"toggle",$i=Be+"spinner",Ai=Be+"sr",Ei=at+"initialized",ut=at+"active",ar=at+"prev",lr=at+"next",kn=at+"visible",Rn=at+"loading",sr=at+"focus-in",cr=at+"overflow",Ii=[ut,kn,ar,lr,Rn,sr,cr],Li={slide:hn,clone:nr,arrows:Zn,arrow:vn,prev:or,next:rr,pagination:bn,page:ir,spinner:$i};function Fi(e,t){if(Lo(e.closest))return e.closest(t);for(var n=e;n&&n.nodeType===1&&!Ft(n,t);)n=n.parentElement;return n}var ki=5,ho=200,ur="touchstart mousedown",wn="touchmove mousemove",Tn="touchend touchcancel mouseup click";function Ri(e,t,n){var o=xe(e),r=o.on,l=o.bind,i=e.root,c=n.i18n,p={},m=[],u=[],E=[],x,h,d;function g(){A(),j(),b()}function C(){r(Ce,v),r(Ce,g),r(Ee,b),l(document,ur+" keydown",function(f){d=f.type==="keydown"},{capture:!0}),l(i,"focusin",function(){Ye(i,sr,!!d)})}function v(f){var F=Jn.concat("style");Je(m),Xe(i,u),Xe(x,E),je([x,h],F),je(i,f?F:["style",Wt])}function b(){Xe(i,u),Xe(x,E),u=$(Cn),E=$(yo),Oe(i,u),Oe(x,E),ae(i,ke,n.label),ae(i,Xn,n.labelledby)}function A(){x=N("."+yo),h=jt(x,"."+Si),Et(x&&h,"A track/list element is missing."),en(m,ko(h,"."+hn+":not(."+nr+")")),st({arrows:Zn,pagination:bn,prev:or,next:rr,bar:Ti,toggle:_i},function(f,F){p[F]=N("."+f)}),Rt(p,{root:i,track:x,list:h,slides:m})}function j(){var f=i.id||mi(Bt),F=n.role;i.id=f,x.id=x.id||f+"-track",h.id=h.id||f+"-list",!ze(i,Ke)&&i.tagName!=="SECTION"&&F&&ae(i,Ke,F),ae(i,Wt,c.carousel),ae(h,Ke,"presentation")}function N(f){var F=Po(i,f);return F&&Fi(F,"."+Cn)===i?F:void 0}function $(f){return[f+"--"+n.type,f+"--"+n.direction,n.drag&&f+"--draggable",n.isNavigation&&f+"--nav",f===Cn&&ut]}return Rt(p,{setup:g,mount:C,destroy:v})}var Ct="slide",_t="loop",Ut="fade";function Mi(e,t,n,o){var r=xe(e),l=r.on,i=r.emit,c=r.bind,p=e.Components,m=e.root,u=e.options,E=u.isNavigation,x=u.updateOnMove,h=u.i18n,d=u.pagination,g=u.slideFocus,C=p.Direction.resolve,v=ze(o,"style"),b=ze(o,ke),A=n>-1,j=jt(o,"."+Ci),N;function $(){A||(o.id=m.id+"-slide"+jn(t+1),ae(o,Ke,d?"tabpanel":"group"),ae(o,Wt,h.slide),ae(o,ke,b||Ln(h.slideLabel,[t+1,e.length]))),f()}function f(){c(o,"click",he(i,Bn,I)),c(o,"keydown",he(i,Ko,I)),l([Tt,Jo,pt],R),l(Un,P),x&&l(Ze,O)}function F(){N=!0,r.destroy(),Xe(o,Ii),je(o,Jn),ae(o,"style",v),ae(o,ke,b||"")}function P(){var L=e.splides.map(function(_){var z=_.splide.Components.Slides.getAt(t);return z?z.slide.id:""}).join(" ");ae(o,ke,Ln(h.slideX,(A?n:t)+1)),ae(o,Dt,L),ae(o,Ke,g?"button":""),g&&je(o,Wt)}function O(){N||R()}function R(){if(!N){var L=e.index;V(),W(),Ye(o,ar,t===L-1),Ye(o,lr,t===L+1)}}function V(){var L=G();L!==so(o,ut)&&(Ye(o,ut,L),ae(o,er,E&&L||""),i(L?Ho:Vo,I))}function W(){var L=y(),_=!L&&(!G()||A);if(e.state.is([wt,Ht])||ae(o,tr,_||""),ae(Nn(o,u.focusableNodes||""),vt,_?-1:""),g&&ae(o,vt,_?-1:0),L!==so(o,kn)&&(Ye(o,kn,L),i(L?No:Oo,I)),!L&&document.activeElement===o){var z=p.Slides.getAt(e.index);z&&Ro(z.slide)}}function K(L,_,z){We(z&&j||o,L,_)}function G(){var L=e.index;return L===t||u.cloneStatus&&L===n}function y(){if(e.is(Ut))return G();var L=Fe(p.Elements.track),_=Fe(o),z=C("left",!0),Z=C("right",!0);return an(L[z])<=Pt(_[z])&&an(_[Z])<=Pt(L[Z])}function k(L,_){var z=Ie(L-t);return!A&&(u.rewind||e.is(_t))&&(z=ot(z,e.length-z)),z<=_}var I={index:t,slideIndex:n,slide:o,container:j,isClone:A,mount:$,destroy:F,update:R,style:K,isWithin:k};return I}function Pi(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=o.bind,c=t.Elements,p=c.slides,m=c.list,u=[];function E(){x(),r(Ce,h),r(Ce,x)}function x(){p.forEach(function(R,V){g(R,V,-1)})}function h(){N(function(R){R.destroy()}),Je(u)}function d(){N(function(R){R.update()})}function g(R,V,W){var K=Mi(e,V,W,R);K.mount(),u.push(K),u.sort(function(G,y){return G.index-y.index})}function C(R){return R?$(function(V){return!V.isClone}):u}function v(R){var V=t.Controller,W=V.toIndex(R),K=V.hasFocus()?1:n.perPage;return $(function(G){return tn(G.index,W,W+K-1)})}function b(R){return $(R)[0]}function A(R,V){Re(R,function(W){if(nt(W)&&(W=Mo(W)),Fo(W)){var K=p[V];K?Vn(W,K):Ot(m,W),Oe(W,n.classes.slide),F(W,he(l,St))}}),l(Ce)}function j(R){ct($(R).map(function(V){return V.slide})),l(Ce)}function N(R,V){C(V).forEach(R)}function $(R){return u.filter(Lo(R)?R:function(V){return nt(R)?Ft(V.slide,R):Hn(Nt(R),V.index)})}function f(R,V,W){N(function(K){K.style(R,V,W)})}function F(R,V){var W=Nn(R,"img"),K=W.length;K?W.forEach(function(G){i(G,"load error",function(){--K||V()})}):V()}function P(R){return R?p.length:u.length}function O(){return u.length>n.perPage}return{mount:E,destroy:h,update:d,register:g,get:C,getIn:v,getAt:b,add:A,remove:j,forEach:N,filter:$,style:f,getLength:P,isEnough:O}}function Wi(e,t,n){var o=xe(e),r=o.on,l=o.bind,i=o.emit,c=t.Slides,p=t.Direction.resolve,m=t.Elements,u=m.root,E=m.track,x=m.list,h=c.getAt,d=c.style,g,C,v;function b(){A(),l(window,"resize load",hi(he(i,St))),r([Ee,Ce],A),r(St,j)}function A(){g=n.direction===yn,We(u,"maxWidth",lt(n.width)),We(E,p("paddingLeft"),N(!1)),We(E,p("paddingRight"),N(!0)),j(!0)}function j(I){var L=Fe(u);(I||C.width!==L.width||C.height!==L.height)&&(We(E,"height",$()),d(p("marginRight"),lt(n.gap)),d("width",F()),d("height",P(),!0),C=L,i(un),v!==(v=k())&&(Ye(u,cr,v),i(fi,v)))}function N(I){var L=n.padding,_=p(I?"right":"left");return L&<(L[_]||(Lt(L)?0:L))||"0px"}function $(){var I="";return g&&(I=f(),Et(I,"height or heightRatio is missing."),I="calc("+I+" - "+N(!1)+" - "+N(!0)+")"),I}function f(){return lt(n.height||Fe(x).width*n.heightRatio)}function F(){return n.autoWidth?null:lt(n.fixedWidth)||(g?"":O())}function P(){return lt(n.fixedHeight)||(g?n.autoHeight?null:O():f())}function O(){var I=lt(n.gap);return"calc((100%"+(I&&" + "+I)+")/"+(n.perPage||1)+(I&&" - "+I)+")"}function R(){return Fe(x)[p("width")]}function V(I,L){var _=h(I||0);return _?Fe(_.slide)[p("width")]+(L?0:G()):0}function W(I,L){var _=h(I);if(_){var z=Fe(_.slide)[p("right")],Z=Fe(x)[p("left")];return Ie(z-Z)+(L?0:G())}return 0}function K(I){return W(e.length-1)-W(0)+V(0,I)}function G(){var I=h(0);return I&&parseFloat(We(I.slide,p("marginRight")))||0}function y(I){return parseFloat(We(E,p("padding"+(I?"Right":"Left"))))||0}function k(){return e.is(Ut)||K(!0)>R()}return{mount:b,resize:j,listSize:R,slideSize:V,sliderSize:K,totalSize:W,getPadding:y,isOverflow:k}}var zi=2;function Hi(e,t,n){var o=xe(e),r=o.on,l=t.Elements,i=t.Slides,c=t.Direction.resolve,p=[],m;function u(){r(Ce,E),r([Ee,St],h),(m=C())&&(d(m),t.Layout.resize(!0))}function E(){x(),u()}function x(){ct(p),Je(p),o.destroy()}function h(){var v=C();m!==v&&(m<v||!v)&&o.emit(Ce)}function d(v){var b=i.get().slice(),A=b.length;if(A){for(;b.length<v;)en(b,b);en(b.slice(-v),b.slice(0,v)).forEach(function(j,N){var $=N<v,f=g(j.slide,N);$?Vn(f,b[0].slide):Ot(l.list,f),en(p,f),i.register(f,N-v+($?0:A),j.index)})}}function g(v,b){var A=v.cloneNode(!0);return Oe(A,n.classes.clone),A.id=e.root.id+"-clone"+jn(b+1),A}function C(){var v=n.clones;if(!e.is(_t))v=0;else if(Vt(v)){var b=n[c("fixedWidth")]&&t.Layout.slideSize(0),A=b&&Pt(Fe(l.track)[c("width")]/b);v=A||n[c("autoWidth")]&&e.length||n.perPage*zi}return v}return{mount:u,destroy:x}}function Vi(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=e.state.set,c=t.Layout,p=c.slideSize,m=c.getPadding,u=c.totalSize,E=c.listSize,x=c.sliderSize,h=t.Direction,d=h.resolve,g=h.orient,C=t.Elements,v=C.list,b=C.track,A;function j(){A=t.Transition,r([it,un,Ee,Ce],N)}function N(){t.Controller.isBusy()||(t.Scroll.cancel(),f(e.index),t.Slides.update())}function $(_,z,Z,se){_!==z&&I(_>Z)&&(R(),F(O(K(),_>Z),!0)),i(wt),l(Ze,z,Z,_),A.start(z,function(){i(xt),l(Tt,z,Z,_),se&&se()})}function f(_){F(W(_,!0))}function F(_,z){if(!e.is(Ut)){var Z=z?_:P(_);We(v,"transform","translate"+d("X")+"("+Z+"px)"),_!==Z&&l(Jo)}}function P(_){if(e.is(_t)){var z=V(_),Z=z>t.Controller.getEnd(),se=z<0;(se||Z)&&(_=O(_,Z))}return _}function O(_,z){var Z=_-k(z),se=x();return _-=g(se*(Pt(Ie(Z)/se)||1))*(z?1:-1),_}function R(){F(K(),!0),A.cancel()}function V(_){for(var z=t.Slides.get(),Z=0,se=1/0,ie=0;ie<z.length;ie++){var le=z[ie].index,H=Ie(W(le,!0)-_);if(H<=se)se=H,Z=le;else break}return Z}function W(_,z){var Z=g(u(_-1)-y(_));return z?G(Z):Z}function K(){var _=d("left");return Fe(v)[_]-Fe(b)[_]+g(m(!1))}function G(_){return n.trimSpace&&e.is(Ct)&&(_=mt(_,0,g(x(!0)-E()))),_}function y(_){var z=n.focus;return z==="center"?(E()-p(_,!0))/2:+z*p(_)||0}function k(_){return W(_?t.Controller.getEnd():0,!!n.trimSpace)}function I(_){var z=g(O(K(),_));return _?z>=0:z<=v[d("scrollWidth")]-Fe(b)[d("width")]}function L(_,z){z=Vt(z)?K():z;var Z=_!==!0&&g(z)<g(k(!1)),se=_!==!1&&g(z)>g(k(!0));return Z||se}return{mount:j,move:$,jump:f,translate:F,shift:O,cancel:R,toIndex:V,toPosition:W,getPosition:K,getLimit:k,exceededLimit:L,reposition:N}}function Ni(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=t.Move,c=i.getPosition,p=i.getLimit,m=i.toPosition,u=t.Slides,E=u.isEnough,x=u.getLength,h=n.omitEnd,d=e.is(_t),g=e.is(Ct),C=he(K,!1),v=he(K,!0),b=n.start||0,A,j=b,N,$,f;function F(){P(),r([Ee,Ce,ln],P),r(un,O)}function P(){N=x(!0),$=n.perMove,f=n.perPage,A=I();var H=mt(b,0,h?A:N-1);H!==b&&(b=H,i.reposition())}function O(){A!==I()&&l(ln)}function R(H,re,de){if(!le()){var ce=W(H),ye=k(ce);ye>-1&&(re||ye!==b)&&(Z(ye),i.move(ce,ye,j,de))}}function V(H,re,de,ce){t.Scroll.scroll(H,re,de,function(){var ye=k(i.toIndex(c()));Z(h?ot(ye,A):ye),ce&&ce()})}function W(H){var re=b;if(nt(H)){var de=H.match(/([+\-<>])(\d+)?/)||[],ce=de[1],ye=de[2];ce==="+"||ce==="-"?re=G(b+ +(""+ce+(+ye||1)),b):ce===">"?re=ye?L(+ye):C(!0):ce==="<"&&(re=v(!0))}else re=d?H:mt(H,0,A);return re}function K(H,re){var de=$||(ie()?1:f),ce=G(b+de*(H?-1:1),b,!($||ie()));return ce===-1&&g&&!Wo(c(),p(!H),1)?H?0:A:re?ce:k(ce)}function G(H,re,de){if(E()||ie()){var ce=y(H);ce!==H&&(re=H,H=ce,de=!1),H<0||H>A?!$&&(tn(0,H,re,!0)||tn(A,re,H,!0))?H=L(_(H)):d?H=de?H<0?-(N%f||f):N:H:n.rewind?H=H<0?A:0:H=-1:de&&H!==re&&(H=L(_(re)+(H<re?-1:1)))}else H=-1;return H}function y(H){if(g&&n.trimSpace==="move"&&H!==b)for(var re=c();re===m(H,!0)&&tn(H,0,e.length-1,!n.rewind);)H<b?--H:++H;return H}function k(H){return d?(H+N)%N||0:H}function I(){for(var H=N-(ie()||d&&$?1:f);h&&H-- >0;)if(m(N-1,!0)!==m(H,!0)){H++;break}return mt(H,0,N-1)}function L(H){return mt(ie()?H:f*H,0,A)}function _(H){return ie()?ot(H,A):an((H>=A?N-1:H)/f)}function z(H){var re=i.toIndex(H);return g?mt(re,0,A):re}function Z(H){H!==b&&(j=b,b=H)}function se(H){return H?j:b}function ie(){return!Vt(n.focus)||n.isNavigation}function le(){return e.state.is([wt,Ht])&&!!n.waitForTransition}return{mount:F,go:R,scroll:V,getNext:C,getPrev:v,getAdjacent:K,getEnd:I,setIndex:Z,getIndex:se,toIndex:L,toPage:_,toDest:z,hasFocus:ie,isBusy:le}}var Oi="http://www.w3.org/2000/svg",ji="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",Yt=40;function Bi(e,t,n){var o=xe(e),r=o.on,l=o.bind,i=o.emit,c=n.classes,p=n.i18n,m=t.Elements,u=t.Controller,E=m.arrows,x=m.track,h=E,d=m.prev,g=m.next,C,v,b={};function A(){N(),r(Ee,j)}function j(){$(),A()}function N(){var V=n.arrows;V&&!(d&&g)&&P(),d&&g&&(Rt(b,{prev:d,next:g}),Mt(h,V?"":"none"),Oe(h,v=Zn+"--"+n.direction),V&&(f(),R(),ae([d,g],Dt,x.id),i(Uo,d,g)))}function $(){o.destroy(),Xe(h,v),C?(ct(E?[d,g]:h),d=g=null):je([d,g],Jn)}function f(){r([it,Tt,Ce,pt,ln],R),l(g,"click",he(F,">")),l(d,"click",he(F,"<"))}function F(V){u.go(V,!0)}function P(){h=E||ht("div",c.arrows),d=O(!0),g=O(!1),C=!0,Ot(h,[d,g]),!E&&Vn(h,x)}function O(V){var W='<button class="'+c.arrow+" "+(V?c.prev:c.next)+'" type="button"><svg xmlns="'+Oi+'" viewBox="0 0 '+Yt+" "+Yt+'" width="'+Yt+'" height="'+Yt+'" focusable="false"><path d="'+(n.arrowPath||ji)+'" />';return Mo(W)}function R(){if(d&&g){var V=e.index,W=u.getPrev(),K=u.getNext(),G=W>-1&&V<W?p.last:p.prev,y=K>-1&&V>K?p.first:p.next;d.disabled=W<0,g.disabled=K<0,ae(d,ke,G),ae(g,ke,y),i(qo,d,g,W,K)}}return{arrows:b,mount:A,destroy:$,update:R}}var Di=On+"-interval";function Ui(e,t,n){var o=xe(e),r=o.on,l=o.bind,i=o.emit,c=dn(n.interval,e.go.bind(e,">"),f),p=c.isPaused,m=t.Elements,u=t.Elements,E=u.root,x=u.toggle,h=n.autoplay,d,g,C=h==="pause";function v(){h&&(b(),x&&ae(x,Dt,m.track.id),C||A(),$())}function b(){n.pauseOnHover&&l(E,"mouseenter mouseleave",function(P){d=P.type==="mouseenter",N()}),n.pauseOnFocus&&l(E,"focusin focusout",function(P){g=P.type==="focusin",N()}),x&&l(x,"click",function(){C?A():j(!0)}),r([Ze,pn,Ce],c.rewind),r(Ze,F)}function A(){p()&&t.Slides.isEnough()&&(c.start(!n.resetProgress),g=d=C=!1,$(),i(qn))}function j(P){P===void 0&&(P=!0),C=!!P,$(),p()||(c.pause(),i(Gn))}function N(){C||(d||g?j(!1):A())}function $(){x&&(Ye(x,ut,!C),ae(x,ke,n.i18n[C?"play":"pause"]))}function f(P){var O=m.bar;O&&We(O,"width",P*100+"%"),i(Xo,P)}function F(P){var O=t.Slides.getAt(P);c.set(O&&+ze(O.slide,Di)||n.interval)}return{mount:v,destroy:c.cancel,play:A,pause:j,isPaused:p}}function qi(e,t,n){var o=xe(e),r=o.on;function l(){n.cover&&(r(Yn,he(c,!0)),r([it,Ee,Ce],he(i,!0)))}function i(p){t.Slides.forEach(function(m){var u=jt(m.container||m.slide,"img");u&&u.src&&c(p,u,m)})}function c(p,m,u){u.style("background",p?'center/cover no-repeat url("'+m.src+'")':"",!0),Mt(m,p?"none":"")}return{mount:l,destroy:he(i,!1)}}var Gi=10,Yi=600,Xi=.6,Ki=1.5,Ji=800;function Zi(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=e.state.set,c=t.Move,p=c.getPosition,m=c.getLimit,u=c.exceededLimit,E=c.translate,x=e.is(Ct),h,d,g=1;function C(){r(Ze,j),r([Ee,Ce],N)}function v(f,F,P,O,R){var V=p();if(j(),P&&(!x||!u())){var W=t.Layout.sliderSize(),K=In(f)*W*an(Ie(f)/W)||0;f=c.toPosition(t.Controller.toDest(f%W))+K}var G=Wo(V,f,1);g=1,F=G?0:F||rn(Ie(f-V)/Ki,Ji),d=O,h=dn(F,b,he(A,V,f,R),1),i(Ht),l(pn),h.start()}function b(){i(xt),d&&d(),l(pt)}function A(f,F,P,O){var R=p(),V=f+(F-f)*$(O),W=(V-R)*g;E(R+W),x&&!P&&u()&&(g*=Xi,Ie(W)<Gi&&v(m(u(!0)),Yi,!1,d,!0))}function j(){h&&h.cancel()}function N(){h&&!h.isPaused()&&(j(),b())}function $(f){var F=n.easingFunc;return F?F(f):1-Math.pow(1-f,4)}return{mount:C,destroy:j,scroll:v,cancel:N}}var ft={passive:!1,capture:!0};function Qi(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=o.bind,c=o.unbind,p=e.state,m=t.Move,u=t.Scroll,E=t.Controller,x=t.Elements.track,h=t.Media.reduce,d=t.Direction,g=d.resolve,C=d.orient,v=m.getPosition,b=m.exceededLimit,A,j,N,$,f,F=!1,P,O,R;function V(){i(x,wn,An,ft),i(x,Tn,An,ft),i(x,ur,K,ft),i(x,"click",k,{capture:!0}),i(x,"dragstart",Ge),r([it,Ee],W)}function W(){var D=n.drag;$e(!D),$=D==="free"}function K(D){if(P=!1,!O){var s=ye(D);ce(D.target)&&(s||!D.button)&&(E.isBusy()?Ge(D,!0):(R=s?x:window,f=p.is([wt,Ht]),N=null,i(R,wn,G,ft),i(R,Tn,y,ft),m.cancel(),u.cancel(),I(D)))}}function G(D){if(p.is(Qt)||(p.set(Qt),l(jo)),D.cancelable)if(f){m.translate(A+de(ie(D)));var s=le(D)>ho,M=F!==(F=b());(s||M)&&I(D),P=!0,l(Bo),Ge(D)}else z(D)&&(f=_(D),Ge(D))}function y(D){p.is(Qt)&&(p.set(xt),l(Do)),f&&(L(D),Ge(D)),c(R,wn,G),c(R,Tn,y),f=!1}function k(D){!O&&P&&Ge(D,!0)}function I(D){N=j,j=D,A=v()}function L(D){var s=Z(D),M=se(s),Y=n.rewind&&n.rewindByDrag;h(!1),$?E.scroll(M,0,n.snap):e.is(Ut)?E.go(C(In(s))<0?Y?"<":"-":Y?">":"+"):e.is(Ct)&&F&&Y?E.go(b(!0)?">":"<"):E.go(E.toDest(M),!0),h(!0)}function _(D){var s=n.dragMinThreshold,M=Lt(s),Y=M&&s.mouse||0,ee=(M?s.touch:+s)||10;return Ie(ie(D))>(ye(D)?ee:Y)}function z(D){return Ie(ie(D))>Ie(ie(D,!0))}function Z(D){if(e.is(_t)||!F){var s=le(D);if(s&&s<ho)return ie(D)/s}return 0}function se(D){return v()+In(D)*ot(Ie(D)*(n.flickPower||600),$?1/0:t.Layout.listSize()*(n.flickMaxPages||1))}function ie(D,s){return re(D,s)-re(H(D),s)}function le(D){return En(D)-En(H(D))}function H(D){return j===D&&N||j}function re(D,s){return(ye(D)?D.changedTouches[0]:D)["page"+g(s?"Y":"X")]}function de(D){return D/(F&&e.is(Ct)?ki:1)}function ce(D){var s=n.noDrag;return!Ft(D,"."+ir+", ."+vn)&&(!s||!Ft(D,s))}function ye(D){return typeof TouchEvent<"u"&&D instanceof TouchEvent}function ve(){return f}function $e(D){O=D}return{mount:V,disable:$e,isDragging:ve}}var ea={Spacebar:" ",Right:fn,Left:mn,Up:Zo,Down:Qo};function Qn(e){return e=nt(e)?e:e.key,ea[e]||e}var vo="keydown";function ta(e,t,n){var o=xe(e),r=o.on,l=o.bind,i=o.unbind,c=e.root,p=t.Direction.resolve,m,u;function E(){x(),r(Ee,h),r(Ee,x),r(Ze,g)}function x(){var v=n.keyboard;v&&(m=v==="global"?window:c,l(m,vo,C))}function h(){i(m,vo)}function d(v){u=v}function g(){var v=u;u=!0,Io(function(){u=v})}function C(v){if(!u){var b=Qn(v);b===p(mn)?e.go("<"):b===p(fn)&&e.go(">")}}return{mount:E,destroy:h,disable:d}}var It=On+"-lazy",nn=It+"-srcset",na="["+It+"], ["+nn+"]";function oa(e,t,n){var o=xe(e),r=o.on,l=o.off,i=o.bind,c=o.emit,p=n.lazyLoad==="sequential",m=[Tt,pt],u=[];function E(){n.lazyLoad&&(x(),r(Ce,x))}function x(){Je(u),h(),p?v():(l(m),r(m,d),d())}function h(){t.Slides.forEach(function(b){Nn(b.slide,na).forEach(function(A){var j=ze(A,It),N=ze(A,nn);if(j!==A.src||N!==A.srcset){var $=n.classes.spinner,f=A.parentElement,F=jt(f,"."+$)||ht("span",$,f);u.push([A,b,F]),A.src||Mt(A,"none")}})})}function d(){u=u.filter(function(b){var A=n.perPage*((n.preloadPages||1)+1)-1;return b[1].isWithin(e.index,A)?g(b):!0}),u.length||l(m)}function g(b){var A=b[0];Oe(b[1].slide,Rn),i(A,"load error",he(C,b)),ae(A,"src",ze(A,It)),ae(A,"srcset",ze(A,nn)),je(A,It),je(A,nn)}function C(b,A){var j=b[0],N=b[1];Xe(N.slide,Rn),A.type!=="error"&&(ct(b[2]),Mt(j,""),c(Yn,j,N),c(St)),p&&v()}function v(){u.length&&g(u.shift())}return{mount:E,destroy:he(Je,u),check:d}}function ra(e,t,n){var o=xe(e),r=o.on,l=o.emit,i=o.bind,c=t.Slides,p=t.Elements,m=t.Controller,u=m.hasFocus,E=m.getIndex,x=m.go,h=t.Direction.resolve,d=p.pagination,g=[],C,v;function b(){A(),r([Ee,Ce,ln],b);var O=n.pagination;d&&Mt(d,O?"":"none"),O&&(r([Ze,pn,pt],P),j(),P(),l(Go,{list:C,items:g},F(e.index)))}function A(){C&&(ct(d?rt(C.children):C),Xe(C,v),Je(g),C=null),o.destroy()}function j(){var O=e.length,R=n.classes,V=n.i18n,W=n.perPage,K=u()?m.getEnd()+1:Pt(O/W);C=d||ht("ul",R.pagination,p.track.parentElement),Oe(C,v=bn+"--"+f()),ae(C,Ke,"tablist"),ae(C,ke,V.select),ae(C,Kn,f()===yn?"vertical":"");for(var G=0;G<K;G++){var y=ht("li",null,C),k=ht("button",{class:R.page,type:"button"},y),I=c.getIn(G).map(function(_){return _.slide.id}),L=!u()&&W>1?V.pageX:V.slideX;i(k,"click",he(N,G)),n.paginationKeyboard&&i(k,"keydown",he($,G)),ae(y,Ke,"presentation"),ae(k,Ke,"tab"),ae(k,Dt,I.join(" ")),ae(k,ke,Ln(L,G+1)),ae(k,vt,-1),g.push({li:y,button:k,page:G})}}function N(O){x(">"+O,!0)}function $(O,R){var V=g.length,W=Qn(R),K=f(),G=-1;W===h(fn,!1,K)?G=++O%V:W===h(mn,!1,K)?G=(--O+V)%V:W==="Home"?G=0:W==="End"&&(G=V-1);var y=g[G];y&&(Ro(y.button),x(">"+G),Ge(R,!0))}function f(){return n.paginationDirection||n.direction}function F(O){return g[m.toPage(O)]}function P(){var O=F(E(!0)),R=F(E());if(O){var V=O.button;Xe(V,ut),je(V,po),ae(V,vt,-1)}if(R){var W=R.button;Oe(W,ut),ae(W,po,!0),ae(W,vt,"")}l(Yo,{list:C,items:g},O,R)}return{items:g,mount:b,destroy:A,getAt:F,update:P}}var ia=[" ","Enter"];function aa(e,t,n){var o=n.isNavigation,r=n.slideFocus,l=[];function i(){e.splides.forEach(function(d){d.isParent||(m(e,d.splide),m(d.splide,e))}),o&&u()}function c(){l.forEach(function(d){d.destroy()}),Je(l)}function p(){c(),i()}function m(d,g){var C=xe(d);C.on(Ze,function(v,b,A){g.go(g.is(_t)?A:v)}),l.push(C)}function u(){var d=xe(e),g=d.on;g(Bn,x),g(Ko,h),g([it,Ee],E),l.push(d),d.emit(Un,e.splides)}function E(){ae(t.Elements.list,Kn,n.direction===yn?"vertical":"")}function x(d){e.go(d.index)}function h(d,g){Hn(ia,Qn(g))&&(x(d),Ge(g))}return{setup:he(t.Media.set,{slideFocus:Vt(r)?o:r},!0),mount:i,destroy:c,remount:p}}function la(e,t,n){var o=xe(e),r=o.bind,l=0;function i(){n.wheel&&r(t.Elements.track,"wheel",c,ft)}function c(m){if(m.cancelable){var u=m.deltaY,E=u<0,x=En(m),h=n.wheelMinThreshold||0,d=n.wheelSleep||0;Ie(u)>h&&x-l>d&&(e.go(E?"<":">"),l=x),p(E)&&Ge(m)}}function p(m){return!n.releaseWheel||e.state.is(wt)||t.Controller.getAdjacent(m)!==-1}return{mount:i}}var sa=90;function ca(e,t,n){var o=xe(e),r=o.on,l=t.Elements.track,i=n.live&&!n.isNavigation,c=ht("span",Ai),p=dn(sa,he(u,!1));function m(){i&&(x(!t.Autoplay.isPaused()),ae(l,fo,!0),c.textContent="…",r(qn,he(x,!0)),r(Gn,he(x,!1)),r([Tt,pt],he(u,!0)))}function u(h){ae(l,mo,h),h?(Ot(l,c),p.start()):(ct(c),p.cancel())}function E(){je(l,[go,fo,mo]),ct(c)}function x(h){i&&ae(l,go,h?"off":"polite")}return{mount:m,disable:x,destroy:E}}var ua=Object.freeze({__proto__:null,Media:vi,Direction:bi,Elements:Ri,Slides:Pi,Layout:Wi,Clones:Hi,Move:Vi,Controller:Ni,Arrows:Bi,Autoplay:Ui,Cover:qi,Scroll:Zi,Drag:Qi,Keyboard:ta,LazyLoad:oa,Pagination:ra,Sync:aa,Wheel:la,Live:ca}),pa={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},da={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:Li,i18n:pa,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function ga(e,t,n){var o=t.Slides;function r(){xe(e).on([it,Ce],l)}function l(){o.forEach(function(c){c.style("transform","translateX(-"+100*c.index+"%)")})}function i(c,p){o.style("transition","opacity "+n.speed+"ms "+n.easing),Io(p)}return{mount:r,start:i,cancel:An}}function ma(e,t,n){var o=t.Move,r=t.Controller,l=t.Scroll,i=t.Elements.list,c=he(We,i,"transition"),p;function m(){xe(e).bind(i,"transitionend",function(h){h.target===i&&p&&(E(),p())})}function u(h,d){var g=o.toPosition(h,!0),C=o.getPosition(),v=x(h);Ie(g-C)>=1&&v>=1?n.useScroll?l.scroll(g,v,!1,d):(c("transform "+v+"ms "+n.easing),o.translate(g,!0),p=d):(o.jump(h),d())}function E(){c(""),l.cancel()}function x(h){var d=n.rewindSpeed;if(e.is(Ct)&&d){var g=r.getIndex(!0),C=r.getEnd();if(g===0&&h>=C||g>=C&&h===0)return d}return n.speed}return{mount:m,start:u,cancel:E}}var fa=(function(){function e(n,o){this.event=xe(),this.Components={},this.state=yi(yt),this.splides=[],this._o={},this._E={};var r=nt(n)?Po(document,n):n;Et(r,r+" is invalid."),this.root=r,o=Qe({label:ze(r,ke)||"",labelledby:ze(r,Xn)||""},da,e.defaults,o||{});try{Qe(o,JSON.parse(ze(r,On)))}catch{Et(!1,"Invalid JSON")}this._o=Object.create(Qe({},o))}var t=e.prototype;return t.mount=function(o,r){var l=this,i=this.state,c=this.Components;Et(i.is([yt,on]),"Already mounted!"),i.set(yt),this._C=c,this._T=r||this._T||(this.is(Ut)?ga:ma),this._E=o||this._E;var p=Rt({},ua,this._E,{Transition:this._T});return st(p,function(m,u){var E=m(l,c,l._o);c[u]=E,E.setup&&E.setup()}),st(c,function(m){m.mount&&m.mount()}),this.emit(it),Oe(this.root,Ei),i.set(xt),this.emit(Fn),this},t.sync=function(o){return this.splides.push({splide:o}),o.splides.push({splide:this,isParent:!0}),this.state.is(xt)&&(this._C.Sync.remount(),o.Components.Sync.remount()),this},t.go=function(o){return this._C.Controller.go(o),this},t.on=function(o,r){return this.event.on(o,r),this},t.off=function(o){return this.event.off(o),this},t.emit=function(o){var r;return(r=this.event).emit.apply(r,[o].concat(rt(arguments,1))),this},t.add=function(o,r){return this._C.Slides.add(o,r),this},t.remove=function(o){return this._C.Slides.remove(o),this},t.is=function(o){return this._o.type===o},t.refresh=function(){return this.emit(Ce),this},t.destroy=function(o){o===void 0&&(o=!0);var r=this.event,l=this.state;return l.is(yt)?xe(this).on(Fn,this.destroy.bind(this,o)):(st(this._C,function(i){i.destroy&&i.destroy(o)},!0),r.emit(Dn),r.destroy(),o&&Je(this.splides),l.set(on)),this},pi(e,[{key:"options",get:function(){return this._o},set:function(o){this._C.Media.set(o,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),e})(),eo=fa;eo.defaults={};eo.STATES=gi;var bo=[[it,"onMounted"],[Fn,"onReady"],[Ze,"onMove"],[Tt,"onMoved"],[Bn,"onClick"],[Ho,"onActive"],[Vo,"onInactive"],[No,"onVisible"],[Oo,"onHidden"],[Ce,"onRefresh"],[Ee,"onUpdated"],[St,"onResize"],[un,"onResized"],[jo,"onDrag"],[Bo,"onDragging"],[Do,"onDragged"],[pn,"onScroll"],[pt,"onScrolled"],[Dn,"onDestroy"],[Uo,"onArrowsMounted"],[qo,"onArrowsUpdated"],[Go,"onPaginationMounted"],[Yo,"onPaginationUpdated"],[Un,"onNavigationMounted"],[qn,"onAutoplayPlay"],[Xo,"onAutoplayPlaying"],[Gn,"onAutoplayPause"],[Yn,"onLazyLoadLoaded"]];function to(...e){return e.filter(Boolean).join(" ")}function sn(e){return e!==null&&typeof e=="object"}function Mn(e,t){if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&!e.some((n,o)=>!Mn(n,t[o]));if(sn(e)&&sn(t)){const n=Object.keys(e),o=Object.keys(t);return n.length===o.length&&!n.some(r=>!Object.prototype.hasOwnProperty.call(t,r)||!Mn(e[r],t[r]))}return e===t}function ya(e,t){return e.length===t.length&&!e.some((n,o)=>n!==t[o])}function ha(e,t){if(e){const n=Object.keys(e);for(let o=0;o<n.length;o++){const r=n[o];if(r!=="__proto__"&&t(e[r],r)===!1)break}}return e}function Pn(e,t){const n=e;return ha(t,(o,r)=>{Array.isArray(o)?n[r]=o.slice():sn(o)?n[r]=Pn(sn(n[r])?n[r]:{},o):n[r]=o}),n}var va=({children:e,className:t,...n})=>S.createElement("div",{className:to("splide__track",t),...n},S.createElement("ul",{className:"splide__list"},e)),pr=class extends S.Component{constructor(){super(...arguments),this.splideRef=S.createRef(),this.slides=[]}componentDidMount(){const{options:e,extensions:t,transition:n}=this.props,{current:o}=this.splideRef;o&&(this.splide=new eo(o,e),this.bind(this.splide),this.splide.mount(t,n),this.options=Pn({},e||{}),this.slides=this.getSlides())}componentWillUnmount(){this.splide&&(this.splide.destroy(),this.splide=void 0),this.options=void 0,this.slides.length=0}componentDidUpdate(){if(!this.splide)return;const{options:e}=this.props;e&&!Mn(this.options,e)&&(this.splide.options=e,this.options=Pn({},e));const t=this.getSlides();ya(this.slides,t)||(this.splide.refresh(),this.slides=t)}sync(e){var t;(t=this.splide)==null||t.sync(e)}go(e){var t;(t=this.splide)==null||t.go(e)}getSlides(){var e;if(this.splide){const t=(e=this.splide.Components.Elements)==null?void 0:e.list.children;return t&&Array.prototype.slice.call(t)||[]}return[]}bind(e){bo.forEach(([t,n])=>{const o=this.props[n];typeof o=="function"&&e.on(t,(...r)=>{o(e,...r)})})}omit(e,t){return t.forEach(n=>{Object.prototype.hasOwnProperty.call(e,n)&&delete e[n]}),e}render(){const{className:e,tag:t="div",hasTrack:n=!0,children:o,...r}=this.props;return S.createElement(t,{className:to("splide",e),ref:this.splideRef,...this.omit(r,["options",...bo.map(l=>l[1])])},n?S.createElement(va,null,o):o)}},dr=({children:e,className:t,...n})=>S.createElement("li",{className:to("splide__slide",t),...n},e);/*!
|
|
2
2
|
* Splide.js
|
|
3
3
|
* Version : 4.1.3
|
|
4
4
|
* License : MIT
|
|
5
5
|
* Copyright: 2022 Naotoshi Fujita
|
|
6
|
-
*/const ba="RichTextRenderer-module__link___BWeZ2",Sa={link:ba},ze=({content:t})=>{const e=n=>n.map((o,r)=>o.type==="link"?s.jsx("a",{className:Sa.link,href:o.value,target:o.target,children:e(o.children)},r):s.jsx("span",{style:xa(o),children:o.text},r));return s.jsx(s.Fragment,{children:t.map((n,o)=>{const r=n.children;return s.jsx("div",{children:e(r)},o)})})};function xa(t){return{...t.fontFamily&&{fontFamily:t.fontFamily},...t.fontWeight&&{fontWeight:t.fontWeight},...t.fontStyle&&{fontStyle:t.fontStyle},...t.textDecoration&&{textDecoration:t.textDecoration},...t.textTransform&&{textTransform:t.textTransform},...t.fontVariant&&{fontVariant:t.fontVariant},...t.verticalAlign&&{verticalAlign:t.verticalAlign,lineHeight:"0px"}}}const Ca="SvgImage-module__svg___q3xE-",$a="SvgImage-module__img___VsTm-",So={svg:Ca,img:$a},wa=t=>{const e=t.trim();return e.startsWith("data:image/svg+xml")?!0:(e.split(/[?#]/)[0]??e).endsWith(".svg")},Ta=t=>`url("${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}")`,ye=({url:t,fill:e="#000000",hoverFill:n="#CCCCCC",className:o="",style:r})=>{const[a,i]=j.useState(()=>typeof window>"u"?!0:CSS.supports("mask-image",'url("")')||CSS.supports("-webkit-mask-image",'url("")'));return j.useEffect(()=>{if(typeof window<"u"&&window.CSS){const p=CSS.supports("mask-image",'url("")')||CSS.supports("-webkit-mask-image",'url("")');i(p)}},[]),!wa(t)||!a?s.jsx("img",{src:t,alt:"",className:ft(So.img,o),style:r}):s.jsx("span",{"data-supports-mask":a,className:ft(So.svg,o),style:{"--svg":Ta(t),"--fill":e,"--hover-fill":n,...r??{}}})},_a={"top-left":X.topLeftAlignment,"top-center":X.topCenterAlignment,"top-right":X.topRightAlignment,"middle-left":X.middleLeftAlignment,"middle-center":X.middleCenterAlignment,"middle-right":X.middleRightAlignment,"bottom-left":X.bottomLeftAlignment,"bottom-center":X.bottomCenterAlignment,"bottom-right":X.bottomRightAlignment};function Aa({settings:t,content:e,styles:n,isEditor:o}){const[r,a]=j.useState(null),{widthSettings:i,fontSettings:p,letterSpacing:c,textAlign:f,wordSpacing:u,fontSizeLineHeight:k,textAppearance:b,color:y}=n.imageCaption,[l,g]=j.useState(void 0),[$,h]=j.useState(null),[v,E]=j.useState(0),[B,M]=j.useState(0),{direction:L,transition:m,controls:F,pagination:I,imageCaption:N,triggers:R}=t,W=j.useRef(m.type),{x:_,y:D}=t.controls.offset,H=d=>{r&&r.go(d)};return j.useEffect(()=>{if(!$)return;const d=new ResizeObserver(w=>{if(!r)return;const[C]=w;g({width:Math.round(C.contentRect.width),height:Math.round(C.contentRect.height)})});return d.observe($),()=>d.unobserve($)},[$]),j.useEffect(()=>{!r||W.current===m.type||(M(d=>d+1),W.current=m.type)},[m.type]),s.jsx("div",{className:ft(X.wrapper,{[X.editor]:o}),ref:h,children:s.jsxs("div",{className:X.sliderInner,style:{width:l?l.width:"100%",height:l?l.height:"100%",backgroundColor:m.backgroundColor&&m.type==="fade in"?m.backgroundColor:"transparent"},children:[t.imageCaption.isActive&&s.jsx("div",{className:ft(X.captionBlock),children:s.jsx("div",{className:X.captionTextWrapper,children:e.map((d,w)=>s.jsx("div",{className:ft(X.captionText,_a[N.alignment],{[X.withPointerEvents]:w===v&&o,[X.active]:w===v}),style:{fontFamily:p.fontFamily,fontWeight:p.fontWeight,fontStyle:p.fontStyle,width:i.sizing==="auto"?"max-content":x.scalingValue(i.width,o),letterSpacing:x.scalingValue(c,o),wordSpacing:x.scalingValue(u,o),textAlign:f,fontSize:x.scalingValue(k.fontSize,o),lineHeight:x.scalingValue(k.lineHeight,o),textTransform:b.textTransform??"none",textDecoration:b.textDecoration??"none",fontVariant:b.fontVariant??"normal",color:y,transitionDuration:m.duration?`${Math.round(parseInt(m.duration)/2)}ms`:"500ms"},children:s.jsx("div",{"data-styles":"imageCaption",className:X.captionTextInner,style:{"--link-hover-color":N.linkHoverColor,"--link-color":N.linkColor,position:"relative",top:x.scalingValue(N.offset.y,o),left:x.scalingValue(N.offset.x,o)},children:s.jsx(ze,{content:d.imageCaption})})},w))})}),s.jsx(ur,{onMove:d=>{E(d.index)},ref:a,options:{arrows:!1,speed:m.duration?parseInt(m.duration):500,autoplay:R.autoPlay!==null,...R.autoPlay!==null&&{interval:parseInt(R.autoPlay)*1e3},direction:L==="horiz"||m.type==="fade in"?"ltr":"ttb",pagination:!1,drag:R.triggersList.drag,perPage:1,width:l?l.width:"100%",height:l?l.height:"100%",type:m.type==="fade in"?"fade":"loop",rewind:!0},children:e.map((d,w)=>s.jsx(dr,{children:s.jsx("div",{className:X.sliderItem,children:s.jsx("div",{className:X.imgWrapper,children:s.jsx("img",{className:ft(X.sliderImage,{[X.contain]:d.image.objectFit==="contain",[X.cover]:d.image.objectFit==="cover"}),src:d.image.url,alt:d.image.name??""})})})},w))},B),F.isActive&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:ft(X.arrow,{[X.arrowVertical]:L==="vert",[X.hoverArrow]:F.show==="on hover"}),style:{color:F.color,"--arrow-hover-color":F.hover},children:s.jsxs("button",{onClick:()=>{H("-1")},className:X.arrowInner,style:{transform:`translate(${x.scalingValue(_,o)}, ${x.scalingValue(D*(L==="horiz"?1:-1),o)}) scale(${t.controls.scale/100}) rotate(${L==="horiz"?"0deg":"90deg"})`},children:[F.arrowsImgUrl&&s.jsx(ye,{url:F.arrowsImgUrl,fill:F.color,hoverFill:F.hover,className:ft(X.arrowImg,X.mirror)}),!F.arrowsImgUrl&&s.jsx(xo,{color:F.color,className:ft(X.arrowIcon,X.arrowImg,X.mirror)})]})}),s.jsx("div",{className:ft(X.arrow,X.nextArrow,{[X.arrowVertical]:L==="vert",[X.hoverArrow]:F.show==="on hover"}),style:{color:F.color,"--arrow-hover-color":F.hover},children:s.jsxs("button",{className:X.arrowInner,onClick:()=>H("+1"),style:{transform:`translate(${x.scalingValue(_*(L==="horiz"?-1:1),o)}, ${x.scalingValue(D,o)}) scale(${t.controls.scale/100}) rotate(${L==="horiz"?"0deg":"90deg"})`},children:[F.arrowsImgUrl&&s.jsx(ye,{url:F.arrowsImgUrl,fill:F.color,hoverFill:F.hover,className:X.arrowImg}),!F.arrowsImgUrl&&s.jsx(xo,{color:F.color,className:ft(X.arrowIcon,X.arrowImg)})]})})]}),R.triggersList.click&&s.jsx("div",{className:X.clickOverlay,onClick:()=>{r&&r.go("+1")}}),I.isActive&&s.jsx("div",{className:ft(X.pagination,{[X.paginationInsideBottom]:I.position==="inside-1"&&L==="horiz",[X.paginationInsideTop]:I.position==="inside-2"&&L==="horiz",[X.paginationOutsideBottom]:I.position==="outside-1"&&L==="horiz",[X.paginationOutsideTop]:I.position==="outside-2"&&L==="horiz",[X.paginationInsideLeft]:I.position==="inside-1"&&L==="vert",[X.paginationInsideRight]:I.position==="inside-2"&&L==="vert",[X.paginationOutsideLeft]:I.position==="outside-1"&&L==="vert",[X.paginationOutsideRight]:I.position==="outside-2"&&L==="vert",[X.paginationVertical]:L==="vert"}),children:s.jsx("div",{className:X.paginationInner,style:{backgroundColor:I.colors[2],transform:`scale(${I.scale/100}) translate(${x.scalingValue(I.offset.x,o)}, ${x.scalingValue(I.offset.y,o)}) rotate(${L==="horiz"?"0deg":"90deg"})`},children:e.map((d,w)=>s.jsx("button",{onClick:()=>{r&&r.go(w)},className:ft(X.paginationItem),children:s.jsx("div",{className:ft(X.dot,{[X.activeDot]:w===v}),style:{backgroundColor:w===v?I.colors[0]:I.colors[1],"--pagination-hover-color":I.hover}})},w))})})]})})}function xo({color:t,className:e}){return s.jsx("svg",{viewBox:"0 0 10 18",className:e,children:s.jsx("g",{id:"Symbols",stroke:"none",strokeWidth:"1",fillRule:"evenodd",children:s.jsx("path",{d:"M-3.70710678,4.29289322 C-3.34662282,3.93240926 -2.77939176,3.90467972 -2.38710056,4.20970461 L-2.29289322,4.29289322 L5,11.585 L12.2928932,4.29289322 C12.6533772,3.93240926 13.2206082,3.90467972 13.6128994,4.20970461 L13.7071068,4.29289322 C14.0675907,4.65337718 14.0953203,5.22060824 13.7902954,5.61289944 L13.7071068,5.70710678 L5.70710678,13.7071068 C5.34662282,14.0675907 4.77939176,14.0953203 4.38710056,13.7902954 L4.29289322,13.7071068 L-3.70710678,5.70710678 C-4.09763107,5.31658249 -4.09763107,4.68341751 -3.70710678,4.29289322 Z",id:"Shape-Copy",fill:t,transform:"translate(5, 9) rotate(-90) translate(-5, -9)"})})})}const Ea={element:Aa,id:"control-slider",name:"Slider",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/sliderImg.png"},defaultSize:{width:400,height:400},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.arrowsImgUrl"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.imageCaption.fontSettings"}]},schema:{type:"object",properties:{settings:{type:"object",display:{type:"settings-block"},properties:{triggers:{title:"triggers",icon:"target",tooltip:"Triggers",type:"object",properties:{triggersList:{type:"object",display:{type:"toggle-ratio-group"},properties:{click:{type:"boolean"},drag:{type:"boolean"}}},autoPlay:{type:["string","null"],label:"Auto",display:{type:"step-selector"},enum:[null,"1s","2s","3s","4s","5s"]}}},direction:{icon:"horizontal-resize",tooltip:"Direction",type:"string",display:{type:"ratio-group"},enum:["horiz","vert"]},transition:{title:"transit",icon:"transition",tooltip:"Transition",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide","fade in"]},backgroundColor:{type:["string","null"],title:"BG Color",display:{visible:!1,type:"settings-color-picker",format:"single"}},duration:{type:"string",label:"icon:hourglass",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]}}},controls:{title:"controls",icon:"controls",tooltip:"Controls",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},arrowsImgUrl:{type:["string","null"],display:{type:"settings-image-input"}},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"scale",min:50,max:600,display:{type:"range-control"}},color:{title:"color",type:"string",display:{type:"settings-color-picker",format:"single"}},hover:{title:"hover",type:"string",display:{type:"settings-color-picker",format:"single"}},show:{title:"Show",type:"string",display:{type:"ratio-group"},enum:["always","on hover"]}}},pagination:{title:"nav",icon:"pagination",tooltip:"Navigation",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},position:{display:{type:"socket",direction:"horizontal"},type:"string",enum:["outside-1","outside-2","inside-1","inside-2"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"scale",min:10,max:400,display:{type:"range-control"}},colors:{display:{type:"settings-color-picker",format:"multiple"},title:"color",type:"array",items:{type:"string"}},hover:{title:"hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},imageCaption:{title:"Caption",icon:"text-icon",tooltip:"Caption",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},alignment:{type:"string",display:{type:"align-grid"},enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},linkColor:{title:"Link",type:"string",display:{type:"settings-color-picker",format:"single"}},linkHoverColor:{title:"Link Hov",type:"string",display:{type:"settings-color-picker",format:"single"}}}}},default:{triggers:{triggersList:{click:!1,drag:!0},autoPlay:null},controls:{isActive:!0,arrowsImgUrl:null,offset:{x:0,y:0},scale:100,color:"#000000",hover:"#cccccc",show:"always"},transition:{type:"slide",duration:"500ms",backgroundColor:null},pagination:{isActive:!0,scale:50,position:"outside-1",offset:{x:0,y:0},colors:["#cccccc","#cccccc","#000000"],hover:"#cccccc"},direction:"horiz",imageCaption:{offset:{x:0,y:0},isActive:!0,alignment:"middle-center",linkColor:"#cccccc",linkHoverColor:"#cccccc"}},displayRules:[{if:{name:"direction",value:"vert"},then:{name:"properties.pagination.properties.position.display.direction",value:"vertical"}},{if:{name:"transition.type",value:"fade in"},then:{name:"properties.transition.properties.backgroundColor.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},imageCaption:{placeholder:"Add Caption...",label:"Description",display:{type:"rich-text"}}},required:["image"]},default:[{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-1.png",name:"Slider-1.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-2.png",name:"Slider-2.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-3.png",name:"Slider-3.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]}]},styles:{type:"object",properties:{imageCaption:{dataName:"caption",type:"object",properties:{fontSettings:{type:"object",display:{type:"font-settings"},properties:{fontFamily:{type:"string"},fontWeight:{type:"number"},fontStyle:{type:"string"}}},widthSettings:{display:{type:"text-width-control"},type:"object",properties:{width:{type:"number"},sizing:{type:"string",enum:["auto","manual"]}}},fontSizeLineHeight:{type:"object",display:{type:"font-size-line-height"},properties:{fontSize:{type:"number"},lineHeight:{type:"number"}}},letterSpacing:{display:{type:"letter-spacing-input"},type:"number"},wordSpacing:{display:{type:"word-spacing-input"},type:"number"},textAlign:{display:{type:"text-align-control"},type:"string",enum:["left","center","right","justify"]},textAppearance:{display:{type:"text-appearance"},properties:{textTransform:{type:"string",enum:["none","uppercase","lowercase","capitalize"]},textDecoration:{type:"string",enum:["none","underline"]},fontVariant:{type:"string",enum:["normal","small-caps"]}}},color:{display:{type:"style-panel-color-picker"},type:"string"}}}},default:{imageCaption:{widthSettings:{width:.13,sizing:"auto"},fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},fontSizeLineHeight:{fontSize:.02,lineHeight:.02},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"}}}},required:["settings","content","styles"]}},La="ImageRevealSlider-module__imageRevealSlider___UE5Ob",Fa="ImageRevealSlider-module__image___Qjt-e",ka="ImageRevealSlider-module__link___N-iLG",Ia="ImageRevealSlider-module__cursor___2U03d",pe={imageRevealSlider:La,image:Fa,link:ka,cursor:Ia};function Co(t,e,n){for(const o of n){const r=new Image;r.src=o.url;const a=o.width?Number.parseFloat(o.width):r.naturalWidth,i=r.naturalHeight/r.naturalWidth*a,p=a/2,c=i/2;if(t>=o.x-p&&t<=o.x+p&&e>=o.y-c&&e<=o.y+c)return!0}return!1}function Tn(t){return new Promise(e=>{const n=new Image;n.src=t,n.onload=()=>{e({width:n.naturalWidth,height:n.naturalHeight})}})}async function Ra(t,e,n,o){let r,a;if(e==="custom"){r=n;const i=await Tn(t);a=i.height/i.width*r}else if(e==="random"){r=Math.random()*(o.max-o.min)+o.min;const i=await Tn(t);a=i.height/i.width*r}else{const i=await Tn(t);r=i.width,a=i.height}return{width:r,height:a,finalWidth:`${r}px`}}function Wa({settings:t,content:e,isEditor:n}){const[o,r]=j.useState(null),[a,i]=j.useState([]),[p,c]=j.useState(0),f=j.useRef(0),[u,k]=j.useState({x:0,y:0}),[b,y]=j.useState(1),[l,g]=j.useState("none"),$=j.useRef({x:0,y:0}),[h,v]=j.useState(!1),{sizeType:E,imageWidth:B,randomRangeImageWidth:M}=t.imageSize,{revealPosition:L,visible:m}=t.position,{cursorType:F,target:I,defaultCursorScale:N,defaultCursor:R,hoverCursorScale:W,hoverCursor:_}=t.cursor;j.useEffect(()=>{if(!o)return;const d=(T,A)=>{const V=o.getBoundingClientRect(),q=T-V.left,at=A-V.top;if(k({x:q,y:at}),F==="system"){g("none"),y(1);return}const it=q,pt=at,z=document.elementFromPoint(V.left+it,V.top+pt);if(z&&z.closest("a")){g("none"),y(1);return}const J=Co(it,pt,a)||I==="area"?{img:_??"none",scale:W}:{img:R??"none",scale:N};g(J.img),y(J.scale)},w=T=>{T.stopPropagation(),$.current={x:T.clientX,y:T.clientY},d(T.clientX,T.clientY)},C=()=>{h&&d($.current.x,$.current.y)};return o.addEventListener("mousemove",w),window.addEventListener("scroll",C,!0),()=>{o.removeEventListener("mousemove",w),window.removeEventListener("scroll",C,!0)}},[o,h,u,F,I,_,R,W,N,a]),j.useEffect(()=>{h||(g("none"),y(0))},[h]);const D=async(d,w,C,T={})=>{const{width:A,height:V,finalWidth:q}=await Ra(d.image.url,E,B,M);let at=0,it=0;L==="same"?(at=w/2,it=C/2):(at=T.x??Math.random()*w,it=T.y??Math.random()*C);const pt=Math.min(Math.max(at,A/2),w-A/2),z=Math.min(Math.max(it,V/2),C-V/2);return{id:f.current++,url:d.image.url,link:d.link,name:d.image.name,x:pt,y:z,width:q}};j.useEffect(()=>{if(!o||e.length===0)return;const d=o.getBoundingClientRect(),w=d.width,C=d.height,T=[];(async()=>{const V=e[0],q=await D(V,w,C);T.push(q),i(T),c(1)})()},[E,B,M,L,o]),j.useEffect(()=>{m==="last One"&&i(d=>d.length>0?[d[d.length-1]]:[])},[m]);const H=async d=>{if(!o)return;const w=o.getBoundingClientRect(),C=d.clientX-w.left,T=d.clientY-w.top;if(I==="image"&&!Co(C,T,a))return;let A=0,V=0;L==="on Click"?(A=C,V=T):L==="same"?(A=w.width/2,V=w.height/2):(A=Math.random()*w.width,V=Math.random()*w.height);const q=e[p],at=await D(q,w.width,w.height,{x:A,y:V});i(it=>m==="all"?[...it,at]:[at]),c(it=>it>=e.length-1?0:it+1)};return s.jsxs("div",{ref:r,onClick:H,onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),className:pe.imageRevealSlider,style:{cursor:l==="none"?"default":"none"},children:[a.map(d=>s.jsx("div",{className:pe.wrapper,style:{top:`${d.y}px`,left:`${d.x}px`,position:"absolute",transform:"translate(-50%, -50%)",width:d.width??"auto",height:"auto",cursor:l==="none"?"default":"none"},children:I==="area"&&d.link?s.jsx("a",{href:d.link,target:"_blank",className:pe.link,children:s.jsx("img",{src:d.url,alt:d.name,className:pe.image},d.id)}):s.jsx("img",{src:d.url,alt:d.name,className:pe.image},d.id)},d.id)),h&&s.jsx("div",{className:pe.cursor,style:{left:`${u.x}px`,top:`${u.y}px`,transform:`translate(-50%, -50%) scale(${b})`,backgroundImage:`url('${l}')`,backgroundSize:"cover",backgroundPosition:"center",position:"absolute",pointerEvents:"none"}})]})}const Va={element:Wa,id:"control-image-reveal",name:"Click Gallery",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/clickGalleryImg.png"},defaultSize:{width:"100%",height:"100%"},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.cursor.defaultCursor"},{path:"settings.cursor.hoverCursor"}]},fontSettingsPaths:{content:[],parameters:[]},schema:{type:"object",properties:{settings:{type:"object",display:{type:"settings-block"},properties:{imageSize:{title:"IMG SIZE",icon:"size",tooltip:"IMG SIZE",type:"object",properties:{sizeType:{type:"string",display:{type:"ratio-group"},enum:["as Is","custom","random"]},imageWidth:{type:"number",label:"W",display:{type:"numeric-input",visible:!1}},randomRangeImageWidth:{type:"object",display:{type:"random-range-controls",visible:!1},properties:{min:{type:"number"},max:{type:"number"}}}}},cursor:{title:"cursor",icon:"cursor",tooltip:"cursor",type:"object",properties:{cursorType:{type:"string",display:{type:"ratio-group"},enum:["system","custom"]},target:{type:"string",title:"Target",display:{type:"ratio-group"},enum:["area","image"]},defaultCursor:{type:["string","null"],title:"Default",display:{type:"settings-image-input",visible:!1}},defaultCursorScale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control",visible:!1}},hoverCursor:{type:["string","null"],title:"Hover",display:{type:"settings-image-input",visible:!1}},hoverCursorScale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control",visible:!1}}}},position:{title:"position",icon:"transition",tooltip:"Position",type:"object",properties:{revealPosition:{type:"string",display:{type:"ratio-group"},enum:["random","same","on Click"]},visible:{type:"string",title:"Visible",display:{type:"ratio-group"},enum:["all","last One"]}}}},default:{imageSize:{sizeType:"custom",imageWidth:500,randomRangeImageWidth:{min:100,max:1e3}},cursor:{cursorType:"system",target:"area",defaultCursor:null,defaultCursorScale:2,hoverCursor:null,hoverCursorScale:2},position:{revealPosition:"random",visible:"all"}},displayRules:[{if:{name:"imageSize.sizeType",value:"custom"},then:{name:"properties.imageSize.properties.imageWidth.display.visible",value:!0}},{if:{name:"imageSize.sizeType",value:"random"},then:{name:"properties.imageSize.properties.randomRangeImageWidth.display.visible",value:!0}},{if:[{name:"cursor.target",value:"image"},{name:"cursor.cursorType",value:"custom"}],then:{name:"properties.cursor.properties.defaultCursor.display.visible",value:!0}},{if:[{name:"cursor.target",value:"image"},{name:"cursor.cursorType",value:"custom"},{name:"cursor.defaultCursor",value:null,isNotEqual:!0}],then:{name:"properties.cursor.properties.defaultCursorScale.display.visible",value:!0}},{if:{name:"cursor.cursorType",value:"custom"},then:{name:"properties.cursor.properties.hoverCursor.display.visible",value:!0}},{if:[{name:"cursor.cursorType",value:"custom"},{name:"cursor.hoverCursor",value:null,isNotEqual:!0}],then:{name:"properties.cursor.properties.hoverCursorScale.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{isObjectFitEditable:!1,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},link:{label:"URL",placeholder:"Enter link...",display:{type:"text-input"}}},required:["image"]},default:[{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQK9211QXBE9W284ZNKB8.png",name:"Slider-1.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQMFT72JD18WKP0Q2DVAT.png",name:"Slider-2.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQNEVRXPSRX5K1YTMJQY9.png",name:"Slider-3.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQP84JKRDT7WNWDQZR4Y9.png",name:"Slider-4.png"},link:""}]}}}},za="LightBox-module__hidden___9s-9x",Na="LightBox-module__heroImage___sTxNF",Ma="LightBox-module__background___rm9ml",Pa="LightBox-module__editor___4ACaY",ja="LightBox-module__contentStyle___Bgnsq",Ha="LightBox-module__imageStyle___tLIlB",Oa="LightBox-module__imgWrapper___LuFUp",Ba="LightBox-module__contain___8-yaS",Da="LightBox-module__cover___hNvOG",Ua="LightBox-module__caption___b6L2I",Ga="LightBox-module__captionTextInner___rCGNH",qa="LightBox-module__lightboxSplide___XFuWC",Ya="LightBox-module__arrow___iz38X",Xa="LightBox-module__arrowVertical___Zfz81",Ka="LightBox-module__nextArrow___zkAQN",Ja="LightBox-module__arrowInner___p48sW",Za="LightBox-module__arrowIcon___3VaFf",Qa="LightBox-module__arrowImg___pNV88",tl="LightBox-module__mirror___pjeXc",el="LightBox-module__thumbsWrapper___GB-nU",nl="LightBox-module__thumbsContainerVertical___wttk5",ol="LightBox-module__thumbsContainer___osSma",rl="LightBox-module__thumbsAlignStart___MO6tY",il="LightBox-module__thumbsAlignCenter___Q4sUx",al="LightBox-module__thumbsAlignEnd___p4y9R",ll="LightBox-module__thumbItem___HvnF3",sl="LightBox-module__closeButton___g2khP",cl="LightBox-module__fadeIn___0m5GW",pl="LightBox-module__slideInLeft___gPYwC",ul="LightBox-module__slideInRight___S-pPp",dl="LightBox-module__slideInTop___DFdAj",gl="LightBox-module__slideInBottom___m27kZ",ml="LightBox-module__fadeOut___55qBR",fl="LightBox-module__slideOutLeft___NvU7P",yl="LightBox-module__slideOutRight___SK7eC",hl="LightBox-module__slideOutTop___Vgg0z",vl="LightBox-module__slideOutBottom___nJ0Ef",bl="LightBox-module__scaleSlide___vZriG",O={hidden:za,heroImage:Na,background:Ma,editor:Pa,contentStyle:ja,imageStyle:Ha,imgWrapper:Oa,contain:Ba,cover:Da,caption:Ua,captionTextInner:Ga,lightboxSplide:qa,arrow:Ya,arrowVertical:Xa,nextArrow:Ka,arrowInner:Ja,arrowIcon:Za,arrowImg:Qa,mirror:tl,thumbsWrapper:el,thumbsContainerVertical:nl,thumbsContainer:ol,thumbsAlignStart:rl,thumbsAlignCenter:il,thumbsAlignEnd:al,thumbItem:ll,closeButton:sl,fadeIn:cl,slideInLeft:pl,slideInRight:ul,slideInTop:dl,slideInBottom:gl,fadeOut:ml,slideOutLeft:fl,slideOutRight:yl,slideOutTop:hl,slideOutBottom:vl,scaleSlide:bl},Ye=(t,e,n)=>{const o={},[r,a]=t.split("-");return r==="top"?(o.top="0",o.bottom="auto"):r==="middle"?(o.top="50%",o.bottom="auto"):r==="bottom"&&(o.top="auto",o.bottom="0"),a==="left"?(o.left="0",o.right="auto"):a==="center"?(o.left="50%",o.right="auto"):a==="right"&&(o.left="auto",o.right="0"),r==="middle"&&a==="center"?o.transform=`translate(calc(-50% + ${x.scalingValue(e.x,n)}), calc(-50% + ${x.scalingValue(e.y,n)}))`:r==="middle"?o.transform=`translate(${x.scalingValue(e.x,n)}, calc(-50% + ${x.scalingValue(e.y,n)}))`:a==="center"?o.transform=`translate(calc(-50% + ${x.scalingValue(e.x,n)}), ${x.scalingValue(e.y,n)})`:o.transform=`translate(${x.scalingValue(e.x,n)}, ${x.scalingValue(e.y,n)})`,o};function gr(t){const e=window.getComputedStyle(t);return{top:parseFloat(e.paddingTop)||0,right:parseFloat(e.paddingRight)||0,bottom:parseFloat(e.paddingBottom)||0,left:parseFloat(e.paddingLeft)||0}}function $o(t){const e=t.getBoundingClientRect(),n=gr(t),o=Math.max(0,e.width-n.left-n.right),r=Math.max(0,e.height-n.top-n.bottom),a=t.naturalWidth,i=t.naturalHeight,p=o/r,c=a/i;let f,u;c>p?(f=o,u=o/c):(u=r,f=r*c);const k=e.left+n.left,b=e.top+n.top,y=(o-f)/2+k,l=(r-u)/2+b;return{x:y,y:l,width:f,height:u}}function wo(t){const e=t.getBoundingClientRect(),n=gr(t);return{left:e.left+n.left,right:e.right-n.right,top:e.top+n.top,bottom:e.bottom-n.bottom}}function To(t){const e=t.match(/rgba?\(([^)]+)\)/);if(e){const o=e[1].split(",").map(r=>parseFloat(r.trim()));return o.length===4?o[3]:1}const n=t.match(/^#([0-9a-fA-F]{8})$/);if(n){const o=n[1].substring(6,8);return parseInt(o,16)/255}return t.match(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/),1}function Sl(t,e){const n=(()=>{if(t==="fade in")return O.fadeIn;if(t==="slide in"||t==="mix")switch(e){case"left":return O.slideInLeft;case"right":return O.slideInRight;case"top":return O.slideInTop;case"bottom":return O.slideInBottom;default:return O.slideInRight}return O.fadeIn})(),o=(()=>{if(t==="fade in"||t==="mix")return O.fadeIn;if(t==="slide in")switch(e){case"left":return O.slideInLeft;case"right":return O.slideInRight;case"top":return O.slideInTop;case"bottom":return O.slideInBottom;default:return O.slideInRight}return O.fadeIn})(),r=(()=>{if(t==="fade in"||t==="mix")return O.fadeOut;if(t==="slide in")switch(e){case"left":return O.slideOutLeft;case"right":return O.slideOutRight;case"top":return O.slideOutTop;case"bottom":return O.slideOutBottom;default:return O.slideOutRight}return O.fadeOut})(),a=(()=>{if(t==="fade in")return O.fadeOut;if(t==="slide in"||t==="mix")switch(e){case"left":return O.slideOutLeft;case"right":return O.slideOutRight;case"top":return O.slideOutTop;case"bottom":return O.slideOutBottom;default:return O.slideOutRight}return O.fadeOut})();return{appearClass:n,backdropAppearClass:o,backdropDisappearClass:r,disappearClass:a}}const xl=({settings:t,content:e,styles:n,portalId:o,activeEvent:r,isEditor:a})=>{const[i,p]=j.useState(!1),{url:c}=t.thumbnailBlock.cover;return j.useEffect(()=>{r==="close"&&p(!1),r==="open"&&p(!0)},[r]),s.jsxs(s.Fragment,{children:[s.jsx("img",{src:c,alt:"Cover",className:O.heroImage,onClick:()=>p(!0)}),s.jsx(Cl,{isOpen:i,onClose:()=>p(!1),content:e,settings:t,lightboxStyles:n,portalId:o,isEditor:a})]})},Cl=({isOpen:t,onClose:e,content:n,lightboxStyles:o,settings:r,portalId:a,isEditor:i,metadata:p})=>{var P;const[c,f]=j.useState(0),[u,k]=j.useState(0),[b,y]=j.useState(!1),[l,g]=j.useState(!1),[$,h]=j.useState({}),v=j.useRef(null),E=j.useRef(null),B=j.useRef(null),M=j.useRef(!1),L=j.useRef(null),m=j.useRef(null),F=j.useRef(null),I=j.useRef(null),N=j.useRef(!1),R=j.useRef(null),[W,_]=j.useState(!1),{appear:D,triggers:H,slider:d,thumbnail:w,controls:C,area:T,caption:A,layout:V}=r.lightboxBlock,{appearClass:q,backdropAppearClass:at,backdropDisappearClass:it,disappearClass:pt}=Sl(D.type,D.direction),z=(p==null?void 0:p.itemId)??null;j.useEffect(()=>{const S=()=>{setTimeout(()=>{var G,Z;(Z=(G=v.current)==null?void 0:G.splide)==null||Z.refresh()},16)},U=()=>{k(G=>G+1)};return window.addEventListener("ArticleEditor.Layout:change",S),window.addEventListener("ArticleEditor.ComponentContent:change",U),()=>{window.removeEventListener("ArticleEditor.Layout:change",S),window.removeEventListener("ArticleEditor.ComponentContent:change",U)}},[]),j.useEffect(()=>{if(!t||!w.isActive){_(!1);return}const S=R.current;if(!S)return;const U=()=>{d.direction==="horiz"?_(S.scrollWidth>S.clientWidth):_(S.scrollHeight>S.clientHeight)};U();const G=new ResizeObserver(U);return G.observe(S),()=>G.disconnect()},[t,w.isActive,n.length,$,d.direction]);const J=j.useCallback(()=>{const S=window.matchMedia("(max-width: 768px)").matches,U=To(T.color);S&&!i&&U>.9&&(document.body.style.backgroundColor=""),y(!0),M.current=!0;const G=Z=>{Z.target===L.current&&Z.animationName&&(L.current&&m.current&&L.current.removeEventListener("animationend",m.current),m.current=null,M.current&&(M.current=!1,e()),y(!1))};L.current&&(m.current=G,L.current.addEventListener("animationend",G))},[e,T.color,i]),Y=(S,U,G)=>{var Z,ot;if(S){if(H.type==="click"&&H.switch==="image")H.repeat==="close"&&c===n.length-1?J():(Z=v.current)==null||Z.go("+1");else if(H.type==="click"&&H.switch==="50/50"){const et=S.getBoundingClientRect(),Q=U-et.left,lt=G-et.top,yt=et.width,ut=et.height;let ht;d.direction==="horiz"?ht=Q<yt/2?"-1":"+1":ht=lt<ut/2?"-1":"+1",(ot=v.current)==null||ot.go(ht)}}},K=S=>{if(N.current){N.current=!1;return}const U=n[c],G=(U==null?void 0:U.image.objectFit)==="cover";let Z,ot;if("changedTouches"in S&&S.changedTouches.length>0)Z=S.changedTouches[0].clientX,ot=S.changedTouches[0].clientY;else if("clientX"in S)Z=S.clientX,ot=S.clientY;else return;let et;if(G&&B.current){const Q=wo(B.current);et=Z>=Q.left&&Z<=Q.right&&ot>=Q.top&&ot<=Q.bottom}else{const Q=B.current?$o(B.current):null;if(!Q){S.target===S.currentTarget&&J();return}et=Z>=Q.x&&Z<=Q.x+Q.width&&ot>=Q.y&&ot<=Q.y+Q.height}et?Y(B.current,Z,ot):J()},tt=S=>{const U=S.target;(U.classList.contains(O.thumbsWrapper)||U.classList.contains(O.thumbsContainer))&&K(S)};j.useEffect(()=>{if(!t)return;const S=U=>{var G,Z;if(U.key==="Escape"){J();return}if(U.key==="ArrowRight"){f(ot=>(ot+1)%Math.max(n.length,1)),(G=v.current)==null||G.go("+1");return}U.key==="ArrowLeft"&&(f(ot=>(ot-1+Math.max(n.length,1))%Math.max(n.length,1)),(Z=v.current)==null||Z.go("-1"))};return window.addEventListener("keydown",S),()=>{window.removeEventListener("keydown",S)}},[t,J,n.length]),j.useEffect(()=>{if(t){if(f(0),k(U=>U+1),M.current=!1,y(!1),g(!1),h({}),!z)return;const S=new CustomEvent("page-overlay",{detail:{itemId:z}});window.dispatchEvent(S)}return()=>{L.current&&m.current&&(L.current.removeEventListener("animationend",m.current),m.current=null),g(!1)}},[t,z]),j.useEffect(()=>{E.current!==null&&E.current!==d.type&&k(S=>S+1),E.current=d.type},[d.type]),j.useEffect(()=>{if(!t)return;const S=document.body.style.overflow,U=window.matchMedia("(max-width: 768px)").matches,G=To(T.color);document.body.style.overflow="hidden",g(!1);const Z=et=>{et.target===L.current&&!M.current&&et.animationName&&(U&&!i&&G>.9&&(document.body.style.backgroundColor=T.color),g(!0),L.current&&F.current&&L.current.removeEventListener("animationend",F.current),F.current=null)};L.current&&(F.current=Z,L.current.addEventListener("animationend",Z));const ot=et=>{const Q=et.target;Q&&(Q.closest(`.${O.thumbsWrapper}`)||Q.closest(`.${O.thumbsContainer}`))||d.type!=="slide"&&et.preventDefault()};return document.addEventListener("touchmove",ot,{passive:!1}),()=>{document.body.style.overflow=S,document.removeEventListener("touchmove",ot),L.current&&F.current&&(L.current.removeEventListener("animationend",F.current),F.current=null),g(!1)}},[t,i,T.color,d.type]),j.useEffect(()=>{if(!t)return;const S=U=>{var Z,ot;if(M.current){U.stopPropagation();return}if(N.current){N.current=!1;return}const G=U.target;if(!(G&&(G.closest(`.${O.thumbsContainer}`)||G.closest(`.${O.thumbItem}`)))){if(d.type==="slide"&&H.type==="drag"&&((ot=(Z=v.current)==null?void 0:Z.splide)!=null&&ot.root)){const et=v.current.splide.root;if(G&&(et.contains(G)||et===G))return}if(U.touches.length===0&&U.changedTouches.length>0){const et=n[c],Q=(et==null?void 0:et.image.objectFit)==="cover",lt=U.changedTouches[0];let yt;if(Q&&B.current){const ut=wo(B.current);yt=lt.clientX>=ut.left&<.clientX<=ut.right&<.clientY>=ut.top&<.clientY<=ut.bottom}else{const ut=B.current?$o(B.current):null;if(!ut)return;yt=lt.clientX>=ut.x&<.clientX<=ut.x+ut.width&<.clientY>=ut.y&<.clientY<=ut.y+ut.height}if(!yt){U.stopPropagation(),M.current=!0;const ut=ht=>{ht.stopPropagation(),ht.preventDefault(),document.removeEventListener("click",ut,!0)};document.addEventListener("click",ut,!0),J()}}}};return document.addEventListener("touchend",S,{passive:!0}),()=>{document.removeEventListener("touchend",S)}},[t,J,c,n]);const ct=(d.type==="scale"||d.type==="fade")&&d.direction==="vert"&&H.type==="drag";j.useEffect(()=>{var ht,Pt;if(!t||!ct||!((Pt=(ht=v.current)==null?void 0:ht.splide)!=null&&Pt.root))return;const S=v.current.splide.root,U=30,G=(rt,gt)=>{if(I.current){const Tt=Math.abs(rt-I.current.x),Xt=Math.abs(gt-I.current.y);(Tt>0||Xt>0)&&(N.current=!0)}},Z=rt=>{I.current&&(rt.preventDefault(),G(rt.clientX,rt.clientY))},ot=rt=>{I.current&&rt.touches.length>0&&(rt.preventDefault(),G(rt.touches[0].clientX,rt.touches[0].clientY))},et=(rt,gt)=>{if(!I.current||!v.current){I.current=null;return}const Tt=Math.abs(rt-I.current.x),Xt=Math.abs(gt-I.current.y);Xt>U&&Xt>Tt&&v.current.go(gt<I.current.y?"+1":"-1"),I.current=null},Q=rt=>{I.current&&et(rt.clientX,rt.clientY),document.removeEventListener("pointerup",Q),document.removeEventListener("pointercancel",Q),document.removeEventListener("pointermove",Z)},lt=rt=>{if(I.current){if(rt.changedTouches.length>0){const gt=rt.changedTouches[0];et(gt.clientX,gt.clientY)}document.removeEventListener("touchend",lt),document.removeEventListener("touchcancel",lt),document.removeEventListener("touchmove",ot)}},yt=rt=>{I.current={x:rt.clientX,y:rt.clientY},N.current=!1,document.addEventListener("pointermove",Z,{passive:!1}),document.addEventListener("pointerup",Q),document.addEventListener("pointercancel",Q)},ut=rt=>{rt.touches.length>0&&(I.current={x:rt.touches[0].clientX,y:rt.touches[0].clientY},N.current=!1,document.addEventListener("touchmove",ot,{passive:!1}),document.addEventListener("touchend",lt),document.addEventListener("touchcancel",lt))};return S.addEventListener("pointerdown",yt),S.addEventListener("touchstart",ut),()=>{S.removeEventListener("pointerdown",yt),S.removeEventListener("touchstart",ut),document.removeEventListener("pointermove",Z),document.removeEventListener("pointerup",Q),document.removeEventListener("pointercancel",Q),document.removeEventListener("touchmove",ot),document.removeEventListener("touchend",lt),document.removeEventListener("touchcancel",lt),I.current=null,N.current=!1}},[t,ct,u]);const st={backgroundColor:T.color,backdropFilter:`blur(${T.blur}px)`,animationDuration:`${parseInt(D.duration)}ms`,animationTimingFunction:"ease",animationFillMode:"both"};return typeof document>"u"||!document.getElementById(a)?null:br.createPortal(s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:i?null:L,className:ft(O.background,b?it:at,{[O.editor]:i},{[O.hidden]:!t}),style:{...st,...l&&!i&&!b?{position:"absolute"}:{}}}),s.jsxs("div",{ref:i?L:null,className:ft(O.contentStyle,b?pt:q,{[O.editor]:i},{[O.hidden]:!t}),style:{animationDuration:`${parseInt(D.duration)}ms`,animationTimingFunction:"ease",animationFillMode:"both"},children:[s.jsx(ur,{onMove:S=>f(S.index),ref:v,className:O.lightboxSplide,options:{arrows:!1,speed:d.duration?parseInt(d.duration):500,direction:d.direction==="horiz"||d.type==="fade"||d.type==="scale"?"ltr":"ttb",pagination:!1,drag:H.type==="drag"&&!ct,perPage:1,width:"100%",height:"100%",type:d.type==="fade"||d.type==="scale"?"fade":"loop",padding:0,rewind:H.repeat!=="close",start:0},style:{"--splide-speed":d.duration},children:n.map((S,U)=>{const G=Ye(V.position,V.offset,i),Z=`${x.scalingValue(V.padding.top,i)} ${x.scalingValue(V.padding.right,i)} ${x.scalingValue(V.padding.bottom,i)} ${x.scalingValue(V.padding.left,i)}`,ot=d.type==="scale"?(()=>{const{transform:et,...Q}=G;return{...Q,position:"absolute",padding:Z,boxSizing:"border-box","--position-transform":et||"none"}})():{...G,position:"absolute",padding:Z,boxSizing:"border-box"};return s.jsx(dr,{children:s.jsx("div",{className:O.imgWrapper,onClick:K,children:s.jsx("img",{ref:U===c?B:null,className:ft(O.imageStyle,{[O.contain]:S.image.objectFit==="contain",[O.cover]:S.image.objectFit==="cover",[O.scaleSlide]:d.type==="scale"}),src:S.image.url,alt:S.image.name??"",style:{...ot,pointerEvents:S.image.objectFit==="contain"?"none":"auto"}})})},U)})},u),C.isActive&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:ft(O.arrow,{[O.arrowVertical]:d.direction==="vert"}),style:{color:C.color,"--arrow-hover-color":C.hover},children:s.jsxs("button",{className:O.arrowInner,style:{transform:`translate(${x.scalingValue(C.offset.x,i)}, ${x.scalingValue(C.offset.y*(d.direction==="horiz"?1:-1),i)}) scale(${C.scale}) rotate(${d.direction==="horiz"?"0deg":"90deg"})`},onClick:()=>{var S;return(S=v.current)==null?void 0:S.go("-1")},"aria-label":"Previous",children:[C.arrowsImgUrl&&s.jsx(ye,{url:C.arrowsImgUrl,fill:C.color,hoverFill:C.hover,className:ft(O.arrowImg,O.mirror)}),!C.arrowsImgUrl&&s.jsx(_o,{color:C.color,className:ft(O.arrowIcon,O.arrowImg,O.mirror)})]})}),s.jsx("div",{className:ft(O.arrow,O.nextArrow,{[O.arrowVertical]:d.direction==="vert"}),style:{color:C.color,"--arrow-hover-color":C.hover},children:s.jsxs("button",{className:O.arrowInner,style:{transform:`translate(${x.scalingValue(C.offset.x*(d.direction==="horiz"?-1:1),i)}, ${x.scalingValue(C.offset.y,i)}) scale(${C.scale}) rotate(${d.direction==="horiz"?"0deg":"90deg"})`},onClick:()=>{var S;return(S=v.current)==null?void 0:S.go("+1")},"aria-label":"Next",children:[C.arrowsImgUrl&&s.jsx(ye,{url:C.arrowsImgUrl,fill:C.color,hoverFill:C.hover,className:O.arrowImg}),!C.arrowsImgUrl&&s.jsx(_o,{color:C.color,className:ft(O.arrowIcon,O.arrowImg)})]})})]}),T.closeIconUrl&&(()=>{const S=Ye(T.closeIconAlign,T.closeIconOffset,i),U=`scale(${T.closeIconScale})`,G=S.transform?`${S.transform} ${U}`:U;return s.jsx("button",{className:O.closeButton,style:{...S,transform:G},onClick:J,"aria-label":"Close lightbox",children:s.jsx(ye,{url:T.closeIconUrl,fill:T.closeIconColor??"#000000",hoverFill:T.closeIconHover??"#cccccc"})})})(),A&&A.isActive&&o.imageCaption&&((P=n[c])==null?void 0:P.imageCaption)&&(()=>{const{widthSettings:S,fontSettings:U,letterSpacing:G,textAlign:Z,wordSpacing:ot,fontSizeLineHeight:et,textAppearance:Q,color:lt}=o.imageCaption;return s.jsx("div",{className:O.caption,style:{...Ye(A.alignment,A.offset,i),fontFamily:U.fontFamily,fontWeight:U.fontWeight,fontStyle:U.fontStyle,width:S.sizing==="auto"?"max-content":x.scalingValue(S.width,i),letterSpacing:x.scalingValue(G,i),wordSpacing:x.scalingValue(ot,i),textAlign:Z,fontSize:x.scalingValue(et.fontSize,i),lineHeight:x.scalingValue(et.lineHeight,i),textTransform:Q.textTransform??"none",textDecoration:Q.textDecoration??"none",fontVariant:Q.fontVariant??"normal",color:lt},onClick:yt=>yt.stopPropagation(),children:s.jsx("div",{"data-styles":"imageCaption",className:O.captionTextInner,style:{"--link-color":A.linkColor,"--link-hover-color":A.linkHoverColor},children:s.jsx(ze,{content:n[c].imageCaption})})})})(),w.isActive&&(()=>{const[S,U]=w.position.split("-"),G=d.direction==="horiz"?`${S}-left`:w.position,Z=Ye(G,w.offset,i),ot=()=>{if(d.direction==="horiz"){if(U==="left")return"flex-start";if(U==="center")return"center";if(U==="right")return"flex-end"}else{if(S==="top")return"flex-start";if(S==="middle")return"center";if(S==="bottom")return"flex-end"}return"flex-start"};return s.jsx("div",{ref:R,className:O.thumbsWrapper,onClick:et=>tt(et),style:{position:i?"absolute":"fixed",...Z,...d.direction==="horiz"?{maxWidth:"100vw",width:"100%",overflowX:"auto",overflowY:"hidden"}:{maxHeight:"100vh",overflowY:"auto",overflowX:"hidden"}},children:s.jsx("div",{className:ft(O.thumbsContainer,{[O.thumbsContainerVertical]:d.direction==="vert",[O.thumbsAlignStart]:w.align==="start",[O.thumbsAlignCenter]:w.align==="center",[O.thumbsAlignEnd]:w.align==="end"}),style:{gap:x.scalingValue(w.grid.gap,i),justifyContent:W?"flex-start":ot()},children:n.map((et,Q)=>{const lt=Q===c,yt=$[Q],ht=w.grid.size*(lt?w.activeState.scale:1),Pt=()=>{if(w.fit!=="fit")return{};if(!yt)return d.direction==="horiz"?{height:x.scalingValue(ht,i)}:{width:x.scalingValue(ht,i)};const rt=yt.width/yt.height;if(d.direction==="horiz"){const gt=ht,Tt=gt*rt;return{width:x.scalingValue(Tt,i),height:x.scalingValue(gt,i)}}else{const gt=ht,Tt=gt/rt;return{width:x.scalingValue(gt,i),height:x.scalingValue(Tt,i)}}};return s.jsx("button",{className:O.thumbItem,style:{...d.direction==="horiz"&&w.fit!=="fit"?{height:x.scalingValue(ht,i)}:{},...d.direction==="vert"&&w.fit!=="fit"?{width:x.scalingValue(ht,i)}:{},...w.fit==="cover"?{width:x.scalingValue(ht,i),height:x.scalingValue(ht,i)}:{},...Pt(),transition:lt?"all 0.25s ease-out":"none",opacity:lt?w.activeState.opacity/100:w.opacity/100,"--thumb-hover":w.activeState.opacity/100},onClick:rt=>{var gt;rt.stopPropagation(),f(Q),(gt=v.current)==null||gt.go(Q)},onMouseEnter:()=>{var rt;w.triggers==="hov"&&((rt=v.current)==null||rt.go(Q))},children:s.jsx("img",{src:et.image.url,alt:et.image.name??"",onLoad:rt=>{const gt=rt.currentTarget;gt.naturalWidth&>.naturalHeight&&h(Tt=>({...Tt,[Q]:{width:gt.naturalWidth,height:gt.naturalHeight}}))},style:{objectFit:w.fit==="cover"?"cover":"contain",...w.fit==="fit"?{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}:{},...w.fit==="cover"?{width:"100%",height:"100%"}:{}}})},`${et.image.name}-${Q}`)})})})})()]})]}),document.getElementById(a))};function _o({color:t,className:e}){return s.jsx("svg",{viewBox:"0 0 10 18",className:e,children:s.jsx("g",{id:"Symbols",stroke:"none",strokeWidth:"1",fillRule:"evenodd",children:s.jsx("path",{d:"M-3.70710678,4.29289322 C-3.34662282,3.93240926 -2.77939176,3.90467972 -2.38710056,4.20970461 L-2.29289322,4.29289322 L5,11.585 L12.2928932,4.29289322 C12.6533772,3.93240926 13.2206082,3.90467972 13.6128994,4.20970461 L13.7071068,4.29289322 C14.0675907,4.65337718 14.0953203,5.22060824 13.7902954,5.61289944 L13.7071068,5.70710678 L5.70710678,13.7071068 C5.34662282,14.0675907 4.77939176,14.0953203 4.38710056,13.7902954 L4.29289322,13.7071068 L-3.70710678,5.70710678 C-4.09763107,5.31658249 -4.09763107,4.68341751 -3.70710678,4.29289322 Z",id:"Shape-Copy",fill:t,transform:"translate(5, 9) rotate(-90) translate(-5, -9)"})})})}const $l={element:xl,id:"lightbox",name:"Lightbox",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/lightboxImg.png"},defaultSize:{width:440,height:550},fontSettingsPaths:{content:[],parameters:[{path:"styles.imageCaption.fontSettings"}]},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.thumbnailBlock.cover.url",placeholderEnabled:!0},{path:"settings.controls.arrowsImgUrl"},{path:"settings.area.closeIconUrl"}]},schema:{type:"object",properties:{settings:{type:"object",properties:{thumbnailBlock:{display:{type:"settings-block",triggerEvent:"close"},type:"object",properties:{cover:{title:"COVER",icon:"cover",tooltip:"Cover Image",type:"object",properties:{url:{type:"string",display:{type:"cover-image-input"}}}}}},lightboxBlock:{display:{type:"settings-block",triggerEvent:"open"},type:"object",properties:{appear:{title:"APPEAR",icon:"transition",tooltip:"Appearance",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide in","fade in","mix"]},duration:{type:"string",label:"T",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]},direction:{type:"string",title:"From",display:{type:"direction-control"},enum:["top","left","right","bottom"]}}},triggers:{title:"TRIGGERS",icon:"target",tooltip:"Triggers",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["click","drag"]},switch:{type:"string",display:{type:"ratio-group"},enum:["image","50/50"]},repeat:{type:"string",title:"Repeat",display:{visible:!1,type:"ratio-group"},enum:["close","loop"]}}},slider:{title:"SLIDER",icon:"horizontal-resize",tooltip:"Slider",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide","fade","scale"]},direction:{type:"string",display:{type:"ratio-group"},enum:["horiz","vert"]},duration:{type:"string",label:"T",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]}}},thumbnail:{title:"THUMB",icon:"thumbnail",tooltip:"Thumbnail",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},position:{display:{type:"align-grid"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},fit:{type:"string",display:{type:"ratio-group"},enum:["cover","fit"]},align:{type:"string",title:"Align",display:{type:"align-group",direction:"horizontal"},enum:["start","center","end"]},triggers:{type:"string",title:"Triggers",display:{type:"ratio-group",direction:"horizontal"},enum:["clk","hov"]},grid:{type:"object",title:"Grid",display:{type:"group"},properties:{size:{type:"number",label:"Box",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},gap:{type:"number",label:"Gap",scalingEnabled:!0,min:0,display:{type:"numeric-input"}}}},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},opacity:{type:"number",title:"Opacity",label:"icon:opacity",min:0,max:100,step:1,display:{type:"numeric-input"}},activeState:{type:"object",title:"ACTIVE",display:{type:"group"},properties:{scale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control"}},opacity:{type:"number",title:"Opacity",label:"icon:opacity",min:0,max:100,step:1,display:{type:"numeric-input"}}}}}},layout:{title:"LAYOUT",icon:"layout",tooltip:"Layout",type:"object",properties:{position:{display:{type:"align-grid"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},padding:{type:"object",title:"Padding",display:{type:"padding-controls"},properties:{top:{min:0,step:1,type:"number"},left:{min:0,step:1,type:"number"},right:{min:0,step:1,type:"number"},bottom:{min:0,step:1,type:"number"}}}}},controls:{title:"CONTROLS",icon:"controls",tooltip:"Controls",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},arrowsImgUrl:{type:["string","null"],display:{type:"settings-image-input"}},offset:{title:"Offset",type:"object",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"Scale",min:.5,max:5,step:.1,display:{type:"range-control"}},color:{title:"Color",type:"string",display:{type:"settings-color-picker",format:"single"}},hover:{title:"Hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},area:{title:"AREA",icon:"area",tooltip:"Area",type:"object",properties:{color:{type:"string",display:{type:"settings-color-picker",format:"single"}},blur:{type:"number",label:"icon:blur",display:{type:"numeric-input"}},closeIconUrl:{type:["string","null"],title:"Close Icon",display:{type:"settings-image-input"}},closeIconAlign:{display:{type:"align-grid",direction:"horizontal"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},closeIconScale:{type:"number",title:"Scale",min:.5,max:5,step:.1,display:{type:"range-control"}},closeIconOffset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},closeIconColor:{title:"Color",type:"string",display:{type:"settings-color-picker",format:"single"}},closeIconHover:{title:"Hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},caption:{title:"DESC",icon:"text-icon",tooltip:"Description",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},alignment:{type:"string",display:{type:"align-grid"},enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{title:"Offset",type:"object",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},linkColor:{title:"Link",type:"string",display:{type:"settings-color-picker",format:"single"}},linkHoverColor:{title:"Link Hov",type:"string",display:{type:"settings-color-picker",format:"single"}}}}}}},default:{d:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"slide in",duration:"1000ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"vert",duration:"1000ms"},thumbnail:{isActive:!0,position:"middle-left",fit:"fit",align:"start",triggers:"hov",grid:{size:.05,gap:.01},offset:{x:.01,y:0},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:0,bottom:.06,left:0}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},linkColor:"#cccccc",linkHoverColor:"#cccccc"}}},m:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"fade in",duration:"500ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"horiz",duration:"1000ms"},thumbnail:{isActive:!0,position:"bottom-center",fit:"fit",align:"start",triggers:"hov",grid:{size:.1,gap:.05},offset:{x:.01,y:-.05},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:.05,bottom:.06,left:.05}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},hover:"#cccccc"}}},t:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"fade in",duration:"500ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"vert",duration:"1000ms"},thumbnail:{isActive:!0,position:"middle-left",fit:"fit",align:"start",triggers:"hov",grid:{size:.05,gap:.01},offset:{x:.03,y:0},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:.1,bottom:.06,left:.1}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},hover:"#cccccc"}}}},displayRules:[{if:{name:"lightboxBlock.appear.type",value:"slide in"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!0}},{if:{name:"lightboxBlock.slider.direction",value:"vert"},then:{name:"properties.lightboxBlock.properties.thumbnail.properties.align.display.direction",value:"vertical"}},{if:{name:"lightboxBlock.appear.type",value:"mix"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!0}},{if:{name:"lightboxBlock.appear.type",value:"fade in"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!1}},{if:[{name:"lightboxBlock.triggers.type",value:"click"},{name:"lightboxBlock.triggers.switch",value:"image"}],then:{name:"properties.lightboxBlock.properties.triggers.properties.repeat.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},imageCaption:{label:"Description",placeholder:"Add Caption...",display:{type:"rich-text"}}},required:["image"]},default:[{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/2.jpg",name:"Slider-1.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/3.jpg",name:"Slider-2.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/4.jpg",name:"Slider-3.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]}]},styles:{type:"object",properties:{imageCaption:{dataName:"caption",type:"object",properties:{fontSettings:{type:"object",display:{type:"font-settings"},properties:{fontFamily:{type:"string"},fontWeight:{type:"number"},fontStyle:{type:"string"}}},widthSettings:{display:{type:"text-width-control"},type:"object",properties:{width:{type:"number"},sizing:{type:"string",enum:["auto","manual"]}}},fontSizeLineHeight:{type:"object",display:{type:"font-size-line-height"},properties:{fontSize:{type:"number"},lineHeight:{type:"number"}}},letterSpacing:{display:{type:"letter-spacing-input"},type:"number"},wordSpacing:{display:{type:"word-spacing-input"},type:"number"},textAlign:{display:{type:"text-align-control"},type:"string",enum:["left","center","right","justify"]},textAppearance:{display:{type:"text-appearance"},properties:{textTransform:{type:"string",enum:["none","uppercase","lowercase","capitalize"]},textDecoration:{type:"string",enum:["none","underline"]},fontVariant:{type:"string",enum:["normal","small-caps"]}}},color:{display:{type:"style-panel-color-picker"},type:"string"}}}},default:{imageCaption:{widthSettings:{width:.13,sizing:"auto"},fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},fontSizeLineHeight:{fontSize:.02,lineHeight:.02},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"}}}},required:["settings","content","styles"]}};function he(t){const{color:e,...n}=t;return n}function Jt(t,e){var n,o,r;return{fontFamily:t.fontSettings.fontFamily,fontWeight:t.fontSettings.fontWeight,fontStyle:t.fontSettings.fontStyle,letterSpacing:x.scalingValue(t.letterSpacing,e),wordSpacing:x.scalingValue(t.wordSpacing,e),fontSize:x.scalingValue(t.fontSize,e),lineHeight:t.lineHeight!==void 0?x.scalingValue(t.lineHeight,e):void 0,textTransform:(n=t.textAppearance)==null?void 0:n.textTransform,textDecoration:(o=t.textAppearance)==null?void 0:o.textDecoration,fontVariant:(r=t.textAppearance)==null?void 0:r.fontVariant,color:t.color}}function Xe(t){return`calc(var(--cntrl-article-width, 100vw) * ${t/1440})`}function wl(t){return`
|
|
7
|
-
.${
|
|
6
|
+
*/const ba="RichTextRenderer-module__link___BWeZ2",xa={link:ba},zt=({content:e})=>{const t=n=>n.map((o,r)=>o.type==="link"?a.jsx("a",{className:xa.link,href:o.value,target:o.target,children:t(o.children)},r):a.jsx("span",{style:Sa(o),children:o.text},r));return a.jsx(a.Fragment,{children:e.map((n,o)=>{const r=n.children;return a.jsx("div",{children:t(r)},o)})})};function Sa(e){return{...e.fontFamily&&{fontFamily:e.fontFamily},...e.fontWeight&&{fontWeight:e.fontWeight},...e.fontStyle&&{fontStyle:e.fontStyle},...e.textDecoration&&{textDecoration:e.textDecoration},...e.textTransform&&{textTransform:e.textTransform},...e.fontVariant&&{fontVariant:e.fontVariant},...e.verticalAlign&&{verticalAlign:e.verticalAlign,lineHeight:"0px"}}}const Ca="SvgImage-module__svg___q3xE-",wa="SvgImage-module__img___VsTm-",xo={svg:Ca,img:wa},Ta=e=>{const t=e.trim();return t.startsWith("data:image/svg+xml")?!0:(t.split(/[?#]/)[0]??t).endsWith(".svg")},_a=e=>`url("${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}")`,tt=({url:e,fill:t="#000000",hoverFill:n="#CCCCCC",className:o="",style:r})=>{const[l,i]=S.useState(()=>typeof window>"u"?!0:CSS.supports("mask-image",'url("")')||CSS.supports("-webkit-mask-image",'url("")'));return S.useEffect(()=>{if(typeof window<"u"&&window.CSS){const c=CSS.supports("mask-image",'url("")')||CSS.supports("-webkit-mask-image",'url("")');i(c)}},[]),!Ta(e)||!l?a.jsx("img",{src:e,alt:"",className:me(xo.img,o),style:r}):a.jsx("span",{"data-supports-mask":l,className:me(xo.svg,o),style:{"--svg":_a(e),"--fill":t,"--hover-fill":n,...r??{}}})},$a={"top-left":te.topLeftAlignment,"top-center":te.topCenterAlignment,"top-right":te.topRightAlignment,"middle-left":te.middleLeftAlignment,"middle-center":te.middleCenterAlignment,"middle-right":te.middleRightAlignment,"bottom-left":te.bottomLeftAlignment,"bottom-center":te.bottomCenterAlignment,"bottom-right":te.bottomRightAlignment};function Aa({settings:e,content:t,styles:n,isEditor:o}){const[r,l]=S.useState(null),{widthSettings:i,fontSettings:c,letterSpacing:p,textAlign:m,wordSpacing:u,fontSizeLineHeight:E,textAppearance:x,color:h}=n.imageCaption,[d,g]=S.useState(void 0),[C,v]=S.useState(null),[b,A]=S.useState(0),[j,N]=S.useState(0),{direction:$,transition:f,controls:F,pagination:P,imageCaption:O,triggers:R}=e,V=S.useRef(f.type),{x:W,y:K}=e.controls.offset,G=y=>{r&&r.go(y)};return S.useEffect(()=>{if(!C)return;const y=new ResizeObserver(k=>{if(!r)return;const[I]=k;g({width:Math.round(I.contentRect.width),height:Math.round(I.contentRect.height)})});return y.observe(C),()=>y.unobserve(C)},[C]),S.useEffect(()=>{!r||V.current===f.type||(N(y=>y+1),V.current=f.type)},[f.type]),a.jsx("div",{className:me(te.wrapper,{[te.editor]:o}),ref:v,children:a.jsxs("div",{className:te.sliderInner,style:{width:d?d.width:"100%",height:d?d.height:"100%",backgroundColor:f.backgroundColor&&f.type==="fade in"?f.backgroundColor:"transparent"},children:[e.imageCaption.isActive&&a.jsx("div",{className:me(te.captionBlock),children:a.jsx("div",{className:te.captionTextWrapper,children:t.map((y,k)=>a.jsx("div",{className:me(te.captionText,$a[O.alignment],{[te.withPointerEvents]:k===b&&o,[te.active]:k===b}),style:{fontFamily:c.fontFamily,fontWeight:c.fontWeight,fontStyle:c.fontStyle,width:i.sizing==="auto"?"max-content":w.scalingValue(i.width,o),letterSpacing:w.scalingValue(p,o),wordSpacing:w.scalingValue(u,o),textAlign:m,fontSize:w.scalingValue(E.fontSize,o),lineHeight:w.scalingValue(E.lineHeight,o),textTransform:x.textTransform??"none",textDecoration:x.textDecoration??"none",fontVariant:x.fontVariant??"normal",color:h,transitionDuration:f.duration?`${Math.round(parseInt(f.duration)/2)}ms`:"500ms"},children:a.jsx("div",{"data-styles":"imageCaption",className:te.captionTextInner,style:{"--link-hover-color":O.linkHoverColor,"--link-color":O.linkColor,position:"relative",top:w.scalingValue(O.offset.y,o),left:w.scalingValue(O.offset.x,o)},children:a.jsx(zt,{content:y.imageCaption})})},k))})}),a.jsx(pr,{onMove:y=>{A(y.index)},ref:l,options:{arrows:!1,speed:f.duration?parseInt(f.duration):500,autoplay:R.autoPlay!==null,...R.autoPlay!==null&&{interval:parseInt(R.autoPlay)*1e3},direction:$==="horiz"||f.type==="fade in"?"ltr":"ttb",pagination:!1,drag:R.triggersList.drag,perPage:1,width:d?d.width:"100%",height:d?d.height:"100%",type:f.type==="fade in"?"fade":"loop",rewind:!0},children:t.map((y,k)=>a.jsx(dr,{children:a.jsx("div",{className:te.sliderItem,children:a.jsx("div",{className:te.imgWrapper,children:a.jsx("img",{className:me(te.sliderImage,{[te.contain]:y.image.objectFit==="contain",[te.cover]:y.image.objectFit==="cover"}),src:y.image.url,alt:y.image.name??""})})})},k))},j),F.isActive&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:me(te.arrow,{[te.arrowVertical]:$==="vert",[te.hoverArrow]:F.show==="on hover"}),style:{color:F.color,"--arrow-hover-color":F.hover},children:a.jsxs("button",{onClick:()=>{G("-1")},className:te.arrowInner,style:{transform:`translate(${w.scalingValue(W,o)}, ${w.scalingValue(K*($==="horiz"?1:-1),o)}) scale(${e.controls.scale/100}) rotate(${$==="horiz"?"0deg":"90deg"})`},children:[F.arrowsImgUrl&&a.jsx(tt,{url:F.arrowsImgUrl,fill:F.color,hoverFill:F.hover,className:me(te.arrowImg,te.mirror)}),!F.arrowsImgUrl&&a.jsx(So,{color:F.color,className:me(te.arrowIcon,te.arrowImg,te.mirror)})]})}),a.jsx("div",{className:me(te.arrow,te.nextArrow,{[te.arrowVertical]:$==="vert",[te.hoverArrow]:F.show==="on hover"}),style:{color:F.color,"--arrow-hover-color":F.hover},children:a.jsxs("button",{className:te.arrowInner,onClick:()=>G("+1"),style:{transform:`translate(${w.scalingValue(W*($==="horiz"?-1:1),o)}, ${w.scalingValue(K,o)}) scale(${e.controls.scale/100}) rotate(${$==="horiz"?"0deg":"90deg"})`},children:[F.arrowsImgUrl&&a.jsx(tt,{url:F.arrowsImgUrl,fill:F.color,hoverFill:F.hover,className:te.arrowImg}),!F.arrowsImgUrl&&a.jsx(So,{color:F.color,className:me(te.arrowIcon,te.arrowImg)})]})})]}),R.triggersList.click&&a.jsx("div",{className:te.clickOverlay,onClick:()=>{r&&r.go("+1")}}),P.isActive&&a.jsx("div",{className:me(te.pagination,{[te.paginationInsideBottom]:P.position==="inside-1"&&$==="horiz",[te.paginationInsideTop]:P.position==="inside-2"&&$==="horiz",[te.paginationOutsideBottom]:P.position==="outside-1"&&$==="horiz",[te.paginationOutsideTop]:P.position==="outside-2"&&$==="horiz",[te.paginationInsideLeft]:P.position==="inside-1"&&$==="vert",[te.paginationInsideRight]:P.position==="inside-2"&&$==="vert",[te.paginationOutsideLeft]:P.position==="outside-1"&&$==="vert",[te.paginationOutsideRight]:P.position==="outside-2"&&$==="vert",[te.paginationVertical]:$==="vert"}),children:a.jsx("div",{className:te.paginationInner,style:{backgroundColor:P.colors[2],transform:`scale(${P.scale/100}) translate(${w.scalingValue(P.offset.x,o)}, ${w.scalingValue(P.offset.y,o)}) rotate(${$==="horiz"?"0deg":"90deg"})`},children:t.map((y,k)=>a.jsx("button",{onClick:()=>{r&&r.go(k)},className:me(te.paginationItem),children:a.jsx("div",{className:me(te.dot,{[te.activeDot]:k===b}),style:{backgroundColor:k===b?P.colors[0]:P.colors[1],"--pagination-hover-color":P.hover}})},k))})})]})})}function So({color:e,className:t}){return a.jsx("svg",{viewBox:"0 0 10 18",className:t,children:a.jsx("g",{id:"Symbols",stroke:"none",strokeWidth:"1",fillRule:"evenodd",children:a.jsx("path",{d:"M-3.70710678,4.29289322 C-3.34662282,3.93240926 -2.77939176,3.90467972 -2.38710056,4.20970461 L-2.29289322,4.29289322 L5,11.585 L12.2928932,4.29289322 C12.6533772,3.93240926 13.2206082,3.90467972 13.6128994,4.20970461 L13.7071068,4.29289322 C14.0675907,4.65337718 14.0953203,5.22060824 13.7902954,5.61289944 L13.7071068,5.70710678 L5.70710678,13.7071068 C5.34662282,14.0675907 4.77939176,14.0953203 4.38710056,13.7902954 L4.29289322,13.7071068 L-3.70710678,5.70710678 C-4.09763107,5.31658249 -4.09763107,4.68341751 -3.70710678,4.29289322 Z",id:"Shape-Copy",fill:e,transform:"translate(5, 9) rotate(-90) translate(-5, -9)"})})})}const Ea={element:Aa,id:"control-slider",name:"Slider",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/sliderImg.png"},defaultSize:{width:400,height:400},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.arrowsImgUrl"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.imageCaption.fontSettings"}]},schema:{type:"object",properties:{settings:{type:"object",display:{type:"settings-block"},properties:{triggers:{title:"triggers",icon:"target",tooltip:"Triggers",type:"object",properties:{triggersList:{type:"object",display:{type:"toggle-ratio-group"},properties:{click:{type:"boolean"},drag:{type:"boolean"}}},autoPlay:{type:["string","null"],label:"Auto",display:{type:"step-selector"},enum:[null,"1s","2s","3s","4s","5s"]}}},direction:{icon:"horizontal-resize",tooltip:"Direction",type:"string",display:{type:"ratio-group"},enum:["horiz","vert"]},transition:{title:"transit",icon:"transition",tooltip:"Transition",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide","fade in"]},backgroundColor:{type:["string","null"],title:"BG Color",display:{visible:!1,type:"settings-color-picker",format:"single"}},duration:{type:"string",label:"icon:hourglass",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]}}},controls:{title:"controls",icon:"controls",tooltip:"Controls",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},arrowsImgUrl:{type:["string","null"],display:{type:"settings-image-input"}},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"scale",min:50,max:600,display:{type:"range-control"}},color:{title:"color",type:"string",display:{type:"settings-color-picker",format:"single"}},hover:{title:"hover",type:"string",display:{type:"settings-color-picker",format:"single"}},show:{title:"Show",type:"string",display:{type:"ratio-group"},enum:["always","on hover"]}}},pagination:{title:"nav",icon:"pagination",tooltip:"Navigation",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},position:{display:{type:"socket",direction:"horizontal"},type:"string",enum:["outside-1","outside-2","inside-1","inside-2"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"scale",min:10,max:400,display:{type:"range-control"}},colors:{display:{type:"settings-color-picker",format:"multiple"},title:"color",type:"array",items:{type:"string"}},hover:{title:"hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},imageCaption:{title:"Caption",icon:"text-icon",tooltip:"Caption",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},alignment:{type:"string",display:{type:"align-grid"},enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},linkColor:{title:"Link",type:"string",display:{type:"settings-color-picker",format:"single"}},linkHoverColor:{title:"Link Hov",type:"string",display:{type:"settings-color-picker",format:"single"}}}}},default:{triggers:{triggersList:{click:!1,drag:!0},autoPlay:null},controls:{isActive:!0,arrowsImgUrl:null,offset:{x:0,y:0},scale:100,color:"#000000",hover:"#cccccc",show:"always"},transition:{type:"slide",duration:"500ms",backgroundColor:null},pagination:{isActive:!0,scale:50,position:"outside-1",offset:{x:0,y:0},colors:["#cccccc","#cccccc","#000000"],hover:"#cccccc"},direction:"horiz",imageCaption:{offset:{x:0,y:0},isActive:!0,alignment:"middle-center",linkColor:"#cccccc",linkHoverColor:"#cccccc"}},displayRules:[{if:{name:"direction",value:"vert"},then:{name:"properties.pagination.properties.position.display.direction",value:"vertical"}},{if:{name:"transition.type",value:"fade in"},then:{name:"properties.transition.properties.backgroundColor.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},imageCaption:{placeholder:"Add Caption...",label:"Description",display:{type:"rich-text"}}},required:["image"]},default:[{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-1.png",name:"Slider-1.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-2.png",name:"Slider-2.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/component-assets/Control-slider-default-picture-3.png",name:"Slider-3.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]}]},styles:{type:"object",properties:{imageCaption:{dataName:"caption",type:"object",properties:{fontSettings:{type:"object",display:{type:"font-settings"},properties:{fontFamily:{type:"string"},fontWeight:{type:"number"},fontStyle:{type:"string"}}},widthSettings:{display:{type:"text-width-control"},type:"object",properties:{width:{type:"number"},sizing:{type:"string",enum:["auto","manual"]}}},fontSizeLineHeight:{type:"object",display:{type:"font-size-line-height"},properties:{fontSize:{type:"number"},lineHeight:{type:"number"}}},letterSpacing:{display:{type:"letter-spacing-input"},type:"number"},wordSpacing:{display:{type:"word-spacing-input"},type:"number"},textAlign:{display:{type:"text-align-control"},type:"string",enum:["left","center","right","justify"]},textAppearance:{display:{type:"text-appearance"},properties:{textTransform:{type:"string",enum:["none","uppercase","lowercase","capitalize"]},textDecoration:{type:"string",enum:["none","underline"]},fontVariant:{type:"string",enum:["normal","small-caps"]}}},color:{display:{type:"style-panel-color-picker"},type:"string"}}}},default:{imageCaption:{widthSettings:{width:.13,sizing:"auto"},fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},fontSizeLineHeight:{fontSize:.02,lineHeight:.02},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"}}}},required:["settings","content","styles"]}},Ia="ImageRevealSlider-module__imageRevealSlider___UE5Ob",La="ImageRevealSlider-module__image___Qjt-e",Fa="ImageRevealSlider-module__link___N-iLG",ka="ImageRevealSlider-module__cursor___2U03d",gt={imageRevealSlider:Ia,image:La,link:Fa,cursor:ka};function Co(e,t,n){for(const o of n){const r=new Image;r.src=o.url;const l=o.width?Number.parseFloat(o.width):r.naturalWidth,i=r.naturalHeight/r.naturalWidth*l,c=l/2,p=i/2;if(e>=o.x-c&&e<=o.x+c&&t>=o.y-p&&t<=o.y+p)return!0}return!1}function _n(e){return new Promise(t=>{const n=new Image;n.src=e,n.onload=()=>{t({width:n.naturalWidth,height:n.naturalHeight})}})}async function Ra(e,t,n,o){let r,l;if(t==="custom"){r=n;const i=await _n(e);l=i.height/i.width*r}else if(t==="random"){r=Math.random()*(o.max-o.min)+o.min;const i=await _n(e);l=i.height/i.width*r}else{const i=await _n(e);r=i.width,l=i.height}return{width:r,height:l,finalWidth:`${r}px`}}function Ma({settings:e,content:t,isEditor:n}){const[o,r]=S.useState(null),[l,i]=S.useState([]),[c,p]=S.useState(0),m=S.useRef(0),[u,E]=S.useState({x:0,y:0}),[x,h]=S.useState(1),[d,g]=S.useState("none"),C=S.useRef({x:0,y:0}),[v,b]=S.useState(!1),{sizeType:A,imageWidth:j,randomRangeImageWidth:N}=e.imageSize,{revealPosition:$,visible:f}=e.position,{cursorType:F,target:P,defaultCursorScale:O,defaultCursor:R,hoverCursorScale:V,hoverCursor:W}=e.cursor;S.useEffect(()=>{if(!o)return;const y=(L,_)=>{const z=o.getBoundingClientRect(),Z=L-z.left,se=_-z.top;if(E({x:Z,y:se}),F==="system"){g("none"),h(1);return}const ie=Z,le=se,H=document.elementFromPoint(z.left+ie,z.top+le);if(H&&H.closest("a")){g("none"),h(1);return}const re=Co(ie,le,l)||P==="area"?{img:W??"none",scale:V}:{img:R??"none",scale:O};g(re.img),h(re.scale)},k=L=>{L.stopPropagation(),C.current={x:L.clientX,y:L.clientY},y(L.clientX,L.clientY)},I=()=>{v&&y(C.current.x,C.current.y)};return o.addEventListener("mousemove",k),window.addEventListener("scroll",I,!0),()=>{o.removeEventListener("mousemove",k),window.removeEventListener("scroll",I,!0)}},[o,v,u,F,P,W,R,V,O,l]),S.useEffect(()=>{v||(g("none"),h(0))},[v]);const K=async(y,k,I,L={})=>{const{width:_,height:z,finalWidth:Z}=await Ra(y.image.url,A,j,N);let se=0,ie=0;$==="same"?(se=k/2,ie=I/2):(se=L.x??Math.random()*k,ie=L.y??Math.random()*I);const le=Math.min(Math.max(se,_/2),k-_/2),H=Math.min(Math.max(ie,z/2),I-z/2);return{id:m.current++,url:y.image.url,link:y.link,name:y.image.name,x:le,y:H,width:Z}};S.useEffect(()=>{if(!o||t.length===0)return;const y=o.getBoundingClientRect(),k=y.width,I=y.height,L=[];(async()=>{const z=t[0],Z=await K(z,k,I);L.push(Z),i(L),p(1)})()},[A,j,N,$,o]),S.useEffect(()=>{f==="last One"&&i(y=>y.length>0?[y[y.length-1]]:[])},[f]);const G=async y=>{if(!o)return;const k=o.getBoundingClientRect(),I=y.clientX-k.left,L=y.clientY-k.top;if(P==="image"&&!Co(I,L,l))return;let _=0,z=0;$==="on Click"?(_=I,z=L):$==="same"?(_=k.width/2,z=k.height/2):(_=Math.random()*k.width,z=Math.random()*k.height);const Z=t[c],se=await K(Z,k.width,k.height,{x:_,y:z});i(ie=>f==="all"?[...ie,se]:[se]),p(ie=>ie>=t.length-1?0:ie+1)};return a.jsxs("div",{ref:r,onClick:G,onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),className:gt.imageRevealSlider,style:{cursor:d==="none"?"default":"none"},children:[l.map(y=>a.jsx("div",{className:gt.wrapper,style:{top:`${y.y}px`,left:`${y.x}px`,position:"absolute",transform:"translate(-50%, -50%)",width:y.width??"auto",height:"auto",cursor:d==="none"?"default":"none"},children:P==="area"&&y.link?a.jsx("a",{href:y.link,target:"_blank",className:gt.link,children:a.jsx("img",{src:y.url,alt:y.name,className:gt.image},y.id)}):a.jsx("img",{src:y.url,alt:y.name,className:gt.image},y.id)},y.id)),v&&a.jsx("div",{className:gt.cursor,style:{left:`${u.x}px`,top:`${u.y}px`,transform:`translate(-50%, -50%) scale(${x})`,backgroundImage:`url('${d}')`,backgroundSize:"cover",backgroundPosition:"center",position:"absolute",pointerEvents:"none"}})]})}const Pa={element:Ma,id:"control-image-reveal",name:"Click Gallery",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/clickGalleryImg.png"},defaultSize:{width:"100%",height:"100%"},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.cursor.defaultCursor"},{path:"settings.cursor.hoverCursor"}]},fontSettingsPaths:{content:[],parameters:[]},schema:{type:"object",properties:{settings:{type:"object",display:{type:"settings-block"},properties:{imageSize:{title:"IMG SIZE",icon:"size",tooltip:"IMG SIZE",type:"object",properties:{sizeType:{type:"string",display:{type:"ratio-group"},enum:["as Is","custom","random"]},imageWidth:{type:"number",label:"W",display:{type:"numeric-input",visible:!1}},randomRangeImageWidth:{type:"object",display:{type:"random-range-controls",visible:!1},properties:{min:{type:"number"},max:{type:"number"}}}}},cursor:{title:"cursor",icon:"cursor",tooltip:"cursor",type:"object",properties:{cursorType:{type:"string",display:{type:"ratio-group"},enum:["system","custom"]},target:{type:"string",title:"Target",display:{type:"ratio-group"},enum:["area","image"]},defaultCursor:{type:["string","null"],title:"Default",display:{type:"settings-image-input",visible:!1}},defaultCursorScale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control",visible:!1}},hoverCursor:{type:["string","null"],title:"Hover",display:{type:"settings-image-input",visible:!1}},hoverCursorScale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control",visible:!1}}}},position:{title:"position",icon:"transition",tooltip:"Position",type:"object",properties:{revealPosition:{type:"string",display:{type:"ratio-group"},enum:["random","same","on Click"]},visible:{type:"string",title:"Visible",display:{type:"ratio-group"},enum:["all","last One"]}}}},default:{imageSize:{sizeType:"custom",imageWidth:500,randomRangeImageWidth:{min:100,max:1e3}},cursor:{cursorType:"system",target:"area",defaultCursor:null,defaultCursorScale:2,hoverCursor:null,hoverCursorScale:2},position:{revealPosition:"random",visible:"all"}},displayRules:[{if:{name:"imageSize.sizeType",value:"custom"},then:{name:"properties.imageSize.properties.imageWidth.display.visible",value:!0}},{if:{name:"imageSize.sizeType",value:"random"},then:{name:"properties.imageSize.properties.randomRangeImageWidth.display.visible",value:!0}},{if:[{name:"cursor.target",value:"image"},{name:"cursor.cursorType",value:"custom"}],then:{name:"properties.cursor.properties.defaultCursor.display.visible",value:!0}},{if:[{name:"cursor.target",value:"image"},{name:"cursor.cursorType",value:"custom"},{name:"cursor.defaultCursor",value:null,isNotEqual:!0}],then:{name:"properties.cursor.properties.defaultCursorScale.display.visible",value:!0}},{if:{name:"cursor.cursorType",value:"custom"},then:{name:"properties.cursor.properties.hoverCursor.display.visible",value:!0}},{if:[{name:"cursor.cursorType",value:"custom"},{name:"cursor.hoverCursor",value:null,isNotEqual:!0}],then:{name:"properties.cursor.properties.hoverCursorScale.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{isObjectFitEditable:!1,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},link:{label:"URL",placeholder:"Enter link...",display:{type:"text-input"}}},required:["image"]},default:[{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQK9211QXBE9W284ZNKB8.png",name:"Slider-1.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQMFT72JD18WKP0Q2DVAT.png",name:"Slider-2.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQNEVRXPSRX5K1YTMJQY9.png",name:"Slider-3.png"},link:""},{image:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERQP84JKRDT7WNWDQZR4Y9.png",name:"Slider-4.png"},link:""}]}}}},Wa="LightBox-module__hidden___9s-9x",za="LightBox-module__heroImage___sTxNF",Ha="LightBox-module__background___rm9ml",Va="LightBox-module__editor___4ACaY",Na="LightBox-module__contentStyle___Bgnsq",Oa="LightBox-module__imageStyle___tLIlB",ja="LightBox-module__imgWrapper___LuFUp",Ba="LightBox-module__contain___8-yaS",Da="LightBox-module__cover___hNvOG",Ua="LightBox-module__caption___b6L2I",qa="LightBox-module__captionTextInner___rCGNH",Ga="LightBox-module__lightboxSplide___XFuWC",Ya="LightBox-module__arrow___iz38X",Xa="LightBox-module__arrowVertical___Zfz81",Ka="LightBox-module__nextArrow___zkAQN",Ja="LightBox-module__arrowInner___p48sW",Za="LightBox-module__arrowIcon___3VaFf",Qa="LightBox-module__arrowImg___pNV88",el="LightBox-module__mirror___pjeXc",tl="LightBox-module__thumbsWrapper___GB-nU",nl="LightBox-module__thumbsContainerVertical___wttk5",ol="LightBox-module__thumbsContainer___osSma",rl="LightBox-module__thumbsAlignStart___MO6tY",il="LightBox-module__thumbsAlignCenter___Q4sUx",al="LightBox-module__thumbsAlignEnd___p4y9R",ll="LightBox-module__thumbItem___HvnF3",sl="LightBox-module__closeButton___g2khP",cl="LightBox-module__fadeIn___0m5GW",ul="LightBox-module__slideInLeft___gPYwC",pl="LightBox-module__slideInRight___S-pPp",dl="LightBox-module__slideInTop___DFdAj",gl="LightBox-module__slideInBottom___m27kZ",ml="LightBox-module__fadeOut___55qBR",fl="LightBox-module__slideOutLeft___NvU7P",yl="LightBox-module__slideOutRight___SK7eC",hl="LightBox-module__slideOutTop___Vgg0z",vl="LightBox-module__slideOutBottom___nJ0Ef",bl="LightBox-module__scaleSlide___vZriG",q={hidden:Wa,heroImage:za,background:Ha,editor:Va,contentStyle:Na,imageStyle:Oa,imgWrapper:ja,contain:Ba,cover:Da,caption:Ua,captionTextInner:qa,lightboxSplide:Ga,arrow:Ya,arrowVertical:Xa,nextArrow:Ka,arrowInner:Ja,arrowIcon:Za,arrowImg:Qa,mirror:el,thumbsWrapper:tl,thumbsContainerVertical:nl,thumbsContainer:ol,thumbsAlignStart:rl,thumbsAlignCenter:il,thumbsAlignEnd:al,thumbItem:ll,closeButton:sl,fadeIn:cl,slideInLeft:ul,slideInRight:pl,slideInTop:dl,slideInBottom:gl,fadeOut:ml,slideOutLeft:fl,slideOutRight:yl,slideOutTop:hl,slideOutBottom:vl,scaleSlide:bl},Xt=(e,t,n)=>{const o={},[r,l]=e.split("-");return r==="top"?(o.top="0",o.bottom="auto"):r==="middle"?(o.top="50%",o.bottom="auto"):r==="bottom"&&(o.top="auto",o.bottom="0"),l==="left"?(o.left="0",o.right="auto"):l==="center"?(o.left="50%",o.right="auto"):l==="right"&&(o.left="auto",o.right="0"),r==="middle"&&l==="center"?o.transform=`translate(calc(-50% + ${w.scalingValue(t.x,n)}), calc(-50% + ${w.scalingValue(t.y,n)}))`:r==="middle"?o.transform=`translate(${w.scalingValue(t.x,n)}, calc(-50% + ${w.scalingValue(t.y,n)}))`:l==="center"?o.transform=`translate(calc(-50% + ${w.scalingValue(t.x,n)}), ${w.scalingValue(t.y,n)})`:o.transform=`translate(${w.scalingValue(t.x,n)}, ${w.scalingValue(t.y,n)})`,o};function gr(e){const t=window.getComputedStyle(e);return{top:parseFloat(t.paddingTop)||0,right:parseFloat(t.paddingRight)||0,bottom:parseFloat(t.paddingBottom)||0,left:parseFloat(t.paddingLeft)||0}}function wo(e){const t=e.getBoundingClientRect(),n=gr(e),o=Math.max(0,t.width-n.left-n.right),r=Math.max(0,t.height-n.top-n.bottom),l=e.naturalWidth,i=e.naturalHeight,c=o/r,p=l/i;let m,u;p>c?(m=o,u=o/p):(u=r,m=r*p);const E=t.left+n.left,x=t.top+n.top,h=(o-m)/2+E,d=(r-u)/2+x;return{x:h,y:d,width:m,height:u}}function To(e){const t=e.getBoundingClientRect(),n=gr(e);return{left:t.left+n.left,right:t.right-n.right,top:t.top+n.top,bottom:t.bottom-n.bottom}}function _o(e){const t=e.match(/rgba?\(([^)]+)\)/);if(t){const o=t[1].split(",").map(r=>parseFloat(r.trim()));return o.length===4?o[3]:1}const n=e.match(/^#([0-9a-fA-F]{8})$/);if(n){const o=n[1].substring(6,8);return parseInt(o,16)/255}return e.match(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/),1}function xl(e,t){const n=(()=>{if(e==="fade in")return q.fadeIn;if(e==="slide in"||e==="mix")switch(t){case"left":return q.slideInLeft;case"right":return q.slideInRight;case"top":return q.slideInTop;case"bottom":return q.slideInBottom;default:return q.slideInRight}return q.fadeIn})(),o=(()=>{if(e==="fade in"||e==="mix")return q.fadeIn;if(e==="slide in")switch(t){case"left":return q.slideInLeft;case"right":return q.slideInRight;case"top":return q.slideInTop;case"bottom":return q.slideInBottom;default:return q.slideInRight}return q.fadeIn})(),r=(()=>{if(e==="fade in"||e==="mix")return q.fadeOut;if(e==="slide in")switch(t){case"left":return q.slideOutLeft;case"right":return q.slideOutRight;case"top":return q.slideOutTop;case"bottom":return q.slideOutBottom;default:return q.slideOutRight}return q.fadeOut})(),l=(()=>{if(e==="fade in")return q.fadeOut;if(e==="slide in"||e==="mix")switch(t){case"left":return q.slideOutLeft;case"right":return q.slideOutRight;case"top":return q.slideOutTop;case"bottom":return q.slideOutBottom;default:return q.slideOutRight}return q.fadeOut})();return{appearClass:n,backdropAppearClass:o,backdropDisappearClass:r,disappearClass:l}}const Sl=({settings:e,content:t,styles:n,portalId:o,activeEvent:r,isEditor:l})=>{const[i,c]=S.useState(!1),{url:p}=e.thumbnailBlock.cover;return S.useEffect(()=>{r==="close"&&c(!1),r==="open"&&c(!0)},[r]),a.jsxs(a.Fragment,{children:[a.jsx("img",{src:p,alt:"Cover",className:q.heroImage,onClick:()=>c(!0)}),a.jsx(Cl,{isOpen:i,onClose:()=>c(!1),content:t,settings:e,lightboxStyles:n,portalId:o,isEditor:l})]})},Cl=({isOpen:e,onClose:t,content:n,lightboxStyles:o,settings:r,portalId:l,isEditor:i,metadata:c})=>{var D;const[p,m]=S.useState(0),[u,E]=S.useState(0),[x,h]=S.useState(!1),[d,g]=S.useState(!1),[C,v]=S.useState({}),b=S.useRef(null),A=S.useRef(null),j=S.useRef(null),N=S.useRef(!1),$=S.useRef(null),f=S.useRef(null),F=S.useRef(null),P=S.useRef(null),O=S.useRef(!1),R=S.useRef(null),[V,W]=S.useState(!1),{appear:K,triggers:G,slider:y,thumbnail:k,controls:I,area:L,caption:_,layout:z}=r.lightboxBlock,{appearClass:Z,backdropAppearClass:se,backdropDisappearClass:ie,disappearClass:le}=xl(K.type,K.direction),H=(c==null?void 0:c.itemId)??null;S.useEffect(()=>{const s=()=>{setTimeout(()=>{var Y,ee;(ee=(Y=b.current)==null?void 0:Y.splide)==null||ee.refresh()},16)},M=()=>{E(Y=>Y+1)};return window.addEventListener("ArticleEditor.Layout:change",s),window.addEventListener("ArticleEditor.ComponentContent:change",M),()=>{window.removeEventListener("ArticleEditor.Layout:change",s),window.removeEventListener("ArticleEditor.ComponentContent:change",M)}},[]),S.useEffect(()=>{if(!e||!k.isActive){W(!1);return}const s=R.current;if(!s)return;const M=()=>{y.direction==="horiz"?W(s.scrollWidth>s.clientWidth):W(s.scrollHeight>s.clientHeight)};M();const Y=new ResizeObserver(M);return Y.observe(s),()=>Y.disconnect()},[e,k.isActive,n.length,C,y.direction]);const re=S.useCallback(()=>{const s=window.matchMedia("(max-width: 768px)").matches,M=_o(L.color);s&&!i&&M>.9&&(document.body.style.backgroundColor=""),h(!0),N.current=!0;const Y=ee=>{ee.target===$.current&&ee.animationName&&($.current&&f.current&&$.current.removeEventListener("animationend",f.current),f.current=null,N.current&&(N.current=!1,t()),h(!1))};$.current&&(f.current=Y,$.current.addEventListener("animationend",Y))},[t,L.color,i]),de=(s,M,Y)=>{var ee,ne;if(s){if(G.type==="click"&&G.switch==="image")G.repeat==="close"&&p===n.length-1?re():(ee=b.current)==null||ee.go("+1");else if(G.type==="click"&&G.switch==="50/50"){const oe=s.getBoundingClientRect(),T=M-oe.left,U=Y-oe.top,B=oe.width,X=oe.height;let Q;y.direction==="horiz"?Q=T<B/2?"-1":"+1":Q=U<X/2?"-1":"+1",(ne=b.current)==null||ne.go(Q)}}},ce=s=>{if(O.current){O.current=!1;return}const M=n[p],Y=(M==null?void 0:M.image.objectFit)==="cover";let ee,ne;if("changedTouches"in s&&s.changedTouches.length>0)ee=s.changedTouches[0].clientX,ne=s.changedTouches[0].clientY;else if("clientX"in s)ee=s.clientX,ne=s.clientY;else return;let oe;if(Y&&j.current){const T=To(j.current);oe=ee>=T.left&&ee<=T.right&&ne>=T.top&&ne<=T.bottom}else{const T=j.current?wo(j.current):null;if(!T){s.target===s.currentTarget&&re();return}oe=ee>=T.x&&ee<=T.x+T.width&&ne>=T.y&&ne<=T.y+T.height}oe?de(j.current,ee,ne):re()},ye=s=>{const M=s.target;(M.classList.contains(q.thumbsWrapper)||M.classList.contains(q.thumbsContainer))&&ce(s)};S.useEffect(()=>{if(!e)return;const s=M=>{var Y,ee;if(M.key==="Escape"){re();return}if(M.key==="ArrowRight"){m(ne=>(ne+1)%Math.max(n.length,1)),(Y=b.current)==null||Y.go("+1");return}M.key==="ArrowLeft"&&(m(ne=>(ne-1+Math.max(n.length,1))%Math.max(n.length,1)),(ee=b.current)==null||ee.go("-1"))};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[e,re,n.length]),S.useEffect(()=>{if(e){if(m(0),E(M=>M+1),N.current=!1,h(!1),g(!1),v({}),!H)return;const s=new CustomEvent("page-overlay",{detail:{itemId:H}});window.dispatchEvent(s)}return()=>{$.current&&f.current&&($.current.removeEventListener("animationend",f.current),f.current=null),g(!1)}},[e,H]),S.useEffect(()=>{A.current!==null&&A.current!==y.type&&E(s=>s+1),A.current=y.type},[y.type]),S.useEffect(()=>{if(!e)return;const s=document.body.style.overflow,M=window.matchMedia("(max-width: 768px)").matches,Y=_o(L.color);document.body.style.overflow="hidden",g(!1);const ee=oe=>{oe.target===$.current&&!N.current&&oe.animationName&&(M&&!i&&Y>.9&&(document.body.style.backgroundColor=L.color),g(!0),$.current&&F.current&&$.current.removeEventListener("animationend",F.current),F.current=null)};$.current&&(F.current=ee,$.current.addEventListener("animationend",ee));const ne=oe=>{const T=oe.target;T&&(T.closest(`.${q.thumbsWrapper}`)||T.closest(`.${q.thumbsContainer}`))||y.type!=="slide"&&oe.preventDefault()};return document.addEventListener("touchmove",ne,{passive:!1}),()=>{document.body.style.overflow=s,document.removeEventListener("touchmove",ne),$.current&&F.current&&($.current.removeEventListener("animationend",F.current),F.current=null),g(!1)}},[e,i,L.color,y.type]),S.useEffect(()=>{if(!e)return;const s=M=>{var ee,ne;if(N.current){M.stopPropagation();return}if(O.current){O.current=!1;return}const Y=M.target;if(!(Y&&(Y.closest(`.${q.thumbsContainer}`)||Y.closest(`.${q.thumbItem}`)))){if(y.type==="slide"&&G.type==="drag"&&((ne=(ee=b.current)==null?void 0:ee.splide)!=null&&ne.root)){const oe=b.current.splide.root;if(Y&&(oe.contains(Y)||oe===Y))return}if(M.touches.length===0&&M.changedTouches.length>0){const oe=n[p],T=(oe==null?void 0:oe.image.objectFit)==="cover",U=M.changedTouches[0];let B;if(T&&j.current){const X=To(j.current);B=U.clientX>=X.left&&U.clientX<=X.right&&U.clientY>=X.top&&U.clientY<=X.bottom}else{const X=j.current?wo(j.current):null;if(!X)return;B=U.clientX>=X.x&&U.clientX<=X.x+X.width&&U.clientY>=X.y&&U.clientY<=X.y+X.height}if(!B){M.stopPropagation(),N.current=!0;const X=Q=>{Q.stopPropagation(),Q.preventDefault(),document.removeEventListener("click",X,!0)};document.addEventListener("click",X,!0),re()}}}};return document.addEventListener("touchend",s,{passive:!0}),()=>{document.removeEventListener("touchend",s)}},[e,re,p,n]);const ve=(y.type==="scale"||y.type==="fade")&&y.direction==="vert"&&G.type==="drag";S.useEffect(()=>{var Q,pe;if(!e||!ve||!((pe=(Q=b.current)==null?void 0:Q.splide)!=null&&pe.root))return;const s=b.current.splide.root,M=30,Y=(J,ue)=>{if(P.current){const ge=Math.abs(J-P.current.x),Te=Math.abs(ue-P.current.y);(ge>0||Te>0)&&(O.current=!0)}},ee=J=>{P.current&&(J.preventDefault(),Y(J.clientX,J.clientY))},ne=J=>{P.current&&J.touches.length>0&&(J.preventDefault(),Y(J.touches[0].clientX,J.touches[0].clientY))},oe=(J,ue)=>{if(!P.current||!b.current){P.current=null;return}const ge=Math.abs(J-P.current.x),Te=Math.abs(ue-P.current.y);Te>M&&Te>ge&&b.current.go(ue<P.current.y?"+1":"-1"),P.current=null},T=J=>{P.current&&oe(J.clientX,J.clientY),document.removeEventListener("pointerup",T),document.removeEventListener("pointercancel",T),document.removeEventListener("pointermove",ee)},U=J=>{if(P.current){if(J.changedTouches.length>0){const ue=J.changedTouches[0];oe(ue.clientX,ue.clientY)}document.removeEventListener("touchend",U),document.removeEventListener("touchcancel",U),document.removeEventListener("touchmove",ne)}},B=J=>{P.current={x:J.clientX,y:J.clientY},O.current=!1,document.addEventListener("pointermove",ee,{passive:!1}),document.addEventListener("pointerup",T),document.addEventListener("pointercancel",T)},X=J=>{J.touches.length>0&&(P.current={x:J.touches[0].clientX,y:J.touches[0].clientY},O.current=!1,document.addEventListener("touchmove",ne,{passive:!1}),document.addEventListener("touchend",U),document.addEventListener("touchcancel",U))};return s.addEventListener("pointerdown",B),s.addEventListener("touchstart",X),()=>{s.removeEventListener("pointerdown",B),s.removeEventListener("touchstart",X),document.removeEventListener("pointermove",ee),document.removeEventListener("pointerup",T),document.removeEventListener("pointercancel",T),document.removeEventListener("touchmove",ne),document.removeEventListener("touchend",U),document.removeEventListener("touchcancel",U),P.current=null,O.current=!1}},[e,ve,u]);const $e={backgroundColor:L.color,backdropFilter:`blur(${L.blur}px)`,animationDuration:`${parseInt(K.duration)}ms`,animationTimingFunction:"ease",animationFillMode:"both"};return typeof document>"u"||!document.getElementById(l)?null:br.createPortal(a.jsxs(a.Fragment,{children:[a.jsx("div",{ref:i?null:$,className:me(q.background,x?ie:se,{[q.editor]:i},{[q.hidden]:!e}),style:{...$e,...d&&!i&&!x?{position:"absolute"}:{}}}),a.jsxs("div",{ref:i?$:null,className:me(q.contentStyle,x?le:Z,{[q.editor]:i},{[q.hidden]:!e}),style:{animationDuration:`${parseInt(K.duration)}ms`,animationTimingFunction:"ease",animationFillMode:"both"},children:[a.jsx(pr,{onMove:s=>m(s.index),ref:b,className:q.lightboxSplide,options:{arrows:!1,speed:y.duration?parseInt(y.duration):500,direction:y.direction==="horiz"||y.type==="fade"||y.type==="scale"?"ltr":"ttb",pagination:!1,drag:G.type==="drag"&&!ve,perPage:1,width:"100%",height:"100%",type:y.type==="fade"||y.type==="scale"?"fade":"loop",padding:0,rewind:G.repeat!=="close",start:0},style:{"--splide-speed":y.duration},children:n.map((s,M)=>{const Y=Xt(z.position,z.offset,i),ee=`${w.scalingValue(z.padding.top,i)} ${w.scalingValue(z.padding.right,i)} ${w.scalingValue(z.padding.bottom,i)} ${w.scalingValue(z.padding.left,i)}`,ne=y.type==="scale"?(()=>{const{transform:oe,...T}=Y;return{...T,position:"absolute",padding:ee,boxSizing:"border-box","--position-transform":oe||"none"}})():{...Y,position:"absolute",padding:ee,boxSizing:"border-box"};return a.jsx(dr,{children:a.jsx("div",{className:q.imgWrapper,onClick:ce,children:a.jsx("img",{ref:M===p?j:null,className:me(q.imageStyle,{[q.contain]:s.image.objectFit==="contain",[q.cover]:s.image.objectFit==="cover",[q.scaleSlide]:y.type==="scale"}),src:s.image.url,alt:s.image.name??"",style:{...ne,pointerEvents:s.image.objectFit==="contain"?"none":"auto"}})})},M)})},u),I.isActive&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:me(q.arrow,{[q.arrowVertical]:y.direction==="vert"}),style:{color:I.color,"--arrow-hover-color":I.hover},children:a.jsxs("button",{className:q.arrowInner,style:{transform:`translate(${w.scalingValue(I.offset.x,i)}, ${w.scalingValue(I.offset.y*(y.direction==="horiz"?1:-1),i)}) scale(${I.scale}) rotate(${y.direction==="horiz"?"0deg":"90deg"})`},onClick:()=>{var s;return(s=b.current)==null?void 0:s.go("-1")},"aria-label":"Previous",children:[I.arrowsImgUrl&&a.jsx(tt,{url:I.arrowsImgUrl,fill:I.color,hoverFill:I.hover,className:me(q.arrowImg,q.mirror)}),!I.arrowsImgUrl&&a.jsx($o,{color:I.color,className:me(q.arrowIcon,q.arrowImg,q.mirror)})]})}),a.jsx("div",{className:me(q.arrow,q.nextArrow,{[q.arrowVertical]:y.direction==="vert"}),style:{color:I.color,"--arrow-hover-color":I.hover},children:a.jsxs("button",{className:q.arrowInner,style:{transform:`translate(${w.scalingValue(I.offset.x*(y.direction==="horiz"?-1:1),i)}, ${w.scalingValue(I.offset.y,i)}) scale(${I.scale}) rotate(${y.direction==="horiz"?"0deg":"90deg"})`},onClick:()=>{var s;return(s=b.current)==null?void 0:s.go("+1")},"aria-label":"Next",children:[I.arrowsImgUrl&&a.jsx(tt,{url:I.arrowsImgUrl,fill:I.color,hoverFill:I.hover,className:q.arrowImg}),!I.arrowsImgUrl&&a.jsx($o,{color:I.color,className:me(q.arrowIcon,q.arrowImg)})]})})]}),L.closeIconUrl&&(()=>{const s=Xt(L.closeIconAlign,L.closeIconOffset,i),M=`scale(${L.closeIconScale})`,Y=s.transform?`${s.transform} ${M}`:M;return a.jsx("button",{className:q.closeButton,style:{...s,transform:Y},onClick:re,"aria-label":"Close lightbox",children:a.jsx(tt,{url:L.closeIconUrl,fill:L.closeIconColor??"#000000",hoverFill:L.closeIconHover??"#cccccc"})})})(),_&&_.isActive&&o.imageCaption&&((D=n[p])==null?void 0:D.imageCaption)&&(()=>{const{widthSettings:s,fontSettings:M,letterSpacing:Y,textAlign:ee,wordSpacing:ne,fontSizeLineHeight:oe,textAppearance:T,color:U}=o.imageCaption;return a.jsx("div",{className:q.caption,style:{...Xt(_.alignment,_.offset,i),fontFamily:M.fontFamily,fontWeight:M.fontWeight,fontStyle:M.fontStyle,width:s.sizing==="auto"?"max-content":w.scalingValue(s.width,i),letterSpacing:w.scalingValue(Y,i),wordSpacing:w.scalingValue(ne,i),textAlign:ee,fontSize:w.scalingValue(oe.fontSize,i),lineHeight:w.scalingValue(oe.lineHeight,i),textTransform:T.textTransform??"none",textDecoration:T.textDecoration??"none",fontVariant:T.fontVariant??"normal",color:U},onClick:B=>B.stopPropagation(),children:a.jsx("div",{"data-styles":"imageCaption",className:q.captionTextInner,style:{"--link-color":_.linkColor,"--link-hover-color":_.linkHoverColor},children:a.jsx(zt,{content:n[p].imageCaption})})})})(),k.isActive&&(()=>{const[s,M]=k.position.split("-"),Y=y.direction==="horiz"?`${s}-left`:k.position,ee=Xt(Y,k.offset,i),ne=()=>{if(y.direction==="horiz"){if(M==="left")return"flex-start";if(M==="center")return"center";if(M==="right")return"flex-end"}else{if(s==="top")return"flex-start";if(s==="middle")return"center";if(s==="bottom")return"flex-end"}return"flex-start"};return a.jsx("div",{ref:R,className:q.thumbsWrapper,onClick:oe=>ye(oe),style:{position:i?"absolute":"fixed",...ee,...y.direction==="horiz"?{maxWidth:"100vw",width:"100%",overflowX:"auto",overflowY:"hidden"}:{maxHeight:"100vh",overflowY:"auto",overflowX:"hidden"}},children:a.jsx("div",{className:me(q.thumbsContainer,{[q.thumbsContainerVertical]:y.direction==="vert",[q.thumbsAlignStart]:k.align==="start",[q.thumbsAlignCenter]:k.align==="center",[q.thumbsAlignEnd]:k.align==="end"}),style:{gap:w.scalingValue(k.grid.gap,i),justifyContent:V?"flex-start":ne()},children:n.map((oe,T)=>{const U=T===p,B=C[T],Q=k.grid.size*(U?k.activeState.scale:1),pe=()=>{if(k.fit!=="fit")return{};if(!B)return y.direction==="horiz"?{height:w.scalingValue(Q,i)}:{width:w.scalingValue(Q,i)};const J=B.width/B.height;if(y.direction==="horiz"){const ue=Q,ge=ue*J;return{width:w.scalingValue(ge,i),height:w.scalingValue(ue,i)}}else{const ue=Q,ge=ue/J;return{width:w.scalingValue(ue,i),height:w.scalingValue(ge,i)}}};return a.jsx("button",{className:q.thumbItem,style:{...y.direction==="horiz"&&k.fit!=="fit"?{height:w.scalingValue(Q,i)}:{},...y.direction==="vert"&&k.fit!=="fit"?{width:w.scalingValue(Q,i)}:{},...k.fit==="cover"?{width:w.scalingValue(Q,i),height:w.scalingValue(Q,i)}:{},...pe(),transition:U?"all 0.25s ease-out":"none",opacity:U?k.activeState.opacity/100:k.opacity/100,"--thumb-hover":k.activeState.opacity/100},onClick:J=>{var ue;J.stopPropagation(),m(T),(ue=b.current)==null||ue.go(T)},onMouseEnter:()=>{var J;k.triggers==="hov"&&((J=b.current)==null||J.go(T))},children:a.jsx("img",{src:oe.image.url,alt:oe.image.name??"",onLoad:J=>{const ue=J.currentTarget;ue.naturalWidth&&ue.naturalHeight&&v(ge=>({...ge,[T]:{width:ue.naturalWidth,height:ue.naturalHeight}}))},style:{objectFit:k.fit==="cover"?"cover":"contain",...k.fit==="fit"?{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}:{},...k.fit==="cover"?{width:"100%",height:"100%"}:{}}})},`${oe.image.name}-${T}`)})})})})()]})]}),document.getElementById(l))};function $o({color:e,className:t}){return a.jsx("svg",{viewBox:"0 0 10 18",className:t,children:a.jsx("g",{id:"Symbols",stroke:"none",strokeWidth:"1",fillRule:"evenodd",children:a.jsx("path",{d:"M-3.70710678,4.29289322 C-3.34662282,3.93240926 -2.77939176,3.90467972 -2.38710056,4.20970461 L-2.29289322,4.29289322 L5,11.585 L12.2928932,4.29289322 C12.6533772,3.93240926 13.2206082,3.90467972 13.6128994,4.20970461 L13.7071068,4.29289322 C14.0675907,4.65337718 14.0953203,5.22060824 13.7902954,5.61289944 L13.7071068,5.70710678 L5.70710678,13.7071068 C5.34662282,14.0675907 4.77939176,14.0953203 4.38710056,13.7902954 L4.29289322,13.7071068 L-3.70710678,5.70710678 C-4.09763107,5.31658249 -4.09763107,4.68341751 -3.70710678,4.29289322 Z",id:"Shape-Copy",fill:e,transform:"translate(5, 9) rotate(-90) translate(-5, -9)"})})})}const wl={element:Sl,id:"lightbox",name:"Lightbox",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/lightboxImg.png"},defaultSize:{width:440,height:550},fontSettingsPaths:{content:[],parameters:[{path:"styles.imageCaption.fontSettings"}]},assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.thumbnailBlock.cover.url",placeholderEnabled:!0},{path:"settings.controls.arrowsImgUrl"},{path:"settings.area.closeIconUrl"}]},schema:{type:"object",properties:{settings:{type:"object",properties:{thumbnailBlock:{display:{type:"settings-block",triggerEvent:"close"},type:"object",properties:{cover:{title:"COVER",icon:"cover",tooltip:"Cover Image",type:"object",properties:{url:{type:"string",display:{type:"cover-image-input"}}}}}},lightboxBlock:{display:{type:"settings-block",triggerEvent:"open"},type:"object",properties:{appear:{title:"APPEAR",icon:"transition",tooltip:"Appearance",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide in","fade in","mix"]},duration:{type:"string",label:"T",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]},direction:{type:"string",title:"From",display:{type:"direction-control"},enum:["top","left","right","bottom"]}}},triggers:{title:"TRIGGERS",icon:"target",tooltip:"Triggers",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["click","drag"]},switch:{type:"string",display:{type:"ratio-group"},enum:["image","50/50"]},repeat:{type:"string",title:"Repeat",display:{visible:!1,type:"ratio-group"},enum:["close","loop"]}}},slider:{title:"SLIDER",icon:"horizontal-resize",tooltip:"Slider",type:"object",properties:{type:{type:"string",display:{type:"ratio-group"},enum:["slide","fade","scale"]},direction:{type:"string",display:{type:"ratio-group"},enum:["horiz","vert"]},duration:{type:"string",label:"T",display:{type:"step-selector"},enum:["100ms","250ms","500ms","1000ms","1500ms","2000ms"]}}},thumbnail:{title:"THUMB",icon:"thumbnail",tooltip:"Thumbnail",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},position:{display:{type:"align-grid"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},fit:{type:"string",display:{type:"ratio-group"},enum:["cover","fit"]},align:{type:"string",title:"Align",display:{type:"align-group",direction:"horizontal"},enum:["start","center","end"]},triggers:{type:"string",title:"Triggers",display:{type:"ratio-group",direction:"horizontal"},enum:["clk","hov"]},grid:{type:"object",title:"Grid",display:{type:"group"},properties:{size:{type:"number",label:"Box",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},gap:{type:"number",label:"Gap",scalingEnabled:!0,min:0,display:{type:"numeric-input"}}}},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},opacity:{type:"number",title:"Opacity",label:"icon:opacity",min:0,max:100,step:1,display:{type:"numeric-input"}},activeState:{type:"object",title:"ACTIVE",display:{type:"group"},properties:{scale:{type:"number",title:"Scale",min:1,max:5,step:.1,display:{type:"range-control"}},opacity:{type:"number",title:"Opacity",label:"icon:opacity",min:0,max:100,step:1,display:{type:"numeric-input"}}}}}},layout:{title:"LAYOUT",icon:"layout",tooltip:"Layout",type:"object",properties:{position:{display:{type:"align-grid"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},padding:{type:"object",title:"Padding",display:{type:"padding-controls"},properties:{top:{min:0,step:1,type:"number"},left:{min:0,step:1,type:"number"},right:{min:0,step:1,type:"number"},bottom:{min:0,step:1,type:"number"}}}}},controls:{title:"CONTROLS",icon:"controls",tooltip:"Controls",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},arrowsImgUrl:{type:["string","null"],display:{type:"settings-image-input"}},offset:{title:"Offset",type:"object",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},scale:{type:"number",title:"Scale",min:.5,max:5,step:.1,display:{type:"range-control"}},color:{title:"Color",type:"string",display:{type:"settings-color-picker",format:"single"}},hover:{title:"Hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},area:{title:"AREA",icon:"area",tooltip:"Area",type:"object",properties:{color:{type:"string",display:{type:"settings-color-picker",format:"single"}},blur:{type:"number",label:"icon:blur",display:{type:"numeric-input"}},closeIconUrl:{type:["string","null"],title:"Close Icon",display:{type:"settings-image-input"}},closeIconAlign:{display:{type:"align-grid",direction:"horizontal"},type:"string",enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},closeIconScale:{type:"number",title:"Scale",min:.5,max:5,step:.1,display:{type:"range-control"}},closeIconOffset:{type:"object",title:"Offset",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},closeIconColor:{title:"Color",type:"string",display:{type:"settings-color-picker",format:"single"}},closeIconHover:{title:"Hover",type:"string",display:{type:"settings-color-picker",format:"single"}}}},caption:{title:"DESC",icon:"text-icon",tooltip:"Description",type:"object",properties:{isActive:{type:"boolean",display:{type:"setting-toggle"}},alignment:{type:"string",display:{type:"align-grid"},enum:["top-left","top-center","top-right","middle-left","middle-center","middle-right","bottom-left","bottom-center","bottom-right"]},offset:{title:"Offset",type:"object",display:{type:"group"},properties:{x:{type:"number",label:"X",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}},y:{type:"number",label:"Y",scalingEnabled:!0,display:{type:"numeric-input",visible:!0}}}},linkColor:{title:"Link",type:"string",display:{type:"settings-color-picker",format:"single"}},linkHoverColor:{title:"Link Hov",type:"string",display:{type:"settings-color-picker",format:"single"}}}}}}},default:{d:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"slide in",duration:"1000ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"vert",duration:"1000ms"},thumbnail:{isActive:!0,position:"middle-left",fit:"fit",align:"start",triggers:"hov",grid:{size:.05,gap:.01},offset:{x:.01,y:0},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:0,bottom:.06,left:0}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},linkColor:"#cccccc",linkHoverColor:"#cccccc"}}},m:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"fade in",duration:"500ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"horiz",duration:"1000ms"},thumbnail:{isActive:!0,position:"bottom-center",fit:"fit",align:"start",triggers:"hov",grid:{size:.1,gap:.05},offset:{x:.01,y:-.05},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:.05,bottom:.06,left:.05}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},hover:"#cccccc"}}},t:{thumbnailBlock:{cover:{url:"https://cdn.cntrl.site/component-assets/Cover.jpg"}},lightboxBlock:{appear:{type:"fade in",duration:"500ms",direction:"bottom"},triggers:{type:"click",switch:"image",repeat:"loop"},slider:{type:"slide",direction:"vert",duration:"1000ms"},thumbnail:{isActive:!0,position:"middle-left",fit:"fit",align:"start",triggers:"hov",grid:{size:.05,gap:.01},offset:{x:.03,y:0},opacity:50,activeState:{scale:1,opacity:100}},layout:{position:"middle-center",offset:{x:0,y:0},padding:{top:.06,right:.1,bottom:.06,left:.1}},controls:{isActive:!1,arrowsImgUrl:null,offset:{x:0,y:0},scale:1,color:"#000000",hover:"#cccccc"},area:{color:"rgba(28,31,34,0.9)",blur:0,closeIconUrl:null,closeIconColor:"#000000",closeIconHover:"#cccccc",closeIconAlign:"top-right",closeIconOffset:{x:0,y:0},closeIconScale:1},caption:{isActive:!0,alignment:"middle-center",offset:{x:0,y:0},hover:"#cccccc"}}}},displayRules:[{if:{name:"lightboxBlock.appear.type",value:"slide in"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!0}},{if:{name:"lightboxBlock.slider.direction",value:"vert"},then:{name:"properties.lightboxBlock.properties.thumbnail.properties.align.display.direction",value:"vertical"}},{if:{name:"lightboxBlock.appear.type",value:"mix"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!0}},{if:{name:"lightboxBlock.appear.type",value:"fade in"},then:{name:"properties.lightboxBlock.properties.appear.properties.direction.display.visible",value:!1}},{if:[{name:"lightboxBlock.triggers.type",value:"click"},{name:"lightboxBlock.triggers.switch",value:"image"}],then:{name:"properties.lightboxBlock.properties.triggers.properties.repeat.display.visible",value:!0}}]},content:{type:"array",settings:{addItemFromFileExplorer:!0},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}},required:["url","name"]},imageCaption:{label:"Description",placeholder:"Add Caption...",display:{type:"rich-text"}}},required:["image"]},default:[{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/2.jpg",name:"Slider-1.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/3.jpg",name:"Slider-2.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/4.jpg",name:"Slider-3.png"},imageCaption:[{type:"paragraph",children:[{text:""}]}]}]},styles:{type:"object",properties:{imageCaption:{dataName:"caption",type:"object",properties:{fontSettings:{type:"object",display:{type:"font-settings"},properties:{fontFamily:{type:"string"},fontWeight:{type:"number"},fontStyle:{type:"string"}}},widthSettings:{display:{type:"text-width-control"},type:"object",properties:{width:{type:"number"},sizing:{type:"string",enum:["auto","manual"]}}},fontSizeLineHeight:{type:"object",display:{type:"font-size-line-height"},properties:{fontSize:{type:"number"},lineHeight:{type:"number"}}},letterSpacing:{display:{type:"letter-spacing-input"},type:"number"},wordSpacing:{display:{type:"word-spacing-input"},type:"number"},textAlign:{display:{type:"text-align-control"},type:"string",enum:["left","center","right","justify"]},textAppearance:{display:{type:"text-appearance"},properties:{textTransform:{type:"string",enum:["none","uppercase","lowercase","capitalize"]},textDecoration:{type:"string",enum:["none","underline"]},fontVariant:{type:"string",enum:["normal","small-caps"]}}},color:{display:{type:"style-panel-color-picker"},type:"string"}}}},default:{imageCaption:{widthSettings:{width:.13,sizing:"auto"},fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},fontSizeLineHeight:{fontSize:.02,lineHeight:.02},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"}}}},required:["settings","content","styles"]}};function bt(e){const{color:t,...n}=e;return n}function et(e,t){var n,o,r;return{fontFamily:e.fontSettings.fontFamily,fontWeight:e.fontSettings.fontWeight,fontStyle:e.fontSettings.fontStyle,letterSpacing:w.scalingValue(e.letterSpacing,t),wordSpacing:w.scalingValue(e.wordSpacing,t),fontSize:w.scalingValue(e.fontSize,t),lineHeight:e.lineHeight!==void 0?w.scalingValue(e.lineHeight,t):void 0,textTransform:(n=e.textAppearance)==null?void 0:n.textTransform,textDecoration:(o=e.textAppearance)==null?void 0:o.textDecoration,fontVariant:(r=e.textAppearance)==null?void 0:r.fontVariant,color:e.color}}function Kt(e){return`calc(var(--cntrl-article-width, 100vw) * ${e/1440})`}function Tl(e){return`
|
|
7
|
+
.${e}-wrapper {
|
|
8
8
|
display: flex;
|
|
9
9
|
flex-direction: column;
|
|
10
10
|
width: 100%;
|
|
11
|
-
min-height: ${
|
|
11
|
+
min-height: ${Kt(48)};
|
|
12
12
|
}
|
|
13
|
-
.${
|
|
14
|
-
.${
|
|
13
|
+
.${e}-wrapper.${e}-type-C .${e}-input:focus-visible,
|
|
14
|
+
.${e}-wrapper.${e}-type-C .${e}-button:focus-visible {
|
|
15
15
|
outline: none;
|
|
16
16
|
}
|
|
17
|
-
.${
|
|
17
|
+
.${e}-form {
|
|
18
18
|
display: flex;
|
|
19
19
|
flex-direction: column;
|
|
20
20
|
width: 100%;
|
|
21
21
|
}
|
|
22
|
-
.${
|
|
22
|
+
.${e}-fields {
|
|
23
23
|
display: flex;
|
|
24
24
|
flex-direction: column;
|
|
25
25
|
flex: 1;
|
|
26
26
|
min-width: 0;
|
|
27
27
|
}
|
|
28
|
-
.${
|
|
28
|
+
.${e}-field-group {
|
|
29
29
|
display: flex;
|
|
30
30
|
flex-direction: column;
|
|
31
31
|
flex: 1;
|
|
32
32
|
min-width: 0;
|
|
33
33
|
}
|
|
34
|
-
.${
|
|
35
|
-
gap: ${
|
|
34
|
+
.${e}-field-group.${e}-labeled {
|
|
35
|
+
gap: ${Kt(4)};
|
|
36
36
|
}
|
|
37
|
-
.${
|
|
37
|
+
.${e}-field-label {
|
|
38
38
|
white-space: nowrap;
|
|
39
|
-
color: var(--${
|
|
39
|
+
color: var(--${e}-label-text-color);
|
|
40
40
|
}
|
|
41
|
-
.${
|
|
41
|
+
.${e}-input {
|
|
42
42
|
width: 100%;
|
|
43
43
|
box-sizing: border-box;
|
|
44
44
|
outline: none;
|
|
45
45
|
-webkit-tap-highlight-color: transparent;
|
|
46
|
-
background-color: var(--${
|
|
47
|
-
color: var(--${
|
|
48
|
-
border-color: var(--${
|
|
46
|
+
background-color: var(--${e}-input-color);
|
|
47
|
+
color: var(--${e}-input-text-color);
|
|
48
|
+
border-color: var(--${e}-input-border-color);
|
|
49
49
|
transition: color 250ms, border-color 250ms, background-color 250ms;
|
|
50
50
|
}
|
|
51
|
-
.${
|
|
52
|
-
color: var(--${
|
|
51
|
+
.${e}-input::placeholder {
|
|
52
|
+
color: var(--${e}-placeholder-color);
|
|
53
53
|
opacity: 1;
|
|
54
54
|
transition: color 250ms, opacity 250ms;
|
|
55
55
|
}
|
|
56
|
-
.${
|
|
57
|
-
background-color: var(--${
|
|
58
|
-
color: var(--${
|
|
59
|
-
border-color: var(--${
|
|
60
|
-
}
|
|
61
|
-
.${
|
|
62
|
-
background-color: var(--${
|
|
63
|
-
color: var(--${
|
|
64
|
-
border-color: var(--${
|
|
65
|
-
}
|
|
66
|
-
.${
|
|
67
|
-
.${
|
|
68
|
-
.${
|
|
69
|
-
background-color: var(--${
|
|
70
|
-
color: var(--${
|
|
71
|
-
border-color: var(--${
|
|
72
|
-
}
|
|
73
|
-
.${
|
|
74
|
-
background-color: var(--${
|
|
75
|
-
color: var(--${
|
|
76
|
-
border-color: var(--${
|
|
77
|
-
}
|
|
78
|
-
.${
|
|
79
|
-
background-color: var(--${
|
|
80
|
-
color: var(--${
|
|
81
|
-
border-color: var(--${
|
|
82
|
-
}
|
|
83
|
-
.${
|
|
84
|
-
.${
|
|
56
|
+
.${e}-input:hover {
|
|
57
|
+
background-color: var(--${e}-hover-input-color, var(--${e}-input-color));
|
|
58
|
+
color: var(--${e}-hover-input-text-color, var(--${e}-input-text-color));
|
|
59
|
+
border-color: var(--${e}-hover-input-border-color, var(--${e}-input-border-color));
|
|
60
|
+
}
|
|
61
|
+
.${e}-wrapper.${e}-state-hover .${e}-input {
|
|
62
|
+
background-color: var(--${e}-hover-input-color, var(--${e}-input-color));
|
|
63
|
+
color: var(--${e}-hover-input-text-color, var(--${e}-input-text-color));
|
|
64
|
+
border-color: var(--${e}-hover-input-border-color, var(--${e}-input-border-color));
|
|
65
|
+
}
|
|
66
|
+
.${e}-input:focus,
|
|
67
|
+
.${e}-input:focus-visible,
|
|
68
|
+
.${e}-wrapper.${e}-state-focus .${e}-input {
|
|
69
|
+
background-color: var(--${e}-focus-input-color, var(--${e}-input-color));
|
|
70
|
+
color: var(--${e}-focus-input-text-color, var(--${e}-input-text-color));
|
|
71
|
+
border-color: var(--${e}-focus-input-border-color, var(--${e}-input-border-color));
|
|
72
|
+
}
|
|
73
|
+
.${e}-input[data-filled="true"] {
|
|
74
|
+
background-color: var(--${e}-filled-input-color, var(--${e}-input-color));
|
|
75
|
+
color: var(--${e}-filled-input-text-color, var(--${e}-input-text-color));
|
|
76
|
+
border-color: var(--${e}-filled-input-border-color, var(--${e}-input-border-color));
|
|
77
|
+
}
|
|
78
|
+
.${e}-wrapper.${e}-state-filled .${e}-button {
|
|
79
|
+
background-color: var(--${e}-filled-button-color, var(--${e}-button-color));
|
|
80
|
+
color: var(--${e}-filled-button-text-color, var(--${e}-button-text-color));
|
|
81
|
+
border-color: var(--${e}-filled-button-border-color, var(--${e}-button-border-color));
|
|
82
|
+
}
|
|
83
|
+
.${e}-wrapper.${e}-state-success .${e}-input,
|
|
84
|
+
.${e}-wrapper.${e}-state-success .${e}-button {
|
|
85
85
|
pointer-events: none;
|
|
86
86
|
}
|
|
87
|
-
.${
|
|
87
|
+
.${e}-wrapper.${e}-state-error .${e}-input {
|
|
88
88
|
}
|
|
89
|
-
.${
|
|
89
|
+
.${e}-input[data-field-type="textarea"] {
|
|
90
90
|
resize: vertical;
|
|
91
91
|
}
|
|
92
|
-
.${
|
|
92
|
+
.${e}-input:disabled {
|
|
93
93
|
cursor: not-allowed;
|
|
94
94
|
}
|
|
95
|
-
.${
|
|
95
|
+
.${e}-button {
|
|
96
96
|
cursor: pointer;
|
|
97
97
|
white-space: nowrap;
|
|
98
98
|
box-sizing: border-box;
|
|
99
99
|
outline: none;
|
|
100
|
-
background-color: var(--${
|
|
101
|
-
color: var(--${
|
|
102
|
-
border-color: var(--${
|
|
100
|
+
background-color: var(--${e}-button-color);
|
|
101
|
+
color: var(--${e}-button-text-color);
|
|
102
|
+
border-color: var(--${e}-button-border-color);
|
|
103
103
|
transition: color 250ms, background-color 250ms, border-color 250ms;
|
|
104
104
|
}
|
|
105
|
-
.${
|
|
106
|
-
background-color: var(--${
|
|
107
|
-
color: var(--${
|
|
108
|
-
border-color: var(--${
|
|
109
|
-
}
|
|
110
|
-
.${
|
|
111
|
-
background-color: var(--${
|
|
112
|
-
color: var(--${
|
|
113
|
-
border-color: var(--${
|
|
114
|
-
}
|
|
115
|
-
.${
|
|
116
|
-
.${
|
|
117
|
-
.${
|
|
118
|
-
background-color: var(--${
|
|
119
|
-
color: var(--${
|
|
120
|
-
border-color: var(--${
|
|
121
|
-
}
|
|
122
|
-
.${
|
|
123
|
-
.${
|
|
105
|
+
.${e}-button:hover {
|
|
106
|
+
background-color: var(--${e}-hover-button-color, var(--${e}-button-color));
|
|
107
|
+
color: var(--${e}-hover-button-text-color, var(--${e}-button-text-color));
|
|
108
|
+
border-color: var(--${e}-hover-button-border-color, var(--${e}-button-border-color));
|
|
109
|
+
}
|
|
110
|
+
.${e}-wrapper.${e}-state-hover .${e}-button {
|
|
111
|
+
background-color: var(--${e}-hover-button-color, var(--${e}-button-color));
|
|
112
|
+
color: var(--${e}-hover-button-text-color, var(--${e}-button-text-color));
|
|
113
|
+
border-color: var(--${e}-hover-button-border-color, var(--${e}-button-border-color));
|
|
114
|
+
}
|
|
115
|
+
.${e}-button:focus,
|
|
116
|
+
.${e}-button:focus-visible,
|
|
117
|
+
.${e}-wrapper.${e}-state-focus .${e}-button {
|
|
118
|
+
background-color: var(--${e}-focus-button-color, var(--${e}-button-color));
|
|
119
|
+
color: var(--${e}-focus-button-text-color, var(--${e}-button-text-color));
|
|
120
|
+
border-color: var(--${e}-focus-button-border-color, var(--${e}-button-border-color));
|
|
121
|
+
}
|
|
122
|
+
.${e}-input:focus-visible,
|
|
123
|
+
.${e}-wrapper.${e}-state-focus .${e}-input {
|
|
124
124
|
outline: none;
|
|
125
125
|
}
|
|
126
|
-
.${
|
|
127
|
-
.${
|
|
126
|
+
.${e}-button:focus-visible,
|
|
127
|
+
.${e}-wrapper.${e}-state-focus .${e}-button {
|
|
128
128
|
outline: none;
|
|
129
129
|
}
|
|
130
|
-
.${
|
|
131
|
-
margin-top: ${
|
|
132
|
-
color: var(--${
|
|
130
|
+
.${e}-success {
|
|
131
|
+
margin-top: ${Kt(8)};
|
|
132
|
+
color: var(--${e}-success-success-color, var(--${e}-success-color));
|
|
133
133
|
}
|
|
134
|
-
.${
|
|
135
|
-
margin-top: ${
|
|
136
|
-
color: var(--${
|
|
134
|
+
.${e}-error {
|
|
135
|
+
margin-top: ${Kt(8)};
|
|
136
|
+
color: var(--${e}-error-error-color, var(--${e}-error-color));
|
|
137
137
|
}
|
|
138
|
-
.${
|
|
138
|
+
.${e}-overlay-anchor {
|
|
139
139
|
position: relative;
|
|
140
140
|
height: auto;
|
|
141
141
|
}
|
|
142
|
-
`}function
|
|
142
|
+
`}function _l({settings:e,isEditor:t,metadata:n,activeEvent:o}){const{prefix:r}=w.useScopedStyles(),{type:l="A",fieldsToShow:i=2,fields:c=[],buttonLabel:p,gap:m,fieldsGap:u,buttonCorners:E,buttonStroke:x,buttonPadding:h,isButtonFullWidth:d,inputCorners:g,inputStroke:C,inputPadding:v,inputColor:b,inputTextColor:A,inputBorderColor:j,placeholderColor:N,buttonColor:$,buttonTextColor:f,buttonBorderColor:F,labelTextColor:P,successColor:O,errorColor:R,fontFamily:V,inputFontSettings:W,inputFontSize:K,inputLineHeight:G,inputLetterSpacing:y,inputWordSpacing:k,inputTextAppearance:I,buttonFontSettings:L,buttonFontSize:_,buttonLineHeight:z,buttonLetterSpacing:Z,buttonWordSpacing:se,buttonTextAppearance:ie,labelFontSettings:le,labelFontSize:H,labelLineHeight:re,labelLetterSpacing:de,labelWordSpacing:ce,labelTextAppearance:ye,statusFontSettings:ve,statusFontSize:$e,statusLineHeight:D,statusLetterSpacing:s,statusWordSpacing:M,statusTextAppearance:Y,successMessage:ee,errorMessage:ne,stateOverrides:oe}=e,T=l==="B",U=c.slice(0,Math.min(i,c.length)),B={fontSettings:{fontFamily:V,fontWeight:(W==null?void 0:W.fontWeight)??400,fontStyle:(W==null?void 0:W.fontStyle)??"normal"},fontSize:K??.01,lineHeight:G,letterSpacing:y??0,wordSpacing:k??0,textAppearance:I,color:A},X=bt(et(B,t)),Q=w.scalingValue(C??0,t),pe=w.scalingValue((G??K??.01)+((v==null?void 0:v.top)??0)+((v==null?void 0:v.bottom)??0)+(l==="C"?C??0:(C??0)*2),t),J={...X,borderStyle:"solid",borderRadius:l==="C"?0:w.scalingValue(g??0,t),...l==="C"?{borderTopWidth:0,borderRightWidth:0,borderBottomWidth:Q,borderLeftWidth:0}:{borderWidth:Q},paddingTop:w.scalingValue((v==null?void 0:v.top)??0,t),paddingRight:w.scalingValue((v==null?void 0:v.right)??0,t),paddingBottom:w.scalingValue((v==null?void 0:v.bottom)??0,t),paddingLeft:w.scalingValue((v==null?void 0:v.left)??0,t),height:pe,minHeight:pe},ue={fontSettings:{fontFamily:V,fontWeight:(L==null?void 0:L.fontWeight)??400,fontStyle:(L==null?void 0:L.fontStyle)??"normal"},fontSize:_??.01,lineHeight:z,letterSpacing:Z??0,wordSpacing:se??0,textAppearance:ie,color:f},ge=bt(et(ue,t)),Te=w.scalingValue(x??0,t),Ae={fontSettings:{fontFamily:V,fontWeight:(le==null?void 0:le.fontWeight)??400,fontStyle:(le==null?void 0:le.fontStyle)??"normal"},fontSize:H??.01,lineHeight:re,letterSpacing:de??0,wordSpacing:ce??0,textAppearance:ye,color:P},Le=et(Ae,t),be={fontSettings:{fontFamily:V,fontWeight:(ve==null?void 0:ve.fontWeight)??400,fontStyle:(ve==null?void 0:ve.fontStyle)??"normal"},fontSize:$e??.01,lineHeight:D,letterSpacing:s??0,wordSpacing:M??0,textAppearance:Y,color:O},Me=bt(et(be,t)),Ve=w.buildColorVars(r,{inputColor:b,inputTextColor:A,inputBorderColor:j,placeholderColor:N!=null&&N.trim()?N:"#cccccc",buttonColor:$,buttonTextColor:f,buttonBorderColor:F,labelTextColor:P,successColor:O,errorColor:R},$l,Al,oe),[we,De]=S.useState(()=>Object.fromEntries(U.map(fe=>[fe.name,""]))),[no,$t]=S.useState("idle"),[mr,qt]=S.useState(null),xn=o==="success"?"success":o==="error"?"error":no,fr=o==="error"?ne:mr,Gt=o==="filled",At=S.useMemo(()=>{if(!Gt)return we;let fe=null;for(const Ue of U)(we[Ue.name]??"").trim().length>0||(fe=fe??{...we},fe[Ue.name]="Filled");return fe??we},[we,Gt,U]),yr=xn==="error"?w.getFormFieldValidationError(U,At):null,hr=`${o&&o!=="default"?`${r}-state-${o}`:""}`.trim(),oo=n==null?void 0:n.submitUrl,ro=(fe,Ue)=>{De(qe=>({...qe,[fe]:Ue}))},vr=async fe=>{fe.preventDefault();const Ue=Object.fromEntries(U.map(Pe=>{var dt;return[Pe.name,((dt=we[Pe.name])==null?void 0:dt.trim())??""]}).filter(([,Pe])=>Pe));if(!oo){$t("error"),qt("No integrations were found for this form.");return}if(Object.keys(Ue).length===0)return;const qe=w.getFormFieldValidationError(U,we);if(qe){$t("error"),qt(qe);return}$t("submitting"),qt(null);try{const Pe=await fetch(oo,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ue)});if(!Pe.ok){const dt=await Pe.text();throw new Error(dt||`Request failed: ${Pe.status}`)}$t("success"),De(Object.fromEntries(U.map(dt=>[dt.name,""])))}catch(Pe){$t("error"),qt(Pe instanceof Error?Pe.message:"Something went wrong")}};return a.jsxs("div",{className:`${r}-wrapper ${r}-type-${l} ${hr}`.trim(),style:Ve,children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:Tl(r)}}),a.jsxs("form",{onSubmit:vr,className:`${r}-form`,style:{gap:w.scalingValue(m??0,t)},children:[a.jsx("div",{className:`${r}-fields`,style:{gap:w.scalingValue(u??0,t)},children:U.map((fe,Ue)=>a.jsxs("div",{className:`${r}-field-group${T?` ${r}-labeled`:""}`,children:[T&&a.jsx("span",{className:`${r}-field-label`,style:Le?{...Le,lineHeight:Le.fontSize}:void 0,children:fe.label||fe.name}),fe.type==="textarea"?a.jsx("textarea",{name:fe.name,autoComplete:"off",value:At[fe.name]??"",onChange:qe=>ro(fe.name,qe.target.value),placeholder:fe.placeholder,className:`${r}-input`,style:J,rows:1,"data-filled":Gt||(At[fe.name]??"").trim().length>0,"data-field-type":"textarea"}):a.jsx("input",{type:fe.type==="phone"?"tel":fe.type==="email"?"email":"text",name:fe.name,autoComplete:"off",value:At[fe.name]??"",onChange:qe=>ro(fe.name,qe.target.value),placeholder:fe.placeholder,required:fe.isRequired??fe.type==="email",className:`${r}-input`,style:J,"data-filled":Gt||(At[fe.name]??"").trim().length>0})]},Ue))}),a.jsx("div",{className:`${r}-overlay-anchor`,children:a.jsx("button",{type:"submit",className:`${r}-button`,style:{borderStyle:"solid",borderRadius:w.scalingValue(E??0,t),borderWidth:Te,paddingTop:w.scalingValue((h==null?void 0:h.top)??0,t),paddingRight:w.scalingValue((h==null?void 0:h.right)??0,t),paddingBottom:w.scalingValue((h==null?void 0:h.bottom)??0,t),paddingLeft:w.scalingValue((h==null?void 0:h.left)??0,t),...ge,...d?{width:"100%",textAlign:"center",whiteSpace:"normal"}:{}},children:a.jsx("span",{className:`${r}-overlay-anchor`,style:d?{display:"inline-block",maxWidth:"100%",whiteSpace:"normal",textAlign:"center"}:void 0,children:no==="submitting"?"...":p})})})]}),xn==="success"&&a.jsx("p",{className:`${r}-success`,style:{...Me},children:ee}),xn==="error"&&a.jsx("p",{className:`${r}-error`,style:{...Me},role:"alert",children:yr??fr??ne})]})}const $l={inputColor:"input-color",inputTextColor:"input-text-color",inputBorderColor:"input-border-color",placeholderColor:"placeholder-color",buttonColor:"button-color",buttonTextColor:"button-text-color",buttonBorderColor:"button-border-color",labelTextColor:"label-text-color",successColor:"success-color",errorColor:"error-color"},Al=["hover","focus","filled","success","error"],El=`import React, { useMemo, useState } from 'react';
|
|
143
143
|
import { CommonComponentProps } from '../props';
|
|
144
144
|
import { buildColorVars, getFormFieldValidationError, scalingValue, useScopedStyles } from '../utils/index';
|
|
145
145
|
import { omitTextColors, textStylesToCss, type TextStyles } from '../utils/textStylesToCss';
|
|
@@ -740,8 +740,8 @@ const COLOR_VAR_MAP: Record<ColorKeys, string> = {
|
|
|
740
740
|
};
|
|
741
741
|
|
|
742
742
|
const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
743
|
-
`,Ll=[{name:"email",type:"email",placeholder:"Enter your email",label:"Email",isRequired:!0,error:"Please, enter a valid e-mail."},{name:"name",type:"text",placeholder:"Enter your name",label:"Name",isRequired:!1,error:"Please, enter your name."},{name:"company",type:"text",placeholder:"Enter company",label:"Company",isRequired:!1,error:"Please, enter your company name."},{name:"phone",type:"phone",placeholder:"Enter your phone",label:"Phone",isRequired:!1,error:"Please, enter a valid phone number."},{name:"message",type:"textarea",placeholder:"Enter your message",label:"Message",isRequired:!1,error:"Message is required"},{name:"message2",type:"textarea",placeholder:"Enter your message 2",label:"Message 2",isRequired:!1,error:"Message 2 is required"},{name:"message3",type:"textarea",placeholder:"Enter your message 3",label:"Message 3",isRequired:!1,error:"Message 3 is required"}],Ke={fontSettings:{type:"object",display:{type:"font-settings-weight"},properties:{fontWeight:{type:"number"},fontStyle:{type:"string"}}}},Fl=["inputColor","inputTextColor","inputBorderColor","placeholderColor","buttonColor","buttonTextColor","buttonBorderColor","labelTextColor","successColor","errorColor"],kl={type:"object",version:1,settings:{sizing:"auto manual",properties:{fieldsToShow:{type:"number",scope:"common",title:"Fields",display:{type:"number"},min:1,max:7},fields:{type:"array",scope:"common",display:{type:"fields-group"},items:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["text","textarea","phone","email"]},placeholder:{type:"string"},label:{type:"string"},isRequired:{type:"boolean"},error:{type:"string"}}}},buttonLabel:{type:"string",scope:"common",title:"Button Label",display:{type:"text-input"}},successMessage:{type:"string",scope:"common",title:"Success Message",display:{type:"text-input"}},errorMessage:{type:"string",scope:"common",title:"Error Message",display:{type:"text-input"}},type:{type:"string",scope:"common",title:"",display:{type:"radio-group"},enum:["A","B","C"]},gap:{type:"number",scope:"layout",title:"Gap",display:{type:"range-control"},min:0,max:100},fieldsGap:{type:"number",scope:"layout",title:"Gap",display:{type:"range-control",enabled:!0},min:0,max:100},buttonPadding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},inputPadding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},buttonStroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},buttonCorners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control",enabled:!0},min:0,max:100},inputStroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},inputCorners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control",enabled:!0},min:0,max:100},inputColor:{type:"string",scope:"common",title:"Input Fill",display:{type:"palette-color-picker"}},inputTextColor:{type:"string",scope:"common",title:"Input Label",display:{type:"palette-color-picker"}},inputBorderColor:{type:"string",scope:"common",title:"Input Stroke",display:{type:"palette-color-picker"}},placeholderColor:{type:"string",scope:"common",title:"Filler text",display:{type:"palette-color-picker"}},buttonColor:{type:"string",scope:"common",title:"Button Fill",display:{type:"palette-color-picker"}},buttonTextColor:{type:"string",scope:"common",title:"Button Label",display:{type:"palette-color-picker"}},isButtonFullWidth:{type:"boolean",scope:"common",title:"Full Width",display:{type:"toggle",enum:["On","Off"]}},buttonBorderColor:{type:"string",scope:"common",title:"Button Stroke",display:{type:"palette-color-picker"}},labelTextColor:{type:"string",scope:"common",title:"Label Color",display:{type:"palette-color-picker",visible:!1}},successColor:{type:"string",scope:"common",title:"Success Message Color",display:{type:"palette-color-picker"}},errorColor:{type:"string",scope:"common",title:"Error Message Color",display:{type:"palette-color-picker"}},stateOverrides:{type:"object",scope:"common"},fontFamily:{type:"string",scope:"common",title:"Font family",display:{type:"font-family-select"}},inputFontSettings:{...Ke.fontSettings,scope:"common",title:"Input",display:{type:"font-settings-weight"}},inputFontSize:{type:"number",scope:"layout",title:"Input Font Size",display:{type:"font-size"}},inputLineHeight:{type:"number",scope:"layout",title:"Input Line Height",display:{type:"line-height-input"}},inputLetterSpacing:{type:"number",scope:"layout",title:"Input Letter Spacing",display:{type:"letter-spacing-input"}},inputWordSpacing:{type:"number",scope:"layout",title:"Input Word Spacing",display:{type:"word-spacing-input"}},inputTextAppearance:{type:"object",scope:"layout",title:"Input Text Appearance",display:{type:"text-appearance"}},buttonFontSettings:{...Ke.fontSettings,scope:"common",title:"Button",display:{type:"font-settings-weight"}},buttonFontSize:{type:"number",scope:"layout",title:"Button Font Size",display:{type:"font-size"}},buttonLineHeight:{type:"number",scope:"layout",title:"Button Line Height",display:{type:"line-height-input"}},buttonLetterSpacing:{type:"number",scope:"layout",title:"Button Letter Spacing",display:{type:"letter-spacing-input"}},buttonWordSpacing:{type:"number",scope:"layout",title:"Button Word Spacing",display:{type:"word-spacing-input"}},buttonTextAppearance:{type:"object",scope:"layout",title:"Button Text Appearance",display:{type:"text-appearance"}},labelFontSettings:{...Ke.fontSettings,scope:"common",title:"Label",display:{type:"font-settings-weight",visible:!1}},labelFontSize:{type:"number",scope:"layout",title:"Label Font Size",display:{type:"font-size",visible:!1}},labelLineHeight:{type:"number",scope:"layout",title:"Label Line Height",display:{type:"line-height-input",visible:!1}},labelLetterSpacing:{type:"number",scope:"layout",title:"Label Letter Spacing",display:{type:"letter-spacing-input",visible:!1}},labelWordSpacing:{type:"number",scope:"layout",title:"Label Word Spacing",display:{type:"word-spacing-input",visible:!1}},labelTextAppearance:{type:"object",scope:"layout",title:"Label Text Appearance",display:{type:"text-appearance",visible:!1}},statusFontSettings:{...Ke.fontSettings,scope:"common",title:"Success/Error"},statusFontSize:{type:"number",scope:"layout",title:"Success/Error Font Size",display:{type:"font-size"}},statusLineHeight:{type:"number",scope:"layout",title:"Success/Error Line Height",display:{type:"line-height-input"}},statusLetterSpacing:{type:"number",scope:"layout",title:"Success/Error Letter Spacing",display:{type:"letter-spacing-input"}},statusWordSpacing:{type:"number",scope:"layout",title:"Success/Error Word Spacing",display:{type:"word-spacing-input"}},statusTextAppearance:{type:"object",scope:"layout",title:"Success/Error Text Appearance",display:{type:"text-appearance"}}},defaults:{fieldsToShow:2,fields:Ll,type:"A",inputColor:"#FFFFFF",inputTextColor:"#0A00F8",inputBorderColor:"#E2E2E2",placeholderColor:"#808080",buttonColor:"#0A00F8",buttonTextColor:"#ffffff",buttonBorderColor:"#0A00F8",labelTextColor:"#999999",successColor:"#22c55e",errorColor:"#ef4444",stateOverrides:{hover:{buttonColor:"#194EFF"}},fontFamily:"Arial",inputFontSettings:{fontWeight:400,fontStyle:"normal"},inputLetterSpacing:0,inputWordSpacing:0,inputTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},buttonFontSettings:{fontWeight:400,fontStyle:"normal"},buttonLetterSpacing:0,buttonWordSpacing:0,buttonTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},labelFontSettings:{fontWeight:400,fontStyle:"normal"},labelLetterSpacing:0,labelWordSpacing:0,labelTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},statusFontSettings:{fontWeight:400,fontStyle:"normal"},statusLetterSpacing:0,statusWordSpacing:0,statusTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},isButtonFullWidth:!1,buttonLabel:"Sign up",successMessage:"Thanks for subscribing!",errorMessage:"Please, fill all required fields."},layoutDefaults:{m:{gap:.032,fieldsGap:.032,buttonStroke:0,buttonCorners:.192,inputStroke:.003,inputCorners:.192,buttonPadding:{top:.0373,right:.0373,bottom:.0373,left:.0373},inputPadding:{top:.0373,right:.0373,bottom:.0373,left:.0373},inputFontSize:.043,inputLineHeight:.043,buttonFontSize:.0373,buttonLineHeight:.0373,labelFontSize:.0373,labelLineHeight:.0373,statusFontSize:.0373,statusLineHeight:.0373},d:{gap:.0083,fieldsGap:.0083,buttonStroke:0,buttonCorners:.05,inputStroke:.001,inputCorners:.05,buttonPadding:{top:.01,right:.01,bottom:.01,left:.01},inputPadding:{top:.01,right:.01,bottom:.01,left:.01},inputFontSize:.01,inputLineHeight:.01,buttonFontSize:.01,buttonLineHeight:.01,labelFontSize:.01,labelLineHeight:.01,statusFontSize:.01,statusLineHeight:.01}},displayRules:[{if:{name:"type",value:"B"},then:{name:"properties.labelTextColor.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelFontSettings.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelFontSize.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelLineHeight.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelLetterSpacing.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelWordSpacing.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelTextAppearance.display.visible",value:!0}},{if:{name:"type",value:"C"},then:{name:"properties.buttonCorners.display.enabled",value:!1}},{if:{name:"type",value:"C"},then:{name:"properties.inputCorners.display.enabled",value:!1}},{if:{name:"buttonStroke",value:0},then:{name:"properties.buttonBorderColor.display.visible",value:!1}},{if:{name:"inputStroke",value:0},then:{name:"properties.inputBorderColor.display.visible",value:!1}},{if:{name:"fieldsToShow",value:1},then:{name:"properties.fieldsGap.display.enabled",value:!1}}]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","name","fieldsToShow"]},"type",{type:"group",title:"",items:[{type:"row",title:"Input",items:[{type:"group",title:"",items:["fieldsGap","inputStroke","inputCorners"]},{type:"group",title:"",items:["inputPadding"]}]},{type:"group",title:"Button",items:[{type:"row",items:["isButtonFullWidth"]},{type:"row",items:[{type:"group",title:"",items:["gap","buttonStroke","buttonCorners"]},{type:"group",title:"",items:["buttonPadding"]}]}]}]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["fontFamily",{type:"group",title:"",items:["inputFontSettings",{type:"row",items:["inputFontSize","inputLineHeight","inputLetterSpacing","inputWordSpacing"]},"inputTextAppearance"]},{type:"group",title:"",items:["buttonFontSettings",{type:"row",items:["buttonFontSize","buttonLineHeight","buttonLetterSpacing","buttonWordSpacing"]},"buttonTextAppearance"]},{type:"group",title:"",items:["labelFontSettings",{type:"row",items:["labelFontSize","labelLineHeight","labelLetterSpacing","labelWordSpacing"]},"labelTextAppearance"]},{type:"group",title:"",items:["statusFontSettings",{type:"row",items:["statusFontSize","statusLineHeight","statusLetterSpacing","statusWordSpacing"]},"statusTextAppearance"]}]},{id:"fields",icon:"layers",title:"Fields",tooltip:"Fields",layout:["fields","buttonLabel","successMessage","errorMessage"]}],paletteBookmark:{items:[...Fl],panelIds:["general","typeStyle"],stateItems:{default:["placeholderColor","inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor","labelTextColor"],hover:["inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor"],focus:["inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor"],filled:["inputTextColor","inputColor","inputBorderColor","buttonTextColor"],success:["successColor"],error:["errorColor"]}},allowedPlugins:["newsletter"],states:["default","hover","focus","filled","success","error"]},Il={element:Tl,id:"form",name:"Newsletter Stacked",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/formImg.jpg"},version:1,defaultSize:{width:300,height:42},schema:kl,sourceCode:El};function Je(t){return`calc(var(--cntrl-article-width, 100vw) * ${t/1440})`}function Rl(t){return`
|
|
744
|
-
.${
|
|
743
|
+
`,Il=[{name:"email",type:"email",placeholder:"Enter your email",label:"Email",isRequired:!0,error:"Please, enter a valid e-mail."},{name:"name",type:"text",placeholder:"Enter your name",label:"Name",isRequired:!1,error:"Please, enter your name."},{name:"company",type:"text",placeholder:"Enter company",label:"Company",isRequired:!1,error:"Please, enter your company name."},{name:"phone",type:"phone",placeholder:"Enter your phone",label:"Phone",isRequired:!1,error:"Please, enter a valid phone number."},{name:"message",type:"textarea",placeholder:"Enter your message",label:"Message",isRequired:!1,error:"Message is required"},{name:"message2",type:"textarea",placeholder:"Enter your message 2",label:"Message 2",isRequired:!1,error:"Message 2 is required"},{name:"message3",type:"textarea",placeholder:"Enter your message 3",label:"Message 3",isRequired:!1,error:"Message 3 is required"}],Jt={fontSettings:{type:"object",display:{type:"font-settings-weight"},properties:{fontWeight:{type:"number"},fontStyle:{type:"string"}}}},Ll=["inputColor","inputTextColor","inputBorderColor","placeholderColor","buttonColor","buttonTextColor","buttonBorderColor","labelTextColor","successColor","errorColor"],Fl={type:"object",version:1,settings:{sizing:"auto manual",properties:{fieldsToShow:{type:"number",scope:"common",title:"Fields",display:{type:"number"},min:1,max:7},fields:{type:"array",scope:"common",display:{type:"fields-group"},items:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["text","textarea","phone","email"]},placeholder:{type:"string"},label:{type:"string"},isRequired:{type:"boolean"},error:{type:"string"}}}},buttonLabel:{type:"string",scope:"common",title:"Button Label",display:{type:"text-input"}},successMessage:{type:"string",scope:"common",title:"Success Message",display:{type:"text-input"}},errorMessage:{type:"string",scope:"common",title:"Error Message",display:{type:"text-input"}},type:{type:"string",scope:"common",title:"",display:{type:"radio-group"},enum:["A","B","C"]},gap:{type:"number",scope:"layout",title:"Gap",display:{type:"range-control"},min:0,max:100},fieldsGap:{type:"number",scope:"layout",title:"Gap",display:{type:"range-control",enabled:!0},min:0,max:100},buttonPadding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},inputPadding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},buttonStroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},buttonCorners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control",enabled:!0},min:0,max:100},inputStroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},inputCorners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control",enabled:!0},min:0,max:100},inputColor:{type:"string",scope:"common",title:"Input Fill",display:{type:"palette-color-picker"}},inputTextColor:{type:"string",scope:"common",title:"Input Label",display:{type:"palette-color-picker"}},inputBorderColor:{type:"string",scope:"common",title:"Input Stroke",display:{type:"palette-color-picker"}},placeholderColor:{type:"string",scope:"common",title:"Filler text",display:{type:"palette-color-picker"}},buttonColor:{type:"string",scope:"common",title:"Button Fill",display:{type:"palette-color-picker"}},buttonTextColor:{type:"string",scope:"common",title:"Button Label",display:{type:"palette-color-picker"}},isButtonFullWidth:{type:"boolean",scope:"common",title:"Full Width",display:{type:"toggle",enum:["On","Off"]}},buttonBorderColor:{type:"string",scope:"common",title:"Button Stroke",display:{type:"palette-color-picker"}},labelTextColor:{type:"string",scope:"common",title:"Label Color",display:{type:"palette-color-picker",visible:!1}},successColor:{type:"string",scope:"common",title:"Success Message Color",display:{type:"palette-color-picker"}},errorColor:{type:"string",scope:"common",title:"Error Message Color",display:{type:"palette-color-picker"}},stateOverrides:{type:"object",scope:"common"},fontFamily:{type:"string",scope:"common",title:"Font family",display:{type:"font-family-select"}},inputFontSettings:{...Jt.fontSettings,scope:"common",title:"Input",display:{type:"font-settings-weight"}},inputFontSize:{type:"number",scope:"layout",title:"Input Font Size",display:{type:"font-size"}},inputLineHeight:{type:"number",scope:"layout",title:"Input Line Height",display:{type:"line-height-input"}},inputLetterSpacing:{type:"number",scope:"layout",title:"Input Letter Spacing",display:{type:"letter-spacing-input"}},inputWordSpacing:{type:"number",scope:"layout",title:"Input Word Spacing",display:{type:"word-spacing-input"}},inputTextAppearance:{type:"object",scope:"layout",title:"Input Text Appearance",display:{type:"text-appearance"}},buttonFontSettings:{...Jt.fontSettings,scope:"common",title:"Button",display:{type:"font-settings-weight"}},buttonFontSize:{type:"number",scope:"layout",title:"Button Font Size",display:{type:"font-size"}},buttonLineHeight:{type:"number",scope:"layout",title:"Button Line Height",display:{type:"line-height-input"}},buttonLetterSpacing:{type:"number",scope:"layout",title:"Button Letter Spacing",display:{type:"letter-spacing-input"}},buttonWordSpacing:{type:"number",scope:"layout",title:"Button Word Spacing",display:{type:"word-spacing-input"}},buttonTextAppearance:{type:"object",scope:"layout",title:"Button Text Appearance",display:{type:"text-appearance"}},labelFontSettings:{...Jt.fontSettings,scope:"common",title:"Label",display:{type:"font-settings-weight",visible:!1}},labelFontSize:{type:"number",scope:"layout",title:"Label Font Size",display:{type:"font-size",visible:!1}},labelLineHeight:{type:"number",scope:"layout",title:"Label Line Height",display:{type:"line-height-input",visible:!1}},labelLetterSpacing:{type:"number",scope:"layout",title:"Label Letter Spacing",display:{type:"letter-spacing-input",visible:!1}},labelWordSpacing:{type:"number",scope:"layout",title:"Label Word Spacing",display:{type:"word-spacing-input",visible:!1}},labelTextAppearance:{type:"object",scope:"layout",title:"Label Text Appearance",display:{type:"text-appearance",visible:!1}},statusFontSettings:{...Jt.fontSettings,scope:"common",title:"Success/Error"},statusFontSize:{type:"number",scope:"layout",title:"Success/Error Font Size",display:{type:"font-size"}},statusLineHeight:{type:"number",scope:"layout",title:"Success/Error Line Height",display:{type:"line-height-input"}},statusLetterSpacing:{type:"number",scope:"layout",title:"Success/Error Letter Spacing",display:{type:"letter-spacing-input"}},statusWordSpacing:{type:"number",scope:"layout",title:"Success/Error Word Spacing",display:{type:"word-spacing-input"}},statusTextAppearance:{type:"object",scope:"layout",title:"Success/Error Text Appearance",display:{type:"text-appearance"}}},defaults:{fieldsToShow:2,fields:Il,type:"A",inputColor:"#FFFFFF",inputTextColor:"#0A00F8",inputBorderColor:"#E2E2E2",placeholderColor:"#808080",buttonColor:"#0A00F8",buttonTextColor:"#ffffff",buttonBorderColor:"#0A00F8",labelTextColor:"#999999",successColor:"#22c55e",errorColor:"#ef4444",stateOverrides:{hover:{buttonColor:"#194EFF"}},fontFamily:"Arial",inputFontSettings:{fontWeight:400,fontStyle:"normal"},inputLetterSpacing:0,inputWordSpacing:0,inputTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},buttonFontSettings:{fontWeight:400,fontStyle:"normal"},buttonLetterSpacing:0,buttonWordSpacing:0,buttonTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},labelFontSettings:{fontWeight:400,fontStyle:"normal"},labelLetterSpacing:0,labelWordSpacing:0,labelTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},statusFontSettings:{fontWeight:400,fontStyle:"normal"},statusLetterSpacing:0,statusWordSpacing:0,statusTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},isButtonFullWidth:!1,buttonLabel:"Sign up",successMessage:"Thanks for subscribing!",errorMessage:"Please, fill all required fields."},layoutDefaults:{m:{gap:.032,fieldsGap:.032,buttonStroke:0,buttonCorners:.192,inputStroke:.003,inputCorners:.192,buttonPadding:{top:.0373,right:.0373,bottom:.0373,left:.0373},inputPadding:{top:.0373,right:.0373,bottom:.0373,left:.0373},inputFontSize:.043,inputLineHeight:.043,buttonFontSize:.0373,buttonLineHeight:.0373,labelFontSize:.0373,labelLineHeight:.0373,statusFontSize:.0373,statusLineHeight:.0373},d:{gap:.0083,fieldsGap:.0083,buttonStroke:0,buttonCorners:.05,inputStroke:.001,inputCorners:.05,buttonPadding:{top:.01,right:.01,bottom:.01,left:.01},inputPadding:{top:.01,right:.01,bottom:.01,left:.01},inputFontSize:.01,inputLineHeight:.01,buttonFontSize:.01,buttonLineHeight:.01,labelFontSize:.01,labelLineHeight:.01,statusFontSize:.01,statusLineHeight:.01}},displayRules:[{if:{name:"type",value:"B"},then:{name:"properties.labelTextColor.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelFontSettings.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelFontSize.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelLineHeight.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelLetterSpacing.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelWordSpacing.display.visible",value:!0}},{if:{name:"type",value:"B"},then:{name:"properties.labelTextAppearance.display.visible",value:!0}},{if:{name:"type",value:"C"},then:{name:"properties.buttonCorners.display.enabled",value:!1}},{if:{name:"type",value:"C"},then:{name:"properties.inputCorners.display.enabled",value:!1}},{if:{name:"buttonStroke",value:0},then:{name:"properties.buttonBorderColor.display.visible",value:!1}},{if:{name:"inputStroke",value:0},then:{name:"properties.inputBorderColor.display.visible",value:!1}},{if:{name:"fieldsToShow",value:1},then:{name:"properties.fieldsGap.display.enabled",value:!1}}]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","name","fieldsToShow"]},"type",{type:"group",title:"",items:[{type:"row",title:"Input",items:[{type:"group",title:"",items:["fieldsGap","inputStroke","inputCorners"]},{type:"group",title:"",items:["inputPadding"]}]},{type:"group",title:"Button",items:[{type:"row",items:["isButtonFullWidth"]},{type:"row",items:[{type:"group",title:"",items:["gap","buttonStroke","buttonCorners"]},{type:"group",title:"",items:["buttonPadding"]}]}]}]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["fontFamily",{type:"group",title:"",items:["inputFontSettings",{type:"row",items:["inputFontSize","inputLineHeight","inputLetterSpacing","inputWordSpacing"]},"inputTextAppearance"]},{type:"group",title:"",items:["buttonFontSettings",{type:"row",items:["buttonFontSize","buttonLineHeight","buttonLetterSpacing","buttonWordSpacing"]},"buttonTextAppearance"]},{type:"group",title:"",items:["labelFontSettings",{type:"row",items:["labelFontSize","labelLineHeight","labelLetterSpacing","labelWordSpacing"]},"labelTextAppearance"]},{type:"group",title:"",items:["statusFontSettings",{type:"row",items:["statusFontSize","statusLineHeight","statusLetterSpacing","statusWordSpacing"]},"statusTextAppearance"]}]},{id:"fields",icon:"layers",title:"Fields",tooltip:"Fields",layout:["fields","buttonLabel","successMessage","errorMessage"]}],paletteBookmark:{items:[...Ll],panelIds:["general","typeStyle"],stateItems:{default:["placeholderColor","inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor","labelTextColor"],hover:["inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor"],focus:["inputColor","inputBorderColor","buttonTextColor","buttonColor","buttonBorderColor"],filled:["inputTextColor","inputColor","inputBorderColor","buttonTextColor"],success:["successColor"],error:["errorColor"]}},allowedPlugins:["newsletter"],states:["default","hover","focus","filled","success","error"]},kl={element:_l,id:"form",name:"Newsletter Stacked",category:"forms",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/formImg.jpg"},defaultSize:{width:300,height:42},schema:Fl,sourceCode:El};function Zt(e){return`calc(var(--cntrl-article-width, 100vw) * ${e/1440})`}function Rl(e){return`
|
|
744
|
+
.${e}-wrapper {
|
|
745
745
|
display: flex;
|
|
746
746
|
flex-direction: column;
|
|
747
747
|
width: 100%;
|
|
@@ -749,90 +749,90 @@ const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
|
749
749
|
align-items: stretch;
|
|
750
750
|
justify-content: center;
|
|
751
751
|
}
|
|
752
|
-
.${
|
|
752
|
+
.${e}-form {
|
|
753
753
|
display: flex;
|
|
754
754
|
width: 100%;
|
|
755
755
|
align-items: stretch;
|
|
756
756
|
overflow: hidden;
|
|
757
|
-
border-color: var(--${
|
|
757
|
+
border-color: var(--${e}-stroke-color);
|
|
758
758
|
transition: border-color 250ms;
|
|
759
759
|
}
|
|
760
|
-
.${
|
|
761
|
-
border-color: var(--${
|
|
760
|
+
.${e}-form:hover {
|
|
761
|
+
border-color: var(--${e}-hover-stroke-color, var(--${e}-stroke-color));
|
|
762
762
|
}
|
|
763
|
-
.${
|
|
764
|
-
border-color: var(--${
|
|
763
|
+
.${e}-form:focus-within {
|
|
764
|
+
border-color: var(--${e}-focus-stroke-color, var(--${e}-stroke-color));
|
|
765
765
|
}
|
|
766
|
-
.${
|
|
767
|
-
border-color: var(--${
|
|
766
|
+
.${e}-wrapper.${e}-state-hover .${e}-form {
|
|
767
|
+
border-color: var(--${e}-hover-stroke-color, var(--${e}-stroke-color));
|
|
768
768
|
}
|
|
769
|
-
.${
|
|
770
|
-
border-color: var(--${
|
|
769
|
+
.${e}-wrapper.${e}-state-focus .${e}-form {
|
|
770
|
+
border-color: var(--${e}-focus-stroke-color, var(--${e}-stroke-color));
|
|
771
771
|
}
|
|
772
|
-
.${
|
|
773
|
-
border-color: var(--${
|
|
772
|
+
.${e}-wrapper.${e}-state-filled .${e}-form {
|
|
773
|
+
border-color: var(--${e}-filled-stroke-color, var(--${e}-stroke-color));
|
|
774
774
|
}
|
|
775
|
-
.${
|
|
775
|
+
.${e}-inputWrap {
|
|
776
776
|
position: relative;
|
|
777
777
|
display: flex;
|
|
778
778
|
align-items: center;
|
|
779
779
|
flex: 1;
|
|
780
780
|
min-width: 0;
|
|
781
|
-
background-color: var(--${
|
|
781
|
+
background-color: var(--${e}-input-color);
|
|
782
782
|
transition: background-color 250ms;
|
|
783
783
|
}
|
|
784
|
-
.${
|
|
785
|
-
.${
|
|
786
|
-
background-color: var(--${
|
|
784
|
+
.${e}-inputWrap:hover,
|
|
785
|
+
.${e}-wrapper.${e}-state-hover .${e}-inputWrap {
|
|
786
|
+
background-color: var(--${e}-hover-input-color, var(--${e}-input-color));
|
|
787
787
|
}
|
|
788
|
-
.${
|
|
789
|
-
.${
|
|
790
|
-
background-color: var(--${
|
|
788
|
+
.${e}-inputWrap:focus-within,
|
|
789
|
+
.${e}-wrapper.${e}-state-focus .${e}-inputWrap {
|
|
790
|
+
background-color: var(--${e}-focus-input-color, var(--${e}-input-color));
|
|
791
791
|
}
|
|
792
|
-
.${
|
|
793
|
-
background-color: var(--${
|
|
792
|
+
.${e}-wrapper.${e}-state-filled .${e}-inputWrap {
|
|
793
|
+
background-color: var(--${e}-filled-input-color, var(--${e}-input-color));
|
|
794
794
|
}
|
|
795
|
-
.${
|
|
795
|
+
.${e}-input {
|
|
796
796
|
flex: 1;
|
|
797
797
|
min-width: 0;
|
|
798
798
|
background: transparent;
|
|
799
799
|
border: none;
|
|
800
800
|
outline: none;
|
|
801
801
|
-webkit-tap-highlight-color: transparent;
|
|
802
|
-
color: var(--${
|
|
802
|
+
color: var(--${e}-input-text-color);
|
|
803
803
|
transition: color 250ms, background-color 250ms, border-color 250ms;
|
|
804
804
|
}
|
|
805
|
-
.${
|
|
806
|
-
color: var(--${
|
|
805
|
+
.${e}-input:hover {
|
|
806
|
+
color: var(--${e}-hover-input-text-color, var(--${e}-input-text-color));
|
|
807
807
|
}
|
|
808
|
-
.${
|
|
809
|
-
.${
|
|
810
|
-
color: var(--${
|
|
808
|
+
.${e}-inputWrap:hover .${e}-input,
|
|
809
|
+
.${e}-wrapper.${e}-state-hover .${e}-input {
|
|
810
|
+
color: var(--${e}-hover-input-text-color, var(--${e}-input-text-color));
|
|
811
811
|
}
|
|
812
|
-
.${
|
|
813
|
-
.${
|
|
814
|
-
color: var(--${
|
|
812
|
+
.${e}-input:focus,
|
|
813
|
+
.${e}-wrapper.${e}-state-focus .${e}-input {
|
|
814
|
+
color: var(--${e}-focus-input-text-color, var(--${e}-input-text-color));
|
|
815
815
|
}
|
|
816
|
-
.${
|
|
817
|
-
color: var(--${
|
|
816
|
+
.${e}-wrapper.${e}-state-filled .${e}-input {
|
|
817
|
+
color: var(--${e}-filled-input-text-color, var(--${e}-input-text-color));
|
|
818
818
|
}
|
|
819
|
-
.${
|
|
820
|
-
color: var(--${
|
|
819
|
+
.${e}-input::placeholder {
|
|
820
|
+
color: var(--${e}-placeholder-color);
|
|
821
821
|
opacity: 1;
|
|
822
822
|
transition: color 250ms, opacity 250ms;
|
|
823
823
|
}
|
|
824
|
-
.${
|
|
825
|
-
.${
|
|
826
|
-
color: var(--${
|
|
824
|
+
.${e}-inputWrap:hover .${e}-input::placeholder,
|
|
825
|
+
.${e}-wrapper.${e}-state-hover .${e}-input::placeholder {
|
|
826
|
+
color: var(--${e}-hover-placeholder-color, var(--${e}-placeholder-color));
|
|
827
827
|
}
|
|
828
|
-
.${
|
|
829
|
-
.${
|
|
830
|
-
color: var(--${
|
|
828
|
+
.${e}-inputWrap:focus-within .${e}-input::placeholder,
|
|
829
|
+
.${e}-wrapper.${e}-state-focus .${e}-input::placeholder {
|
|
830
|
+
color: var(--${e}-focus-placeholder-color, var(--${e}-placeholder-color));
|
|
831
831
|
}
|
|
832
|
-
.${
|
|
833
|
-
color: var(--${
|
|
832
|
+
.${e}-wrapper.${e}-state-filled .${e}-input::placeholder {
|
|
833
|
+
color: var(--${e}-filled-placeholder-color, var(--${e}-placeholder-color));
|
|
834
834
|
}
|
|
835
|
-
.${
|
|
835
|
+
.${e}-submitBtn {
|
|
836
836
|
box-sizing: border-box;
|
|
837
837
|
height: 100%;
|
|
838
838
|
display: flex;
|
|
@@ -841,13 +841,13 @@ const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
|
841
841
|
border: none;
|
|
842
842
|
cursor: pointer;
|
|
843
843
|
white-space: nowrap;
|
|
844
|
-
background-color: var(--${
|
|
845
|
-
color: var(--${
|
|
844
|
+
background-color: var(--${e}-button-color);
|
|
845
|
+
color: var(--${e}-button-text-color);
|
|
846
846
|
border-left-style: solid;
|
|
847
|
-
border-left-color: var(--${
|
|
847
|
+
border-left-color: var(--${e}-stroke-color);
|
|
848
848
|
transition: color 250ms, background-color 250ms, border-color 250ms;
|
|
849
849
|
}
|
|
850
|
-
.${
|
|
850
|
+
.${e}-submitBtn img {
|
|
851
851
|
display: block;
|
|
852
852
|
box-sizing: border-box;
|
|
853
853
|
flex: 0 1 auto;
|
|
@@ -858,7 +858,7 @@ const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
|
858
858
|
max-height: 100%;
|
|
859
859
|
object-fit: contain;
|
|
860
860
|
}
|
|
861
|
-
.${
|
|
861
|
+
.${e}-submitBtn svg {
|
|
862
862
|
display: block;
|
|
863
863
|
box-sizing: border-box;
|
|
864
864
|
flex: 0 1 auto;
|
|
@@ -868,7 +868,7 @@ const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
|
868
868
|
max-width: 100%;
|
|
869
869
|
max-height: 100%;
|
|
870
870
|
}
|
|
871
|
-
.${
|
|
871
|
+
.${e}-submitBtn .${e}-submitBtnIcon {
|
|
872
872
|
position: relative;
|
|
873
873
|
top: auto;
|
|
874
874
|
left: auto;
|
|
@@ -884,54 +884,54 @@ const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
|
884
884
|
max-width: 100%;
|
|
885
885
|
max-height: 100%;
|
|
886
886
|
}
|
|
887
|
-
.${
|
|
888
|
-
.${
|
|
889
|
-
background-color: var(--${
|
|
890
|
-
color: var(--${
|
|
891
|
-
border-left-color: var(--${
|
|
887
|
+
.${e}-submitBtn:hover,
|
|
888
|
+
.${e}-wrapper.${e}-state-hover .${e}-submitBtn {
|
|
889
|
+
background-color: var(--${e}-hover-button-color, var(--${e}-button-color));
|
|
890
|
+
color: var(--${e}-hover-button-text-color, var(--${e}-button-text-color));
|
|
891
|
+
border-left-color: var(--${e}-hover-stroke-color, var(--${e}-stroke-color));
|
|
892
892
|
}
|
|
893
|
-
.${
|
|
894
|
-
.${
|
|
895
|
-
background-color: var(--${
|
|
896
|
-
color: var(--${
|
|
897
|
-
border-left-color: var(--${
|
|
893
|
+
.${e}-submitBtn:focus,
|
|
894
|
+
.${e}-wrapper.${e}-state-focus .${e}-submitBtn {
|
|
895
|
+
background-color: var(--${e}-focus-button-color, var(--${e}-button-color));
|
|
896
|
+
color: var(--${e}-focus-button-text-color, var(--${e}-button-text-color));
|
|
897
|
+
border-left-color: var(--${e}-focus-stroke-color, var(--${e}-stroke-color));
|
|
898
898
|
}
|
|
899
|
-
.${
|
|
900
|
-
background-color: var(--${
|
|
901
|
-
color: var(--${
|
|
902
|
-
border-left-color: var(--${
|
|
899
|
+
.${e}-wrapper.${e}-state-filled .${e}-submitBtn {
|
|
900
|
+
background-color: var(--${e}-filled-button-color, var(--${e}-button-color));
|
|
901
|
+
color: var(--${e}-filled-button-text-color, var(--${e}-button-text-color));
|
|
902
|
+
border-left-color: var(--${e}-filled-stroke-color, var(--${e}-stroke-color));
|
|
903
903
|
}
|
|
904
|
-
.${
|
|
905
|
-
.${
|
|
906
|
-
background-color: var(--${
|
|
904
|
+
.${e}-submitBtn:hover .${e}-submitBtnIcon,
|
|
905
|
+
.${e}-wrapper.${e}-state-hover .${e}-submitBtn .${e}-submitBtnIcon {
|
|
906
|
+
background-color: var(--${e}-hover-button-text-color, var(--${e}-button-text-color));
|
|
907
907
|
}
|
|
908
|
-
.${
|
|
909
|
-
.${
|
|
910
|
-
background-color: var(--${
|
|
908
|
+
.${e}-submitBtn:focus .${e}-submitBtnIcon,
|
|
909
|
+
.${e}-wrapper.${e}-state-focus .${e}-submitBtn .${e}-submitBtnIcon {
|
|
910
|
+
background-color: var(--${e}-focus-button-text-color, var(--${e}-button-text-color));
|
|
911
911
|
}
|
|
912
|
-
.${
|
|
913
|
-
background-color: var(--${
|
|
912
|
+
.${e}-wrapper.${e}-state-filled .${e}-submitBtn .${e}-submitBtnIcon {
|
|
913
|
+
background-color: var(--${e}-filled-button-text-color, var(--${e}-button-text-color));
|
|
914
914
|
}
|
|
915
|
-
.${
|
|
916
|
-
.${
|
|
915
|
+
.${e}-wrapper.${e}-state-success .${e}-input,
|
|
916
|
+
.${e}-wrapper.${e}-state-success .${e}-submitBtn {
|
|
917
917
|
pointer-events: none;
|
|
918
918
|
}
|
|
919
|
-
.${
|
|
919
|
+
.${e}-overlayAnchor {
|
|
920
920
|
position: relative;
|
|
921
921
|
display: flex;
|
|
922
922
|
align-items: center;
|
|
923
923
|
}
|
|
924
|
-
.${
|
|
925
|
-
margin-top: ${
|
|
926
|
-
font-size: ${
|
|
927
|
-
color: var(--${
|
|
924
|
+
.${e}-success {
|
|
925
|
+
margin-top: ${Zt(8)};
|
|
926
|
+
font-size: ${Zt(14)};
|
|
927
|
+
color: var(--${e}-success-success-color, var(--${e}-success-color));
|
|
928
928
|
}
|
|
929
|
-
.${
|
|
930
|
-
margin-top: ${
|
|
931
|
-
font-size: ${
|
|
932
|
-
color: var(--${
|
|
929
|
+
.${e}-error {
|
|
930
|
+
margin-top: ${Zt(8)};
|
|
931
|
+
font-size: ${Zt(14)};
|
|
932
|
+
color: var(--${e}-error-error-color, var(--${e}-error-color));
|
|
933
933
|
}
|
|
934
|
-
`}const
|
|
934
|
+
`}const Ml=({settings:e,isEditor:t,metadata:n,activeEvent:o})=>{const{prefix:r}=w.useScopedStyles(),{fields:l=[{name:"email",type:"email",placeholder:"Your email"}],buttonIcon:i,buttonLabel:c,fieldsToShow:p=1,fontFamily:m,inputFontSettings:u,inputFontSize:E,inputLineHeight:x,inputLetterSpacing:h,inputWordSpacing:d,inputTextAppearance:g,buttonFontSettings:C,buttonFontSize:v,buttonLineHeight:b,buttonLetterSpacing:A,buttonWordSpacing:j,buttonTextAppearance:N,statusFontSettings:$,statusFontSize:f,statusLineHeight:F,statusLetterSpacing:P,statusWordSpacing:O,statusTextAppearance:R,iconMaxWidth:V,minHeight:W,corners:K,stroke:G,stateOverrides:y,inputPadding:k,buttonPadding:I,successMessage:L="Thanks for subscribing!",errorMessage:_="Please, fill all required fields."}=e,z=l.slice(0,Math.min(p,l.length)),[Z,se]=S.useState(()=>Object.fromEntries(z.map(be=>[be.name,""]))),[ie,le]=S.useState("idle"),[H,re]=S.useState(null),de=o==="success"?"success":o==="error"?"error":ie,ce=o==="error"?_:H,ye=o==="filled",ve=S.useMemo(()=>{if(!ye)return Z;let be=null;for(const Me of z)(Z[Me.name]??"").trim().length>0||(be=be??{...Z},be[Me.name]="Filled");return be??Z},[ye,Z,z]),$e=de==="error"?w.getFormFieldValidationError(z,ve):null,D=o&&o!=="default"?`${r}-state-${o}`:"",s=z.some(be=>(ve[be.name]??"").trim().length>0),M=D!==`${r}-state-filled`&&s?`${r}-state-filled`:"",Y=`${D} ${M}`.trim(),ee=n==null?void 0:n.submitUrl,ne=c??"",oe=(i==null?void 0:i.icon)??"",T=(i==null?void 0:i.mode)==="On",U=ne||"Submit",B={fontSettings:{fontFamily:m,fontWeight:(u==null?void 0:u.fontWeight)??400,fontStyle:(u==null?void 0:u.fontStyle)??"normal"},fontSize:E??.01,lineHeight:x,letterSpacing:h??0,wordSpacing:d??0,textAppearance:g,color:e.inputTextColor??"#111111"},X={fontSettings:{fontFamily:m,fontWeight:(C==null?void 0:C.fontWeight)??400,fontStyle:(C==null?void 0:C.fontStyle)??"normal"},fontSize:v??.01,lineHeight:b,letterSpacing:A??0,wordSpacing:j??0,textAppearance:N,color:e.buttonTextColor??"#ffffff"},Q={fontSettings:{fontFamily:m,fontWeight:($==null?void 0:$.fontWeight)??400,fontStyle:($==null?void 0:$.fontStyle)??"normal"},fontSize:f??.01,lineHeight:F,letterSpacing:P??0,wordSpacing:O??0,textAppearance:R,color:e.successColor??"#22c55e"},pe=bt(et(B,t)),J=bt(et(X,t)),ue=bt(et(Q,t)),ge=w.buildColorVars(r,{strokeColor:e.strokeColor,inputColor:e.inputColor,placeholderColor:e.placeholderColor,buttonColor:e.buttonColor,successColor:e.successColor,errorColor:e.errorColor,inputTextColor:e.inputTextColor??(B==null?void 0:B.color)??"#111111",buttonTextColor:e.buttonTextColor??(X==null?void 0:X.color)??"#ffffff"},Pl,Wl,y),Te={borderRadius:w.scalingValue(K,t),borderWidth:w.scalingValue(G,t),borderStyle:"solid"},Ae={borderLeftWidth:w.scalingValue(G,t)},Le=async be=>{be.preventDefault();const Me=Object.fromEntries(z.map(we=>{var De;return[we.name,((De=Z[we.name])==null?void 0:De.trim())??""]}).filter(([,we])=>we));if(!ee){le("error"),re("No integrations were found for this form.");return}if(Object.keys(Me).length===0)return;const Ve=w.getFormFieldValidationError(z,Z);if(Ve){le("error"),re(Ve);return}le("submitting"),re(null);try{const we=await fetch(ee,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Me)});if(!we.ok){const De=await we.text();throw new Error(De||`Request failed: ${we.status}`)}le("success"),se(Object.fromEntries(z.map(De=>[De.name,""])))}catch(we){le("error"),re(we instanceof Error?we.message:"Something went wrong")}};return a.jsxs("div",{className:`${r}-wrapper ${Y}`.trim(),style:ge,children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:Rl(r)}}),a.jsxs("form",{onSubmit:Le,className:`${r}-form`,style:{...Te,height:w.scalingValue(W,t),minHeight:w.scalingValue(W,t)},children:[a.jsx("div",{className:`${r}-inputWrap ${r}-overlayAnchor`,style:{flex:1,minWidth:0},children:z.map(be=>a.jsx("input",{type:be.type==="email"?"email":be.type==="phone"?"tel":"text",name:be.name,autoComplete:"off",value:ve[be.name]??"",onChange:Me=>se(Ve=>({...Ve,[be.name]:Me.target.value})),placeholder:be.placeholder,required:be.isRequired??be.type==="email",className:`${r}-input`,style:{...pe,paddingRight:w.scalingValue(k.right,t),paddingLeft:w.scalingValue(k.left,t),paddingTop:w.scalingValue(k.top,t),paddingBottom:w.scalingValue(k.bottom,t)}},be.name))}),a.jsx("div",{className:`${r}-overlayAnchor`,children:a.jsx("button",{type:"submit",className:`${r}-submitBtn`,"aria-label":U,style:{...J,...Ae,paddingRight:w.scalingValue(I.right,t),paddingLeft:w.scalingValue(I.left,t),paddingTop:w.scalingValue(I.top,t),paddingBottom:w.scalingValue(I.bottom,t)},children:ie==="submitting"?"...":T?oe&&a.jsx(tt,{url:oe,className:`${r}-submitBtnIcon`,style:{maxWidth:w.scalingValue(V??0,t)},fill:`var(--${r}-button-text-color)`,hoverFill:`var(--${r}-button-text-color)`}):ne})})]}),de==="success"&&a.jsx("p",{className:`${r}-success`,style:{...ue},children:L}),de==="error"&&a.jsx("p",{className:`${r}-error`,style:{...ue},role:"alert",children:$e??ce??_})]})},Pl={strokeColor:"stroke-color",inputColor:"input-color",placeholderColor:"placeholder-color",buttonColor:"button-color",inputTextColor:"input-text-color",buttonTextColor:"button-text-color",successColor:"success-color",errorColor:"error-color"},Wl=["hover","focus","filled","success","error"],zl=`import React, { useMemo, useState } from 'react';
|
|
935
935
|
import { CommonComponentProps } from '../props';
|
|
936
936
|
import { buildColorVars, getFormFieldValidationError, scalingValue, useScopedStyles } from '../utils/index';
|
|
937
937
|
import { omitTextColors, textStylesToCss, type TextStyles } from '../utils/textStylesToCss';
|
|
@@ -1503,9 +1503,9 @@ const COLOR_VAR_MAP: Record<OnelinerColorKeys, string> = {
|
|
|
1503
1503
|
};
|
|
1504
1504
|
|
|
1505
1505
|
const STATE_KEYS = ['hover', 'focus', 'filled', 'success', 'error'] as const;
|
|
1506
|
-
`,Ml="data:image/svg+xml,"+encodeURIComponent('<svg width="23px" height="20px" viewBox="0 0 23 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Newsletter" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tutorials-pop-up-Copy-12" transform="translate(-43, -687)" fill="#FFFFFF" fill-rule="nonzero"><path d="M66,697 C66,697.552285 65.5522847,698 65,698 L44,698 C43.4477153,698 43,697.552285 43,697 C43,696.447715 43.4477153,696 44,696 L65,696 C65.5522847,696 66,696.447715 66,697 Z M55.6689647,687.256706 L65.6689647,696.256706 C66.1103451,696.653948 66.1103451,697.346052 65.6689647,697.743294 L55.6689647,706.743294 C55.2584547,707.112753 54.6261649,707.079475 54.2567059,706.668965 C53.8872468,706.258455 53.9205252,705.626165 54.3310353,705.256706 L63.5051529,697 L54.3310353,688.743294 C53.9205252,688.373835 53.8872468,687.741545 54.2567059,687.331035 C54.6261649,686.920525 55.2584547,686.887247 55.6689647,687.256706 Z" id="Combined-Shape"></path></g></g></svg>'),Pl=[{name:"email",type:"email",placeholder:"Enter your email",label:"Email",isRequired:!0,error:"Please, enter a valid e-mail."},{name:"name",type:"text",placeholder:"Enter your name",label:"Name",isRequired:!1,error:"Please, enter your name."},{name:"company",type:"text",placeholder:"Enter company",label:"Company",isRequired:!1,error:"Please, enter your company name."},{name:"phone",type:"phone",placeholder:"Enter your phone",label:"Phone",isRequired:!1,error:"Please, enter a valid phone number."}],_n={fontSettings:{type:"object",display:{type:"font-settings-weight",visible:!0},properties:{fontWeight:{type:"number"},fontStyle:{type:"string"}}}},jl=["strokeColor","inputColor","inputTextColor","placeholderColor","buttonColor","buttonTextColor","successColor","errorColor"],Hl={type:"object",version:1,settings:{sizing:"auto manual",properties:{fieldsToShow:{type:"number",scope:"common",title:"Fields",display:{type:"number"},min:1,max:3},fields:{type:"array",scope:"common",display:{type:"fields-group"},items:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["text","phone","email"]},placeholder:{type:"string"},label:{type:"string"},isRequired:{type:"boolean"},error:{type:"string"}}}},buttonLabel:{type:"string",scope:"common",title:"Button Label",display:{type:"text-input"}},buttonIcon:{type:"object",scope:"common",title:"Button Icon",display:{type:"button-icon-switch"},properties:{mode:{type:"string",enum:["On","Off"]},icon:{type:["string","null"],title:"Icon",display:{type:"settings-image-input"}}}},iconMaxWidth:{type:"number",scope:"common",title:"Icon Max Width",display:{type:"full-width-input"},min:0,max:1},fontFamily:{type:"string",scope:"common",title:"Font family",display:{type:"font-family-select"}},inputPadding:{type:"object",scope:"layout",title:"",display:{type:"padding-controls"}},buttonPadding:{type:"object",scope:"layout",title:"",display:{type:"padding-controls"}},minHeight:{type:"number",scope:"layout",title:"min Height",display:{type:"range-control"},min:0,max:200},corners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control"},min:0,max:100},stroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},strokeColor:{type:"string",scope:"common",title:"Stroke",display:{type:"palette-color-picker"}},inputColor:{type:"string",scope:"common",title:"Input Fill",display:{type:"palette-color-picker"}},inputTextColor:{type:"string",scope:"common",title:"Input Label",display:{type:"palette-color-picker"}},placeholderColor:{type:"string",scope:"common",title:"Filler Text",display:{type:"palette-color-picker"}},buttonColor:{type:"string",scope:"common",title:"Button Fill",display:{type:"palette-color-picker"}},buttonTextColor:{type:"string",scope:"common",title:"Button Label",display:{type:"palette-color-picker"}},successColor:{type:"string",scope:"common",title:"Success Message Color",display:{type:"palette-color-picker"}},errorColor:{type:"string",scope:"common",title:"Error Message Color",display:{type:"palette-color-picker"}},successMessage:{type:"string",scope:"common",title:"Success Message",display:{type:"text-input"}},errorMessage:{type:"string",scope:"common",title:"Error Message",display:{type:"text-input"}},stateOverrides:{type:"object",scope:"common"},inputFontSettings:{..._n.fontSettings,scope:"common",title:"Input"},inputFontSize:{type:"number",scope:"layout",title:"Input Font Size",display:{type:"font-size"}},inputLineHeight:{type:"number",scope:"layout",title:"Input Line Height",display:{type:"line-height-input"}},inputLetterSpacing:{type:"number",scope:"layout",title:"Input Letter Spacing",display:{type:"letter-spacing-input"}},inputWordSpacing:{type:"number",scope:"layout",title:"Input Word Spacing",display:{type:"word-spacing-input"}},inputTextAppearance:{type:"object",scope:"layout",title:"Input Text Appearance",display:{type:"text-appearance"}},buttonFontSettings:{..._n.fontSettings,scope:"common",title:"Button"},buttonFontSize:{type:"number",scope:"layout",title:"Button Font Size",display:{type:"font-size"}},buttonLineHeight:{type:"number",scope:"layout",title:"Button Line Height",display:{type:"line-height-input"}},buttonLetterSpacing:{type:"number",scope:"layout",title:"Button Letter Spacing",display:{type:"letter-spacing-input"}},buttonWordSpacing:{type:"number",scope:"layout",title:"Button Word Spacing",display:{type:"word-spacing-input"}},buttonTextAppearance:{type:"object",scope:"layout",title:"Button Text Appearance",display:{type:"text-appearance"}},statusFontSettings:{..._n.fontSettings,scope:"common",title:"Success/Error"},statusFontSize:{type:"number",scope:"layout",title:"Success/Error Font Size",display:{type:"font-size"}},statusLineHeight:{type:"number",scope:"layout",title:"Success/Error Line Height",display:{type:"line-height-input"}},statusLetterSpacing:{type:"number",scope:"layout",title:"Success/Error Letter Spacing",display:{type:"letter-spacing-input"}},statusWordSpacing:{type:"number",scope:"layout",title:"Success/Error Word Spacing",display:{type:"word-spacing-input"}},statusTextAppearance:{type:"object",scope:"layout",title:"Success/Error Text Appearance",display:{type:"text-appearance"}}},defaults:{fields:Pl,fieldsToShow:1,buttonLabel:"Subscribe",buttonIcon:{mode:"Off",icon:Ml},fontFamily:"Arial",strokeColor:"#0A00F8",inputColor:"#ffffff",inputTextColor:"#0A00F8",placeholderColor:"#000000",buttonColor:"#0088D7",buttonTextColor:"#ffffff",errorColor:"#ef4444",successColor:"#22c55e",successMessage:"Thanks for subscribing!",errorMessage:"Please, fill all required fields.",stateOverrides:{hover:{buttonColor:"#33A2F2"}},inputFontSettings:{fontWeight:400,fontStyle:"normal"},inputLetterSpacing:0,inputWordSpacing:0,inputTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},buttonFontSettings:{fontWeight:400,fontStyle:"normal"},buttonLetterSpacing:0,buttonWordSpacing:0,buttonTextAppearance:{textTransform:"uppercase",textDecoration:"none",fontVariant:"normal"},statusFontSettings:{fontWeight:400,fontStyle:"normal"},statusLetterSpacing:0,statusWordSpacing:0,statusTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"}},layoutDefaults:{m:{minHeight:.1,iconMaxWidth:.1,stroke:0,corners:0,buttonPadding:{top:.02,right:.04,bottom:.02,left:.04},inputPadding:{top:.01,right:.03,bottom:.01,left:.03},inputFontSize:.043,inputLineHeight:.043,buttonFontSize:.0373,buttonLineHeight:.0373,statusFontSize:.0373,statusLineHeight:.0373},d:{minHeight:.028,iconMaxWidth:.028,stroke:0,corners:0,buttonPadding:{right:.0175,left:.0175,top:.005,bottom:.004},inputPadding:{top:.01,right:.01,bottom:.01,left:.01},inputFontSize:.01,inputLineHeight:.01,buttonFontSize:.009,buttonLineHeight:.01,statusFontSize:.01,statusLineHeight:.01}},displayRules:[{if:{name:"stroke",value:0},then:{name:"properties.strokeColor.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonFontSettings.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonFontSize.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonLineHeight.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonLetterSpacing.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonWordSpacing.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonTextAppearance.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"Off"},then:{name:"properties.iconMaxWidth.display.visible",value:!1}}]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","fieldsToShow"]},{type:"row",items:["minHeight","corners"]},{type:"row",items:[{type:"group",title:"",items:["stroke","buttonIcon"]},{type:"switcher",title:"Padding",options:{Input:["inputPadding"],Button:["buttonPadding"]}}]},"iconMaxWidth"]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["fontFamily",{type:"group",title:"",items:["inputFontSettings",{type:"row",items:["inputFontSize","inputLineHeight","inputLetterSpacing","inputWordSpacing"]},"inputTextAppearance"]},{type:"group",title:"",items:["buttonFontSettings",{type:"row",items:["buttonFontSize","buttonLineHeight","buttonLetterSpacing","buttonWordSpacing"]},"buttonTextAppearance"]},{type:"group",title:"",items:["statusFontSettings",{type:"row",items:["statusFontSize","statusLineHeight","statusLetterSpacing","statusWordSpacing"]},"statusTextAppearance"]}]},{id:"fields",icon:"layers",title:"Fields",tooltip:"Fields",layout:["fields","buttonLabel","successMessage","errorMessage"]}],paletteBookmark:{items:[...jl],panelIds:["general","typeStyle"],stateItems:{default:["strokeColor","placeholderColor","inputColor","buttonTextColor","buttonColor"],hover:["strokeColor","inputColor","buttonTextColor","buttonColor"],focus:["strokeColor","inputTextColor","buttonTextColor","buttonColor"],filled:["strokeColor","inputColor","inputTextColor","buttonTextColor"],success:["successColor"],error:["errorColor"]}},allowedPlugins:["newsletter"],states:["default","hover","focus","filled","success","error"]},Ol={element:Wl,id:"oneliner-form",name:"Newsletter Single Line",version:1,preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/onelinerImg.jpg"},defaultSize:{width:400,height:60},assetsPaths:{content:[],parameters:[{path:"buttonIcon.icon"}]},schema:Hl,sourceCode:Nl},Bl="Testimonials-module__marqueeWrapper___CwgXx",Dl="Testimonials-module__marqueeTrack___0eRvh",Ul="Testimonials-module__marqueeSet___Zz-mH",Gl="Testimonials-module__wrapper___MSG51",ql="Testimonials-module__cover___8N6A3",Yl="Testimonials-module__elementsOverlay___ar14y",Xl="Testimonials-module__image___fqDvN",Kl="Testimonials-module__control___ORbH3",kt={marqueeWrapper:Bl,marqueeTrack:Dl,marqueeSet:Ul,wrapper:Gl,cover:ql,elementsOverlay:Yl,image:Xl,control:Kl},Jl=30,Zl=t=>{if(typeof t=="number")return t;const e=parseFloat(String(t??""));return Number.isFinite(e)?e:0},Ql=t=>({fontSettings:{...t.fontSettings},letterSpacing:t.letterSpacing,wordSpacing:t.wordSpacing,fontSize:t.fontSizeLineHeight.fontSize,lineHeight:t.fontSizeLineHeight.lineHeight,textAppearance:t.textAppearance,color:t.color}),ts=({settings:t,content:e,isEditor:n})=>{const o=(e==null?void 0:e.items)??[],{autoplay:r,speed:a,direction:i,pause:p,gap:c,cardWidth:f,cardHeight:u,corners:k,stroke:b,strokeColor:y,bgColor:l,padding:g,iconMarginTop:$,iconWidth:h,textMarginTop:v,textMinHeight:E,captionMarginTop:B}=t,M=r==="on",L=Math.max(0,Zl(a))*Jl,m=Y=>x.scalingValue(Y,n??!1),F=j.useRef(null),I=j.useRef(null),N=j.useRef(null),[R,W]=j.useState(0),[_,D]=j.useState(0),H=j.useRef(0),d=j.useRef(!1),w=j.useRef(null),C=j.useRef(i),T=M&&p==="hover",A=Y=>{var yt;const K=(yt=t==null?void 0:t.styles)==null?void 0:yt[Y];if(K)return K;const tt=Y==="text"?"text":"caption",ct=t==null?void 0:t[`${tt}FontFamily`],st=t==null?void 0:t[`${tt}FontSettings`],P=t==null?void 0:t[`${tt}LetterSpacing`],S=t==null?void 0:t[`${tt}WordSpacing`],U=t==null?void 0:t[`${tt}TextAlign`],G=t==null?void 0:t[`${tt}TextAppearance`],Z=(t==null?void 0:t[`${tt}Color`])??(Y==="text"?t==null?void 0:t.imageCaptionColor:void 0),ot=t==null?void 0:t[`${tt}FontSize`],et=t==null?void 0:t[`${tt}LineHeight`];return typeof ct=="string"||!!st||typeof P=="number"||typeof S=="number"||typeof U=="string"||!!G||typeof Z=="string"||typeof ot=="number"||typeof et=="number"?{widthSettings:{width:.13,sizing:"manual"},fontSettings:{fontFamily:typeof ct=="string"?ct:"Arial",fontWeight:typeof(st==null?void 0:st.fontWeight)=="number"?st.fontWeight:400,fontStyle:typeof(st==null?void 0:st.fontStyle)=="string"?st.fontStyle:"normal"},letterSpacing:typeof P=="number"?P:0,wordSpacing:typeof S=="number"?S:0,textAlign:U==="left"||U==="center"||U==="right"?U:"left",fontSizeLineHeight:{fontSize:typeof ot=="number"?ot:.01,lineHeight:typeof et=="number"?et:.01},textAppearance:{textTransform:(G==null?void 0:G.textTransform)??"none",textDecoration:(G==null?void 0:G.textDecoration)??"none",fontVariant:(G==null?void 0:G.fontVariant)??"normal"},color:typeof Z=="string"?Z:"#000000"}:void 0},V=A("text"),q=A("caption"),at=j.useMemo(()=>!M||o.length===0?1:_<=0||R<=0?2:Math.max(2,Math.ceil(R/_)+1),[M,o.length,_,R]);j.useLayoutEffect(()=>{if(!M)return;const Y=F.current,K=N.current;if(!Y||!K)return;let tt=0;const ct=()=>{W(Y.getBoundingClientRect().width),D(K.getBoundingClientRect().width)},st=()=>{cancelAnimationFrame(tt),tt=requestAnimationFrame(ct)};st();const P=new ResizeObserver(st);return P.observe(Y),P.observe(K),()=>{cancelAnimationFrame(tt),P.disconnect()}},[M,o.length]),j.useLayoutEffect(()=>{const Y=I.current;if(!M||!Y)return;if(_<=0||L<=0){Y.style.transform="translate3d(0, 0, 0)";return}C.current!==i&&(H.current=1-H.current,C.current=i);const K=_/L*1e3,tt=i==="right"?-_:0,ct=i==="right"?0:-_,st=Y.animate([{transform:`translate3d(${tt}px, 0, 0)`},{transform:`translate3d(${ct}px, 0, 0)`}],{duration:K,iterations:1/0,easing:"linear"});return st.currentTime=H.current*K,d.current&&st.pause(),w.current=st,()=>{const P=typeof st.currentTime=="number"?st.currentTime:0;H.current=K>0?P/K%1:0,st.cancel(),w.current===st&&(w.current=null)}},[M,_,L,i]);const it=()=>{var Y;T&&(d.current=!0,(Y=w.current)==null||Y.pause())},pt=()=>{var Y;T&&(d.current=!1,(Y=w.current)==null||Y.play())},z=(Y,K,tt,ct,st,P,S)=>s.jsxs("div",{children:[s.jsx("div",{"data-controls":ct,className:kt.control}),s.jsx("div",{"data-styles":tt,className:kt.caption,style:{...Jt(Ql(Y),n),textAlign:Y.textAlign,pointerEvents:"auto",marginTop:m(P),...S?{minHeight:m(S)}:{}},children:s.jsx(ze,{content:K})})]},st),J=(Y,K)=>{var tt,ct,st,P;return s.jsxs("div",{style:{padding:`${m(g.top)} ${m(g.right)} ${m(g.bottom)} ${m(g.left)}`,width:m(f+b*2),minHeight:m(u),height:"100%",borderRadius:m(k),border:`${m(b)} solid ${y}`,boxSizing:"border-box",position:"relative",flex:"0 0 auto"},children:[((tt=Y.image)==null?void 0:tt.url)&&s.jsx("img",{className:kt.image,src:Y.image.url,alt:Y.image.name,style:{objectFit:Y.image.objectFit||"cover",borderRadius:m(k),height:m(u)}}),s.jsx("div",{className:kt.cover,style:{background:l,borderRadius:m(k),height:"100%"}}),s.jsxs("div",{className:kt.elementsOverlay,style:{display:"flex",flexDirection:"column",pointerEvents:"none"},children:[s.jsx("div",{children:s.jsx("div",{"data-controls":"elements.icon.margin.top",className:kt.control,style:{marginTop:m($),width:m(h)},children:s.jsx("img",{src:(ct=Y.icon)==null?void 0:ct.url,alt:(st=Y.icon)==null?void 0:st.name,style:{pointerEvents:"auto",width:"100%",height:"100%",objectFit:((P=Y.icon)==null?void 0:P.objectFit)||"cover"}})})},"icon"),V&&z(V,Y.text,"text","elements.text.margin.top","text",v,E),q&&z(q,Y.caption,"caption","elements.caption.margin.top","caption",B)]})]},K)};return M&&o.length>0?s.jsx("div",{ref:F,className:ft(kt.wrapper,kt.marqueeWrapper),"aria-label":"Testimonials",children:s.jsx("div",{ref:I,className:kt.marqueeTrack,onMouseEnter:it,onMouseLeave:pt,children:Array.from({length:at},(Y,K)=>s.jsx("div",{ref:K===0?N:void 0,className:kt.marqueeSet,style:{gap:m(c),paddingRight:m(c)},"aria-hidden":K>0,children:o.map((tt,ct)=>J(tt,`${K}-${ct}`))},`set-${K}`))})}):s.jsx("div",{className:kt.wrapper,children:s.jsx("div",{style:{display:"flex",flexDirection:"row",gap:m(c),justifyContent:"center",overflowX:"auto"},"aria-label":"Testimonials",children:o.map((Y,K)=>J(Y,K))})})},es=`import { useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
1506
|
+
`,Hl="data:image/svg+xml,"+encodeURIComponent('<svg width="23px" height="20px" viewBox="0 0 23 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Newsletter" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tutorials-pop-up-Copy-12" transform="translate(-43, -687)" fill="#FFFFFF" fill-rule="nonzero"><path d="M66,697 C66,697.552285 65.5522847,698 65,698 L44,698 C43.4477153,698 43,697.552285 43,697 C43,696.447715 43.4477153,696 44,696 L65,696 C65.5522847,696 66,696.447715 66,697 Z M55.6689647,687.256706 L65.6689647,696.256706 C66.1103451,696.653948 66.1103451,697.346052 65.6689647,697.743294 L55.6689647,706.743294 C55.2584547,707.112753 54.6261649,707.079475 54.2567059,706.668965 C53.8872468,706.258455 53.9205252,705.626165 54.3310353,705.256706 L63.5051529,697 L54.3310353,688.743294 C53.9205252,688.373835 53.8872468,687.741545 54.2567059,687.331035 C54.6261649,686.920525 55.2584547,686.887247 55.6689647,687.256706 Z" id="Combined-Shape"></path></g></g></svg>'),Vl=[{name:"email",type:"email",placeholder:"Enter your email",label:"Email",isRequired:!0,error:"Please, enter a valid e-mail."},{name:"name",type:"text",placeholder:"Enter your name",label:"Name",isRequired:!1,error:"Please, enter your name."},{name:"company",type:"text",placeholder:"Enter company",label:"Company",isRequired:!1,error:"Please, enter your company name."},{name:"phone",type:"phone",placeholder:"Enter your phone",label:"Phone",isRequired:!1,error:"Please, enter a valid phone number."}],$n={fontSettings:{type:"object",display:{type:"font-settings-weight",visible:!0},properties:{fontWeight:{type:"number"},fontStyle:{type:"string"}}}},Nl=["strokeColor","inputColor","inputTextColor","placeholderColor","buttonColor","buttonTextColor","successColor","errorColor"],Ol={type:"object",version:1,settings:{sizing:"auto manual",properties:{fieldsToShow:{type:"number",scope:"common",title:"Fields",display:{type:"number"},min:1,max:3},fields:{type:"array",scope:"common",display:{type:"fields-group"},items:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["text","phone","email"]},placeholder:{type:"string"},label:{type:"string"},isRequired:{type:"boolean"},error:{type:"string"}}}},buttonLabel:{type:"string",scope:"common",title:"Button Label",display:{type:"text-input"}},buttonIcon:{type:"object",scope:"common",title:"Button Icon",display:{type:"button-icon-switch"},properties:{mode:{type:"string",enum:["On","Off"]},icon:{type:["string","null"],title:"Icon",display:{type:"settings-image-input"}}}},iconMaxWidth:{type:"number",scope:"common",title:"Icon Max Width",display:{type:"full-width-input"},min:0,max:1},fontFamily:{type:"string",scope:"common",title:"Font family",display:{type:"font-family-select"}},inputPadding:{type:"object",scope:"layout",title:"",display:{type:"padding-controls"}},buttonPadding:{type:"object",scope:"layout",title:"",display:{type:"padding-controls"}},minHeight:{type:"number",scope:"layout",title:"min Height",display:{type:"range-control"},min:0,max:200},corners:{type:"number",scope:"layout",title:"Corners",display:{type:"range-control"},min:0,max:100},stroke:{type:"number",scope:"layout",title:"Stroke",display:{type:"range-control"},min:0,max:20},strokeColor:{type:"string",scope:"common",title:"Stroke",display:{type:"palette-color-picker"}},inputColor:{type:"string",scope:"common",title:"Input Fill",display:{type:"palette-color-picker"}},inputTextColor:{type:"string",scope:"common",title:"Input Label",display:{type:"palette-color-picker"}},placeholderColor:{type:"string",scope:"common",title:"Filler Text",display:{type:"palette-color-picker"}},buttonColor:{type:"string",scope:"common",title:"Button Fill",display:{type:"palette-color-picker"}},buttonTextColor:{type:"string",scope:"common",title:"Button Label",display:{type:"palette-color-picker"}},successColor:{type:"string",scope:"common",title:"Success Message Color",display:{type:"palette-color-picker"}},errorColor:{type:"string",scope:"common",title:"Error Message Color",display:{type:"palette-color-picker"}},successMessage:{type:"string",scope:"common",title:"Success Message",display:{type:"text-input"}},errorMessage:{type:"string",scope:"common",title:"Error Message",display:{type:"text-input"}},stateOverrides:{type:"object",scope:"common"},inputFontSettings:{...$n.fontSettings,scope:"common",title:"Input"},inputFontSize:{type:"number",scope:"layout",title:"Input Font Size",display:{type:"font-size"}},inputLineHeight:{type:"number",scope:"layout",title:"Input Line Height",display:{type:"line-height-input"}},inputLetterSpacing:{type:"number",scope:"layout",title:"Input Letter Spacing",display:{type:"letter-spacing-input"}},inputWordSpacing:{type:"number",scope:"layout",title:"Input Word Spacing",display:{type:"word-spacing-input"}},inputTextAppearance:{type:"object",scope:"layout",title:"Input Text Appearance",display:{type:"text-appearance"}},buttonFontSettings:{...$n.fontSettings,scope:"common",title:"Button"},buttonFontSize:{type:"number",scope:"layout",title:"Button Font Size",display:{type:"font-size"}},buttonLineHeight:{type:"number",scope:"layout",title:"Button Line Height",display:{type:"line-height-input"}},buttonLetterSpacing:{type:"number",scope:"layout",title:"Button Letter Spacing",display:{type:"letter-spacing-input"}},buttonWordSpacing:{type:"number",scope:"layout",title:"Button Word Spacing",display:{type:"word-spacing-input"}},buttonTextAppearance:{type:"object",scope:"layout",title:"Button Text Appearance",display:{type:"text-appearance"}},statusFontSettings:{...$n.fontSettings,scope:"common",title:"Success/Error"},statusFontSize:{type:"number",scope:"layout",title:"Success/Error Font Size",display:{type:"font-size"}},statusLineHeight:{type:"number",scope:"layout",title:"Success/Error Line Height",display:{type:"line-height-input"}},statusLetterSpacing:{type:"number",scope:"layout",title:"Success/Error Letter Spacing",display:{type:"letter-spacing-input"}},statusWordSpacing:{type:"number",scope:"layout",title:"Success/Error Word Spacing",display:{type:"word-spacing-input"}},statusTextAppearance:{type:"object",scope:"layout",title:"Success/Error Text Appearance",display:{type:"text-appearance"}}},defaults:{fields:Vl,fieldsToShow:1,buttonLabel:"Subscribe",buttonIcon:{mode:"Off",icon:Hl},fontFamily:"Arial",strokeColor:"#0A00F8",inputColor:"#ffffff",inputTextColor:"#0A00F8",placeholderColor:"#000000",buttonColor:"#0088D7",buttonTextColor:"#ffffff",errorColor:"#ef4444",successColor:"#22c55e",successMessage:"Thanks for subscribing!",errorMessage:"Please, fill all required fields.",stateOverrides:{hover:{buttonColor:"#33A2F2"}},inputFontSettings:{fontWeight:400,fontStyle:"normal"},inputLetterSpacing:0,inputWordSpacing:0,inputTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},buttonFontSettings:{fontWeight:400,fontStyle:"normal"},buttonLetterSpacing:0,buttonWordSpacing:0,buttonTextAppearance:{textTransform:"uppercase",textDecoration:"none",fontVariant:"normal"},statusFontSettings:{fontWeight:400,fontStyle:"normal"},statusLetterSpacing:0,statusWordSpacing:0,statusTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"}},layoutDefaults:{m:{minHeight:.1,iconMaxWidth:.1,stroke:0,corners:0,buttonPadding:{top:.02,right:.04,bottom:.02,left:.04},inputPadding:{top:.01,right:.03,bottom:.01,left:.03},inputFontSize:.043,inputLineHeight:.043,buttonFontSize:.0373,buttonLineHeight:.0373,statusFontSize:.0373,statusLineHeight:.0373},d:{minHeight:.028,iconMaxWidth:.028,stroke:0,corners:0,buttonPadding:{right:.0175,left:.0175,top:.005,bottom:.004},inputPadding:{top:.01,right:.01,bottom:.01,left:.01},inputFontSize:.01,inputLineHeight:.01,buttonFontSize:.009,buttonLineHeight:.01,statusFontSize:.01,statusLineHeight:.01}},displayRules:[{if:{name:"stroke",value:0},then:{name:"properties.strokeColor.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonFontSettings.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonFontSize.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonLineHeight.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonLetterSpacing.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonWordSpacing.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"On"},then:{name:"properties.buttonTextAppearance.display.visible",value:!1}},{if:{name:"buttonIcon.mode",value:"Off"},then:{name:"properties.iconMaxWidth.display.visible",value:!1}}]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","fieldsToShow"]},{type:"row",items:["minHeight","corners"]},{type:"row",items:[{type:"group",title:"",items:["stroke","buttonIcon"]},{type:"switcher",title:"Padding",options:{Input:["inputPadding"],Button:["buttonPadding"]}}]},"iconMaxWidth"]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["fontFamily",{type:"group",title:"",items:["inputFontSettings",{type:"row",items:["inputFontSize","inputLineHeight","inputLetterSpacing","inputWordSpacing"]},"inputTextAppearance"]},{type:"group",title:"",items:["buttonFontSettings",{type:"row",items:["buttonFontSize","buttonLineHeight","buttonLetterSpacing","buttonWordSpacing"]},"buttonTextAppearance"]},{type:"group",title:"",items:["statusFontSettings",{type:"row",items:["statusFontSize","statusLineHeight","statusLetterSpacing","statusWordSpacing"]},"statusTextAppearance"]}]},{id:"fields",icon:"layers",title:"Fields",tooltip:"Fields",layout:["fields","buttonLabel","successMessage","errorMessage"]}],paletteBookmark:{items:[...Nl],panelIds:["general","typeStyle"],stateItems:{default:["strokeColor","placeholderColor","inputColor","buttonTextColor","buttonColor"],hover:["strokeColor","inputColor","buttonTextColor","buttonColor"],focus:["strokeColor","inputTextColor","buttonTextColor","buttonColor"],filled:["strokeColor","inputColor","inputTextColor","buttonTextColor"],success:["successColor"],error:["errorColor"]}},allowedPlugins:["newsletter"],states:["default","hover","focus","filled","success","error"]},jl={element:Ml,id:"oneliner-form",name:"Newsletter Single Line",category:"forms",preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/onelinerImg.jpg"},defaultSize:{width:400,height:60},assetsPaths:{content:[],parameters:[{path:"buttonIcon.icon"}]},schema:Ol,sourceCode:zl},Bl="TestimonialsGrid-module__marqueeWrapper___VC616",Dl="TestimonialsGrid-module__marqueeTrack___U0OTH",Ul="TestimonialsGrid-module__marqueeSet___L7ZdX",ql="TestimonialsGrid-module__wrapper___-JQKm",Gl="TestimonialsGrid-module__cover___3-r73",Yl="TestimonialsGrid-module__elementsOverlay___sSbJp",Xl="TestimonialsGrid-module__control___pD3e4",Ne={marqueeWrapper:Bl,marqueeTrack:Dl,marqueeSet:Ul,wrapper:ql,cover:Gl,elementsOverlay:Yl,control:Xl},Kl=30,Jl=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??""));return Number.isFinite(t)?t:0},Zl=e=>({fontSettings:{...e.fontSettings},letterSpacing:e.letterSpacing,wordSpacing:e.wordSpacing,fontSize:e.fontSizeLineHeight.fontSize,lineHeight:e.fontSizeLineHeight.lineHeight,textAppearance:e.textAppearance,color:e.color}),Ql=({settings:e,content:t,isEditor:n,isPreviewMode:o})=>{const{autoplay:r,align:l,speed:i,direction:c,pauseOnHover:p,gap:m,cardWidth:u,corners:E,stroke:x,strokeColor:h,bgColor:d,padding:g,logoMarginTop:C,logoWidth:v,logoHeight:b,captionMarginTop:A}=e,j=r==="on",N=j&&!o,$=Math.max(0,Jl(i))*Kl,f=T=>w.scalingValue(T,n??!1),F=S.useRef(null),P=S.useRef(null),O=S.useRef(null),[R,V]=S.useState(0),[W,K]=S.useState(0),G=S.useRef(0),y=S.useRef(!1),k=S.useRef(null),I=N&&p==="on",L=S.useRef(null),[_,z]=S.useState(0),[Z,se]=S.useState(0),ie=S.useMemo(()=>typeof c=="boolean"?c?"right":"left":String(c??"").trim().toLowerCase()==="right"?"right":"left",[c]),le=S.useRef(ie),H=T=>{var Ve;const U=(Ve=e==null?void 0:e.styles)==null?void 0:Ve[T];if(U)return U;const B=T==="text"?"text":"caption",X=e==null?void 0:e[`${B}FontFamily`],Q=e==null?void 0:e[`${B}FontSettings`],pe=e==null?void 0:e[`${B}LetterSpacing`],J=e==null?void 0:e[`${B}WordSpacing`],ue=e==null?void 0:e[`${B}TextAlign`],ge=e==null?void 0:e[`${B}TextAppearance`],Te=(e==null?void 0:e[`${B}Color`])??(T==="text"?e==null?void 0:e.textColor:void 0)??(T==="caption"?e==null?void 0:e.captionColor:void 0),Ae=e==null?void 0:e[`${B}FontSize`],Le=e==null?void 0:e[`${B}LineHeight`];return typeof X=="string"||!!Q||typeof pe=="number"||typeof J=="number"||typeof ue=="string"||!!ge||typeof Te=="string"||typeof Ae=="number"||typeof Le=="number"?{widthSettings:{width:.13,sizing:"manual"},fontSettings:{fontFamily:typeof X=="string"?X:"Arial",fontWeight:typeof(Q==null?void 0:Q.fontWeight)=="number"?Q.fontWeight:400,fontStyle:typeof(Q==null?void 0:Q.fontStyle)=="string"?Q.fontStyle:"normal"},letterSpacing:typeof pe=="number"?pe:0,wordSpacing:typeof J=="number"?J:0,textAlign:ue==="left"||ue==="center"||ue==="right"?ue:"left",fontSizeLineHeight:{fontSize:typeof Ae=="number"?Ae:.01,lineHeight:typeof Le=="number"?Le:.01},textAppearance:{textTransform:(ge==null?void 0:ge.textTransform)??"none",textDecoration:(ge==null?void 0:ge.textDecoration)??"none",fontVariant:(ge==null?void 0:ge.fontVariant)??"normal"},color:typeof Te=="string"?Te:"#000000"}:void 0},re=H("text"),de=H("caption"),ce=S.useMemo(()=>((t==null?void 0:t.length)??0)>1&&(!!re||!!de),[t,re,de]),ye=S.useMemo(()=>!j||(t==null?void 0:t.length)===0?1:W<=0||R<=0?2:Math.max(2,Math.ceil(R/W)+1),[j,t==null?void 0:t.length,W,R]);S.useLayoutEffect(()=>{if(!j)return;const T=F.current,U=O.current;if(!T||!U)return;let B=0;const X=()=>{V(T.getBoundingClientRect().width),K(U.getBoundingClientRect().width)},Q=()=>{cancelAnimationFrame(B),B=requestAnimationFrame(X)};Q();const pe=new ResizeObserver(Q);return pe.observe(T),pe.observe(U),()=>{cancelAnimationFrame(B),pe.disconnect()}},[j,t==null?void 0:t.length]),S.useLayoutEffect(()=>{const T=P.current;if(!j||!T||!N)return;if(W<=0||$<=0){T.style.transform="translate3d(0, 0, 0)";return}le.current!==ie&&(G.current=1-G.current,le.current=ie);const U=W/$*1e3,B=ie==="left"?-W:0,X=ie==="left"?0:-W,Q=T.animate([{transform:`translate3d(${B}px, 0, 0)`},{transform:`translate3d(${X}px, 0, 0)`}],{duration:U,iterations:1/0,easing:"linear"});return Q.currentTime=G.current*U,y.current&&Q.pause(),k.current=Q,()=>{const pe=typeof Q.currentTime=="number"?Q.currentTime:0;G.current=U>0?pe/U%1:0,Q.cancel(),k.current===Q&&(k.current=null)}},[j,N,W,$,ie]);const ve=()=>{var T;I&&(y.current=!0,(T=k.current)==null||T.pause())},$e=()=>{var T;I&&(y.current=!1,(T=k.current)==null||T.play())},D=S.useMemo(()=>{switch(l){case"center":return"center";case"end":return"flex-end";case"start":default:return"flex-start"}},[l]),s=S.useMemo(()=>{switch(l){case"center":return"center";case"end":return"right";case"start":default:return"left"}},[l]),M=S.useCallback((T,U,B,X)=>a.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:D,width:"100%"},children:[a.jsx("div",{"data-controls":X==null?void 0:X.controlsName,"data-controls-axis":"y",className:Ne.control,style:{width:"100%",height:f((X==null?void 0:X.marginTop)??0)}}),a.jsx("div",{...X!=null&&X.dataMeasureKind?{"data-testimonial-measure":X.dataMeasureKind}:{},style:{...et(Zl(T),n),textAlign:s,pointerEvents:"auto",...typeof(X==null?void 0:X.minHeightPx)=="number"&&X.minHeightPx>0?{minHeight:X.minHeightPx}:{}},children:a.jsx(zt,{content:U})})]},B),[D,s,n,Ne.control]),Y=S.useCallback((T,U,B)=>{var X,Q,pe;return a.jsxs("div",{style:{padding:`${f(g.top)} ${f(g.right)} ${f(g.bottom)} ${f(g.left)}`,width:f(u+x*2),height:"100%",borderRadius:f(E),border:`${f(x)} solid ${h}`,boxSizing:"border-box",position:"relative",overflow:"hidden"},children:[a.jsx("div",{className:Ne.cover,style:{background:d,height:"100%"}}),a.jsxs("div",{className:Ne.elementsOverlay,style:{display:"flex",flexDirection:"column",pointerEvents:"none",alignItems:D,textAlign:s},children:[re&&T.text&&M(re,T.text,"text",B!=null&&B.dataMeasureAttrs?{dataMeasureKind:"text"}:typeof(B==null?void 0:B.textMinHeightPx)=="number"&&B.textMinHeightPx>0?{minHeightPx:B.textMinHeightPx}:void 0),a.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:D,width:"100%"},children:[a.jsx("div",{"data-controls":"logoMarginTop",className:Ne.control,style:{width:"100%",height:f(C)}}),a.jsx("div",{style:{width:f(v),height:f(b)},children:a.jsx("img",{src:(X=T.logo)==null?void 0:X.url,alt:(Q=T.logo)==null?void 0:Q.name,style:{pointerEvents:"auto",width:"100%",height:"100%",objectFit:((pe=T.logo)==null?void 0:pe.objectFit)||"cover"}})})]},"logo"),de&&T.caption&&M(de,T.caption,"caption",{controlsName:"captionMarginTop",marginTop:A,...B!=null&&B.dataMeasureAttrs?{dataMeasureKind:"caption"}:typeof(B==null?void 0:B.captionMinHeightPx)=="number"&&B.captionMinHeightPx>0?{minHeightPx:B.captionMinHeightPx}:{}})]})]},U)},[d,A,de,u,E,b,C,v,D,s,g.bottom,g.left,g.right,g.top,M,x,h,re,n]);S.useLayoutEffect(()=>{if(!ce){z(0),se(0);return}const T=L.current;if(!T)return;const U=()=>{const X=Array.from(T.querySelectorAll('[data-testimonial-measure="text"]')).reduce((pe,J)=>Math.max(pe,J.getBoundingClientRect().height),0),Q=Array.from(T.querySelectorAll('[data-testimonial-measure="caption"]')).reduce((pe,J)=>Math.max(pe,J.getBoundingClientRect().height),0);z(X),se(Q)};U();const B=new ResizeObserver(U);return B.observe(T),()=>{B.disconnect()}},[ce,t,Y]);const ee=ce?{textMinHeightPx:_,captionMinHeightPx:Z}:void 0,ne=ce?a.jsx("div",{ref:L,"aria-hidden":!0,style:{position:"absolute",left:0,top:0,width:"100%",visibility:"hidden",pointerEvents:"none",zIndex:-1},children:(t??[]).map((T,U)=>Y(T,`measure-${U}`,{dataMeasureAttrs:!0}))}):null,oe=(T,U,B)=>a.jsxs("div",{style:{position:"relative",flex:"0 0 auto",height:"100%"},children:[Y(T,`card-${U}`,ee),n&&!B&&a.jsx("div",{"data-controls":"gap","data-controls-axis":"x",style:{position:"absolute",top:0,right:`calc(-1 * ${f(m)})`,width:f(m),height:"100%",pointerEvents:"auto",zIndex:2}})]},U);return j&&(t!=null&&t.length)&&t.length>0?a.jsxs("div",{ref:F,className:me(Ne.wrapper,Ne.marqueeWrapper),"aria-label":"Testimonials",children:[ne,a.jsx("div",{ref:P,className:Ne.marqueeTrack,onMouseEnter:ve,onMouseLeave:$e,children:Array.from({length:ye},(T,U)=>a.jsx("div",{ref:U===0?O:void 0,className:Ne.marqueeSet,style:{gap:f(m),paddingRight:f(m)},"aria-hidden":U>0,children:t==null?void 0:t.map((B,X)=>oe(B,`${U}-${X}`,X===((t==null?void 0:t.length)??0)-1))},`set-${U}`))})]}):a.jsxs("div",{className:Ne.wrapper,children:[ne,a.jsx("div",{style:{display:"flex",flexDirection:"row",gap:f(m),justifyContent:"center",overflowX:"auto"},"aria-label":"Testimonials",children:t==null?void 0:t.map((T,U)=>oe(T,U,U===((t==null?void 0:t.length)??0)-1))})]})},es=`import { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
1507
1507
|
import cn from 'classnames';
|
|
1508
|
-
import classes from './
|
|
1508
|
+
import classes from './TestimonialsGrid.module.scss';
|
|
1509
1509
|
import { CommonComponentProps } from '../props';
|
|
1510
1510
|
import { RichTextRenderer } from '../helpers/RichTextRenderer/RichTextRenderer';
|
|
1511
1511
|
import { scalingValue } from '../utils/scalingValue';
|
|
@@ -1513,8 +1513,9 @@ import { textStylesToCss, type TextStyles } from '../utils/textStylesToCss';
|
|
|
1513
1513
|
|
|
1514
1514
|
type TestimonialsProps = {
|
|
1515
1515
|
settings: TestimonialsSettings;
|
|
1516
|
-
content?:
|
|
1516
|
+
content?: TestimonialsItem[];
|
|
1517
1517
|
isEditor?: boolean;
|
|
1518
|
+
isPreviewMode?: boolean;
|
|
1518
1519
|
} & CommonComponentProps;
|
|
1519
1520
|
|
|
1520
1521
|
type CaptionStyleFromFlatSettings = {
|
|
@@ -1560,10 +1561,23 @@ const resolveCaptionTextStyles = (caption: CaptionStyles): TextStyles => ({
|
|
|
1560
1561
|
color: caption.color,
|
|
1561
1562
|
});
|
|
1562
1563
|
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1564
|
+
type RenderCardOpts = {
|
|
1565
|
+
textMinHeightPx?: number;
|
|
1566
|
+
captionMinHeightPx?: number;
|
|
1567
|
+
dataMeasureAttrs?: boolean;
|
|
1568
|
+
};
|
|
1569
|
+
|
|
1570
|
+
type RenderTextOpts = {
|
|
1571
|
+
controlsName?: string;
|
|
1572
|
+
marginTop?: number;
|
|
1573
|
+
minHeightPx?: number;
|
|
1574
|
+
dataMeasureKind?: 'text' | 'caption';
|
|
1575
|
+
};
|
|
1576
|
+
|
|
1577
|
+
export const Testimonials = ({ settings, content, isEditor, isPreviewMode }: TestimonialsProps) => {
|
|
1578
|
+
const { autoplay, align, speed, direction, pauseOnHover, gap, cardWidth, corners, stroke, strokeColor, bgColor, padding, logoMarginTop, logoWidth, logoHeight, captionMarginTop } = settings;
|
|
1566
1579
|
const isAutoplay = autoplay === 'on';
|
|
1580
|
+
const isAnimating = isAutoplay && !isPreviewMode;
|
|
1567
1581
|
const pxPerSec = Math.max(0, parseSpeed(speed)) * PX_PER_SEC_PER_SPEED_UNIT;
|
|
1568
1582
|
const scaled = (v: number) => scalingValue(v, isEditor ?? false);
|
|
1569
1583
|
const wrapperRef = useRef<HTMLDivElement | null>(null);
|
|
@@ -1574,8 +1588,18 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1574
1588
|
const progressRef = useRef(0);
|
|
1575
1589
|
const hoveringRef = useRef(false);
|
|
1576
1590
|
const animRef = useRef<Animation | null>(null);
|
|
1577
|
-
const
|
|
1578
|
-
const
|
|
1591
|
+
const hoverPauseEnabled = isAnimating && pauseOnHover === 'on';
|
|
1592
|
+
const measureLayerRef = useRef<HTMLDivElement>(null);
|
|
1593
|
+
const [measuredTextMinPx, setMeasuredTextMinPx] = useState(0);
|
|
1594
|
+
const [measuredCaptionMinPx, setMeasuredCaptionMinPx] = useState(0);
|
|
1595
|
+
|
|
1596
|
+
const normalizedDirection = useMemo<'left' | 'right'>(() => {
|
|
1597
|
+
if (typeof direction === 'boolean') return direction ? 'right' : 'left';
|
|
1598
|
+
const d = String(direction ?? '').trim().toLowerCase();
|
|
1599
|
+
return d === 'right' ? 'right' : 'left';
|
|
1600
|
+
}, [direction]);
|
|
1601
|
+
|
|
1602
|
+
const lastDirectionRef = useRef<'left' | 'right'>(normalizedDirection);
|
|
1579
1603
|
|
|
1580
1604
|
const resolveCaptionStyle = (kind: 'text' | 'caption'): CaptionStyles | undefined => {
|
|
1581
1605
|
const fromNested = (settings as any)?.styles?.[kind] as CaptionStyles | undefined;
|
|
@@ -1590,20 +1614,21 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1590
1614
|
const textAppearance = (settings as any)?.[\`\${prefix}TextAppearance\`];
|
|
1591
1615
|
const color =
|
|
1592
1616
|
(settings as any)?.[\`\${prefix}Color\`] ??
|
|
1593
|
-
(kind === 'text' ? (settings as any)?.
|
|
1617
|
+
(kind === 'text' ? (settings as any)?.textColor : undefined) ??
|
|
1618
|
+
(kind === 'caption' ? (settings as any)?.captionColor : undefined);
|
|
1594
1619
|
const fontSize = (settings as any)?.[\`\${prefix}FontSize\`];
|
|
1595
1620
|
const lineHeight = (settings as any)?.[\`\${prefix}LineHeight\`];
|
|
1596
1621
|
|
|
1597
1622
|
const hasAnyFlat =
|
|
1598
|
-
typeof fontFamily ===
|
|
1623
|
+
typeof fontFamily === 'string' ||
|
|
1599
1624
|
!!fontSettings ||
|
|
1600
|
-
typeof letterSpacing ===
|
|
1601
|
-
typeof wordSpacing ===
|
|
1602
|
-
typeof textAlign ===
|
|
1625
|
+
typeof letterSpacing === 'number' ||
|
|
1626
|
+
typeof wordSpacing === 'number' ||
|
|
1627
|
+
typeof textAlign === 'string' ||
|
|
1603
1628
|
!!textAppearance ||
|
|
1604
|
-
typeof color ===
|
|
1605
|
-
typeof fontSize ===
|
|
1606
|
-
typeof lineHeight ===
|
|
1629
|
+
typeof color === 'string' ||
|
|
1630
|
+
typeof fontSize === 'number' ||
|
|
1631
|
+
typeof lineHeight === 'number';
|
|
1607
1632
|
if (!hasAnyFlat) return undefined;
|
|
1608
1633
|
|
|
1609
1634
|
const flat: CaptionStyleFromFlatSettings = {
|
|
@@ -1634,11 +1659,16 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1634
1659
|
const textStyle = resolveCaptionStyle('text');
|
|
1635
1660
|
const captionStyle = resolveCaptionStyle('caption');
|
|
1636
1661
|
|
|
1662
|
+
const shouldMeasureTextExtents = useMemo(
|
|
1663
|
+
() => (content?.length ?? 0) > 1 && (!!textStyle || !!captionStyle),
|
|
1664
|
+
[content, textStyle, captionStyle]
|
|
1665
|
+
);
|
|
1666
|
+
|
|
1637
1667
|
const copies = useMemo(() => {
|
|
1638
|
-
if (!isAutoplay ||
|
|
1668
|
+
if (!isAutoplay || content?.length === 0) return 1;
|
|
1639
1669
|
if (setWidth <= 0 || containerWidth <= 0) return 2;
|
|
1640
1670
|
return Math.max(2, Math.ceil(containerWidth / setWidth) + 1);
|
|
1641
|
-
}, [isAutoplay,
|
|
1671
|
+
}, [isAutoplay, content?.length, setWidth, containerWidth]);
|
|
1642
1672
|
|
|
1643
1673
|
useLayoutEffect(() => {
|
|
1644
1674
|
if (!isAutoplay) return;
|
|
@@ -1662,22 +1692,22 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1662
1692
|
cancelAnimationFrame(raf);
|
|
1663
1693
|
ro.disconnect();
|
|
1664
1694
|
};
|
|
1665
|
-
}, [isAutoplay,
|
|
1695
|
+
}, [isAutoplay, content?.length]);
|
|
1666
1696
|
|
|
1667
1697
|
useLayoutEffect(() => {
|
|
1668
1698
|
const track = trackRef.current;
|
|
1669
|
-
if (!isAutoplay || !track) return;
|
|
1699
|
+
if (!isAutoplay || !track || !isAnimating) return;
|
|
1670
1700
|
if (setWidth <= 0 || pxPerSec <= 0) {
|
|
1671
1701
|
track.style.transform = 'translate3d(0, 0, 0)';
|
|
1672
1702
|
return;
|
|
1673
1703
|
}
|
|
1674
|
-
if (lastDirectionRef.current !==
|
|
1704
|
+
if (lastDirectionRef.current !== normalizedDirection) {
|
|
1675
1705
|
progressRef.current = 1 - progressRef.current;
|
|
1676
|
-
lastDirectionRef.current =
|
|
1706
|
+
lastDirectionRef.current = normalizedDirection;
|
|
1677
1707
|
}
|
|
1678
1708
|
const duration = (setWidth / pxPerSec) * 1000;
|
|
1679
|
-
const from =
|
|
1680
|
-
const to =
|
|
1709
|
+
const from = normalizedDirection === 'left' ? -setWidth : 0;
|
|
1710
|
+
const to = normalizedDirection === 'left' ? 0 : -setWidth;
|
|
1681
1711
|
const anim = track.animate(
|
|
1682
1712
|
[{ transform: \`translate3d(\${from}px, 0, 0)\` }, { transform: \`translate3d(\${to}px, 0, 0)\` }],
|
|
1683
1713
|
{ duration, iterations: Infinity, easing: 'linear' }
|
|
@@ -1685,13 +1715,14 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1685
1715
|
anim.currentTime = progressRef.current * duration;
|
|
1686
1716
|
if (hoveringRef.current) anim.pause();
|
|
1687
1717
|
animRef.current = anim;
|
|
1718
|
+
|
|
1688
1719
|
return () => {
|
|
1689
1720
|
const ct = typeof anim.currentTime === 'number' ? anim.currentTime : 0;
|
|
1690
1721
|
progressRef.current = duration > 0 ? (ct / duration) % 1 : 0;
|
|
1691
1722
|
anim.cancel();
|
|
1692
1723
|
if (animRef.current === anim) animRef.current = null;
|
|
1693
1724
|
};
|
|
1694
|
-
}, [isAutoplay, setWidth, pxPerSec,
|
|
1725
|
+
}, [isAutoplay, isAnimating, setWidth, pxPerSec, normalizedDirection]);
|
|
1695
1726
|
|
|
1696
1727
|
const onTrackEnter = () => {
|
|
1697
1728
|
if (!hoverPauseEnabled) return;
|
|
@@ -1704,94 +1735,250 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1704
1735
|
animRef.current?.play();
|
|
1705
1736
|
};
|
|
1706
1737
|
|
|
1707
|
-
const
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1738
|
+
const overlayAlignItems = useMemo(() => {
|
|
1739
|
+
switch (align) {
|
|
1740
|
+
case 'center':
|
|
1741
|
+
return 'center' as const;
|
|
1742
|
+
case 'end':
|
|
1743
|
+
return 'flex-end' as const;
|
|
1744
|
+
case 'start':
|
|
1745
|
+
default:
|
|
1746
|
+
return 'flex-start' as const;
|
|
1747
|
+
}
|
|
1748
|
+
}, [align]);
|
|
1749
|
+
|
|
1750
|
+
const overlayTextAlign = useMemo(() => {
|
|
1751
|
+
switch (align) {
|
|
1752
|
+
case 'center':
|
|
1753
|
+
return 'center' as const;
|
|
1754
|
+
case 'end':
|
|
1755
|
+
return 'right' as const;
|
|
1756
|
+
case 'start':
|
|
1757
|
+
default:
|
|
1758
|
+
return 'left' as const;
|
|
1759
|
+
}
|
|
1760
|
+
}, [align]);
|
|
1761
|
+
|
|
1762
|
+
const renderText = useCallback(
|
|
1763
|
+
(style: CaptionStyles, richContent: any[], key: string, options?: RenderTextOpts) => (
|
|
1718
1764
|
<div
|
|
1719
|
-
|
|
1720
|
-
className={classes.caption}
|
|
1765
|
+
key={key}
|
|
1721
1766
|
style={{
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
...(minHeight ? { minHeight: scaled(minHeight) } : {}),
|
|
1767
|
+
display: 'flex',
|
|
1768
|
+
flexDirection: 'column',
|
|
1769
|
+
alignItems: overlayAlignItems,
|
|
1770
|
+
width: '100%',
|
|
1727
1771
|
}}
|
|
1728
1772
|
>
|
|
1729
|
-
<
|
|
1773
|
+
<div
|
|
1774
|
+
data-controls={options?.controlsName}
|
|
1775
|
+
data-controls-axis="y"
|
|
1776
|
+
className={classes.control}
|
|
1777
|
+
style={{ width: '100%', height: scaled(options?.marginTop ?? 0) }}
|
|
1778
|
+
/>
|
|
1779
|
+
<div
|
|
1780
|
+
{...(options?.dataMeasureKind ? { 'data-testimonial-measure': options.dataMeasureKind } : {})}
|
|
1781
|
+
style={{
|
|
1782
|
+
...textStylesToCss(resolveCaptionTextStyles(style), isEditor),
|
|
1783
|
+
textAlign: overlayTextAlign,
|
|
1784
|
+
pointerEvents: 'auto',
|
|
1785
|
+
...(typeof options?.minHeightPx === 'number' && options.minHeightPx > 0
|
|
1786
|
+
? { minHeight: options.minHeightPx }
|
|
1787
|
+
: {}),
|
|
1788
|
+
}}
|
|
1789
|
+
>
|
|
1790
|
+
<RichTextRenderer content={richContent} />
|
|
1791
|
+
</div>
|
|
1730
1792
|
</div>
|
|
1731
|
-
|
|
1793
|
+
),
|
|
1794
|
+
[overlayAlignItems, overlayTextAlign, isEditor, classes.control]
|
|
1732
1795
|
);
|
|
1733
1796
|
|
|
1734
|
-
const renderCard = (
|
|
1735
|
-
|
|
1736
|
-
key={key}
|
|
1737
|
-
style={{
|
|
1738
|
-
padding: \`\${scaled(padding.top)} \${scaled(padding.right)} \${scaled(padding.bottom)} \${scaled(padding.left)}\`,
|
|
1739
|
-
width: scaled(cardWidth + stroke * 2),
|
|
1740
|
-
minHeight: scaled(cardHeight),
|
|
1741
|
-
height: '100%',
|
|
1742
|
-
borderRadius: scaled(corners),
|
|
1743
|
-
border: \`\${scaled(stroke)} solid \${strokeColor}\`,
|
|
1744
|
-
boxSizing: 'border-box',
|
|
1745
|
-
position: 'relative',
|
|
1746
|
-
flex: '0 0 auto',
|
|
1747
|
-
}}
|
|
1748
|
-
>
|
|
1749
|
-
{item.image?.url && (
|
|
1750
|
-
<img
|
|
1751
|
-
className={classes.image}
|
|
1752
|
-
src={item.image.url}
|
|
1753
|
-
alt={item.image.name}
|
|
1754
|
-
style={{
|
|
1755
|
-
objectFit: item.image.objectFit || 'cover',
|
|
1756
|
-
borderRadius: scaled(corners),
|
|
1757
|
-
height: scaled(cardHeight),
|
|
1758
|
-
}}
|
|
1759
|
-
/>
|
|
1760
|
-
)}
|
|
1797
|
+
const renderCard = useCallback(
|
|
1798
|
+
(item: TestimonialsItem, key: string | number, opts?: RenderCardOpts) => (
|
|
1761
1799
|
<div
|
|
1762
|
-
|
|
1800
|
+
key={key}
|
|
1763
1801
|
style={{
|
|
1764
|
-
|
|
1765
|
-
|
|
1802
|
+
padding: \`\${scaled(padding.top)} \${scaled(padding.right)} \${scaled(padding.bottom)} \${scaled(padding.left)}\`,
|
|
1803
|
+
width: scaled(cardWidth + stroke * 2),
|
|
1766
1804
|
height: '100%',
|
|
1805
|
+
borderRadius: scaled(corners),
|
|
1806
|
+
border: \`\${scaled(stroke)} solid \${strokeColor}\`,
|
|
1807
|
+
boxSizing: 'border-box',
|
|
1808
|
+
position: 'relative',
|
|
1809
|
+
overflow: 'hidden',
|
|
1767
1810
|
}}
|
|
1768
|
-
/>
|
|
1769
|
-
<div
|
|
1770
|
-
className={classes.elementsOverlay}
|
|
1771
|
-
style={{ display: 'flex', flexDirection: 'column', pointerEvents: 'none' }}
|
|
1772
1811
|
>
|
|
1773
|
-
<div
|
|
1812
|
+
<div
|
|
1813
|
+
className={classes.cover}
|
|
1814
|
+
style={{ background: bgColor, height: '100%' }}
|
|
1815
|
+
/>
|
|
1816
|
+
<div
|
|
1817
|
+
className={classes.elementsOverlay}
|
|
1818
|
+
style={{
|
|
1819
|
+
display: 'flex',
|
|
1820
|
+
flexDirection: 'column',
|
|
1821
|
+
pointerEvents: 'none',
|
|
1822
|
+
alignItems: overlayAlignItems,
|
|
1823
|
+
textAlign: overlayTextAlign,
|
|
1824
|
+
}}
|
|
1825
|
+
>
|
|
1826
|
+
{textStyle &&
|
|
1827
|
+
item.text &&
|
|
1828
|
+
renderText(
|
|
1829
|
+
textStyle,
|
|
1830
|
+
item.text,
|
|
1831
|
+
'text',
|
|
1832
|
+
opts?.dataMeasureAttrs
|
|
1833
|
+
? { dataMeasureKind: 'text' }
|
|
1834
|
+
: typeof opts?.textMinHeightPx === 'number' && opts.textMinHeightPx > 0
|
|
1835
|
+
? { minHeightPx: opts.textMinHeightPx }
|
|
1836
|
+
: undefined
|
|
1837
|
+
)}
|
|
1774
1838
|
<div
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1839
|
+
key="logo"
|
|
1840
|
+
style={{
|
|
1841
|
+
display: 'flex',
|
|
1842
|
+
flexDirection: 'column',
|
|
1843
|
+
alignItems: overlayAlignItems,
|
|
1844
|
+
width: '100%',
|
|
1845
|
+
}}
|
|
1778
1846
|
>
|
|
1779
|
-
<
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
style={{
|
|
1847
|
+
<div
|
|
1848
|
+
data-controls="logoMarginTop"
|
|
1849
|
+
className={classes.control}
|
|
1850
|
+
style={{ width: '100%', height: scaled(logoMarginTop) }}
|
|
1783
1851
|
/>
|
|
1852
|
+
<div style={{ width: scaled(logoWidth), height: scaled(logoHeight) }}>
|
|
1853
|
+
<img
|
|
1854
|
+
src={item.logo?.url}
|
|
1855
|
+
alt={item.logo?.name}
|
|
1856
|
+
style={{ pointerEvents: 'auto', width: '100%', height: '100%', objectFit: item.logo?.objectFit || 'cover' }}
|
|
1857
|
+
/>
|
|
1858
|
+
</div>
|
|
1784
1859
|
</div>
|
|
1860
|
+
{captionStyle &&
|
|
1861
|
+
item.caption &&
|
|
1862
|
+
renderText(captionStyle, item.caption, 'caption', {
|
|
1863
|
+
controlsName: 'captionMarginTop',
|
|
1864
|
+
marginTop: captionMarginTop,
|
|
1865
|
+
...(opts?.dataMeasureAttrs
|
|
1866
|
+
? { dataMeasureKind: 'caption' as const }
|
|
1867
|
+
: typeof opts?.captionMinHeightPx === 'number' && opts.captionMinHeightPx > 0
|
|
1868
|
+
? { minHeightPx: opts.captionMinHeightPx }
|
|
1869
|
+
: {}),
|
|
1870
|
+
})}
|
|
1785
1871
|
</div>
|
|
1786
|
-
{textStyle && renderText(textStyle, item.text, 'text', 'elements.text.margin.top', 'text', textMarginTop, textMinHeight)}
|
|
1787
|
-
{captionStyle && renderText(captionStyle, item.caption, 'caption', 'elements.caption.margin.top', 'caption', captionMarginTop)}
|
|
1788
1872
|
</div>
|
|
1873
|
+
),
|
|
1874
|
+
[
|
|
1875
|
+
bgColor,
|
|
1876
|
+
captionMarginTop,
|
|
1877
|
+
captionStyle,
|
|
1878
|
+
cardWidth,
|
|
1879
|
+
corners,
|
|
1880
|
+
logoHeight,
|
|
1881
|
+
logoMarginTop,
|
|
1882
|
+
logoWidth,
|
|
1883
|
+
overlayAlignItems,
|
|
1884
|
+
overlayTextAlign,
|
|
1885
|
+
padding.bottom,
|
|
1886
|
+
padding.left,
|
|
1887
|
+
padding.right,
|
|
1888
|
+
padding.top,
|
|
1889
|
+
renderText,
|
|
1890
|
+
stroke,
|
|
1891
|
+
strokeColor,
|
|
1892
|
+
textStyle,
|
|
1893
|
+
isEditor,
|
|
1894
|
+
]
|
|
1895
|
+
);
|
|
1896
|
+
|
|
1897
|
+
useLayoutEffect(() => {
|
|
1898
|
+
if (!shouldMeasureTextExtents) {
|
|
1899
|
+
setMeasuredTextMinPx(0);
|
|
1900
|
+
setMeasuredCaptionMinPx(0);
|
|
1901
|
+
return;
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
const root = measureLayerRef.current;
|
|
1905
|
+
if (!root) return;
|
|
1906
|
+
|
|
1907
|
+
const readExtents = () => {
|
|
1908
|
+
const maxText = Array.from(root.querySelectorAll('[data-testimonial-measure="text"]')).reduce(
|
|
1909
|
+
(acc, el) => Math.max(acc, el.getBoundingClientRect().height),
|
|
1910
|
+
0
|
|
1911
|
+
);
|
|
1912
|
+
const maxCaption = Array.from(root.querySelectorAll('[data-testimonial-measure="caption"]')).reduce(
|
|
1913
|
+
(acc, el) => Math.max(acc, el.getBoundingClientRect().height),
|
|
1914
|
+
0
|
|
1915
|
+
);
|
|
1916
|
+
setMeasuredTextMinPx(maxText);
|
|
1917
|
+
setMeasuredCaptionMinPx(maxCaption);
|
|
1918
|
+
};
|
|
1919
|
+
|
|
1920
|
+
readExtents();
|
|
1921
|
+
const ro = new ResizeObserver(readExtents);
|
|
1922
|
+
ro.observe(root);
|
|
1923
|
+
return () => {
|
|
1924
|
+
ro.disconnect();
|
|
1925
|
+
};
|
|
1926
|
+
}, [shouldMeasureTextExtents, content, renderCard]);
|
|
1927
|
+
|
|
1928
|
+
const visibleCardOpts: RenderCardOpts | undefined = shouldMeasureTextExtents
|
|
1929
|
+
? { textMinHeightPx: measuredTextMinPx, captionMinHeightPx: measuredCaptionMinPx }
|
|
1930
|
+
: undefined;
|
|
1931
|
+
|
|
1932
|
+
const measureLayerEl = shouldMeasureTextExtents ? (
|
|
1933
|
+
<div
|
|
1934
|
+
ref={measureLayerRef}
|
|
1935
|
+
aria-hidden
|
|
1936
|
+
style={{
|
|
1937
|
+
position: 'absolute',
|
|
1938
|
+
left: 0,
|
|
1939
|
+
top: 0,
|
|
1940
|
+
width: '100%',
|
|
1941
|
+
visibility: 'hidden',
|
|
1942
|
+
pointerEvents: 'none',
|
|
1943
|
+
zIndex: -1,
|
|
1944
|
+
}}
|
|
1945
|
+
>
|
|
1946
|
+
{(content ?? []).map((item, index) => renderCard(item, \`measure-\${index}\`, { dataMeasureAttrs: true }))}
|
|
1947
|
+
</div>
|
|
1948
|
+
) : null;
|
|
1949
|
+
|
|
1950
|
+
const renderCardWrapper = (item: TestimonialsItem, key: string | number, isLast: boolean) => (
|
|
1951
|
+
<div
|
|
1952
|
+
key={key}
|
|
1953
|
+
style={{
|
|
1954
|
+
position: 'relative',
|
|
1955
|
+
flex: '0 0 auto',
|
|
1956
|
+
height: '100%',
|
|
1957
|
+
}}
|
|
1958
|
+
>
|
|
1959
|
+
{renderCard(item, \`card-\${key}\`, visibleCardOpts)}
|
|
1960
|
+
{isEditor && !isLast && (
|
|
1961
|
+
<div
|
|
1962
|
+
data-controls="gap"
|
|
1963
|
+
data-controls-axis="x"
|
|
1964
|
+
style={{
|
|
1965
|
+
position: 'absolute',
|
|
1966
|
+
top: 0,
|
|
1967
|
+
right: \`calc(-1 * \${scaled(gap)})\`,
|
|
1968
|
+
width: scaled(gap),
|
|
1969
|
+
height: '100%',
|
|
1970
|
+
pointerEvents: 'auto',
|
|
1971
|
+
zIndex: 2,
|
|
1972
|
+
}}
|
|
1973
|
+
/>
|
|
1974
|
+
)}
|
|
1789
1975
|
</div>
|
|
1790
1976
|
);
|
|
1791
1977
|
|
|
1792
|
-
if (isAutoplay &&
|
|
1978
|
+
if (isAutoplay && content?.length && content.length > 0) {
|
|
1793
1979
|
return (
|
|
1794
1980
|
<div ref={wrapperRef} className={cn(classes.wrapper, classes.marqueeWrapper)} aria-label="Testimonials">
|
|
1981
|
+
{measureLayerEl}
|
|
1795
1982
|
<div
|
|
1796
1983
|
ref={trackRef}
|
|
1797
1984
|
className={classes.marqueeTrack}
|
|
@@ -1806,7 +1993,9 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1806
1993
|
style={{ gap: scaled(gap), paddingRight: scaled(gap) }}
|
|
1807
1994
|
aria-hidden={copyIndex > 0}
|
|
1808
1995
|
>
|
|
1809
|
-
{
|
|
1996
|
+
{content?.map((item: TestimonialsItem, index: number) =>
|
|
1997
|
+
renderCardWrapper(item, \`\${copyIndex}-\${index}\`, index === (content?.length ?? 0) - 1)
|
|
1998
|
+
)}
|
|
1810
1999
|
</div>
|
|
1811
2000
|
))}
|
|
1812
2001
|
</div>
|
|
@@ -1816,6 +2005,7 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1816
2005
|
|
|
1817
2006
|
return (
|
|
1818
2007
|
<div className={classes.wrapper}>
|
|
2008
|
+
{measureLayerEl}
|
|
1819
2009
|
<div
|
|
1820
2010
|
style={{
|
|
1821
2011
|
display: 'flex',
|
|
@@ -1826,25 +2016,22 @@ export const Testimonials = ({ settings, content, isEditor }: TestimonialsProps)
|
|
|
1826
2016
|
}}
|
|
1827
2017
|
aria-label="Testimonials"
|
|
1828
2018
|
>
|
|
1829
|
-
{
|
|
2019
|
+
{content?.map((item: TestimonialsItem, index: number) =>
|
|
2020
|
+
renderCardWrapper(item, index, index === (content?.length ?? 0) - 1)
|
|
2021
|
+
)}
|
|
1830
2022
|
</div>
|
|
1831
2023
|
</div>
|
|
1832
2024
|
);
|
|
1833
2025
|
};
|
|
1834
2026
|
|
|
1835
2027
|
export type TestimonialsItem = {
|
|
1836
|
-
|
|
2028
|
+
logo?: {
|
|
1837
2029
|
url?: string;
|
|
1838
2030
|
name?: string;
|
|
1839
2031
|
objectFit?: 'cover' | 'contain';
|
|
1840
2032
|
};
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
name?: string;
|
|
1844
|
-
objectFit?: 'cover' | 'contain';
|
|
1845
|
-
};
|
|
1846
|
-
text: any[];
|
|
1847
|
-
caption: any[];
|
|
2033
|
+
text?: any[];
|
|
2034
|
+
caption?: any[];
|
|
1848
2035
|
};
|
|
1849
2036
|
|
|
1850
2037
|
type Padding = {
|
|
@@ -1857,20 +2044,19 @@ type Padding = {
|
|
|
1857
2044
|
type TestimonialsSettings = {
|
|
1858
2045
|
autoplay: 'on' | 'off';
|
|
1859
2046
|
speed: number;
|
|
2047
|
+
align: 'start' | 'center' | 'end';
|
|
1860
2048
|
direction: 'left' | 'right';
|
|
1861
|
-
|
|
2049
|
+
pauseOnHover: 'on' | 'off';
|
|
1862
2050
|
gap: number;
|
|
1863
2051
|
cardWidth: number;
|
|
1864
|
-
cardHeight: number;
|
|
1865
2052
|
corners: number;
|
|
1866
2053
|
stroke: number;
|
|
1867
2054
|
strokeColor: string;
|
|
1868
2055
|
bgColor: string;
|
|
1869
2056
|
padding: Padding;
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
textMinHeight: number;
|
|
2057
|
+
logoMarginTop: number;
|
|
2058
|
+
logoWidth: number;
|
|
2059
|
+
logoHeight: number;
|
|
1874
2060
|
captionMarginTop: number;
|
|
1875
2061
|
styles: TestimonialsStyles;
|
|
1876
2062
|
};
|
|
@@ -1904,19 +2090,27 @@ type TestimonialsStyles = {
|
|
|
1904
2090
|
text: CaptionStyles;
|
|
1905
2091
|
caption: CaptionStyles;
|
|
1906
2092
|
};
|
|
1907
|
-
`,Ao={fontSettings:{type:"object",scope:"common",display:{type:"font-settings"},properties:{fontWeight:{type:"number",scope:"common"},fontStyle:{type:"string",scope:"common"}}}},ns={type:"object",version:1,settings:{sizing:"auto manual",properties:{autoplay:{type:"string",scope:"common",title:"Autoplay",display:{type:"switch-toggle"},enum:["on","off"]},speed:{type:"number",scope:"layout",title:"Speed",display:{type:"speed-control"},min:1,max:10},direction:{type:"string",scope:"common",display:{type:"switch-toggle"},enum:["left","right"]},pause:{title:"Pause on",type:"string",scope:"common",display:{type:"switch-toggle"},enum:["hover","off"]},gap:{type:"number",scope:"layout",title:"Gap",min:0,max:200,display:{type:"range-control"}},cardWidth:{type:"number",scope:"layout",title:"Card width",min:0,max:400,display:{type:"range-control"}},cardHeight:{type:"number",scope:"layout",title:"Card height",min:0,max:400,display:{type:"range-control"}},corners:{type:"number",scope:"layout",title:"Corners",min:0,max:100,display:{type:"range-control"}},stroke:{type:"number",scope:"layout",title:"Stroke",min:0,max:20,display:{type:"range-control"}},strokeColor:{type:"string",scope:"common",title:"Stroke color",display:{type:"palette-color-picker"}},bgColor:{title:"BG color",type:"string",scope:"common",display:{type:"palette-color-picker"}},padding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},iconMarginTop:{type:"number",scope:"layout",title:"Icon margin top",min:0,max:100,display:{type:"range-control"}},iconWidth:{type:"number",scope:"layout",title:"Icon width",min:0,max:200,display:{type:"range-control"}},imageCaptionColor:{type:"string",scope:"common",title:"Text color",display:{type:"palette-color-picker"}},captionColor:{type:"string",scope:"common",title:"Caption color",display:{type:"palette-color-picker"}},textMarginTop:{type:"number",scope:"layout",title:"Text margin top",min:0,max:100,display:{type:"range-control"}},textMinHeight:{type:"number",scope:"layout",title:"Text min height",min:0,max:300,display:{type:"range-control"}},captionMarginTop:{type:"number",scope:"layout",title:"Caption margin top",min:0,max:100,display:{type:"range-control"}},captionFontFamily:{type:"string",scope:"common",title:"Caption Font Family",display:{type:"font-family-select"}},captionFontSettings:{...Ao.fontSettings,scope:"common",title:"Caption",display:{type:"font-settings-weight"}},captionFontSize:{type:"number",scope:"layout",title:"Caption Font Size",display:{type:"font-size"}},captionLineHeight:{type:"number",scope:"layout",title:"Caption Line Height",display:{type:"line-height-input"}},captionLetterSpacing:{type:"number",scope:"layout",title:"Caption Letter Spacing",display:{type:"letter-spacing-input"}},captionWordSpacing:{type:"number",scope:"layout",title:"Caption Word Spacing",display:{type:"word-spacing-input"}},captionTextAppearance:{type:"object",scope:"layout",title:"Caption Text Appearance",display:{type:"text-appearance"}},textFontFamily:{type:"string",scope:"common",title:"Text Font Family",display:{type:"font-family-select"}},textFontSettings:{...Ao.fontSettings,scope:"common",title:"Text",display:{type:"font-settings-weight"}},textFontSize:{type:"number",scope:"layout",title:"Text Font Size",display:{type:"font-size"}},textLineHeight:{type:"number",scope:"layout",title:"Text Line Height",display:{type:"line-height-input"}},textLetterSpacing:{type:"number",scope:"layout",title:"Text Letter Spacing",display:{type:"letter-spacing-input"}},textWordSpacing:{type:"number",scope:"layout",title:"Text Word Spacing",display:{type:"word-spacing-input"}},textTextAppearance:{type:"object",scope:"layout",title:"Text Text Appearance",display:{type:"text-appearance"}}},defaults:{autoplay:"off",direction:"left",pause:"off",strokeColor:"#000000",bgColor:"rgba(255, 255, 255, 0.2)",imageCaptionColor:"#000000",captionColor:"#000000",captionFontFamily:"Arial",captionFontSettings:{fontWeight:400,fontStyle:"normal"},captionLetterSpacing:0,captionWordSpacing:0,captionTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},textFontFamily:"Arial",textFontSettings:{fontWeight:400,fontStyle:"normal"},textLetterSpacing:0,textWordSpacing:0,textTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"}},layoutDefaults:{m:{speed:3,gap:.02,cardWidth:.15,cardHeight:.2,corners:.005,stroke:.001,padding:{top:0,right:0,bottom:0,left:0},iconMarginTop:0,iconWidth:0,textMarginTop:0,textMinHeight:.01,captionMarginTop:0},d:{speed:5,gap:.02,cardWidth:.15,cardHeight:.2,corners:.005,stroke:.001,padding:{top:0,right:0,bottom:0,left:0},iconMarginTop:0,iconWidth:0,textMarginTop:0,textMinHeight:.01,captionMarginTop:0}},displayRules:[],layout:["__componentName__","autoplay","speed","direction","pause","gap","cardWidth","cardHeight","corners","stroke","strokeColor","bgColor","padding","iconMarginTop","iconWidth","textMarginTop","textMinHeight","captionMarginTop"]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","autoplay"]},{type:"row",items:["pause","speed"]},{type:"row",items:["direction","gap"]},{type:"row",items:[{type:"group",title:"",items:["cardWidth","cardHeight","corners","stroke"]},{type:"group",title:"",items:["padding","iconWidth"]}]},{type:"row",items:["textMinHeight"]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["fontFamily",{type:"group",title:"",items:["text",{type:"row",items:["textFontSize","textLineHeight","textLetterSpacing","textWordSpacing"]},"textTextAppearance"]},{type:"group",title:"",items:["caption",{type:"row",items:["captionFontSize","captionLineHeight","captionLetterSpacing","captionWordSpacing"]},"captionTextAppearance"]}]}],paletteBookmark:{items:["strokeColor","bgColor","imageCaptionColor","captionColor"],panelIds:["general","typeStyle"]},content:{properties:{items:{type:"array",scope:"common",display:{type:"content-items",addItemFromFileExplorer:!1,defaultWidth:500},items:{type:"object",properties:{image:{type:"object",title:"Image",display:{minWidth:58,maxWidth:108,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}}},icon:{type:"object",title:"Icon",display:{minWidth:58,maxWidth:108,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}}},text:{type:"array",title:"Text",display:{type:"rich-text",minWidth:300,maxWidth:550}},caption:{type:"array",title:"Caption",display:{type:"rich-text",minWidth:300,maxWidth:550}}}}}},defaults:{items:[{image:{},icon:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},text:[{type:"paragraph",children:[{text:"Innovative solutions redefine connectivity, enhancing user experience through seamless digital integration and efficiency."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{},icon:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},text:[{type:"paragraph",children:[{text:"In the realm of digital innovation, transformative algorithms redefine connectivity, propelling unprecedented technological advancements."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{},icon:{objectFit:"contain",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},text:[{type:"paragraph",children:[{text:"Harnessing innovative algorithms, this paradigm shift enhances computational efficiency and optimizes data processing frameworks."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]}]}}},os={element:ts,id:"testimonials",name:"Testimonials",version:1,preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/testimonials.png"},defaultSize:{width:700,height:300},schema:ns,sourceCode:es,assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.arrowsImgUrl"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.text.fontSettings"}]}},rs="Testimonials-module__container___Hxc4p",is="Testimonials-module__wrapper___uBekx",as="Testimonials-module__cover___ZvEoE",ls="Testimonials-module__elementsOverlay___5I51C",ss="Testimonials-module__image___afGk-",cs="Testimonials-module__icon___Cpw7E",ps="Testimonials-module__control___DktvH",_t={container:rs,wrapper:is,cover:as,elementsOverlay:ls,image:ss,icon:cs,control:ps},us=({settings:t,content:e,isEditor:n})=>{var E,B,M,L,m;const o=(e==null?void 0:e.items)??[],{autoplay:r,speed:a}=t,i=r==="on",p=t.width??0,c=t.iconMarginTop??0,f=t.iconAlign??"left",u=t.iconScale??100,k=t.textMarginTop??0,b=t.textMinHeight??0,y=t.captionMarginTop??0,l=o[0],g=F=>{var q;const I=(q=t==null?void 0:t.styles)==null?void 0:q[F];if(I)return I;const N=F==="imageCaption"?"imageCaption":"caption",R=t==null?void 0:t[`${N}FontFamily`],W=t==null?void 0:t[`${N}FontSettings`],_=t==null?void 0:t[`${N}LetterSpacing`],D=t==null?void 0:t[`${N}WordSpacing`],H=t==null?void 0:t[`${N}TextAlign`],d=t==null?void 0:t[`${N}TextAppearance`],w=t==null?void 0:t[`${N}Color`],C=t==null?void 0:t[`${N}FontSize`],T=t==null?void 0:t[`${N}LineHeight`];return typeof R=="string"||!!W||typeof _=="number"||typeof D=="number"||typeof H=="string"||!!d||typeof w=="string"||typeof C=="number"||typeof T=="number"?{widthSettings:{width:.13,sizing:"manual"},fontSettings:{fontFamily:typeof R=="string"?R:"Arial",fontWeight:typeof(W==null?void 0:W.fontWeight)=="number"?W.fontWeight:400,fontStyle:typeof(W==null?void 0:W.fontStyle)=="string"?W.fontStyle:"normal"},letterSpacing:typeof _=="number"?_:0,wordSpacing:typeof D=="number"?D:0,textAlign:H==="left"||H==="center"||H==="right"?H:"left",fontSizeLineHeight:{fontSize:typeof C=="number"?C:.01,lineHeight:typeof T=="number"?T:.01},textAppearance:{textTransform:(d==null?void 0:d.textTransform)??"none",textDecoration:(d==null?void 0:d.textDecoration)??"none",fontVariant:(d==null?void 0:d.fontVariant)??"normal"},color:typeof w=="string"?w:"#000000"}:void 0},$=g("imageCaption"),h=g("caption"),v=j.useMemo(()=>["text","icon","caption"].map((I,N)=>({key:I,order:N})),[]);return l?s.jsx(s.Fragment,{children:s.jsxs("div",{className:_t.container,style:{flexDirection:"column",alignItems:"center"},children:[s.jsx("div",{className:ft(_t.wrapper,!i&&_t.wrapperAutoplayOff),style:{width:x.scalingValue(p,n??!1)},children:s.jsxs("div",{style:{padding:`${x.scalingValue(t.padding.top,n??!1)} ${x.scalingValue(t.padding.right,n??!1)} ${x.scalingValue(t.padding.bottom,n??!1)} ${x.scalingValue(t.padding.left,n??!1)}`,width:x.scalingValue(p,n??!1),height:"100%",boxSizing:"border-box",position:"relative"},children:[((E=l.image)==null?void 0:E.url)&&s.jsx("img",{className:_t.image,src:(B=l.image)==null?void 0:B.url,alt:(M=l.image)==null?void 0:M.name,style:{objectFit:((L=l.image)==null?void 0:L.objectFit)||"cover"}}),s.jsx("div",{className:_t.cover}),s.jsx("div",{className:_t.elementsOverlay,style:{display:"flex",flexDirection:"column",inset:0,pointerEvents:"none"},children:v.map(({key:F,order:I})=>{var N,R;if(F==="icon")return s.jsxs("div",{style:{order:I,zIndex:I},children:[s.jsx("div",{"data-controls":"iconMarginTop",className:_t.control,style:{height:x.scalingValue(c,n??!1)}}),s.jsx("div",{style:{width:"100%",textAlign:f},children:s.jsx("img",{src:(N=l.icon)==null?void 0:N.url,alt:(R=l.icon)==null?void 0:R.name,className:_t.icon,style:{transform:`scale(${u/100})`,pointerEvents:"auto"}})})]},"icon");if(F==="text"&&$){const{widthSettings:W,fontSettings:_,letterSpacing:D,textAlign:H,wordSpacing:d,fontSizeLineHeight:w,textAppearance:C,color:T}=$;return s.jsxs("div",{style:{order:I,zIndex:I},children:[s.jsx("div",{"data-controls":"textMarginTop",className:_t.control,style:{height:x.scalingValue(k,n??!1)}}),s.jsx("div",{"data-styles":"imageCaption",className:_t.caption,style:{fontFamily:_.fontFamily,fontWeight:_.fontWeight,fontStyle:_.fontStyle,minHeight:x.scalingValue(b,n??!1),letterSpacing:x.scalingValue(D,n),wordSpacing:x.scalingValue(d,n),textAlign:H,fontSize:x.scalingValue(w.fontSize,n),lineHeight:x.scalingValue(w.lineHeight,n),textTransform:C.textTransform??"none",textDecoration:C.textDecoration??"none",fontVariant:C.fontVariant??"normal",color:T,pointerEvents:"auto"},children:s.jsx(ze,{content:l.imageCaption??l.text??[]})})]},"text")}if(F==="caption"&&h){const{widthSettings:W,fontSettings:_,letterSpacing:D,textAlign:H,wordSpacing:d,fontSizeLineHeight:w,textAppearance:C,color:T}=h;return s.jsxs("div",{style:{order:I,zIndex:I},children:[s.jsx("div",{"data-controls":"captionMarginTop",className:_t.control,style:{height:x.scalingValue(y,n??!1)}}),s.jsx("div",{"data-styles":"caption",className:_t.caption,style:{fontFamily:_.fontFamily,fontWeight:_.fontWeight,fontStyle:_.fontStyle,minHeight:0,letterSpacing:x.scalingValue(D,n),wordSpacing:x.scalingValue(d,n),textAlign:H,fontSize:x.scalingValue(w.fontSize,n),lineHeight:x.scalingValue(w.lineHeight,n),textTransform:C.textTransform??"none",textDecoration:C.textDecoration??"none",fontVariant:C.fontVariant??"normal",color:T,pointerEvents:"auto"},children:s.jsx(ze,{content:l.caption})})]},"caption")}return null})})]})}),((m=t.controls)==null?void 0:m.isActive)==="visible"&&t.autoplay==="off"&&s.jsx("div",{children:"Controls"})]})}):s.jsx(s.Fragment,{})},ds=`import cn from 'classnames';
|
|
1908
|
-
import { useMemo } from 'react';
|
|
1909
|
-
import classes from './
|
|
2093
|
+
`,Ao={fontSettings:{type:"object",scope:"common",display:{type:"font-settings"},properties:{fontWeight:{type:"number",scope:"common"},fontStyle:{type:"string",scope:"common"}}}},ts={type:"object",version:1,settings:{sizing:"auto manual",properties:{autoplay:{type:"string",scope:"common",title:"Autoplay",display:{type:"switch-control"},enum:["on","off"]},speed:{type:"number",scope:"layout",title:"Speed",display:{type:"speed-control"},min:.5,max:8},direction:{type:"string",scope:"common",title:"Direction",display:{type:"direction-control"},enum:["left","right"]},pauseOnHover:{title:"Pause on hover",type:"string",scope:"common",display:{type:"switch-toggle-2",enum:["on","off"]}},gap:{type:"number",scope:"layout",title:"Gap",min:0,max:200,display:{type:"range-control"}},align:{type:"string",title:"Align",display:{type:"align-group",direction:"horizontal"},enum:["start","center","end"]},cardWidth:{type:"number",scope:"layout",title:"width",min:0,max:400,display:{type:"range-control"}},corners:{type:"number",scope:"layout",title:"Corners",min:0,max:100,display:{type:"range-control"}},stroke:{type:"number",scope:"layout",title:"Stroke",min:0,max:10,display:{type:"range-control"}},strokeColor:{type:"string",scope:"common",title:"Stroke color",display:{type:"palette-color-picker",visible:!0}},bgColor:{title:"BG color",type:"string",scope:"common",display:{type:"palette-color-picker"}},padding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},logoMarginTop:{type:"number",scope:"layout",title:"Logo margin top",min:0,max:100,display:{type:"range-control"}},logoWidth:{type:"number",scope:"layout",title:"width",min:0,max:200,display:{type:"range-control"}},logoHeight:{type:"number",scope:"layout",title:"height",min:0,max:200,display:{type:"range-control"}},textColor:{type:"string",scope:"common",title:"Text color",display:{type:"palette-color-picker"}},captionColor:{type:"string",scope:"common",title:"Caption color",display:{type:"palette-color-picker"}},captionMarginTop:{type:"number",scope:"layout",title:"Caption margin top",min:0,max:100,display:{type:"range-control"}},captionFontFamily:{type:"string",scope:"common",title:"Caption",display:{type:"font-family-select"}},captionFontSettings:{...Ao.fontSettings,scope:"common",title:"",display:{type:"font-settings-weight"}},captionFontSize:{type:"number",scope:"layout",title:"Caption Font Size",display:{type:"font-size"}},captionLineHeight:{type:"number",scope:"layout",title:"Caption Line Height",display:{type:"line-height-input"}},captionLetterSpacing:{type:"number",scope:"layout",title:"Caption Letter Spacing",display:{type:"letter-spacing-input"}},captionWordSpacing:{type:"number",scope:"layout",title:"Caption Word Spacing",display:{type:"word-spacing-input"}},captionTextAppearance:{type:"object",scope:"layout",title:"Caption Text Appearance",display:{type:"text-appearance"}},textFontFamily:{type:"string",scope:"common",title:"Text",display:{type:"font-family-select"}},textFontSettings:{...Ao.fontSettings,scope:"common",title:"",display:{type:"font-settings-weight"}},textFontSize:{type:"number",scope:"layout",title:"Text Font Size",display:{type:"font-size"}},textLineHeight:{type:"number",scope:"layout",title:"Text Line Height",display:{type:"line-height-input"}},textLetterSpacing:{type:"number",scope:"layout",title:"Text Letter Spacing",display:{type:"letter-spacing-input"}},textWordSpacing:{type:"number",scope:"layout",title:"Text Word Spacing",display:{type:"word-spacing-input"}},textTextAppearance:{type:"object",scope:"layout",title:"Text Text Appearance",display:{type:"text-appearance"}}},defaults:{autoplay:"off",direction:"left",pauseOnHover:"off",strokeColor:"#000000",bgColor:"rgba(255, 255, 255, 0.81)",textColor:"#000000",captionColor:"#000000",captionFontFamily:"Arial",captionFontSettings:{fontWeight:400,fontStyle:"normal"},align:"center",captionLetterSpacing:0,captionWordSpacing:0,captionTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},textFontFamily:"Arial",textFontSettings:{fontWeight:400,fontStyle:"normal"},textLetterSpacing:0,textWordSpacing:0,textTextAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"}},layoutDefaults:{m:{speed:3,gap:.02,cardWidth:.15,corners:.005,stroke:.001,padding:{top:.01,right:.01,bottom:.01,left:.01},logoMarginTop:0,logoWidth:.02,logoHeight:.02,captionMarginTop:0,textFontSize:.01,textLineHeight:.01,captionFontSize:.01,captionLineHeight:.01},d:{speed:5,gap:.02,cardWidth:.15,corners:.005,stroke:.001,padding:{top:.01,right:.01,bottom:.01,left:.01},logoMarginTop:.01,logoWidth:.05,logoHeight:.05,captionMarginTop:.01,textFontSize:.01,textLineHeight:.01,captionFontSize:.01,captionLineHeight:.01}},displayRules:[{if:{name:"stroke",value:0},then:{name:"properties.strokeColor.display.visible",value:!1}}],layout:["__componentName__","autoplay","speed","direction","pauseOnHover","gap","cardWidth","corners","stroke","strokeColor","bgColor","padding","logoMarginTop","logoWidth","logoHeight","captionMarginTop"]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","autoplay"]},{type:"row",items:["speed","pauseOnHover"]},{type:"row",items:["align","direction"]},{type:"row",title:"Card",items:[{type:"group",title:"",items:["cardWidth","corners","stroke"]},{type:"group",title:"",items:["padding"]}]},{type:"row",title:"Logo Container",items:["logoWidth","logoHeight"]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["textFontFamily","textFontSettings",{type:"group",title:"",items:["text",{type:"row",items:["textFontSize","textLineHeight","textLetterSpacing","textWordSpacing"]},"textTextAppearance"]},"captionFontFamily","captionFontSettings",{type:"group",title:"",items:["caption",{type:"row",items:["captionFontSize","captionLineHeight","captionLetterSpacing","captionWordSpacing"]},"captionTextAppearance"]}]}],paletteBookmark:{items:["bgColor","strokeColor","textColor","captionColor"],panelIds:["general","typeStyle"]},content:{type:"array",settings:{addItemFromFileExplorer:!1},items:{type:"object",properties:{logo:{type:"object",label:"Logo",display:{type:"media-input"}},text:{placeholder:"Add Text...",label:"Text",display:{type:"rich-text"}},caption:{placeholder:"Add Caption...",label:"Caption",display:{type:"rich-text"}}}},default:[{logo:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"Innovative solutions redefine connectivity, enhancing user experience through seamless digital integration and efficiency."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{logo:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"In the realm of digital innovation, transformative algorithms redefine connectivity, propelling unprecedented technological advancements."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{logo:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"Harnessing innovative algorithms, this paradigm shift enhances computational efficiency and optimizes data processing frameworks."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]}]}},ns={element:Ql,id:"testimonials",name:"Eliana",category:"testimonials",version:1,preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/testimonials.png"},defaultSize:{width:750,height:300},schema:ts,sourceCode:es,assetsPaths:{content:[{path:"logo.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.arrowsImgUrl"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.text.fontSettings"}]}},os="TestimonialSingle-module__container___YKr4M",rs="TestimonialSingle-module__wrapper___hUgOd",is="TestimonialSingle-module__wrapperAutoplayOff___dgrHY",as="TestimonialSingle-module__elementsOverlay___2QyBb",ls="TestimonialSingle-module__fadeStack___Ye77N",ss="TestimonialSingle-module__fadeItemPrev___dQn4-",cs="TestimonialSingle-module__fadeItemCurrent___intAh",us="TestimonialSingle-module__fadeIn___mnR5D",ps="TestimonialSingle-module__fadeOut___WiXP1",ds="TestimonialSingle-module__icon___qH8ha",gs="TestimonialSingle-module__controls___0dIZ-",ms="TestimonialSingle-module__arrow___sVKUw",fs="TestimonialSingle-module__nextArrow___U31Ty",ys="TestimonialSingle-module__arrowInner___tep0d",hs="TestimonialSingle-module__arrowImg___8JHHQ",vs="TestimonialSingle-module__mirror___kWPu-",bs="TestimonialSingle-module__control___RwzDc",Se={container:os,wrapper:rs,wrapperAutoplayOff:is,elementsOverlay:as,fadeStack:ls,fadeItemPrev:ss,fadeItemCurrent:cs,fadeIn:us,fadeOut:ps,icon:ds,controls:gs,arrow:ms,nextArrow:fs,arrowInner:ys,arrowImg:hs,mirror:vs,control:bs},xs=({settings:e,content:t,isEditor:n,isPreviewMode:o})=>{const r=t||[],{autoplay:l,delay:i,align:c,width:p,imageMarginTop:m,textMarginTop:u,captionMarginTop:E,imageWidth:x,imageHeight:h,controlsWidth:d,controlsColor:g,controlsHoverColor:C}=e,v=(()=>{const s=l;if(typeof s=="boolean")return s;if(typeof s=="string"){const M=s.trim().toLowerCase();return M==="on"||M==="true"}return!1})(),b=v&&!o,[A,j]=S.useState(0),[N,$]=S.useState(null),[f,F]=S.useState(!1),P=S.useRef(null),O=S.useMemo(()=>{switch(c){case"center":return"center";case"end":return"flex-end";case"start":default:return"flex-start"}},[c]),R=S.useMemo(()=>{switch(c){case"center":return"center";case"end":return"right";case"start":default:return"left"}},[c]);S.useEffect(()=>{j(0),$(null),F(!1)},[r.length]);const V=r[A],W=N===null?null:r[N],K=s=>{var ge;const M=(ge=e==null?void 0:e.styles)==null?void 0:ge[s];if(M)return M;const Y=s==="text"?"text":"caption",ee=e==null?void 0:e[`${Y}FontFamily`],ne=e==null?void 0:e[`${Y}FontSettings`],oe=e==null?void 0:e[`${Y}LetterSpacing`],T=e==null?void 0:e[`${Y}WordSpacing`],U=e==null?void 0:e[`${Y}TextAlign`],B=e==null?void 0:e[`${Y}TextAppearance`],X=e==null?void 0:e[`${Y}Color`],Q=e==null?void 0:e[`${Y}FontSize`],pe=e==null?void 0:e[`${Y}LineHeight`];return typeof ee=="string"||!!ne||typeof oe=="number"||typeof T=="number"||typeof U=="string"||!!B||typeof X=="string"||typeof Q=="number"||typeof pe=="number"?{widthSettings:{width:.13,sizing:"manual"},fontSettings:{fontFamily:typeof ee=="string"?ee:"Arial",fontWeight:typeof(ne==null?void 0:ne.fontWeight)=="number"?ne.fontWeight:400,fontStyle:typeof(ne==null?void 0:ne.fontStyle)=="string"?ne.fontStyle:"normal"},letterSpacing:typeof oe=="number"?oe:0,wordSpacing:typeof T=="number"?T:0,textAlign:U==="left"||U==="center"||U==="right"?U:"left",fontSizeLineHeight:{fontSize:typeof Q=="number"?Q:.01,lineHeight:typeof pe=="number"?pe:.01},textAppearance:{textTransform:(B==null?void 0:B.textTransform)??"none",textDecoration:(B==null?void 0:B.textDecoration)??"none",fontVariant:(B==null?void 0:B.fontVariant)??"normal"},color:typeof X=="string"?X:"#000000"}:void 0},G=K("text"),y=K("caption"),k=s=>w.scalingValue(s,n??!1),I=r.length>1&&(!!G||!!y),L=S.useRef(null),[_,z]=S.useState(0),[Z,se]=S.useState(0),ie=r.length>1,le=S.useCallback((s,M)=>!ie||M===s?s:(P.current&&window.clearTimeout(P.current),$(s),F(!0),P.current=window.setTimeout(()=>{$(null),F(!1),P.current=null},300),M),[ie]);S.useCallback(s=>{j(M=>le(M,s))},[le]);const H=S.useCallback(()=>{ie&&j(s=>le(s,(s-1+r.length)%r.length))},[ie,le,r.length]),re=S.useCallback(()=>{ie&&j(s=>le(s,(s+1)%r.length))},[ie,le,r.length]);S.useEffect(()=>{if(!b||!ie)return;const s=window.setInterval(()=>{j(M=>le(M,(M+1)%r.length))},i);return()=>{window.clearInterval(s)}},[b,ie,le,r.length,i]),S.useEffect(()=>()=>{P.current&&window.clearTimeout(P.current)},[]);const de=e.controls??{mode:"Off",icon:null},ce=de.mode==="On"?de.icon??null:null,ye=S.useMemo(()=>k(.01),[n]),ve=S.useMemo(()=>w.scalingValue(d??.02,n??!1),[d,n]),$e=S.useCallback((s,M)=>{var U,B,X,Q,pe;const Y=M==null?void 0:M.textMinHeightPx,ee=M==null?void 0:M.captionMinHeightPx,ne=M==null?void 0:M.dataMeasureAttrs;let oe=null;if(G){const{fontSettings:J,letterSpacing:ue,wordSpacing:ge,fontSizeLineHeight:Te,textAppearance:Ae,color:Le}=G;oe=a.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:O,width:"100%"},children:[a.jsx("div",{"data-controls":"textMarginTop",className:Se.control,style:{height:w.scalingValue(u??0,n??!1),width:"100%"}}),a.jsx("div",{...ne?{"data-testimonial-measure":"text"}:{},style:{fontFamily:J.fontFamily,fontWeight:J.fontWeight,fontStyle:J.fontStyle,...typeof Y=="number"&&Y>0?{minHeight:Y}:{},letterSpacing:w.scalingValue(ue,n),wordSpacing:w.scalingValue(ge,n),textAlign:R,fontSize:w.scalingValue(Te.fontSize,n),lineHeight:w.scalingValue(Te.lineHeight,n),textTransform:Ae.textTransform??"none",textDecoration:Ae.textDecoration??"none",fontVariant:Ae.fontVariant??"normal",color:Le,pointerEvents:"auto"},children:a.jsx(zt,{content:s.text??[]})})]},"text")}let T=null;if(y){const{fontSettings:J,letterSpacing:ue,wordSpacing:ge,fontSizeLineHeight:Te,textAppearance:Ae,color:Le}=y;T=a.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:O,width:"100%"},children:[a.jsx("div",{"data-controls":"captionMarginTop",className:Se.control,style:{height:w.scalingValue(E??0,n??!1),width:"100%"}}),a.jsx("div",{...ne?{"data-testimonial-measure":"caption"}:{},style:{fontFamily:J.fontFamily,fontWeight:J.fontWeight,fontStyle:J.fontStyle,...typeof ee=="number"&&ee>0?{minHeight:ee}:{},letterSpacing:w.scalingValue(ue,n),wordSpacing:w.scalingValue(ge,n),textAlign:R,fontSize:w.scalingValue(Te.fontSize,n),lineHeight:w.scalingValue(Te.lineHeight,n),textTransform:Ae.textTransform??"none",textDecoration:Ae.textDecoration??"none",fontVariant:Ae.fontVariant??"normal",color:Le,pointerEvents:"auto"},children:a.jsx(zt,{content:s.caption})})]},"caption")}return a.jsxs(a.Fragment,{children:[oe,a.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:O,width:"100%"},children:a.jsxs("div",{style:{width:w.scalingValue(x??0,n??!1),height:w.scalingValue(h??0,n??!1)},children:[((U=s.image)==null?void 0:U.url)&&a.jsx("div",{"data-controls":"imageMarginTop",className:Se.control,style:{height:w.scalingValue(m??0,n??!1),width:"100%"}}),((B=s.image)==null?void 0:B.url)&&a.jsx("img",{src:(X=s.image)==null?void 0:X.url,alt:(Q=s.image)==null?void 0:Q.name,className:Se.icon,style:{pointerEvents:"auto",objectFit:((pe=s.image)==null?void 0:pe.objectFit)||"cover",width:"100%",height:"100%"}})]})},"image"),T]})},[E,y,m,x,h,n,O,R,u,G]);if(S.useLayoutEffect(()=>{if(!I){z(0),se(0);return}const s=L.current;if(!s)return;const M=()=>{const ee=Array.from(s.querySelectorAll('[data-testimonial-measure="text"]')).reduce((oe,T)=>Math.max(oe,T.getBoundingClientRect().height),0),ne=Array.from(s.querySelectorAll('[data-testimonial-measure="caption"]')).reduce((oe,T)=>Math.max(oe,T.getBoundingClientRect().height),0);z(ee),se(ne)};M();const Y=new ResizeObserver(M);return Y.observe(s),()=>{Y.disconnect()}},[I,r,$e]),!V)return a.jsx(a.Fragment,{});const D=I?{textMinHeightPx:_,captionMinHeightPx:Z}:void 0;return a.jsx(a.Fragment,{children:a.jsxs("div",{className:Se.container,style:{flexDirection:"column",alignItems:"center"},children:[a.jsxs("div",{className:me(Se.elementsOverlay,Se.wrapper,!v&&Se.wrapperAutoplayOff),style:{width:w.scalingValue(p??0,n??!1),display:"flex",flexDirection:"column",alignItems:O,inset:0,pointerEvents:"none",height:"100%",boxSizing:"border-box",position:"relative"},children:[I&&a.jsx("div",{ref:L,"aria-hidden":!0,style:{position:"absolute",left:0,top:0,width:"100%",visibility:"hidden",pointerEvents:"none",zIndex:-1},children:r.map((s,M)=>a.jsx("div",{style:{width:"100%"},children:$e(s,{dataMeasureAttrs:!0})},M))}),a.jsxs("div",{className:Se.fadeStack,children:[W&&f&&a.jsx("div",{className:me(Se.fadeItemPrev,Se.fadeOut),children:$e(W,D)}),a.jsx("div",{className:me(Se.fadeItemCurrent,f?Se.fadeIn:void 0),children:$e(V,D)})]})]}),de.mode==="On"&&a.jsxs("div",{className:Se.controls,style:{position:"absolute",inset:0,pointerEvents:"none",display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:ye,paddingRight:ye},children:[a.jsx("div",{className:Se.arrow,style:{pointerEvents:"auto",width:ve,height:ve,"--arrow-hover-color":C},children:a.jsx("button",{type:"button",className:Se.arrowInner,onClick:H,"aria-label":"Previous testimonial",style:{pointerEvents:"auto"},children:ce&&a.jsx(tt,{url:ce,fill:g,hoverFill:C,className:me(Se.arrowImg,Se.mirror)})})}),a.jsx("div",{className:me(Se.arrow,Se.nextArrow),style:{pointerEvents:"auto",width:ve,height:ve,"--arrow-hover-color":C},children:a.jsx("button",{type:"button",className:Se.arrowInner,onClick:re,"aria-label":"Next testimonial",style:{pointerEvents:"auto"},children:ce&&a.jsx(tt,{url:ce,fill:g,hoverFill:C,className:Se.arrowImg})})})]})]})})},Ss=`import cn from 'classnames';
|
|
2094
|
+
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
2095
|
+
import classes from './TestimonialSingle.module.scss';
|
|
1910
2096
|
import { CommonComponentProps } from '../props';
|
|
1911
2097
|
import { RichTextRenderer } from '../helpers/RichTextRenderer/RichTextRenderer';
|
|
1912
2098
|
import { scalingValue } from '../utils/scalingValue';
|
|
2099
|
+
import { SvgImage } from '../helpers/SvgImage/SvgImage';
|
|
1913
2100
|
|
|
1914
2101
|
type TestimonialsProps = {
|
|
1915
2102
|
settings: TestimonialsSettings;
|
|
1916
|
-
content?:
|
|
2103
|
+
content?: TestimonialsItem[];
|
|
1917
2104
|
isEditor?: boolean;
|
|
2105
|
+
isPreviewMode?: boolean;
|
|
1918
2106
|
} & CommonComponentProps;
|
|
1919
2107
|
|
|
2108
|
+
type RenderItemContentOpts = {
|
|
2109
|
+
textMinHeightPx?: number;
|
|
2110
|
+
captionMinHeightPx?: number;
|
|
2111
|
+
dataMeasureAttrs?: boolean;
|
|
2112
|
+
};
|
|
2113
|
+
|
|
1920
2114
|
type CaptionStyleFromFlatSettings = {
|
|
1921
2115
|
fontSettings: {
|
|
1922
2116
|
fontFamily: string;
|
|
@@ -1942,28 +2136,64 @@ type CaptionStyleFromFlatSettings = {
|
|
|
1942
2136
|
color: string;
|
|
1943
2137
|
};
|
|
1944
2138
|
|
|
1945
|
-
export const TestimonialSingle = ({ settings, content, isEditor }: TestimonialsProps) => {
|
|
1946
|
-
const items = content
|
|
1947
|
-
const { autoplay,
|
|
1948
|
-
const isAutoplay =
|
|
2139
|
+
export const TestimonialSingle = ({ settings, content, isEditor, isPreviewMode }: TestimonialsProps) => {
|
|
2140
|
+
const items = content || [];
|
|
2141
|
+
const { autoplay, delay, align, width, imageMarginTop, textMarginTop, captionMarginTop, imageWidth, imageHeight, controlsWidth, controlsColor, controlsHoverColor } = settings;
|
|
2142
|
+
const isAutoplay = (() => {
|
|
2143
|
+
const v = autoplay as unknown;
|
|
2144
|
+
if (typeof v === 'boolean') return v;
|
|
2145
|
+
if (typeof v === 'string') {
|
|
2146
|
+
const s = v.trim().toLowerCase();
|
|
2147
|
+
return s === 'on' || s === 'true';
|
|
2148
|
+
}
|
|
2149
|
+
return false;
|
|
2150
|
+
})();
|
|
2151
|
+
const isAnimating = isAutoplay && !isPreviewMode;
|
|
2152
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
2153
|
+
const [prevIndex, setPrevIndex] = useState<number | null>(null);
|
|
2154
|
+
const [isFading, setIsFading] = useState(false);
|
|
2155
|
+
const fadeTimerRef = useRef<number | null>(null);
|
|
2156
|
+
|
|
2157
|
+
const overlayAlignItems = useMemo(() => {
|
|
2158
|
+
switch (align) {
|
|
2159
|
+
case 'center':
|
|
2160
|
+
return 'center' as const;
|
|
2161
|
+
case 'end':
|
|
2162
|
+
return 'flex-end' as const;
|
|
2163
|
+
case 'start':
|
|
2164
|
+
default:
|
|
2165
|
+
return 'flex-start' as const;
|
|
2166
|
+
}
|
|
2167
|
+
}, [align]);
|
|
2168
|
+
|
|
2169
|
+
const overlayTextAlign = useMemo(() => {
|
|
2170
|
+
switch (align) {
|
|
2171
|
+
case 'center':
|
|
2172
|
+
return 'center' as const;
|
|
2173
|
+
case 'end':
|
|
2174
|
+
return 'right' as const;
|
|
2175
|
+
case 'start':
|
|
2176
|
+
default:
|
|
2177
|
+
return 'left' as const;
|
|
2178
|
+
}
|
|
2179
|
+
}, [align]);
|
|
1949
2180
|
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
const textMinHeight = settings.textMinHeight ?? 0;
|
|
1956
|
-
const captionMarginTop = settings.captionMarginTop ?? 0;
|
|
2181
|
+
useEffect(() => {
|
|
2182
|
+
setActiveIndex(0);
|
|
2183
|
+
setPrevIndex(null);
|
|
2184
|
+
setIsFading(false);
|
|
2185
|
+
}, [items.length]);
|
|
1957
2186
|
|
|
1958
|
-
const
|
|
2187
|
+
const currentItem = items[activeIndex];
|
|
2188
|
+
const previousItem = prevIndex === null ? null : items[prevIndex];
|
|
1959
2189
|
|
|
1960
2190
|
const resolveCaptionStyle = (
|
|
1961
|
-
kind: '
|
|
2191
|
+
kind: 'text' | 'caption'
|
|
1962
2192
|
): CaptionStyles | undefined => {
|
|
1963
2193
|
const fromNested = (settings as any)?.styles?.[kind] as CaptionStyles | undefined;
|
|
1964
2194
|
if (fromNested) return fromNested;
|
|
1965
2195
|
|
|
1966
|
-
const prefix = kind === '
|
|
2196
|
+
const prefix = kind === 'text' ? 'text' : 'caption';
|
|
1967
2197
|
const fontFamily = (settings as any)?.[\`\${prefix}FontFamily\`];
|
|
1968
2198
|
const fontSettings = (settings as any)?.[\`\${prefix}FontSettings\`];
|
|
1969
2199
|
const letterSpacing = (settings as any)?.[\`\${prefix}LetterSpacing\`];
|
|
@@ -2011,15 +2241,247 @@ export const TestimonialSingle = ({ settings, content, isEditor }: TestimonialsP
|
|
|
2011
2241
|
return flat as CaptionStyles;
|
|
2012
2242
|
};
|
|
2013
2243
|
|
|
2014
|
-
const
|
|
2244
|
+
const textStyle = resolveCaptionStyle('text');
|
|
2015
2245
|
const captionStyle = resolveCaptionStyle('caption');
|
|
2016
|
-
const
|
|
2017
|
-
|
|
2018
|
-
|
|
2246
|
+
const scaled = (v: number) => scalingValue(v, isEditor ?? false);
|
|
2247
|
+
|
|
2248
|
+
const shouldMeasureTextExtents = items.length > 1 && (!!textStyle || !!captionStyle);
|
|
2249
|
+
const measureLayerRef = useRef<HTMLDivElement>(null);
|
|
2250
|
+
const [measuredTextMinPx, setMeasuredTextMinPx] = useState(0);
|
|
2251
|
+
const [measuredCaptionMinPx, setMeasuredCaptionMinPx] = useState(0);
|
|
2252
|
+
|
|
2253
|
+
const canSwitch = items.length > 1;
|
|
2254
|
+
const commitTransition = useCallback((currentIndex: number, nextIndex: number) => {
|
|
2255
|
+
if (!canSwitch) return currentIndex;
|
|
2256
|
+
if (nextIndex === currentIndex) return currentIndex;
|
|
2257
|
+
if (fadeTimerRef.current) window.clearTimeout(fadeTimerRef.current);
|
|
2258
|
+
setPrevIndex(currentIndex);
|
|
2259
|
+
setIsFading(true);
|
|
2260
|
+
fadeTimerRef.current = window.setTimeout(() => {
|
|
2261
|
+
setPrevIndex(null);
|
|
2262
|
+
setIsFading(false);
|
|
2263
|
+
fadeTimerRef.current = null;
|
|
2264
|
+
}, 300);
|
|
2265
|
+
return nextIndex;
|
|
2266
|
+
}, [canSwitch]);
|
|
2267
|
+
|
|
2268
|
+
const transitionToIndex = useCallback((nextIndex: number) => {
|
|
2269
|
+
setActiveIndex((currentIndex) => commitTransition(currentIndex, nextIndex));
|
|
2270
|
+
}, [commitTransition]);
|
|
2271
|
+
|
|
2272
|
+
const goPrev = useCallback(() => {
|
|
2273
|
+
if (!canSwitch) return;
|
|
2274
|
+
setActiveIndex((currentIndex) => commitTransition(currentIndex, (currentIndex - 1 + items.length) % items.length));
|
|
2275
|
+
}, [canSwitch, commitTransition, items.length]);
|
|
2276
|
+
|
|
2277
|
+
const goNext = useCallback(() => {
|
|
2278
|
+
if (!canSwitch) return;
|
|
2279
|
+
setActiveIndex((currentIndex) => commitTransition(currentIndex, (currentIndex + 1) % items.length));
|
|
2280
|
+
}, [canSwitch, commitTransition, items.length]);
|
|
2281
|
+
|
|
2282
|
+
useEffect(() => {
|
|
2283
|
+
if (!isAnimating || !canSwitch) return;
|
|
2284
|
+
const id = window.setInterval(() => {
|
|
2285
|
+
setActiveIndex((currentIndex) => commitTransition(currentIndex, (currentIndex + 1) % items.length));
|
|
2286
|
+
}, delay);
|
|
2287
|
+
return () => {
|
|
2288
|
+
window.clearInterval(id);
|
|
2289
|
+
};
|
|
2290
|
+
}, [isAnimating, canSwitch, commitTransition, items.length, delay]);
|
|
2291
|
+
|
|
2292
|
+
useEffect(() => {
|
|
2293
|
+
return () => {
|
|
2294
|
+
if (fadeTimerRef.current) window.clearTimeout(fadeTimerRef.current);
|
|
2295
|
+
};
|
|
2019
2296
|
}, []);
|
|
2020
2297
|
|
|
2021
|
-
|
|
2022
|
-
|
|
2298
|
+
const controls: TestimonialsSettings['controls'] = settings.controls ?? {
|
|
2299
|
+
mode: 'Off',
|
|
2300
|
+
icon: null,
|
|
2301
|
+
};
|
|
2302
|
+
|
|
2303
|
+
const customArrowsUrl = controls.mode === 'On' ? (controls.icon ?? null) : null;
|
|
2304
|
+
const controlsInsetX = useMemo(() => scaled(0.01), [isEditor]);
|
|
2305
|
+
const controlsIconSize = useMemo(
|
|
2306
|
+
() => scalingValue(controlsWidth ?? 0.02, isEditor ?? false),
|
|
2307
|
+
[controlsWidth, isEditor]
|
|
2308
|
+
);
|
|
2309
|
+
|
|
2310
|
+
const renderItemContent = useCallback((item: TestimonialsItem, opts?: RenderItemContentOpts) => {
|
|
2311
|
+
const textMinHeightPx = opts?.textMinHeightPx;
|
|
2312
|
+
const captionMinHeightPx = opts?.captionMinHeightPx;
|
|
2313
|
+
const dataMeasureAttrs = opts?.dataMeasureAttrs;
|
|
2314
|
+
let textSection = null;
|
|
2315
|
+
if (textStyle) {
|
|
2316
|
+
const { fontSettings, letterSpacing, wordSpacing, fontSizeLineHeight, textAppearance, color } = textStyle;
|
|
2317
|
+
textSection = (
|
|
2318
|
+
<div
|
|
2319
|
+
key="text"
|
|
2320
|
+
style={{
|
|
2321
|
+
display: 'flex',
|
|
2322
|
+
flexDirection: 'column',
|
|
2323
|
+
alignItems: overlayAlignItems,
|
|
2324
|
+
width: '100%',
|
|
2325
|
+
}}
|
|
2326
|
+
>
|
|
2327
|
+
<div
|
|
2328
|
+
data-controls="textMarginTop"
|
|
2329
|
+
className={classes.control}
|
|
2330
|
+
style={{ height: scalingValue(textMarginTop ?? 0, isEditor ?? false), width: '100%' }}
|
|
2331
|
+
/>
|
|
2332
|
+
<div
|
|
2333
|
+
{...(dataMeasureAttrs ? { 'data-testimonial-measure': 'text' as const } : {})}
|
|
2334
|
+
style={{
|
|
2335
|
+
fontFamily: fontSettings.fontFamily,
|
|
2336
|
+
fontWeight: fontSettings.fontWeight,
|
|
2337
|
+
fontStyle: fontSettings.fontStyle,
|
|
2338
|
+
...(typeof textMinHeightPx === 'number' && textMinHeightPx > 0 ? { minHeight: textMinHeightPx } : {}),
|
|
2339
|
+
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
2340
|
+
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
2341
|
+
textAlign: overlayTextAlign,
|
|
2342
|
+
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
2343
|
+
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
2344
|
+
textTransform: textAppearance.textTransform ?? 'none',
|
|
2345
|
+
textDecoration: textAppearance.textDecoration ?? 'none',
|
|
2346
|
+
fontVariant: textAppearance.fontVariant ?? 'normal',
|
|
2347
|
+
color,
|
|
2348
|
+
pointerEvents: 'auto',
|
|
2349
|
+
}}
|
|
2350
|
+
>
|
|
2351
|
+
<RichTextRenderer content={item.text ?? []} />
|
|
2352
|
+
</div>
|
|
2353
|
+
</div>
|
|
2354
|
+
);
|
|
2355
|
+
}
|
|
2356
|
+
|
|
2357
|
+
let captionSection = null;
|
|
2358
|
+
if (captionStyle) {
|
|
2359
|
+
const { fontSettings, letterSpacing, wordSpacing, fontSizeLineHeight, textAppearance, color } = captionStyle;
|
|
2360
|
+
captionSection = (
|
|
2361
|
+
<div
|
|
2362
|
+
key="caption"
|
|
2363
|
+
style={{
|
|
2364
|
+
display: 'flex',
|
|
2365
|
+
flexDirection: 'column',
|
|
2366
|
+
alignItems: overlayAlignItems,
|
|
2367
|
+
width: '100%',
|
|
2368
|
+
}}
|
|
2369
|
+
>
|
|
2370
|
+
<div
|
|
2371
|
+
data-controls="captionMarginTop"
|
|
2372
|
+
className={classes.control}
|
|
2373
|
+
style={{ height: scalingValue(captionMarginTop ?? 0, isEditor ?? false), width: '100%' }}
|
|
2374
|
+
/>
|
|
2375
|
+
<div
|
|
2376
|
+
{...(dataMeasureAttrs ? { 'data-testimonial-measure': 'caption' as const } : {})}
|
|
2377
|
+
style={{
|
|
2378
|
+
fontFamily: fontSettings.fontFamily,
|
|
2379
|
+
fontWeight: fontSettings.fontWeight,
|
|
2380
|
+
fontStyle: fontSettings.fontStyle,
|
|
2381
|
+
...(typeof captionMinHeightPx === 'number' && captionMinHeightPx > 0 ? { minHeight: captionMinHeightPx } : {}),
|
|
2382
|
+
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
2383
|
+
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
2384
|
+
textAlign: overlayTextAlign,
|
|
2385
|
+
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
2386
|
+
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
2387
|
+
textTransform: textAppearance.textTransform ?? 'none',
|
|
2388
|
+
textDecoration: textAppearance.textDecoration ?? 'none',
|
|
2389
|
+
fontVariant: textAppearance.fontVariant ?? 'normal',
|
|
2390
|
+
color,
|
|
2391
|
+
pointerEvents: 'auto',
|
|
2392
|
+
}}
|
|
2393
|
+
>
|
|
2394
|
+
<RichTextRenderer content={item.caption} />
|
|
2395
|
+
</div>
|
|
2396
|
+
</div>
|
|
2397
|
+
);
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
return (
|
|
2401
|
+
<>
|
|
2402
|
+
{textSection}
|
|
2403
|
+
<div
|
|
2404
|
+
key="image"
|
|
2405
|
+
style={{
|
|
2406
|
+
display: 'flex',
|
|
2407
|
+
flexDirection: 'column',
|
|
2408
|
+
alignItems: overlayAlignItems,
|
|
2409
|
+
width: '100%',
|
|
2410
|
+
}}
|
|
2411
|
+
>
|
|
2412
|
+
|
|
2413
|
+
<div style={{ width: scalingValue(imageWidth ?? 0, isEditor ?? false), height: scalingValue(imageHeight ?? 0, isEditor ?? false)}}>
|
|
2414
|
+
{item.image?.url && <div
|
|
2415
|
+
data-controls="imageMarginTop"
|
|
2416
|
+
className={classes.control}
|
|
2417
|
+
style={{ height: scalingValue(imageMarginTop ?? 0, isEditor ?? false), width: '100%' }}
|
|
2418
|
+
/>}
|
|
2419
|
+
{item.image?.url && <img
|
|
2420
|
+
src={item.image?.url}
|
|
2421
|
+
alt={item.image?.name}
|
|
2422
|
+
className={classes.icon}
|
|
2423
|
+
style={{
|
|
2424
|
+
pointerEvents: 'auto',
|
|
2425
|
+
objectFit: item.image?.objectFit || 'cover',
|
|
2426
|
+
width: '100%',
|
|
2427
|
+
height: '100%',
|
|
2428
|
+
}}
|
|
2429
|
+
/>}
|
|
2430
|
+
</div>
|
|
2431
|
+
</div>
|
|
2432
|
+
{captionSection}
|
|
2433
|
+
</>
|
|
2434
|
+
);
|
|
2435
|
+
}, [
|
|
2436
|
+
captionMarginTop,
|
|
2437
|
+
captionStyle,
|
|
2438
|
+
imageMarginTop,
|
|
2439
|
+
imageWidth,
|
|
2440
|
+
imageHeight,
|
|
2441
|
+
isEditor,
|
|
2442
|
+
overlayAlignItems,
|
|
2443
|
+
overlayTextAlign,
|
|
2444
|
+
textMarginTop,
|
|
2445
|
+
textStyle,
|
|
2446
|
+
]);
|
|
2447
|
+
|
|
2448
|
+
useLayoutEffect(() => {
|
|
2449
|
+
if (!shouldMeasureTextExtents) {
|
|
2450
|
+
setMeasuredTextMinPx(0);
|
|
2451
|
+
setMeasuredCaptionMinPx(0);
|
|
2452
|
+
return;
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
const root = measureLayerRef.current;
|
|
2456
|
+
if (!root) return;
|
|
2457
|
+
|
|
2458
|
+
const readExtents = () => {
|
|
2459
|
+
const maxText = Array.from(root.querySelectorAll('[data-testimonial-measure="text"]')).reduce(
|
|
2460
|
+
(acc, el) => Math.max(acc, el.getBoundingClientRect().height),
|
|
2461
|
+
0
|
|
2462
|
+
);
|
|
2463
|
+
const maxCaption = Array.from(root.querySelectorAll('[data-testimonial-measure="caption"]')).reduce(
|
|
2464
|
+
(acc, el) => Math.max(acc, el.getBoundingClientRect().height),
|
|
2465
|
+
0
|
|
2466
|
+
);
|
|
2467
|
+
setMeasuredTextMinPx(maxText);
|
|
2468
|
+
setMeasuredCaptionMinPx(maxCaption);
|
|
2469
|
+
};
|
|
2470
|
+
|
|
2471
|
+
readExtents();
|
|
2472
|
+
const ro = new ResizeObserver(readExtents);
|
|
2473
|
+
ro.observe(root);
|
|
2474
|
+
return () => {
|
|
2475
|
+
ro.disconnect();
|
|
2476
|
+
};
|
|
2477
|
+
}, [shouldMeasureTextExtents, items, renderItemContent]);
|
|
2478
|
+
|
|
2479
|
+
if (!currentItem) return <></>;
|
|
2480
|
+
|
|
2481
|
+
const visibleContentOpts: RenderItemContentOpts | undefined = shouldMeasureTextExtents
|
|
2482
|
+
? { textMinHeightPx: measuredTextMinPx, captionMinHeightPx: measuredCaptionMinPx }
|
|
2483
|
+
: undefined;
|
|
2484
|
+
|
|
2023
2485
|
return (
|
|
2024
2486
|
<>
|
|
2025
2487
|
<div
|
|
@@ -2030,193 +2492,152 @@ export const TestimonialSingle = ({ settings, content, isEditor }: TestimonialsP
|
|
|
2030
2492
|
}}
|
|
2031
2493
|
>
|
|
2032
2494
|
<div
|
|
2033
|
-
className={cn(classes.wrapper, !isAutoplay && classes.wrapperAutoplayOff)}
|
|
2495
|
+
className={cn(classes.elementsOverlay, classes.wrapper, !isAutoplay && classes.wrapperAutoplayOff)}
|
|
2034
2496
|
style={{
|
|
2035
|
-
width: scalingValue(
|
|
2497
|
+
width: scalingValue(width ?? 0, isEditor ?? false),
|
|
2498
|
+
display: 'flex',
|
|
2499
|
+
flexDirection: 'column',
|
|
2500
|
+
alignItems: overlayAlignItems,
|
|
2501
|
+
inset: 0,
|
|
2502
|
+
pointerEvents: 'none',
|
|
2503
|
+
height: '100%',
|
|
2504
|
+
boxSizing: 'border-box',
|
|
2505
|
+
position: 'relative',
|
|
2036
2506
|
}}
|
|
2037
2507
|
>
|
|
2508
|
+
{shouldMeasureTextExtents && (
|
|
2509
|
+
<div
|
|
2510
|
+
ref={measureLayerRef}
|
|
2511
|
+
aria-hidden
|
|
2512
|
+
style={{
|
|
2513
|
+
position: 'absolute',
|
|
2514
|
+
left: 0,
|
|
2515
|
+
top: 0,
|
|
2516
|
+
width: '100%',
|
|
2517
|
+
visibility: 'hidden',
|
|
2518
|
+
pointerEvents: 'none',
|
|
2519
|
+
zIndex: -1,
|
|
2520
|
+
}}
|
|
2521
|
+
>
|
|
2522
|
+
{items.map((item, index) => (
|
|
2523
|
+
<div key={index} style={{ width: '100%' }}>
|
|
2524
|
+
{renderItemContent(item, { dataMeasureAttrs: true })}
|
|
2525
|
+
</div>
|
|
2526
|
+
))}
|
|
2527
|
+
</div>
|
|
2528
|
+
)}
|
|
2529
|
+
<div className={classes.fadeStack}>
|
|
2530
|
+
{previousItem && isFading && (
|
|
2531
|
+
<div className={cn(classes.fadeItemPrev, classes.fadeOut)}>
|
|
2532
|
+
{renderItemContent(previousItem, visibleContentOpts)}
|
|
2533
|
+
</div>
|
|
2534
|
+
)}
|
|
2535
|
+
<div className={cn(classes.fadeItemCurrent, isFading ? classes.fadeIn : undefined)}>
|
|
2536
|
+
{renderItemContent(currentItem, visibleContentOpts)}
|
|
2537
|
+
</div>
|
|
2538
|
+
</div>
|
|
2539
|
+
</div>
|
|
2540
|
+
{controls.mode === 'On' && (
|
|
2038
2541
|
<div
|
|
2542
|
+
className={classes.controls}
|
|
2039
2543
|
style={{
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2544
|
+
position: 'absolute',
|
|
2545
|
+
inset: 0,
|
|
2546
|
+
pointerEvents: 'none',
|
|
2547
|
+
display: 'flex',
|
|
2548
|
+
alignItems: 'center',
|
|
2549
|
+
justifyContent: 'space-between',
|
|
2550
|
+
paddingLeft: controlsInsetX,
|
|
2551
|
+
paddingRight: controlsInsetX,
|
|
2045
2552
|
}}
|
|
2046
2553
|
>
|
|
2047
|
-
{item.image?.url && (
|
|
2048
|
-
<img
|
|
2049
|
-
className={classes.image}
|
|
2050
|
-
src={item.image?.url}
|
|
2051
|
-
alt={item.image?.name}
|
|
2052
|
-
style={{objectFit: item.image?.objectFit || 'cover'}}
|
|
2053
|
-
/>
|
|
2054
|
-
)}
|
|
2055
|
-
<div className={classes.cover} />
|
|
2056
2554
|
<div
|
|
2057
|
-
className={classes.
|
|
2555
|
+
className={classes.arrow}
|
|
2058
2556
|
style={{
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2557
|
+
pointerEvents: 'auto',
|
|
2558
|
+
width: controlsIconSize,
|
|
2559
|
+
height: controlsIconSize,
|
|
2560
|
+
['--arrow-hover-color' as string]: controlsHoverColor,
|
|
2063
2561
|
}}
|
|
2064
2562
|
>
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
fontFamily: fontSettings.fontFamily,
|
|
2108
|
-
fontWeight: fontSettings.fontWeight,
|
|
2109
|
-
fontStyle: fontSettings.fontStyle,
|
|
2110
|
-
minHeight: scalingValue(textMinHeight, isEditor ?? false),
|
|
2111
|
-
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
2112
|
-
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
2113
|
-
textAlign,
|
|
2114
|
-
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
2115
|
-
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
2116
|
-
textTransform: textAppearance.textTransform ?? 'none',
|
|
2117
|
-
textDecoration: textAppearance.textDecoration ?? 'none',
|
|
2118
|
-
fontVariant: textAppearance.fontVariant ?? 'normal',
|
|
2119
|
-
color,
|
|
2120
|
-
pointerEvents: 'auto'
|
|
2121
|
-
}}
|
|
2122
|
-
>
|
|
2123
|
-
<RichTextRenderer content={item.imageCaption ?? item.text ?? []} />
|
|
2124
|
-
</div>
|
|
2125
|
-
</div>
|
|
2126
|
-
);
|
|
2127
|
-
}
|
|
2128
|
-
if (key === 'caption' && captionStyle) {
|
|
2129
|
-
const { widthSettings, fontSettings, letterSpacing, textAlign, wordSpacing, fontSizeLineHeight, textAppearance, color } =
|
|
2130
|
-
captionStyle;
|
|
2131
|
-
return (
|
|
2132
|
-
<div key="caption" style={{ order: orderIndex, zIndex: orderIndex }}>
|
|
2133
|
-
<div
|
|
2134
|
-
data-controls="captionMarginTop"
|
|
2135
|
-
className={classes.control}
|
|
2136
|
-
style={{ height: scalingValue(captionMarginTop, isEditor ?? false) }}
|
|
2137
|
-
/>
|
|
2138
|
-
<div
|
|
2139
|
-
data-styles="caption"
|
|
2140
|
-
className={classes.caption}
|
|
2141
|
-
style={{
|
|
2142
|
-
fontFamily: fontSettings.fontFamily,
|
|
2143
|
-
fontWeight: fontSettings.fontWeight,
|
|
2144
|
-
fontStyle: fontSettings.fontStyle,
|
|
2145
|
-
minHeight: 0,
|
|
2146
|
-
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
2147
|
-
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
2148
|
-
textAlign,
|
|
2149
|
-
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
2150
|
-
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
2151
|
-
textTransform: textAppearance.textTransform ?? 'none',
|
|
2152
|
-
textDecoration: textAppearance.textDecoration ?? 'none',
|
|
2153
|
-
fontVariant: textAppearance.fontVariant ?? 'normal',
|
|
2154
|
-
color,
|
|
2155
|
-
pointerEvents: 'auto'
|
|
2156
|
-
}}
|
|
2157
|
-
>
|
|
2158
|
-
<RichTextRenderer content={item.caption} />
|
|
2159
|
-
</div>
|
|
2160
|
-
</div>
|
|
2161
|
-
);
|
|
2162
|
-
}
|
|
2163
|
-
return null;
|
|
2164
|
-
})}
|
|
2563
|
+
<button
|
|
2564
|
+
type="button"
|
|
2565
|
+
className={classes.arrowInner}
|
|
2566
|
+
onClick={goPrev}
|
|
2567
|
+
aria-label="Previous testimonial"
|
|
2568
|
+
style={{ pointerEvents: 'auto' }}
|
|
2569
|
+
>
|
|
2570
|
+
{customArrowsUrl && (
|
|
2571
|
+
<SvgImage
|
|
2572
|
+
url={customArrowsUrl}
|
|
2573
|
+
fill={controlsColor}
|
|
2574
|
+
hoverFill={controlsHoverColor}
|
|
2575
|
+
className={cn(classes.arrowImg, classes.mirror)}
|
|
2576
|
+
/>
|
|
2577
|
+
)}
|
|
2578
|
+
</button>
|
|
2579
|
+
</div>
|
|
2580
|
+
<div
|
|
2581
|
+
className={cn(classes.arrow, classes.nextArrow)}
|
|
2582
|
+
style={{
|
|
2583
|
+
pointerEvents: 'auto',
|
|
2584
|
+
width: controlsIconSize,
|
|
2585
|
+
height: controlsIconSize,
|
|
2586
|
+
['--arrow-hover-color' as string]: controlsHoverColor,
|
|
2587
|
+
}}
|
|
2588
|
+
>
|
|
2589
|
+
<button
|
|
2590
|
+
type="button"
|
|
2591
|
+
className={classes.arrowInner}
|
|
2592
|
+
onClick={goNext}
|
|
2593
|
+
aria-label="Next testimonial"
|
|
2594
|
+
style={{ pointerEvents: 'auto' }}
|
|
2595
|
+
>
|
|
2596
|
+
{customArrowsUrl && (
|
|
2597
|
+
<SvgImage
|
|
2598
|
+
url={customArrowsUrl}
|
|
2599
|
+
fill={controlsColor}
|
|
2600
|
+
hoverFill={controlsHoverColor}
|
|
2601
|
+
className={classes.arrowImg}
|
|
2602
|
+
/>
|
|
2603
|
+
)}
|
|
2604
|
+
</button>
|
|
2165
2605
|
</div>
|
|
2166
2606
|
</div>
|
|
2167
|
-
</div>
|
|
2168
|
-
{settings.controls?.isActive === 'visible' && settings.autoplay === 'off' && (
|
|
2169
|
-
// TODO: Add controls
|
|
2170
|
-
<div>Controls</div>
|
|
2171
2607
|
)}
|
|
2172
2608
|
</div>
|
|
2173
2609
|
</>
|
|
2174
2610
|
);
|
|
2175
2611
|
};
|
|
2176
2612
|
|
|
2613
|
+
|
|
2177
2614
|
export type TestimonialsItem = {
|
|
2178
2615
|
image?: {
|
|
2179
2616
|
url?: string;
|
|
2180
2617
|
name?: string;
|
|
2181
2618
|
objectFit?: 'cover' | 'contain';
|
|
2182
2619
|
};
|
|
2183
|
-
icon?: {
|
|
2184
|
-
url?: string;
|
|
2185
|
-
name?: string;
|
|
2186
|
-
objectFit?: 'cover' | 'contain';
|
|
2187
|
-
};
|
|
2188
2620
|
text: any[];
|
|
2189
|
-
imageCaption?: any[];
|
|
2190
2621
|
caption: any[];
|
|
2191
2622
|
};
|
|
2192
2623
|
|
|
2193
|
-
type Padding = {
|
|
2194
|
-
top: number;
|
|
2195
|
-
right: number;
|
|
2196
|
-
bottom: number;
|
|
2197
|
-
left: number;
|
|
2198
|
-
};
|
|
2199
|
-
|
|
2200
2624
|
type TestimonialsSettings = {
|
|
2201
2625
|
autoplay: 'on' | 'off';
|
|
2202
|
-
|
|
2626
|
+
delay: number;
|
|
2627
|
+
align: 'start' | 'center' | 'end';
|
|
2203
2628
|
width: number;
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2629
|
+
imageMarginTop?: number;
|
|
2630
|
+
imageWidth?: number;
|
|
2631
|
+
imageHeight?: number;
|
|
2207
2632
|
textMarginTop?: number;
|
|
2208
|
-
textMinHeight?: number;
|
|
2209
2633
|
captionMarginTop?: number;
|
|
2210
|
-
padding: Padding;
|
|
2211
2634
|
styles: TestimonialsStyles;
|
|
2635
|
+
controlsColor: string;
|
|
2636
|
+
controlsHoverColor: string;
|
|
2637
|
+
controlsWidth?: number;
|
|
2212
2638
|
controls: {
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
align: 'top-center' | 'top-left' | 'top-right' | 'bottom-center' | 'bottom-left' | 'bottom-right' | 'center-center' | 'center-left' | 'center-right';
|
|
2216
|
-
gap: number;
|
|
2217
|
-
scale: number;
|
|
2218
|
-
color: string;
|
|
2219
|
-
hover: string;
|
|
2639
|
+
mode?: 'On' | 'Off';
|
|
2640
|
+
icon?: string | null;
|
|
2220
2641
|
};
|
|
2221
2642
|
};
|
|
2222
2643
|
|
|
@@ -2246,10 +2667,6 @@ type CaptionStyles = {
|
|
|
2246
2667
|
};
|
|
2247
2668
|
|
|
2248
2669
|
type TestimonialsStyles = {
|
|
2249
|
-
imageCaption?: CaptionStyles;
|
|
2250
2670
|
text: CaptionStyles;
|
|
2251
2671
|
caption: CaptionStyles;
|
|
2252
|
-
};
|
|
2253
|
-
|
|
2254
|
-
type ElementOrderKey = 'text' | 'icon' | 'caption';
|
|
2255
|
-
`,Eo={fontSettings:{type:"object",scope:"common",display:{type:"font-settings"},properties:{fontWeight:{type:"number",scope:"common"},fontStyle:{type:"string",scope:"common"}}}},Ct={fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"},gs={type:"object",version:1,settings:{sizing:"auto manual",properties:{autoplay:{type:"string",scope:"common",title:"Autoplay",display:{type:"switch-toggle"},enum:["on","off"]},speed:{type:"string",scope:"layout",title:"Speed",display:{type:"speed-control"},min:1,max:10},width:{type:"number",scope:"layout",title:"Card width",min:0,max:400,display:{type:"range-control"}},padding:{type:"object",scope:"layout",title:"Padding",display:{type:"padding-controls"}},iconMarginTop:{type:"number",scope:"layout",title:"Icon margin top",min:0,max:100,display:{type:"range-control"}},iconAlign:{type:"string",scope:"common",title:"Icon align",enum:["left","center","right"],display:{type:"align-group",direction:"vertical"}},iconScale:{type:"number",scope:"layout",title:"Icon scale",min:50,max:600,display:{type:"range-control"}},textMarginTop:{type:"number",scope:"layout",title:"Text margin top",min:0,max:100,display:{type:"range-control"}},textMinHeight:{type:"number",scope:"layout",title:"Text min height",min:0,max:300,display:{type:"range-control"}},captionMarginTop:{type:"number",scope:"layout",title:"Caption margin top",min:0,max:100,display:{type:"range-control"}},imageCaptionFontFamily:{type:"string",scope:"common",title:"Text Font Family",display:{type:"font-family-select"}},imageCaptionFontSettings:{...Eo.fontSettings,scope:"common",title:"Text",display:{type:"font-settings-weight"}},imageCaptionFontSize:{type:"number",scope:"layout",title:"Text Font Size",display:{type:"font-size"}},imageCaptionLineHeight:{type:"number",scope:"layout",title:"Text Line Height",display:{type:"line-height-input"}},imageCaptionLetterSpacing:{type:"number",scope:"layout",title:"Text Letter Spacing",display:{type:"letter-spacing-input"}},imageCaptionWordSpacing:{type:"number",scope:"layout",title:"Text Word Spacing",display:{type:"word-spacing-input"}},imageCaptionTextAppearance:{type:"object",scope:"layout",title:"Text Text Appearance",display:{type:"text-appearance"}},imageCaptionTextAlign:{display:{type:"text-align-control"},type:"string",scope:"common",title:"Text Align",enum:["left","center","right"]},imageCaptionColor:{display:{type:"style-panel-color-picker"},type:"string",scope:"common",title:"Text Color"},captionFontFamily:{type:"string",scope:"common",title:"Caption Font Family",display:{type:"font-family-select"}},captionFontSettings:{...Eo.fontSettings,scope:"common",title:"Caption",display:{type:"font-settings-weight"}},captionFontSize:{type:"number",scope:"layout",title:"Caption Font Size",display:{type:"font-size"}},captionLineHeight:{type:"number",scope:"layout",title:"Caption Line Height",display:{type:"line-height-input"}},captionLetterSpacing:{type:"number",scope:"layout",title:"Caption Letter Spacing",display:{type:"letter-spacing-input"}},captionWordSpacing:{type:"number",scope:"layout",title:"Caption Word Spacing",display:{type:"word-spacing-input"}},captionTextAppearance:{type:"object",scope:"layout",title:"Caption Text Appearance",display:{type:"text-appearance"}},captionTextAlign:{display:{type:"text-align-control"},type:"string",scope:"common",title:"Caption Align",enum:["left","center","right"]},captionColor:{display:{type:"style-panel-color-picker"},type:"string",scope:"common",title:"Caption Color"}},defaults:{autoplay:"off",iconAlign:"left",iconScale:100,imageCaptionFontFamily:Ct.fontSettings.fontFamily,imageCaptionFontSettings:{fontWeight:Ct.fontSettings.fontWeight,fontStyle:Ct.fontSettings.fontStyle},imageCaptionLetterSpacing:Ct.letterSpacing,imageCaptionWordSpacing:Ct.wordSpacing,imageCaptionTextAlign:Ct.textAlign,imageCaptionTextAppearance:Ct.textAppearance,imageCaptionColor:Ct.color,captionFontFamily:Ct.fontSettings.fontFamily,captionFontSettings:{fontWeight:Ct.fontSettings.fontWeight,fontStyle:Ct.fontSettings.fontStyle},captionLetterSpacing:Ct.letterSpacing,captionWordSpacing:Ct.wordSpacing,captionTextAlign:Ct.textAlign,captionTextAppearance:Ct.textAppearance,captionColor:Ct.color},layoutDefaults:{m:{speed:5,width:.15,height:.2,corners:.005,stroke:.001,padding:{top:0,right:0,bottom:0,left:0},iconMarginTop:0,textMarginTop:0,textMinHeight:.01,captionMarginTop:0},d:{speed:5,width:.15,height:.2,corners:.005,stroke:.001,padding:{top:0,right:0,bottom:0,left:0},iconMarginTop:0,textMarginTop:0,textMinHeight:.01,captionMarginTop:0}},displayRules:[],layout:["__componentName__","autoplay","speed","width","padding","iconMarginTop","iconAlign","iconScale","textMarginTop","textMinHeight","captionMarginTop"]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","autoplay"]},{type:"row",items:["speed"]},{type:"row",items:[{type:"group",title:"",items:["width"]},{type:"group",title:"",items:["padding"]}]},{type:"row",items:[{type:"group",title:"",items:["iconMarginTop","iconAlign","iconScale"]}]},{type:"row",items:[{type:"group",title:"",items:["textMarginTop","textMinHeight","captionMarginTop"]}]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:[{type:"group",title:"",items:[{type:"row",items:["imageCaptionFontFamily","imageCaptionFontSettings"]},{type:"row",items:["imageCaptionFontSize","imageCaptionLineHeight","imageCaptionLetterSpacing","imageCaptionWordSpacing"]},"imageCaptionTextAppearance",{type:"row",items:["imageCaptionTextAlign","imageCaptionColor"]}]},{type:"group",title:"",items:[{type:"row",items:["captionFontFamily","captionFontSettings"]},{type:"row",items:["captionFontSize","captionLineHeight","captionLetterSpacing","captionWordSpacing"]},"captionTextAppearance",{type:"row",items:["captionTextAlign","captionColor"]}]}]}],paletteBookmark:{items:["imageCaptionColor","captionColor"],panelIds:["general","typeStyle"]},content:{properties:{items:{type:"array",scope:"common",display:{type:"content-items",addItemFromFileExplorer:!1,defaultWidth:500},items:{type:"object",properties:{image:{type:"object",title:"Image",display:{minWidth:58,maxWidth:108,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}}},icon:{type:"object",title:"Icon",display:{minWidth:58,maxWidth:108,type:"media-input"},properties:{url:{type:"string"},name:{type:"string"},objectFit:{type:"string",enum:["cover","contain"]}}},imageCaption:{type:"array",title:"Text",display:{type:"rich-text",minWidth:300,maxWidth:550}},caption:{type:"array",title:"Caption",display:{type:"rich-text",minWidth:300,maxWidth:550}}}}}},defaults:{items:[{image:{},icon:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},imageCaption:[{type:"paragraph",children:[{text:"Innovative solutions redefine connectivity, enhancing user experience through seamless digital integration and efficiency."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{},icon:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},imageCaption:[{type:"paragraph",children:[{text:"In the realm of digital innovation, transformative algorithms redefine connectivity, propelling unprecedented technological advancements."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{},icon:{objectFit:"cover",url:"https://cdn.cntrl.site/projects/01GJ2SPNXG3V5P35ZA35YM1JTW/articles-assets/01KFXFA89BHQHVAJNAZCJMWDA1.png",name:""},imageCaption:[{type:"paragraph",children:[{text:"Harnessing innovative algorithms, this paradigm shift enhances computational efficiency and optimizes data processing frameworks."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]}]}}},ms={element:us,id:"testimonial single",name:"Testimonial Single",version:1,preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/testimonials.png"},defaultSize:{width:700,height:300},schema:gs,sourceCode:ds,assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.arrowsImgUrl"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.imageCaption.fontSettings"},{path:"styles.caption.fontSettings"}]}},fs=[Ea,Va,$l,Il,Ol,os,ms];exports.components=fs;exports.isSchemaV1=Sr;
|
|
2672
|
+
};`,Cs="data:image/svg+xml,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 18" width="10" height="18"><path fill="#000000" fill-rule="evenodd" d="M-3.70710678,4.29289322 C-3.34662282,3.93240926 -2.77939176,3.90467972 -2.38710056,4.20970461 L-2.29289322,4.29289322 L5,11.585 L12.2928932,4.29289322 C12.6533772,3.93240926 13.2206082,3.90467972 13.6128994,4.20970461 L13.7071068,4.29289322 C14.0675907,4.65337718 14.0953203,5.22060824 13.7902954,5.61289944 L13.7071068,5.70710678 L5.70710678,13.7071068 C5.34662282,14.0675907 4.77939176,14.0953203 4.38710056,13.7902954 L4.29289322,13.7071068 L-3.70710678,5.70710678 C-4.09763107,5.31658249 -4.09763107,4.68341751 -3.70710678,4.29289322 Z" transform="translate(5, 9) rotate(-90) translate(-5, -9)"/></svg>'),Eo={fontSettings:{type:"object",scope:"common",display:{type:"font-settings"},properties:{fontWeight:{type:"number",scope:"common"},fontStyle:{type:"string",scope:"common"}}}},_e={fontSettings:{fontFamily:"Arial",fontWeight:400,fontStyle:"normal"},letterSpacing:0,wordSpacing:0,textAlign:"left",textAppearance:{textTransform:"none",textDecoration:"none",fontVariant:"normal"},color:"#000000"},ws={type:"object",version:1,settings:{sizing:"auto manual",properties:{autoplay:{type:"string",scope:"common",title:"Autoplay",display:{type:"switch-control"},enum:["on","off"]},delay:{type:"number",scope:"common",title:"Delay(ms)",display:{type:"step-control"},step:500,min:1e3,max:5e3},align:{type:"string",title:"Align",display:{type:"align-group",direction:"horizontal"},enum:["start","center","end"]},width:{type:"number",scope:"layout",title:"width",min:0,max:1e3,display:{type:"range-control"}},imageWidth:{type:"number",scope:"layout",title:"width",min:0,max:300,display:{type:"range-control"}},imageHeight:{type:"number",scope:"layout",title:"height",min:0,max:300,display:{type:"range-control"}},imageMarginTop:{type:"number",scope:"layout",title:"Image margin top",min:0,max:100,display:{type:"range-control"}},textMinHeight:{type:"number",scope:"layout",title:"Text",min:0,max:300,display:{type:"range-control"}},textMarginTop:{type:"number",scope:"layout",title:"Text margin top",min:0,max:100,display:{type:"range-control"}},controls:{type:"object",scope:"common",title:"Controls",display:{type:"button-icon-switch"},properties:{mode:{type:"string",enum:["On","Off"]},icon:{type:["string","null"],title:"Icon",display:{type:"settings-image-input"}}}},controlsWidth:{type:"number",scope:"layout",title:"Controls width",min:0,max:100,display:{type:"range-control"}},controlsColor:{type:"string",scope:"common",title:"Controls Color",display:{type:"settings-color-picker"}},controlsHoverColor:{type:"string",scope:"common",title:"Controls Hover",display:{type:"settings-color-picker"}},captionMinHeight:{type:"number",scope:"layout",title:"Caption",min:0,max:100,display:{type:"range-control"}},captionMarginTop:{type:"number",scope:"layout",title:"Caption margin top",min:0,max:100,display:{type:"range-control"}},captionFontFamily:{type:"string",scope:"common",title:"Caption",display:{type:"font-family-select"}},captionFontSettings:{...Eo.fontSettings,scope:"common",title:"",display:{type:"font-settings-weight"}},captionFontSize:{type:"number",scope:"layout",title:"Caption Font Size",display:{type:"font-size"}},captionLineHeight:{type:"number",scope:"layout",title:"Caption Line Height",display:{type:"line-height-input"}},captionLetterSpacing:{type:"number",scope:"layout",title:"Caption Letter Spacing",display:{type:"letter-spacing-input"}},captionWordSpacing:{type:"number",scope:"layout",title:"Caption Word Spacing",display:{type:"word-spacing-input"}},captionTextAppearance:{type:"object",scope:"layout",title:"Caption Text Appearance",display:{type:"text-appearance"}},captionTextAlign:{display:{type:"text-align-control"},type:"string",scope:"common",title:"Caption Align",enum:["left","center","right"]},captionColor:{display:{type:"style-panel-color-picker"},type:"string",scope:"common",title:"Caption Color"},textFontFamily:{type:"string",scope:"common",title:"Text",display:{type:"font-family-select"}},textFontSettings:{...Eo.fontSettings,scope:"common",title:"",display:{type:"font-settings-weight"}},textFontSize:{type:"number",scope:"layout",title:"Text Font Size",display:{type:"font-size"}},textLineHeight:{type:"number",scope:"layout",title:"Text Line Height",display:{type:"line-height-input"}},textLetterSpacing:{type:"number",scope:"layout",title:"Text Letter Spacing",display:{type:"letter-spacing-input"}},textWordSpacing:{type:"number",scope:"layout",title:"Text Word Spacing",display:{type:"word-spacing-input"}},textTextAppearance:{type:"object",scope:"layout",title:"Text Text Appearance",display:{type:"text-appearance"}},textTextAlign:{display:{type:"text-align-control"},type:"string",scope:"common",title:"Text Align",enum:["left","center","right"]},textColor:{display:{type:"style-panel-color-picker"},type:"string",scope:"common",title:"Text Color"}},defaults:{autoplay:"off",controls:{mode:"Off",icon:Cs},controlsColor:"#000000",controlsHoverColor:"#EABC01",align:"center",textFontFamily:_e.fontSettings.fontFamily,textFontSettings:{fontWeight:_e.fontSettings.fontWeight,fontStyle:_e.fontSettings.fontStyle},textLetterSpacing:_e.letterSpacing,textWordSpacing:_e.wordSpacing,textTextAlign:_e.textAlign,textTextAppearance:_e.textAppearance,textColor:_e.color,captionFontFamily:_e.fontSettings.fontFamily,captionFontSettings:{fontWeight:_e.fontSettings.fontWeight,fontStyle:_e.fontSettings.fontStyle},captionLetterSpacing:_e.letterSpacing,captionWordSpacing:_e.wordSpacing,captionTextAlign:_e.textAlign,captionTextAppearance:_e.textAppearance,captionColor:_e.color},layoutDefaults:{m:{delay:2500,width:.15,height:.2,corners:.005,stroke:.001,imageMarginTop:.01,textMinHeight:.1,captionMarginTop:.01,textMarginTop:0,textFontSize:.01,captionFontSize:.01,textLineHeight:.01,captionLineHeight:.01,imageWidth:.05,imageHeight:.05,controlsWidth:.02,captionMinHeight:.01},d:{delay:2500,width:.15,height:.2,corners:.005,stroke:.001,imageMarginTop:.01,textMarginTop:0,textMinHeight:.08,captionMarginTop:.01,textFontSize:.01,captionFontSize:.01,textLineHeight:.01,captionLineHeight:.01,imageWidth:.05,imageHeight:.05,controlsWidth:.02,captionMinHeight:.01}},displayRules:[{if:{name:"autoplay",value:"off"},then:{name:"properties.delay.display.enabled",value:!1}}],layout:["__componentName__","autoplay","delay","width","imageMarginTop","textMarginTop","captionMarginTop"]},panels:[{id:"general",icon:"cursor",title:"General",tooltip:"General Settings",layout:[{type:"row",items:["__componentName__","autoplay"]},{type:"row",items:["controls",{type:"group",title:"",items:["delay","width"]}]},{type:"row",items:["controlsWidth","align"]},{type:"row",title:"Image Container",items:["imageWidth","imageHeight"]}]},{id:"typeStyle",icon:"text-icon",title:"Type Style",tooltip:"Typography",layout:["textFontFamily","textFontSettings",{type:"group",title:"",items:["text",{type:"row",items:["textFontSize","textLineHeight","textLetterSpacing","textWordSpacing"]},"textTextAppearance"]},"captionFontFamily","captionFontSettings",{type:"group",title:"",items:["caption",{type:"row",items:["captionFontSize","captionLineHeight","captionLetterSpacing","captionWordSpacing"]},"captionTextAppearance"]}]}],paletteBookmark:{items:["textColor","captionColor","controlsColor","controlsHoverColor"],panelIds:["general","typeStyle"]},content:{type:"array",settings:{addItemFromFileExplorer:!1},items:{type:"object",properties:{image:{type:"object",label:"Image",display:{type:"media-input"}},text:{placeholder:"Add Text...",label:"Text",display:{type:"rich-text"}},caption:{placeholder:"Add Caption...",label:"Caption",display:{type:"rich-text"}}}},default:[{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"Innovative solutions redefine connectivity, enhancing user experience through seamless digital integration and efficiency."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"In the realm of digital innovation, transformative algorithms redefine connectivity, propelling unprecedented technological advancements."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]},{image:{objectFit:"contain",url:"https://cdn.cntrl.site/component-assets/logo.png",name:""},text:[{type:"paragraph",children:[{text:"Harnessing innovative algorithms, this paradigm shift enhances computational efficiency and optimizes data processing frameworks."}]}],caption:[{type:"paragraph",children:[{text:"CEO @ Company"}]}]}]}},Ts={element:xs,id:"testimonial-single",name:"Clara",category:"testimonials",version:1,preview:{type:"image",url:"https://cdn.cntrl.site/component-assets/testimonialsSingle.png"},defaultSize:{width:700,height:300},schema:ws,sourceCode:Ss,assetsPaths:{content:[{path:"image.url",placeholderEnabled:!0}],parameters:[{path:"settings.controls.icon"}]},fontSettingsPaths:{content:[],parameters:[{path:"styles.text.fontSettings"},{path:"styles.caption.fontSettings"}]}},_s=[Ea,Pa,wl,kl,jl,ns,Ts];exports.components=_s;exports.isSchemaV1=xr;
|