Initial Push
This commit is contained in:
11
assets/js/plugins/choices.min.js
vendored
Normal file
11
assets/js/plugins/choices.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/plugins/countup.min.js
vendored
Normal file
1
assets/js/plugins/countup.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(t){for(var i,a=1,s=arguments.length;a<s;a++)for(var n in i=arguments[a])Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n]);return t}).apply(this,arguments)},CountUp=function(){function t(t,i,a){var s=this;this.target=t,this.endVal=i,this.options=a,this.version="2.0.7",this.defaults={startVal:0,decimalPlaces:0,duration:2,useEasing:!0,useGrouping:!0,smartEasingThreshold:999,smartEasingAmount:333,separator:",",decimal:".",prefix:"",suffix:""},this.finalEndVal=null,this.useEasing=!0,this.countDown=!1,this.error="",this.startVal=0,this.paused=!0,this.count=function(t){s.startTime||(s.startTime=t);var i=t-s.startTime;s.remaining=s.duration-i,s.useEasing?s.countDown?s.frameVal=s.startVal-s.easingFn(i,0,s.startVal-s.endVal,s.duration):s.frameVal=s.easingFn(i,s.startVal,s.endVal-s.startVal,s.duration):s.countDown?s.frameVal=s.startVal-(s.startVal-s.endVal)*(i/s.duration):s.frameVal=s.startVal+(s.endVal-s.startVal)*(i/s.duration),s.countDown?s.frameVal=s.frameVal<s.endVal?s.endVal:s.frameVal:s.frameVal=s.frameVal>s.endVal?s.endVal:s.frameVal,s.frameVal=Number(s.frameVal.toFixed(s.options.decimalPlaces)),s.printValue(s.frameVal),i<s.duration?s.rAF=requestAnimationFrame(s.count):null!==s.finalEndVal?s.update(s.finalEndVal):s.callback&&s.callback()},this.formatNumber=function(t){var i,a,n,e,r,o=t<0?"-":"";if(i=Math.abs(t).toFixed(s.options.decimalPlaces),n=(a=(i+="").split("."))[0],e=a.length>1?s.options.decimal+a[1]:"",s.options.useGrouping){r="";for(var l=0,h=n.length;l<h;++l)0!==l&&l%3==0&&(r=s.options.separator+r),r=n[h-l-1]+r;n=r}return s.options.numerals&&s.options.numerals.length&&(n=n.replace(/[0-9]/g,function(t){return s.options.numerals[+t]}),e=e.replace(/[0-9]/g,function(t){return s.options.numerals[+t]})),o+s.options.prefix+n+e+s.options.suffix},this.easeOutExpo=function(t,i,a,s){return a*(1-Math.pow(2,-10*t/s))*1024/1023+i},this.options=__assign(__assign({},this.defaults),a),this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.endVal=this.validateValue(i),this.options.decimalPlaces=Math.max(this.options.decimalPlaces),this.resetDuration(),this.options.separator=String(this.options.separator),this.useEasing=this.options.useEasing,""===this.options.separator&&(this.options.useGrouping=!1),this.el="string"==typeof t?document.getElementById(t):t,this.el?this.printValue(this.startVal):this.error="[CountUp] target is null or undefined"}return t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var i=t-this.startVal;if(Math.abs(i)>this.options.smartEasingThreshold){this.finalEndVal=t;var a=this.countDown?1:-1;this.endVal=t+a*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.callback=t,this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,this.finalEndVal||this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var i=this.formattingFn(t);"INPUT"===this.el.tagName?this.el.value=i:"text"===this.el.tagName||"tspan"===this.el.tagName?this.el.textContent=i:this.el.innerHTML=i},t.prototype.ensureNumber=function(t){return"number"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var i=Number(t);return this.ensureNumber(i)?i:(this.error="[CountUp] invalid start or end value: "+t,null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t}();
|
||||
2
assets/js/plugins/flatpickr.min.js
vendored
Normal file
2
assets/js/plugins/flatpickr.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1358
assets/js/plugins/highlight.min.js
vendored
Normal file
1358
assets/js/plugins/highlight.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
assets/js/plugins/moment.min.js
vendored
Normal file
7
assets/js/plugins/moment.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
54
assets/js/plugins/parallax.min.js
vendored
Normal file
54
assets/js/plugins/parallax.min.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
var windowHeight = window.innerHeight;
|
||||
|
||||
document.addEventListener('resize', function() {
|
||||
windowHeight = window.innerHeight;
|
||||
})
|
||||
|
||||
function outerHeight(el) {
|
||||
var height = el.offsetHeight;
|
||||
var style = getComputedStyle(el);
|
||||
|
||||
height += parseInt(style.marginTop) + parseInt(style.marginBottom);
|
||||
return height;
|
||||
}
|
||||
|
||||
function parallax (el, speedFactor, outerHeight) {
|
||||
var foo = document.querySelectorAll(el);
|
||||
|
||||
var getHeight;
|
||||
var firstTop;
|
||||
var paddingTop = 0;
|
||||
|
||||
//get the starting position of each element to have parallax applied to it
|
||||
foo.forEach(function(subEl){
|
||||
firstTop = subEl.getBoundingClientRect().top;
|
||||
});
|
||||
|
||||
if (outerHeight) {
|
||||
getHeight = function(el) {
|
||||
return outerHeight(el);
|
||||
};
|
||||
} else {
|
||||
getHeight = function(el) {
|
||||
return el.clientHeight;
|
||||
};
|
||||
}
|
||||
|
||||
// function to be called whenever the window is scrolled or resized
|
||||
function update(){
|
||||
var pos = window.scrollY;
|
||||
|
||||
foo.forEach(function(subEl){
|
||||
var element = subEl;
|
||||
var top = element.getBoundingClientRect().top;
|
||||
var height = getHeight(element);
|
||||
|
||||
element.style.top = -(Math.round((firstTop - pos) * speedFactor)) + "px";
|
||||
});
|
||||
}
|
||||
document.addEventListener('scroll', update, true)
|
||||
document.addEventListener('resize', update)
|
||||
update()
|
||||
};
|
||||
|
||||
parallax(".hero", -0.6);
|
||||
19
assets/js/plugins/perfect-scrollbar.min.js
vendored
Normal file
19
assets/js/plugins/perfect-scrollbar.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
assets/js/plugins/prism.min.js
vendored
Normal file
7
assets/js/plugins/prism.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
24
assets/js/plugins/rellax.min.js
vendored
Normal file
24
assets/js/plugins/rellax.min.js
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
// ------------------------------------------
|
||||
// Rellax.js
|
||||
// Buttery smooth parallax library
|
||||
// Copyright (c) 2016 Moe Amaya (@moeamaya)
|
||||
// MIT license
|
||||
//
|
||||
// Thanks to Paraxify.js and Jaime Cabllero
|
||||
// for parallax concepts
|
||||
// ------------------------------------------
|
||||
|
||||
(function(q,g){"function"===typeof define&&define.amd?define([],g):"object"===typeof module&&module.exports?module.exports=g():q.Rellax=g()})("undefined"!==typeof window?window:global,function(){var q=function(g,u){function C(){if(3===a.options.breakpoints.length&&Array.isArray(a.options.breakpoints)){var f=!0,c=!0,b;a.options.breakpoints.forEach(function(a){"number"!==typeof a&&(c=!1);null!==b&&a<b&&(f=!1);b=a});if(f&&c)return}a.options.breakpoints=[576,768,1201];console.warn("Rellax: You must pass an array of 3 numbers in ascending order to the breakpoints option. Defaults reverted")}
|
||||
var a=Object.create(q.prototype),l=0,v=0,m=0,n=0,d=[],w=!0,A=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||function(a){return setTimeout(a,1E3/60)},p=null,x=!1;try{var k=Object.defineProperty({},"passive",{get:function(){x=!0}});window.addEventListener("testPassive",null,k);window.removeEventListener("testPassive",null,k)}catch(f){}var D=window.cancelAnimationFrame||window.mozCancelAnimationFrame||
|
||||
clearTimeout,E=window.transformProp||function(){var a=document.createElement("div");if(null===a.style.transform){var c=["Webkit","Moz","ms"],b;for(b in c)if(void 0!==a.style[c[b]+"Transform"])return c[b]+"Transform"}return"transform"}();a.options={speed:-2,verticalSpeed:null,horizontalSpeed:null,breakpoints:[576,768,1201],center:!1,wrapper:null,relativeToWrapper:!1,round:!0,vertical:!0,horizontal:!1,verticalScrollAxis:"y",horizontalScrollAxis:"x",callback:function(){}};u&&Object.keys(u).forEach(function(d){a.options[d]=
|
||||
u[d]});u&&u.breakpoints&&C();g||(g=".rellax");k="string"===typeof g?document.querySelectorAll(g):[g];if(0<k.length){a.elems=k;if(a.options.wrapper&&!a.options.wrapper.nodeType)if(k=document.querySelector(a.options.wrapper))a.options.wrapper=k;else{console.warn("Rellax: The wrapper you're trying to use doesn't exist.");return}var F,B=function(){for(var f=0;f<d.length;f++)a.elems[f].style.cssText=d[f].style;d=[];v=window.innerHeight;n=window.innerWidth;f=a.options.breakpoints;F=n<f[0]?"xs":n>=f[0]&&n<
|
||||
f[1]?"sm":n>=f[1]&&n<f[2]?"md":"lg";H();for(f=0;f<a.elems.length;f++){var c=void 0,b=a.elems[f],e=b.getAttribute("data-rellax-percentage"),y=b.getAttribute("data-rellax-speed"),t=b.getAttribute("data-rellax-xs-speed"),g=b.getAttribute("data-rellax-mobile-speed"),h=b.getAttribute("data-rellax-tablet-speed"),k=b.getAttribute("data-rellax-desktop-speed"),l=b.getAttribute("data-rellax-vertical-speed"),m=b.getAttribute("data-rellax-horizontal-speed"),p=b.getAttribute("data-rellax-vertical-scroll-axis"),
|
||||
q=b.getAttribute("data-rellax-horizontal-scroll-axis"),u=b.getAttribute("data-rellax-zindex")||0,x=b.getAttribute("data-rellax-min"),A=b.getAttribute("data-rellax-max"),C=b.getAttribute("data-rellax-min-x"),D=b.getAttribute("data-rellax-max-x"),E=b.getAttribute("data-rellax-min-y"),L=b.getAttribute("data-rellax-max-y"),r=!0;t||g||h||k?c={xs:t,sm:g,md:h,lg:k}:r=!1;t=a.options.wrapper?a.options.wrapper.scrollTop:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop;a.options.relativeToWrapper&&
|
||||
(t=(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)-a.options.wrapper.offsetTop);var z=a.options.vertical?e||a.options.center?t:0:0,I=a.options.horizontal?e||a.options.center?a.options.wrapper?a.options.wrapper.scrollLeft:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft:0:0;t=z+b.getBoundingClientRect().top;g=b.clientHeight||b.offsetHeight||b.scrollHeight;h=I+b.getBoundingClientRect().left;k=b.clientWidth||b.offsetWidth||b.scrollWidth;
|
||||
z=e?e:(z-t+v)/(g+v);e=e?e:(I-h+n)/(k+n);a.options.center&&(z=e=.5);c=r&&null!==c[F]?Number(c[F]):y?y:a.options.speed;l=l?l:a.options.verticalSpeed;m=m?m:a.options.horizontalSpeed;p=p?p:a.options.verticalScrollAxis;q=q?q:a.options.horizontalScrollAxis;y=J(e,z,c,l,m);b=b.style.cssText;r="";if(e=/transform\s*:/i.exec(b))r=b.slice(e.index),r=(e=r.indexOf(";"))?" "+r.slice(11,e).replace(/\s/g,""):" "+r.slice(11).replace(/\s/g,"");d.push({baseX:y.x,baseY:y.y,top:t,left:h,height:g,width:k,speed:c,verticalSpeed:l,
|
||||
horizontalSpeed:m,verticalScrollAxis:p,horizontalScrollAxis:q,style:b,transform:r,zindex:u,min:x,max:A,minX:C,maxX:D,minY:E,maxY:L})}K();w&&(window.addEventListener("resize",B),w=!1,G())},H=function(){var d=l,c=m;l=a.options.wrapper?a.options.wrapper.scrollTop:(document.documentElement||document.body.parentNode||document.body).scrollTop||window.pageYOffset;m=a.options.wrapper?a.options.wrapper.scrollLeft:(document.documentElement||document.body.parentNode||document.body).scrollLeft||window.pageXOffset;
|
||||
a.options.relativeToWrapper&&(l=((document.documentElement||document.body.parentNode||document.body).scrollTop||window.pageYOffset)-a.options.wrapper.offsetTop);return d!=l&&a.options.vertical||c!=m&&a.options.horizontal?!0:!1},J=function(d,c,b,e,g){var f={};d=100*(g?g:b)*(1-d);c=100*(e?e:b)*(1-c);f.x=a.options.round?Math.round(d):Math.round(100*d)/100;f.y=a.options.round?Math.round(c):Math.round(100*c)/100;return f},h=function(){window.removeEventListener("resize",h);window.removeEventListener("orientationchange",
|
||||
h);(a.options.wrapper?a.options.wrapper:window).removeEventListener("scroll",h);(a.options.wrapper?a.options.wrapper:document).removeEventListener("touchmove",h);p=A(G)},G=function(){H()&&!1===w?(K(),p=A(G)):(p=null,window.addEventListener("resize",h),window.addEventListener("orientationchange",h),(a.options.wrapper?a.options.wrapper:window).addEventListener("scroll",h,x?{passive:!0}:!1),(a.options.wrapper?a.options.wrapper:document).addEventListener("touchmove",h,x?{passive:!0}:!1))},K=function(){for(var f,
|
||||
c=0;c<a.elems.length;c++){var b=d[c].verticalScrollAxis.toLowerCase(),e=d[c].horizontalScrollAxis.toLowerCase();f=-1!=b.indexOf("x")?l:0;b=-1!=b.indexOf("y")?l:0;var g=-1!=e.indexOf("x")?m:0;e=-1!=e.indexOf("y")?m:0;f=J((f+g-d[c].left+n)/(d[c].width+n),(b+e-d[c].top+v)/(d[c].height+v),d[c].speed,d[c].verticalSpeed,d[c].horizontalSpeed);e=f.y-d[c].baseY;b=f.x-d[c].baseX;null!==d[c].min&&(a.options.vertical&&!a.options.horizontal&&(e=e<=d[c].min?d[c].min:e),a.options.horizontal&&!a.options.vertical&&
|
||||
(b=b<=d[c].min?d[c].min:b));null!=d[c].minY&&(e=e<=d[c].minY?d[c].minY:e);null!=d[c].minX&&(b=b<=d[c].minX?d[c].minX:b);null!==d[c].max&&(a.options.vertical&&!a.options.horizontal&&(e=e>=d[c].max?d[c].max:e),a.options.horizontal&&!a.options.vertical&&(b=b>=d[c].max?d[c].max:b));null!=d[c].maxY&&(e=e>=d[c].maxY?d[c].maxY:e);null!=d[c].maxX&&(b=b>=d[c].maxX?d[c].maxX:b);a.elems[c].style[E]="translate3d("+(a.options.horizontal?b:"0")+"px,"+(a.options.vertical?e:"0")+"px,"+d[c].zindex+"px) "+d[c].transform}a.options.callback(f)};
|
||||
a.destroy=function(){for(var f=0;f<a.elems.length;f++)a.elems[f].style.cssText=d[f].style;w||(window.removeEventListener("resize",B),w=!0);D(p);p=null};B();a.refresh=B;return a}console.warn("Rellax: The elements you're trying to select don't exist.")};return q});
|
||||
508
assets/js/plugins/tilt.min.js
vendored
Normal file
508
assets/js/plugins/tilt.min.js
vendored
Normal file
@@ -0,0 +1,508 @@
|
||||
var VanillaTilt = (function () {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Created by Sergiu Șandor (micku7zu) on 1/27/2017.
|
||||
* Original idea: https://github.com/gijsroge/tilt.js
|
||||
* MIT License.
|
||||
* Version 1.7.0
|
||||
*/
|
||||
|
||||
class VanillaTilt {
|
||||
constructor(element, settings = {}) {
|
||||
if (!(element instanceof Node)) {
|
||||
throw ("Can't initialize VanillaTilt because " + element + " is not a Node.");
|
||||
}
|
||||
|
||||
this.width = null;
|
||||
this.height = null;
|
||||
this.clientWidth = null;
|
||||
this.clientHeight = null;
|
||||
this.left = null;
|
||||
this.top = null;
|
||||
|
||||
// for Gyroscope sampling
|
||||
this.gammazero = null;
|
||||
this.betazero = null;
|
||||
this.lastgammazero = null;
|
||||
this.lastbetazero = null;
|
||||
|
||||
this.transitionTimeout = null;
|
||||
this.updateCall = null;
|
||||
this.event = null;
|
||||
|
||||
this.updateBind = this.update.bind(this);
|
||||
this.resetBind = this.reset.bind(this);
|
||||
|
||||
this.element = element;
|
||||
this.settings = this.extendSettings(settings);
|
||||
|
||||
this.reverse = this.settings.reverse ? -1 : 1;
|
||||
this.glare = VanillaTilt.isSettingTrue(this.settings.glare);
|
||||
this.glarePrerender = VanillaTilt.isSettingTrue(this.settings["glare-prerender"]);
|
||||
this.fullPageListening = VanillaTilt.isSettingTrue(this.settings["full-page-listening"]);
|
||||
this.gyroscope = VanillaTilt.isSettingTrue(this.settings.gyroscope);
|
||||
this.gyroscopeSamples = this.settings.gyroscopeSamples;
|
||||
|
||||
this.elementListener = this.getElementListener();
|
||||
|
||||
if (this.glare) {
|
||||
this.prepareGlare();
|
||||
}
|
||||
|
||||
if (this.fullPageListening) {
|
||||
this.updateClientSize();
|
||||
}
|
||||
|
||||
this.addEventListeners();
|
||||
this.updateInitialPosition();
|
||||
}
|
||||
|
||||
static isSettingTrue(setting) {
|
||||
return setting === "" || setting === true || setting === 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method returns element what will be listen mouse events
|
||||
* @return {Node}
|
||||
*/
|
||||
getElementListener() {
|
||||
if (this.fullPageListening) {
|
||||
return window.document;
|
||||
}
|
||||
|
||||
if (typeof this.settings["mouse-event-element"] === "string") {
|
||||
const mouseEventElement = document.querySelector(this.settings["mouse-event-element"]);
|
||||
|
||||
if (mouseEventElement) {
|
||||
return mouseEventElement;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.settings["mouse-event-element"] instanceof Node) {
|
||||
return this.settings["mouse-event-element"];
|
||||
}
|
||||
|
||||
return this.element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method set listen methods for this.elementListener
|
||||
* @return {Node}
|
||||
*/
|
||||
addEventListeners() {
|
||||
this.onMouseEnterBind = this.onMouseEnter.bind(this);
|
||||
this.onMouseMoveBind = this.onMouseMove.bind(this);
|
||||
this.onMouseLeaveBind = this.onMouseLeave.bind(this);
|
||||
this.onWindowResizeBind = this.onWindowResize.bind(this);
|
||||
this.onDeviceOrientationBind = this.onDeviceOrientation.bind(this);
|
||||
|
||||
this.elementListener.addEventListener("mouseenter", this.onMouseEnterBind);
|
||||
this.elementListener.addEventListener("mouseleave", this.onMouseLeaveBind);
|
||||
this.elementListener.addEventListener("mousemove", this.onMouseMoveBind);
|
||||
|
||||
if (this.glare || this.fullPageListening) {
|
||||
window.addEventListener("resize", this.onWindowResizeBind);
|
||||
}
|
||||
|
||||
if (this.gyroscope) {
|
||||
window.addEventListener("deviceorientation", this.onDeviceOrientationBind);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method remove event listeners from current this.elementListener
|
||||
*/
|
||||
removeEventListeners() {
|
||||
this.elementListener.removeEventListener("mouseenter", this.onMouseEnterBind);
|
||||
this.elementListener.removeEventListener("mouseleave", this.onMouseLeaveBind);
|
||||
this.elementListener.removeEventListener("mousemove", this.onMouseMoveBind);
|
||||
|
||||
if (this.gyroscope) {
|
||||
window.removeEventListener("deviceorientation", this.onDeviceOrientationBind);
|
||||
}
|
||||
|
||||
if (this.glare || this.fullPageListening) {
|
||||
window.removeEventListener("resize", this.onWindowResizeBind);
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
clearTimeout(this.transitionTimeout);
|
||||
if (this.updateCall !== null) {
|
||||
cancelAnimationFrame(this.updateCall);
|
||||
}
|
||||
|
||||
this.reset();
|
||||
|
||||
this.removeEventListeners();
|
||||
this.element.vanillaTilt = null;
|
||||
delete this.element.vanillaTilt;
|
||||
|
||||
this.element = null;
|
||||
}
|
||||
|
||||
onDeviceOrientation(event) {
|
||||
if (event.gamma === null || event.beta === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.updateElementPosition();
|
||||
|
||||
if (this.gyroscopeSamples > 0) {
|
||||
this.lastgammazero = this.gammazero;
|
||||
this.lastbetazero = this.betazero;
|
||||
|
||||
if (this.gammazero === null) {
|
||||
this.gammazero = event.gamma;
|
||||
this.betazero = event.beta;
|
||||
} else {
|
||||
this.gammazero = (event.gamma + this.lastgammazero) / 2;
|
||||
this.betazero = (event.beta + this.lastbetazero) / 2;
|
||||
}
|
||||
|
||||
this.gyroscopeSamples -= 1;
|
||||
}
|
||||
|
||||
const totalAngleX = this.settings.gyroscopeMaxAngleX - this.settings.gyroscopeMinAngleX;
|
||||
const totalAngleY = this.settings.gyroscopeMaxAngleY - this.settings.gyroscopeMinAngleY;
|
||||
|
||||
const degreesPerPixelX = totalAngleX / this.width;
|
||||
const degreesPerPixelY = totalAngleY / this.height;
|
||||
|
||||
const angleX = event.gamma - (this.settings.gyroscopeMinAngleX + this.gammazero);
|
||||
const angleY = event.beta - (this.settings.gyroscopeMinAngleY + this.betazero);
|
||||
|
||||
const posX = angleX / degreesPerPixelX;
|
||||
const posY = angleY / degreesPerPixelY;
|
||||
|
||||
if (this.updateCall !== null) {
|
||||
cancelAnimationFrame(this.updateCall);
|
||||
}
|
||||
|
||||
this.event = {
|
||||
clientX: posX + this.left,
|
||||
clientY: posY + this.top,
|
||||
};
|
||||
|
||||
this.updateCall = requestAnimationFrame(this.updateBind);
|
||||
}
|
||||
|
||||
onMouseEnter() {
|
||||
this.updateElementPosition();
|
||||
this.element.style.willChange = "transform";
|
||||
this.setTransition();
|
||||
}
|
||||
|
||||
onMouseMove(event) {
|
||||
if (this.updateCall !== null) {
|
||||
cancelAnimationFrame(this.updateCall);
|
||||
}
|
||||
|
||||
this.event = event;
|
||||
this.updateCall = requestAnimationFrame(this.updateBind);
|
||||
}
|
||||
|
||||
onMouseLeave() {
|
||||
this.setTransition();
|
||||
|
||||
if (this.settings.reset) {
|
||||
requestAnimationFrame(this.resetBind);
|
||||
}
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.event = {
|
||||
clientX: this.left + this.width / 2,
|
||||
clientY: this.top + this.height / 2
|
||||
};
|
||||
|
||||
if (this.element && this.element.style) {
|
||||
this.element.style.transform = `perspective(${this.settings.perspective}px) ` +
|
||||
`rotateX(0deg) ` +
|
||||
`rotateY(0deg) ` +
|
||||
`scale3d(1, 1, 1)`;
|
||||
}
|
||||
|
||||
this.resetGlare();
|
||||
}
|
||||
|
||||
resetGlare() {
|
||||
if (this.glare) {
|
||||
this.glareElement.style.transform = "rotate(180deg) translate(-50%, -50%)";
|
||||
this.glareElement.style.opacity = "0";
|
||||
}
|
||||
}
|
||||
|
||||
updateInitialPosition() {
|
||||
if (this.settings.startX === 0 && this.settings.startY === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.onMouseEnter();
|
||||
|
||||
if (this.fullPageListening) {
|
||||
this.event = {
|
||||
clientX: (this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.clientWidth,
|
||||
clientY: (this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.clientHeight
|
||||
};
|
||||
} else {
|
||||
this.event = {
|
||||
clientX: this.left + ((this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.width),
|
||||
clientY: this.top + ((this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.height)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
let backupScale = this.settings.scale;
|
||||
this.settings.scale = 1;
|
||||
this.update();
|
||||
this.settings.scale = backupScale;
|
||||
this.resetGlare();
|
||||
}
|
||||
|
||||
getValues() {
|
||||
let x, y;
|
||||
|
||||
if (this.fullPageListening) {
|
||||
x = this.event.clientX / this.clientWidth;
|
||||
y = this.event.clientY / this.clientHeight;
|
||||
} else {
|
||||
x = (this.event.clientX - this.left) / this.width;
|
||||
y = (this.event.clientY - this.top) / this.height;
|
||||
}
|
||||
|
||||
x = Math.min(Math.max(x, 0), 1);
|
||||
y = Math.min(Math.max(y, 0), 1);
|
||||
|
||||
let tiltX = (this.reverse * (this.settings.max - x * this.settings.max * 2)).toFixed(2);
|
||||
let tiltY = (this.reverse * (y * this.settings.max * 2 - this.settings.max)).toFixed(2);
|
||||
let angle = Math.atan2(this.event.clientX - (this.left + this.width / 2), -(this.event.clientY - (this.top + this.height / 2))) * (180 / Math.PI);
|
||||
|
||||
return {
|
||||
tiltX: tiltX,
|
||||
tiltY: tiltY,
|
||||
percentageX: x * 100,
|
||||
percentageY: y * 100,
|
||||
angle: angle
|
||||
};
|
||||
}
|
||||
|
||||
updateElementPosition() {
|
||||
let rect = this.element.getBoundingClientRect();
|
||||
|
||||
this.width = this.element.offsetWidth;
|
||||
this.height = this.element.offsetHeight;
|
||||
this.left = rect.left;
|
||||
this.top = rect.top;
|
||||
}
|
||||
|
||||
update() {
|
||||
let values = this.getValues();
|
||||
|
||||
this.element.style.transform = "perspective(" + this.settings.perspective + "px) " +
|
||||
"rotateX(" + (this.settings.axis === "x" ? 0 : values.tiltY) + "deg) " +
|
||||
"rotateY(" + (this.settings.axis === "y" ? 0 : values.tiltX) + "deg) " +
|
||||
"scale3d(" + this.settings.scale + ", " + this.settings.scale + ", " + this.settings.scale + ")";
|
||||
|
||||
if (this.glare) {
|
||||
this.glareElement.style.transform = `rotate(${values.angle}deg) translate(-50%, -50%)`;
|
||||
this.glareElement.style.opacity = `${values.percentageY * this.settings["max-glare"] / 100}`;
|
||||
}
|
||||
|
||||
this.element.dispatchEvent(new CustomEvent("tiltChange", {
|
||||
"detail": values
|
||||
}));
|
||||
|
||||
this.updateCall = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends the glare element (if glarePrerender equals false)
|
||||
* and sets the default style
|
||||
*/
|
||||
prepareGlare() {
|
||||
// If option pre-render is enabled we assume all html/css is present for an optimal glare effect.
|
||||
if (!this.glarePrerender) {
|
||||
// Create glare element
|
||||
const jsTiltGlare = document.createElement("div");
|
||||
jsTiltGlare.classList.add("js-tilt-glare");
|
||||
|
||||
const jsTiltGlareInner = document.createElement("div");
|
||||
jsTiltGlareInner.classList.add("js-tilt-glare-inner");
|
||||
|
||||
jsTiltGlare.appendChild(jsTiltGlareInner);
|
||||
this.element.appendChild(jsTiltGlare);
|
||||
}
|
||||
|
||||
this.glareElementWrapper = this.element.querySelector(".js-tilt-glare");
|
||||
this.glareElement = this.element.querySelector(".js-tilt-glare-inner");
|
||||
|
||||
if (this.glarePrerender) {
|
||||
return;
|
||||
}
|
||||
|
||||
Object.assign(this.glareElementWrapper.style, {
|
||||
"position": "absolute",
|
||||
"top": "0",
|
||||
"left": "0",
|
||||
"width": "100%",
|
||||
"height": "100%",
|
||||
"overflow": "hidden",
|
||||
"pointer-events": "none"
|
||||
});
|
||||
|
||||
Object.assign(this.glareElement.style, {
|
||||
"position": "absolute",
|
||||
"top": "50%",
|
||||
"left": "50%",
|
||||
"pointer-events": "none",
|
||||
"background-image": `linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)`,
|
||||
"width": `${this.element.offsetWidth * 2}px`,
|
||||
"height": `${this.element.offsetWidth * 2}px`,
|
||||
"transform": "rotate(180deg) translate(-50%, -50%)",
|
||||
"transform-origin": "0% 0%",
|
||||
"opacity": "0",
|
||||
});
|
||||
}
|
||||
|
||||
updateGlareSize() {
|
||||
if (this.glare) {
|
||||
Object.assign(this.glareElement.style, {
|
||||
"width": `${this.element.offsetWidth * 2}`,
|
||||
"height": `${this.element.offsetWidth * 2}`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
updateClientSize() {
|
||||
this.clientWidth = window.innerWidth
|
||||
|| document.documentElement.clientWidth
|
||||
|| document.body.clientWidth;
|
||||
|
||||
this.clientHeight = window.innerHeight
|
||||
|| document.documentElement.clientHeight
|
||||
|| document.body.clientHeight;
|
||||
}
|
||||
|
||||
onWindowResize() {
|
||||
this.updateGlareSize();
|
||||
this.updateClientSize();
|
||||
}
|
||||
|
||||
setTransition() {
|
||||
clearTimeout(this.transitionTimeout);
|
||||
this.element.style.transition = this.settings.speed + "ms " + this.settings.easing;
|
||||
if (this.glare) this.glareElement.style.transition = `opacity ${this.settings.speed}ms ${this.settings.easing}`;
|
||||
|
||||
this.transitionTimeout = setTimeout(() => {
|
||||
this.element.style.transition = "";
|
||||
if (this.glare) {
|
||||
this.glareElement.style.transition = "";
|
||||
}
|
||||
}, this.settings.speed);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Method return patched settings of instance
|
||||
* @param {boolean} settings.reverse - reverse the tilt direction
|
||||
* @param {number} settings.max - max tilt rotation (degrees)
|
||||
* @param {startX} settings.startX - the starting tilt on the X axis, in degrees. Default: 0
|
||||
* @param {startY} settings.startY - the starting tilt on the Y axis, in degrees. Default: 0
|
||||
* @param {number} settings.perspective - Transform perspective, the lower the more extreme the tilt gets
|
||||
* @param {string} settings.easing - Easing on enter/exit
|
||||
* @param {number} settings.scale - 2 = 200%, 1.5 = 150%, etc..
|
||||
* @param {number} settings.speed - Speed of the enter/exit transition
|
||||
* @param {boolean} settings.transition - Set a transition on enter/exit
|
||||
* @param {string|null} settings.axis - What axis should be disabled. Can be X or Y
|
||||
* @param {boolean} settings.glare - What axis should be disabled. Can be X or Y
|
||||
* @param {number} settings.max-glare - the maximum "glare" opacity (1 = 100%, 0.5 = 50%)
|
||||
* @param {boolean} settings.glare-prerender - false = VanillaTilt creates the glare elements for you, otherwise
|
||||
* @param {boolean} settings.full-page-listening - If true, parallax effect will listen to mouse move events on the whole document, not only the selected element
|
||||
* @param {string|object} settings.mouse-event-element - String selector or link to HTML-element what will be listen mouse events
|
||||
* @param {boolean} settings.reset - false = If the tilt effect has to be reset on exit
|
||||
* @param {gyroscope} settings.gyroscope - Enable tilting by deviceorientation events
|
||||
* @param {gyroscopeSensitivity} settings.gyroscopeSensitivity - Between 0 and 1 - The angle at which max tilt position is reached. 1 = 90deg, 0.5 = 45deg, etc..
|
||||
* @param {gyroscopeSamples} settings.gyroscopeSamples - How many gyroscope moves to decide the starting position.
|
||||
*/
|
||||
extendSettings(settings) {
|
||||
let defaultSettings = {
|
||||
reverse: false,
|
||||
max: 15,
|
||||
startX: 0,
|
||||
startY: 0,
|
||||
perspective: 1000,
|
||||
easing: "cubic-bezier(.03,.98,.52,.99)",
|
||||
scale: 1,
|
||||
speed: 300,
|
||||
transition: true,
|
||||
axis: null,
|
||||
glare: false,
|
||||
"max-glare": 1,
|
||||
"glare-prerender": false,
|
||||
"full-page-listening": false,
|
||||
"mouse-event-element": null,
|
||||
reset: true,
|
||||
gyroscope: true,
|
||||
gyroscopeMinAngleX: -45,
|
||||
gyroscopeMaxAngleX: 45,
|
||||
gyroscopeMinAngleY: -45,
|
||||
gyroscopeMaxAngleY: 45,
|
||||
gyroscopeSamples: 10
|
||||
};
|
||||
|
||||
let newSettings = {};
|
||||
for (var property in defaultSettings) {
|
||||
if (property in settings) {
|
||||
newSettings[property] = settings[property];
|
||||
} else if (this.element.hasAttribute("data-tilt-" + property)) {
|
||||
let attribute = this.element.getAttribute("data-tilt-" + property);
|
||||
try {
|
||||
newSettings[property] = JSON.parse(attribute);
|
||||
} catch (e) {
|
||||
newSettings[property] = attribute;
|
||||
}
|
||||
|
||||
} else {
|
||||
newSettings[property] = defaultSettings[property];
|
||||
}
|
||||
}
|
||||
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
static init(elements, settings) {
|
||||
if (elements instanceof Node) {
|
||||
elements = [elements];
|
||||
}
|
||||
|
||||
if (elements instanceof NodeList) {
|
||||
elements = [].slice.call(elements);
|
||||
}
|
||||
|
||||
if (!(elements instanceof Array)) {
|
||||
return;
|
||||
}
|
||||
|
||||
elements.forEach((element) => {
|
||||
if (!("vanillaTilt" in element)) {
|
||||
element.vanillaTilt = new VanillaTilt(element, settings);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof document !== "undefined") {
|
||||
/* expose the class to window */
|
||||
window.VanillaTilt = VanillaTilt;
|
||||
|
||||
/**
|
||||
* Auto load
|
||||
*/
|
||||
VanillaTilt.init(document.querySelectorAll("[data-tilt]"));
|
||||
}
|
||||
|
||||
return VanillaTilt;
|
||||
|
||||
}());
|
||||
381
assets/js/plugins/typedjs.js
Normal file
381
assets/js/plugins/typedjs.js
Normal file
@@ -0,0 +1,381 @@
|
||||
/*!
|
||||
*
|
||||
* typed.js - A JavaScript Typing Animation Library
|
||||
* Author: Matt Boldt <me@mattboldt.com>
|
||||
* Version: v2.0.11
|
||||
* Url: https://github.com/mattboldt/typed.js
|
||||
* License(s): MIT
|
||||
*
|
||||
*/
|
||||
(function(t, e) {
|
||||
"object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.Typed = e() : t.Typed = e()
|
||||
})(this, function() {
|
||||
return function(t) {
|
||||
function e(n) {
|
||||
if (s[n]) return s[n].exports;
|
||||
var i = s[n] = {
|
||||
exports: {},
|
||||
id: n,
|
||||
loaded: !1
|
||||
};
|
||||
return t[n].call(i.exports, i, i.exports, e), i.loaded = !0, i.exports
|
||||
}
|
||||
var s = {};
|
||||
return e.m = t, e.c = s, e.p = "", e(0)
|
||||
}([function(t, e, s) {
|
||||
"use strict";
|
||||
|
||||
function n(t, e) {
|
||||
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
||||
}
|
||||
Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
});
|
||||
var i = function() {
|
||||
function t(t, e) {
|
||||
for (var s = 0; s < e.length; s++) {
|
||||
var n = e[s];
|
||||
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)
|
||||
}
|
||||
}
|
||||
return function(e, s, n) {
|
||||
return s && t(e.prototype, s), n && t(e, n), e
|
||||
}
|
||||
}(),
|
||||
r = s(1),
|
||||
o = s(3),
|
||||
a = function() {
|
||||
function t(e, s) {
|
||||
n(this, t), r.initializer.load(this, s, e), this.begin()
|
||||
}
|
||||
return i(t, [{
|
||||
key: "toggle",
|
||||
value: function() {
|
||||
this.pause.status ? this.start() : this.stop()
|
||||
}
|
||||
}, {
|
||||
key: "stop",
|
||||
value: function() {
|
||||
this.typingComplete || this.pause.status || (this.toggleBlinking(!0), this.pause.status = !0, this.options.onStop(this.arrayPos, this))
|
||||
}
|
||||
}, {
|
||||
key: "start",
|
||||
value: function() {
|
||||
this.typingComplete || this.pause.status && (this.pause.status = !1, this.pause.typewrite ? this.typewrite(this.pause.curString, this.pause.curStrPos) : this.backspace(this.pause.curString, this.pause.curStrPos), this.options.onStart(this.arrayPos, this))
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function() {
|
||||
this.reset(!1), this.options.onDestroy(this)
|
||||
}
|
||||
}, {
|
||||
key: "reset",
|
||||
value: function() {
|
||||
var t = arguments.length <= 0 || void 0 === arguments[0] || arguments[0];
|
||||
clearInterval(this.timeout), this.replaceText(""), this.cursor && this.cursor.parentNode && (this.cursor.parentNode.removeChild(this.cursor), this.cursor = null), this.strPos = 0, this.arrayPos = 0, this.curLoop = 0, t && (this.insertCursor(), this.options.onReset(this), this.begin())
|
||||
}
|
||||
}, {
|
||||
key: "begin",
|
||||
value: function() {
|
||||
var t = this;
|
||||
this.options.onBegin(this), this.typingComplete = !1, this.shuffleStringsIfNeeded(this), this.insertCursor(), this.bindInputFocusEvents && this.bindFocusEvents(), this.timeout = setTimeout(function() {
|
||||
t.currentElContent && 0 !== t.currentElContent.length ? t.backspace(t.currentElContent, t.currentElContent.length) : t.typewrite(t.strings[t.sequence[t.arrayPos]], t.strPos)
|
||||
}, this.startDelay)
|
||||
}
|
||||
}, {
|
||||
key: "typewrite",
|
||||
value: function(t, e) {
|
||||
var s = this;
|
||||
this.fadeOut && this.el.classList.contains(this.fadeOutClass) && (this.el.classList.remove(this.fadeOutClass), this.cursor && this.cursor.classList.remove(this.fadeOutClass));
|
||||
var n = this.humanizer(this.typeSpeed),
|
||||
i = 1;
|
||||
return this.pause.status === !0 ? void this.setPauseStatus(t, e, !0) : void(this.timeout = setTimeout(function() {
|
||||
e = o.htmlParser.typeHtmlChars(t, e, s);
|
||||
var n = 0,
|
||||
r = t.substr(e);
|
||||
if ("^" === r.charAt(0) && /^\^\d+/.test(r)) {
|
||||
var a = 1;
|
||||
r = /\d+/.exec(r)[0], a += r.length, n = parseInt(r), s.temporaryPause = !0, s.options.onTypingPaused(s.arrayPos, s), t = t.substring(0, e) + t.substring(e + a), s.toggleBlinking(!0)
|
||||
}
|
||||
if ("`" === r.charAt(0)) {
|
||||
for (;
|
||||
"`" !== t.substr(e + i).charAt(0) && (i++, !(e + i > t.length)););
|
||||
var u = t.substring(0, e),
|
||||
l = t.substring(u.length + 1, e + i),
|
||||
c = t.substring(e + i + 1);
|
||||
t = u + l + c, i--
|
||||
}
|
||||
s.timeout = setTimeout(function() {
|
||||
s.toggleBlinking(!1), e >= t.length ? s.doneTyping(t, e) : s.keepTyping(t, e, i), s.temporaryPause && (s.temporaryPause = !1, s.options.onTypingResumed(s.arrayPos, s))
|
||||
}, n)
|
||||
}, n))
|
||||
}
|
||||
}, {
|
||||
key: "keepTyping",
|
||||
value: function(t, e, s) {
|
||||
0 === e && (this.toggleBlinking(!1), this.options.preStringTyped(this.arrayPos, this)), e += s;
|
||||
var n = t.substr(0, e);
|
||||
this.replaceText(n), this.typewrite(t, e)
|
||||
}
|
||||
}, {
|
||||
key: "doneTyping",
|
||||
value: function(t, e) {
|
||||
var s = this;
|
||||
this.options.onStringTyped(this.arrayPos, this), this.toggleBlinking(!0), this.arrayPos === this.strings.length - 1 && (this.complete(), this.loop === !1 || this.curLoop === this.loopCount) || (this.timeout = setTimeout(function() {
|
||||
s.backspace(t, e)
|
||||
}, this.backDelay))
|
||||
}
|
||||
}, {
|
||||
key: "backspace",
|
||||
value: function(t, e) {
|
||||
var s = this;
|
||||
if (this.pause.status === !0) return void this.setPauseStatus(t, e, !0);
|
||||
if (this.fadeOut) return this.initFadeOut();
|
||||
this.toggleBlinking(!1);
|
||||
var n = this.humanizer(this.backSpeed);
|
||||
this.timeout = setTimeout(function() {
|
||||
e = o.htmlParser.backSpaceHtmlChars(t, e, s);
|
||||
var n = t.substr(0, e);
|
||||
if (s.replaceText(n), s.smartBackspace) {
|
||||
var i = s.strings[s.arrayPos + 1];
|
||||
i && n === i.substr(0, e) ? s.stopNum = e : s.stopNum = 0
|
||||
}
|
||||
e > s.stopNum ? (e--, s.backspace(t, e)) : e <= s.stopNum && (s.arrayPos++, s.arrayPos === s.strings.length ? (s.arrayPos = 0, s.options.onLastStringBackspaced(), s.shuffleStringsIfNeeded(), s.begin()) : s.typewrite(s.strings[s.sequence[s.arrayPos]], e))
|
||||
}, n)
|
||||
}
|
||||
}, {
|
||||
key: "complete",
|
||||
value: function() {
|
||||
this.options.onComplete(this), this.loop ? this.curLoop++ : this.typingComplete = !0
|
||||
}
|
||||
}, {
|
||||
key: "setPauseStatus",
|
||||
value: function(t, e, s) {
|
||||
this.pause.typewrite = s, this.pause.curString = t, this.pause.curStrPos = e
|
||||
}
|
||||
}, {
|
||||
key: "toggleBlinking",
|
||||
value: function(t) {
|
||||
this.cursor && (this.pause.status || this.cursorBlinking !== t && (this.cursorBlinking = t, t ? this.cursor.classList.add("typed-cursor--blink") : this.cursor.classList.remove("typed-cursor--blink")))
|
||||
}
|
||||
}, {
|
||||
key: "humanizer",
|
||||
value: function(t) {
|
||||
return Math.round(Math.random() * t / 2) + t
|
||||
}
|
||||
}, {
|
||||
key: "shuffleStringsIfNeeded",
|
||||
value: function() {
|
||||
this.shuffle && (this.sequence = this.sequence.sort(function() {
|
||||
return Math.random() - .5
|
||||
}))
|
||||
}
|
||||
}, {
|
||||
key: "initFadeOut",
|
||||
value: function() {
|
||||
var t = this;
|
||||
return this.el.className += " " + this.fadeOutClass, this.cursor && (this.cursor.className += " " + this.fadeOutClass), setTimeout(function() {
|
||||
t.arrayPos++, t.replaceText(""), t.strings.length > t.arrayPos ? t.typewrite(t.strings[t.sequence[t.arrayPos]], 0) : (t.typewrite(t.strings[0], 0), t.arrayPos = 0)
|
||||
}, this.fadeOutDelay)
|
||||
}
|
||||
}, {
|
||||
key: "replaceText",
|
||||
value: function(t) {
|
||||
this.attr ? this.el.setAttribute(this.attr, t) : this.isInput ? this.el.value = t : "html" === this.contentType ? this.el.innerHTML = t : this.el.textContent = t
|
||||
}
|
||||
}, {
|
||||
key: "bindFocusEvents",
|
||||
value: function() {
|
||||
var t = this;
|
||||
this.isInput && (this.el.addEventListener("focus", function(e) {
|
||||
t.stop()
|
||||
}), this.el.addEventListener("blur", function(e) {
|
||||
t.el.value && 0 !== t.el.value.length || t.start()
|
||||
}))
|
||||
}
|
||||
}, {
|
||||
key: "insertCursor",
|
||||
value: function() {
|
||||
this.showCursor && (this.cursor || (this.cursor = document.createElement("span"), this.cursor.className = "typed-cursor", this.cursor.innerHTML = this.cursorChar, this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling)))
|
||||
}
|
||||
}]), t
|
||||
}();
|
||||
e["default"] = a, t.exports = e["default"]
|
||||
}, function(t, e, s) {
|
||||
"use strict";
|
||||
|
||||
function n(t) {
|
||||
return t && t.__esModule ? t : {
|
||||
"default": t
|
||||
}
|
||||
}
|
||||
|
||||
function i(t, e) {
|
||||
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
||||
}
|
||||
Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
});
|
||||
var r = Object.assign || function(t) {
|
||||
for (var e = 1; e < arguments.length; e++) {
|
||||
var s = arguments[e];
|
||||
for (var n in s) Object.prototype.hasOwnProperty.call(s, n) && (t[n] = s[n])
|
||||
}
|
||||
return t
|
||||
},
|
||||
o = function() {
|
||||
function t(t, e) {
|
||||
for (var s = 0; s < e.length; s++) {
|
||||
var n = e[s];
|
||||
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)
|
||||
}
|
||||
}
|
||||
return function(e, s, n) {
|
||||
return s && t(e.prototype, s), n && t(e, n), e
|
||||
}
|
||||
}(),
|
||||
a = s(2),
|
||||
u = n(a),
|
||||
l = function() {
|
||||
function t() {
|
||||
i(this, t)
|
||||
}
|
||||
return o(t, [{
|
||||
key: "load",
|
||||
value: function(t, e, s) {
|
||||
if ("string" == typeof s ? t.el = document.querySelector(s) : t.el = s, t.options = r({}, u["default"], e), t.isInput = "input" === t.el.tagName.toLowerCase(), t.attr = t.options.attr, t.bindInputFocusEvents = t.options.bindInputFocusEvents, t.showCursor = !t.isInput && t.options.showCursor, t.cursorChar = t.options.cursorChar, t.cursorBlinking = !0, t.elContent = t.attr ? t.el.getAttribute(t.attr) : t.el.textContent, t.contentType = t.options.contentType, t.typeSpeed = t.options.typeSpeed, t.startDelay = t.options.startDelay, t.backSpeed = t.options.backSpeed, t.smartBackspace = t.options.smartBackspace, t.backDelay = t.options.backDelay, t.fadeOut = t.options.fadeOut, t.fadeOutClass = t.options.fadeOutClass, t.fadeOutDelay = t.options.fadeOutDelay, t.isPaused = !1, t.strings = t.options.strings.map(function(t) {
|
||||
return t.trim()
|
||||
}), "string" == typeof t.options.stringsElement ? t.stringsElement = document.querySelector(t.options.stringsElement) : t.stringsElement = t.options.stringsElement, t.stringsElement) {
|
||||
t.strings = [], t.stringsElement.style.display = "none";
|
||||
var n = Array.prototype.slice.apply(t.stringsElement.children),
|
||||
i = n.length;
|
||||
if (i)
|
||||
for (var o = 0; o < i; o += 1) {
|
||||
var a = n[o];
|
||||
t.strings.push(a.innerHTML.trim())
|
||||
}
|
||||
}
|
||||
t.strPos = 0, t.arrayPos = 0, t.stopNum = 0, t.loop = t.options.loop, t.loopCount = t.options.loopCount, t.curLoop = 0, t.shuffle = t.options.shuffle, t.sequence = [], t.pause = {
|
||||
status: !1,
|
||||
typewrite: !0,
|
||||
curString: "",
|
||||
curStrPos: 0
|
||||
}, t.typingComplete = !1;
|
||||
for (var o in t.strings) t.sequence[o] = o;
|
||||
t.currentElContent = this.getCurrentElContent(t), t.autoInsertCss = t.options.autoInsertCss, this.appendAnimationCss(t)
|
||||
}
|
||||
}, {
|
||||
key: "getCurrentElContent",
|
||||
value: function(t) {
|
||||
var e = "";
|
||||
return e = t.attr ? t.el.getAttribute(t.attr) : t.isInput ? t.el.value : "html" === t.contentType ? t.el.innerHTML : t.el.textContent
|
||||
}
|
||||
}, {
|
||||
key: "appendAnimationCss",
|
||||
value: function(t) {
|
||||
var e = "data-typed-js-css";
|
||||
if (t.autoInsertCss && (t.showCursor || t.fadeOut) && !document.querySelector("[" + e + "]")) {
|
||||
var s = document.createElement("style");
|
||||
s.type = "text/css", s.setAttribute(e, !0);
|
||||
var n = "";
|
||||
t.showCursor && (n += "\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n "), t.fadeOut && (n += "\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n "), 0 !== s.length && (s.innerHTML = n, document.body.appendChild(s))
|
||||
}
|
||||
}
|
||||
}]), t
|
||||
}();
|
||||
e["default"] = l;
|
||||
var c = new l;
|
||||
e.initializer = c
|
||||
}, function(t, e) {
|
||||
"use strict";
|
||||
Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
});
|
||||
var s = {
|
||||
strings: ["These are the default values...", "You know what you should do?", "Use your own!", "Have a great day!"],
|
||||
stringsElement: null,
|
||||
typeSpeed: 0,
|
||||
startDelay: 0,
|
||||
backSpeed: 0,
|
||||
smartBackspace: !0,
|
||||
shuffle: !1,
|
||||
backDelay: 700,
|
||||
fadeOut: !1,
|
||||
fadeOutClass: "typed-fade-out",
|
||||
fadeOutDelay: 500,
|
||||
loop: !1,
|
||||
loopCount: 1 / 0,
|
||||
showCursor: !0,
|
||||
cursorChar: "|",
|
||||
autoInsertCss: !0,
|
||||
attr: null,
|
||||
bindInputFocusEvents: !1,
|
||||
contentType: "html",
|
||||
onBegin: function(t) {},
|
||||
onComplete: function(t) {},
|
||||
preStringTyped: function(t, e) {},
|
||||
onStringTyped: function(t, e) {},
|
||||
onLastStringBackspaced: function(t) {},
|
||||
onTypingPaused: function(t, e) {},
|
||||
onTypingResumed: function(t, e) {},
|
||||
onReset: function(t) {},
|
||||
onStop: function(t, e) {},
|
||||
onStart: function(t, e) {},
|
||||
onDestroy: function(t) {}
|
||||
};
|
||||
e["default"] = s, t.exports = e["default"]
|
||||
}, function(t, e) {
|
||||
"use strict";
|
||||
|
||||
function s(t, e) {
|
||||
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
||||
}
|
||||
Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
});
|
||||
var n = function() {
|
||||
function t(t, e) {
|
||||
for (var s = 0; s < e.length; s++) {
|
||||
var n = e[s];
|
||||
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)
|
||||
}
|
||||
}
|
||||
return function(e, s, n) {
|
||||
return s && t(e.prototype, s), n && t(e, n), e
|
||||
}
|
||||
}(),
|
||||
i = function() {
|
||||
function t() {
|
||||
s(this, t)
|
||||
}
|
||||
return n(t, [{
|
||||
key: "typeHtmlChars",
|
||||
value: function(t, e, s) {
|
||||
if ("html" !== s.contentType) return e;
|
||||
var n = t.substr(e).charAt(0);
|
||||
if ("<" === n || "&" === n) {
|
||||
var i = "";
|
||||
for (i = "<" === n ? ">" : ";"; t.substr(e + 1).charAt(0) !== i && (e++, !(e + 1 > t.length)););
|
||||
e++
|
||||
}
|
||||
return e
|
||||
}
|
||||
}, {
|
||||
key: "backSpaceHtmlChars",
|
||||
value: function(t, e, s) {
|
||||
if ("html" !== s.contentType) return e;
|
||||
var n = t.substr(e).charAt(0);
|
||||
if (">" === n || ";" === n) {
|
||||
var i = "";
|
||||
for (i = ">" === n ? "<" : "&"; t.substr(e - 1).charAt(0) !== i && (e--, !(e < 0)););
|
||||
e--
|
||||
}
|
||||
return e
|
||||
}
|
||||
}]), t
|
||||
}();
|
||||
e["default"] = i;
|
||||
var r = new i;
|
||||
e.htmlParser = r
|
||||
}])
|
||||
});
|
||||
Reference in New Issue
Block a user