PluginProbe
Gutenify – Visual Site Builder Blocks & Starter Templates / 1.7.0
Gutenify – Visual Site Builder Blocks & Starter Templates v1.7.0
1.9.0 1.8.0 1.7.0 1.6.6 1.6.5 1.6.4 trunk 0.0.1 0.0.2 0.0.3 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 74 releases
gutenify / core / dist / blocks / stacking-cards / view-script.js

view-script.js in Gutenify – Visual Site Builder Blocks & Starter Templates 1.7.0, at core/dist/blocks/stacking-cards/view-script.js

1 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (()=>{"use strict";var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var s in n)t.o(n,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const e=window.jQuery;t.n(e)()((function(t){const e=".gutenify-stacking-cards-container";let n=[],s=t(window).scrollTop(),i=s,o=!1;const a=t=>{if(!t&&0!==t)return null;if("number"==typeof t)return t;const e=parseFloat(t);if(isNaN(e))return null;if("string"==typeof t){if(t.includes("vh"))return e*window.innerHeight/100;if(t.includes("vw"))return e*window.innerWidth/100;if(t.includes("rem")||t.includes("em"))return e*parseFloat(getComputedStyle(document.documentElement).fontSize);if(t.includes("%"))return e*window.innerHeight/100}return e},r=()=>{n=[],t(e).each((function(){const e=t(this),s=e.find(".gutenify-stacking-card-item"),i=e.data("stacking-mode"),o=e.data("top-offset")||"50px",a=parseFloat(e.data("scale-intensity"))||.05,r=parseFloat(e.data("fade-intensity")),c=isNaN(r)||.1===r?1:r,l=!0===e.data("disable-mobile"),d=[];s.each((function(){d.push(t(this))})),n.push({$el:e,cardItems:d,mode:i,topOffset:o,scaleIntensity:a,actualFadeIntensity:c,disableMobile:l})}))},c=()=>{const t=s-i;Math.abs(t)<.1?(i=s,o=!1):i+=.12*t,(t=>{for(let o=0;o<n.length;o++){var e;const r=n[o],c=r.$el,l=r.cardItems,d=r.mode,f=r.topOffset,u=r.scaleIntensity,h=r.actualFadeIntensity;if(r.disableMobile&&window.innerWidth<768){for(let t=0;t<l.length;t++)l[t].css({transform:"none",opacity:"1",position:"relative",top:"0","z-index":""});c.css("min-height","");continue}const g=null!==(e=a(f))&&void 0!==e?e:50;let p=c.data("stacking-metrics");if(!p||c.data("needs-recalc")){p={containerTop:c.offset().top,totalHeight:0,cardHeights:[],cardOuterHeights:[],originalTops:[],stickyOffsets:[]};for(let t=0;t<l.length;t++){const e=l[t],n=e[0].style.transform;e.css("transform","none"),p.originalTops.push(e.offset().top);const s=e.outerHeight(!0);p.cardHeights.push(s),p.totalHeight+=s,p.cardOuterHeights.push(e.outerHeight(!1)),p.stickyOffsets.push(a(e.data("sticky-offset"))),e.css("transform",n)}c.css("min-height",p.totalHeight+"px"),c.data("stacking-metrics",p),c.data("needs-recalc",!1)}const m=p.containerTop+p.totalHeight;for(let e=0;e<l.length;e++){var s;const n=l[e],o=(p.cardHeights[e],p.cardOuterHeights[e]),a=p.originalTops[e];n.css("z-index",e+1);const r=t+(null!==(s=p.stickyOffsets[e])&&void 0!==s?s:g);let c=0;r>a&&(c=r-a);const f=m-(a+o);c>f&&(c=Math.max(0,f));let w=`translateY(${c}px)`,y=1;if(e<l.length-1&&"normal"!==d){var i;const n=p.originalTops[e+1],s=null!==(i=p.stickyOffsets[e+1])&&void 0!==i?i:g,r=o,l=a+c+o-Math.max(n,t+s),f=Math.max(0,Math.min(1,l/r));"scale"===d?w+=` scale(${1-f*u})`:"fade"===d&&(y=1-f*h)}n.css({transform:w,opacity:y,position:"relative",top:"0"})}}})(i),o&&window.requestAnimationFrame(c)},l=()=>{r(),0!==n.length&&(t(e).data("needs-recalc",!0),s=t(window).scrollTop(),o||(o=!0,window.requestAnimationFrame(c)))};t(window).on("scroll.stackingCards",(()=>{0!==n.length&&(s=t(window).scrollTop(),o||(o=!0,window.requestAnimationFrame(c)))})),t(window).on("resize.stackingCards",l),t(window).on("load.stackingCards",l),r(),setTimeout(l,100),setTimeout(l,500),setTimeout(l,1500)}))})();