diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:38:42 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:38:42 +0800 |
| commit | 7aba14fb7c970c6e6af82c805db2aef6d70bfe2b (patch) | |
| tree | 43a78d4a237358a83acf657d9b8e570830922fdb | |
| parent | c1020bf05b03d987fd300198723e5a40936a2b20 (diff) | |
recompiled & originzied directories
| -rw-r--r-- | dest/css/about.css | 1 | ||||
| -rw-r--r-- | dest/css/ghrepo.css | 1 | ||||
| -rw-r--r-- | dest/css/index.css | 1 | ||||
| -rw-r--r-- | dest/css/style.css | 1 | ||||
| -rw-r--r-- | dest/js/about.js | 1 | ||||
| -rw-r--r-- | dest/js/getrepo.js | 220 | ||||
| -rw-r--r-- | dest/js/hacktype.js | 41 | ||||
| -rw-r--r-- | dest/js/header.js | 10 | ||||
| -rw-r--r-- | dest/js/index.js | 13 | ||||
| -rw-r--r-- | dest/js/rbg.js | 25 | ||||
| -rw-r--r-- | dest/js/tilt.conf.js | 8 | ||||
| -rw-r--r-- | dest/js/tilt.conf.noglare.js | 7 | ||||
| -rw-r--r-- | dest/js/tilt.js | 166 |
13 files changed, 495 insertions, 0 deletions
diff --git a/dest/css/about.css b/dest/css/about.css new file mode 100644 index 00000000..df88c7d7 --- /dev/null +++ b/dest/css/about.css @@ -0,0 +1 @@ +body{margin:0;padding:0}.container{height:100vh}.container,.left{align-items:center;display:flex;justify-content:center}.left{margin:4em 0 0;overflow:hidden;top:50%;transform:translateY(-50%)}.left img{max-width:100%}.right{display:flex;height:100%;margin-top:10em}.main{margin:auto}.main h2{font-size:24px;margin-bottom:10px}.main p{font-size:16px;margin:0}.info{height:80%}.name{font-family:smooth;font-size:10vw}.background{height:100vh;width:100%}
\ No newline at end of file diff --git a/dest/css/ghrepo.css b/dest/css/ghrepo.css new file mode 100644 index 00000000..0196b000 --- /dev/null +++ b/dest/css/ghrepo.css @@ -0,0 +1 @@ +:root{--text:#e5e5e5;--accent:#1688f0;--bg-main:#000;--bg-repo:#0f0f1a;--bg-user:#0a0a0f;--purple:#7b1fa2;--violet:#673ab7;--pink:#f48fb1;--light-yellow:#ffc;--pale-yellow:#ff9;--lemon-yellow:#fffacd}*{background:transparent;box-sizing:border-box}body{font-family:Open Sans,sans-serif;margin:(3em) 0 0}main{margin-top:3em}.bgWrap{background-color:#303c64;background-image:url(/images/heigh-grass.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;color:#f4e8c1;font-size:16px;height:100%;left:0;margin:0;overflow:hidden;padding:0;top:0;width:100%;z-index:-1}.bgWrap,.container{align-items:center;display:flex;justify-content:center}.container{flex-direction:row;flex-wrap:wrap;max-width:1280px;position:center;width:90%}.container small,h1{background:transparent}.hide{display:none!important}h1{color:#1688f0;color:var(--accent);margin-bottom:4px}small{display:block;margin-bottom:20px}h2,small{text-align:center;width:100%}h2{color:#e5e5e5;color:var(--text);margin:0}a{background:transparent;color:#1688f0;color:var(--accent);-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background .5s}.github-img{margin-right:8px;width:45px}ul{list-style:none;padding:0}.user-info,.user-info *{background:transparent}.user-info{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:16px;color:#e5e5e5;color:var(--text);display:flex;flex-wrap:wrap;font-size:18px;justify-content:center;padding:2em}.user-info figure{background:transparent;max-width:250px;width:90%}.user-info img{border:2px solid #1688f0;border:2px solid var(--accent);border-radius:100%;box-shadow:0 0 6px #1688f0,0 0 6px #1688f0;box-shadow:0 0 6px var(--accent),0 0 6px var(--accent);box-shadow:0 0 10mm rgba(0,0,0,.7);height:auto;max-width:100%}.user-info img:hover{box-shadow:0 0 100mm rgba(255,238,16,.7);transform:scale(1.1)}.user-info div{align-items:center;display:flex;flex-wrap:wrap;padding-left:5%;text-align:center;width:100%}.user-info div p{background:transparent;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--text);margin:0;padding:0 0 18px;width:100%}.user-info :hover{transform:scale(1.1)}.user-info .usertitle{font-family:audiowide;font-size:2vw;text-transform:uppercase}.filter-repos,input{background:#0a0a0f;background:rgba(10,10,15,.3);border:2px solid #1688f0;border:2px solid var(--accent);border-radius:20px;box-shadow:0 0 10mm rgba(0,0,0,.7);margin-bottom:1em;margin-top:1em;min-width:300px;padding:1em;text-align:center;-webkit-transition:all .5s;width:50%}.filter-repos:hover,input:hover{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 0 50mm rgba(0,0,0,.7);-moz-filter:blur(5px);-o-filter:blur(5px);-ms-filter:blur(5px);transform:scale(1.1);transition:all .5s}.filter-repos:active,input:active{background:#f4e8c1;background:hsla(46,70%,86%,.3);box-shadow:0 0 10mm rgba(0,0,0,.7)}.repos{background:grey;background:hsla(0,0%,50%,.2);border-radius:16px;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:4em;margin-top:0;padding:2em}.repos:hover{background:#000;background:rgba(0,0,0,.3);box-shadow:0 0 20mm hsla(0,0%,50%,.7);transform:scale(1.01);transition:all .5s}.repo-title{color:#1688f0;color:var(--accent);margin:4px;text-align:center;width:100%}.repo-list{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:center;scroll-snap-type:y mandatory}.repo-list,.repo-list li{background:transparent;width:100%}.repo-list li{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #1688f0;border:1px solid var(--accent);border-radius:10px;-moz-filter:blur(20px);-o-filter:blur(20px);-ms-filter:blur(20px);margin:1em 0;min-height:180px;padding:1em;scroll-snap-align:center;text-align:center;-webkit-transition:all .5s}.repo-list h3,span{background:transparent}.repo:hover{background:#000;background:rgba(0,0,0,.5);box-shadow:0 0 50mm rgba(255,238,16,.7);transform:scale(1.05);transition:background .5s,transform 1s,all .3s}.repo-list:hover:has(li:hover) li:not(:hover){animation-duration:.5s;background:#000;background:rgba(0,0,0,.3);transform:scale(.95);transition:background .5s,transform 1s,all .3s}.link-btn{background:grey;background:hsla(0,0%,50%,.1);border:2px solid #1688f0;border:2px solid var(--accent);border-radius:30px;color:#e5e5e5;color:var(--text);padding:10px 20px;-webkit-transition:background .5s,transform .5s,border .5s,all .5s}.link-btn:hover{background:#1688f0;background:rgba(22,136,240,.5);border:2px solid #e5e5e5;border:2px solid var(--text);box-shadow:0 0 50mm rgba(0,156,255,.7);transform:scale(1.1);transition:background .5s,transform .5s,border .5s,all .5s}.repo-list p{background:transparent;margin:.5em 0;padding:0 .5em}.intro:hover,.user-info:hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-moz-filter:blur(8px);-o-filter:blur(8px);-ms-filter:blur(8px);transform:scale(1.1);transition:all .5s}.user-info{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:grey;background:hsla(0,0%,50%,.2);-moz-filter:blur(2px);-o-filter:blur(2px);-ms-filter:blur(2px)}.repo{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 10mm rgba(0,0,0,.7);-moz-filter:blur(20px);-o-filter:blur(20px);-ms-filter:blur(20px);overflow:auto;overflow-x:hidden;resize:both}.rdescription{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}.rdescription:hover{-webkit-line-clamp:unset}@media (min-width:700px){.user-info div{background:transparent;text-align:left;width:45%}.user-info div p{margin:10px}.repo-list{justify-content:space-around}.repo-list li{margin:2% 1.5%;width:48%}}@media (min-width:1200px){.repo-list li{width:30%}}
\ No newline at end of file diff --git a/dest/css/index.css b/dest/css/index.css new file mode 100644 index 00000000..e943766a --- /dev/null +++ b/dest/css/index.css @@ -0,0 +1 @@ +.wrapper{-ms-overflow-style:none;height:100vh;left:0;overflow-x:hidden;scrollbar-width:none;top:0;width:100%;z-index:-6}.wrapper::-webkit-scrollbar{display:none}.indexPage{background-color:#143555;background-image:url(/images/backgroundNightCity.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;color:#f4e8c1;height:100%;left:0;margin:0;overflow:hidden;padding:0;top:0;width:100%;z-index:-10}.window{background:transparent;height:70%;left:10%;top:15%;width:80%;z-index:999}.window,.window .windowWrap{align-items:center;display:flex;justify-content:center;position:relative}.window .windowWrap{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff;border:1px solid hsla(0,0%,100%,.15);border-radius:1em;box-shadow:0 0 10mm #000;-moz-filter:blur(16px);-o-filter:blur(16px);-ms-filter:blur(16px);height:100%;text-align:center;width:100%;z-index:11}.window:hover,.windowWrap:hover{transform:scale(1.1);transition:all .3s}.window .windowWrap .text{position:relative;text-align:center;text-shadow:10px 10px 10px #000;width:100%}.window .windowWrap .text .title{font-family:monoton;font-size:7vw;text-transform:uppercase}.description{font-family:rocksalt;font-size:1.75vw}.title{text-shadow:15px 15px 15px #000;transition:all .5s}.title:hover{transform:scale(1.1);transition:all .5s}.window .windowWrap .text .br{display:block;height:0;margin-bottom:5vh;width:0}
\ No newline at end of file diff --git a/dest/css/style.css b/dest/css/style.css new file mode 100644 index 00000000..042473fd --- /dev/null +++ b/dest/css/style.css @@ -0,0 +1 @@ +:root{--topBarHeight:10%}@font-face{font-family:hacked;src:url(/fonts/Hacked-KerX.ttf)}@font-face{font-family:smooth;src:url(/fonts/SmoothElegantRegular-ZLv3.ttf)}@font-face{font-family:liga;src:url(/fonts/LigaJetBrainsMonoNerdFont-Regular.ttf)}@font-face{font-family:big;src:url(/fonts/Big500-8MLOM.ttf)}@font-face{font-family:monoton;src:url(/fonts/Monoton.ttf)}@font-face{font-family:rocksalt;src:url(/fonts/RockSalt-Regular.ttf)}@font-face{font-family:audiowide;src:url(/fonts/audiowide.ttf)}*{box-sizing:border-box;font-family:liga;margin:0;padding:0;text-shadow:0 0 1px #000}body{left:0;top:0;transition:background 1s ease-in-out}body::-webkit-scrollbar{display:none}@keyframes slideInTop{0%{transform:translateY(-300px)}to{transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(30px)}80%{transform:translateY(-15px)}}@keyframes zoomIn{0%{transform:scale(.01)}85%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes zoomOut{0%{transform:scale(1)}to{transform:scale(.01)}}@keyframes reveal{0%{-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);-webkit-filter:blur(32px);-moz-filter:blur(32px);-o-filter:blur(32px);-ms-filter:blur(32px);transform:scale(2)}}@keyframes shake{0%{transform:rotate(0deg)}25%{transform:rotate(.5deg)}50%{transform:rotate(0eg)}75%{transform:rotate(-.5deg)}to{transform:rotate(0deg)}}@keyframes background-pan{0%{background-position:0}to{background-position:-200%}}.animate{animation-duration:.5s;animation-fill-mode:both}.animate.animate--infinite{animation-iteration-count:infinite}.animate.animation--delay-1s{animation-delay:1s}.animate.animation--delay-p5s{animation-delay:.5s}.animate.animation--delay-p3s{animation-delay:.3s}.animate.animation--fast{animation-duration:.3s}.animate.animation--slow{animation-duration:1s}.animate.slideInTop{animation-name:slideInTop;animation-timing-function:ease-in}.animate.bounce{animation-name:bounce}.animate.zoomIn{animation-name:zoomIn}.animate.zoomIn,.animate.zoomOut{transition-timing-function:linear}.animate.zoomOut{animation-name:zoomOut}.animate.reveal{animation-name:reveal;transition-timing-function:linear}.animate.shake{animation-name:shake}*{transition:all .3s}.js-tilt-glare{border-radius:18px;overflow:hidden}header{align-items:center;background:grey;background:hsla(0,0%,50%,.2);height:3em;justify-content:space-between;left:0;position:fixed;top:0;width:100%;z-index:1000}.navBar a{border-radius:8px;color:#f4e8c1;font-size:5mm;height:100%;margin-left:5mm;margin-right:5mm;padding-bottom:3mm;padding-top:3mm;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:capitalize}.navBar .hleft a{float:left}.navBar .hright a{float:right}.navBar a:after{background:grey;background:hsla(0,0%,50%,.2);border-radius:1mm;bottom:0;content:"";height:1mm;left:0;position:absolute;transform:scaleX(0);transition:all .3s;width:100%}.navBar a:hover:after{transform:scaleX(1.1)}.navBar a:hover{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-moz-filter:blur(10px);-o-filter:blur(10px);-ms-filter:blur(10px);transition:all 1s}.navBar a.active:after{background:grey;background:hsla(0,0%,50%,.9);border-radius:1mm;bottom:0;content:"";height:1mm;left:0;position:absolute;transform:scaleX(1);width:100%}#navBarHeader:active,#navBarHeader:hover,.navBar:active,.navBar:hover,header:active,header:hover{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-moz-filter:blur(10px);-o-filter:blur(10px);-ms-filter:blur(10px);transform:scale(1.005);transition:all .5s}#navBarHeader,.navBar,header{-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);-moz-filter:blur(2.5px);-o-filter:blur(2.5px);-ms-filter:blur(2.5px)}.contents{height:100%;margin:0;padding:0;width:100%}section{position:relative}.wrapper{height:100vh;overflow-x:hidden;overflow-y:auto;perspective:10px}a:hover{cursor:pointer;font-size:5mm;font-weight:700;height:100%;margin-left:5mm;margin-right:5mm;padding-bottom:3mm;padding-top:3mm;position:relative;text-align:center;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-line:underline;text-decoration-thickness:3px;text-transform:capitalize;text-underline-offset:1px;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition:all .5s}
\ No newline at end of file diff --git a/dest/js/about.js b/dest/js/about.js new file mode 100644 index 00000000..9a390c31 --- /dev/null +++ b/dest/js/about.js @@ -0,0 +1 @@ +"use strict";
\ No newline at end of file diff --git a/dest/js/getrepo.js b/dest/js/getrepo.js new file mode 100644 index 00000000..4df90184 --- /dev/null +++ b/dest/js/getrepo.js @@ -0,0 +1,220 @@ +"use strict"; + +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +var username = 'littleblack111'; +var clientId = '8aa6ec904eca5e0bc1e3'; +var clientSecret = 'b9ac8092b0b95f86871f5d1da81f666146d71200'; +var hideForks = true; +var repoList = document.querySelector('.repo-list'); +var reposSection = document.querySelector('.repos'); +var filterInput = document.querySelector('.filter-repos'); + +// get information from github profile +var getProfile = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var res, profile; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return fetch("https://api.github.com/users/".concat(username), { + headers: { + Accept: 'application/vnd.github+json', + Authorization: //'token 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' + "Basic ".concat(btoa("".concat(clientId, ":").concat(clientSecret))) + } + }); + case 2: + res = _context.sent; + _context.next = 5; + return res.json(); + case 5: + profile = _context.sent; + displayProfile(profile); + case 7: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function getProfile() { + return _ref.apply(this, arguments); + }; +}(); +getProfile(); + +// display infomation from github profile +var displayProfile = function displayProfile(profile) { + var userInfo = document.querySelector('.user-info'); + userInfo.innerHTML = "\n <figure>\n <a href=".concat(profile.html_url, "><img alt=\"user avatar\" src=").concat(profile.avatar_url, "></a>\n </figure>\n <div>\n <!-- <h2><a href=").concat(profile.blog, "><strong>").concat(profile.name, "</strong></a></h2> -->\n <h2><a href=/><strong class=\"usertitle\">").concat(profile.name, "</strong></a></h2>\n <!-- <h2><a href=").concat(profile.html_url, "><strong>").concat(profile.name, "</strong></a></h2> -->\n <p>").concat(profile.bio, "</p>\n <p>\n <strong>Mail:</strong> ").concat(profile.email, "\n </p>\n <p>\n <strong>Location:</strong> ").concat(profile.location, "\n </p>\n <p>\n <strong>@").concat(profile.login, " </strong>\n Repos: ").concat(profile.public_repos, "\n Gists: ").concat(profile.public_gists, "\n </p>\n </div>\n "); +}; + +// get list of user's public repos +var getRepos = /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { + var repos, res, data; + return _regeneratorRuntime().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + repos = []; + _context2.next = 3; + return fetch("https://api.github.com/users/".concat(username, "/repos?&sort=pushed"), { + headers: { + Accept: 'application/vnd.github+json', + Authorization: "Basic ".concat(btoa("".concat(clientId, ":").concat(clientSecret))) + // 'token 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' + } + }); + case 3: + res = _context2.sent; + _context2.next = 6; + return res.json(); + case 6: + data = _context2.sent; + repos = repos.concat(data); + repos.sort(function (a, b) { + return b.forks_count - a.forks_count; + }); + repos.sort(function (a, b) { + return b.stargazers_count - a.stargazers_count; + }); + displayRepos(repos); + case 11: + case "end": + return _context2.stop(); + } + }, _callee2); + })); + return function getRepos() { + return _ref2.apply(this, arguments); + }; +}(); +getRepos(); + +// display list of all user's public repos +var displayRepos = function displayRepos(repos) { + var userHome = "https://github.com/".concat(username); + filterInput.classList.remove('hide'); + var _iterator = _createForOfIteratorHelper(repos), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var repo = _step.value; + if (repo.fork && hideForks) { + continue; + } + var langUrl = "".concat(userHome, "?tab=repositories&q=&language=").concat(repo.language); + var starsUrl = "".concat(userHome, "/").concat(repo.name, "/stargazers"); + var forksUrl = "".concat(userHome, "/").concat(repo.name, "/network/members"); + var listItem = document.createElement('li'); + listItem.classList.add('repo'); + listItem.innerHTML = "\n <h2 class=\"repo-title\">".concat(repo.name, "</h2>\n <span class=\"rdescription\">").concat(repo.description ? "<span class=\"rdescriptiontext\">".concat(repo.description, "</span>") : '', "<br/><br/>"); + if (repo.stargazers_count > 0) { + listItem.innerHTML += "<a href=\"".concat(starsUrl, "\">\n <span>\u2B50 ").concat(repo.stargazers_count, "</span></a>"); + } + if (repo.language) { + listItem.innerHTML += "<a href=\"".concat(langUrl, "\">\n <span>").concat(devicons[repo.language], "</span></a>"); + } + if (repo.forks_count > 0) { + listItem.innerHTML += "<a href=\"".concat(starsUrl, "\">\n <span>").concat(devicons["Git"], " ").concat(repo.forks_count, "</span></a>"); + } + if (repo.homepage && repo.homepage !== "") { + listItem.innerHTML += "<br /> <br />\n <a class=\"link-btn\" href=".concat(repo.html_url, ">Code ").concat(devicons["Github"], "</a>\n <a class=\"link-btn\" href=").concat(repo.homepage, ">Live ").concat(devicons["Chrome"], "</a> <br />"); + } else { + listItem.innerHTML += "<br /> <br />\n <a class=\"link-btn\" href=".concat(repo.html_url, ">View Project ").concat(devicons["Github"], "</a><br />"); + } + repoList.append(listItem); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +}; + +// dynamic search +filterInput.addEventListener('input', function (e) { + var search = e.target.value; + var repos = document.querySelectorAll('.repo'); + var searchLowerText = search.toLowerCase(); + var _iterator2 = _createForOfIteratorHelper(repos), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var repo = _step2.value; + var lowerText = repo.innerText.toLowerCase(); + if (lowerText.includes(searchLowerText)) { + repo.classList.remove('hide'); + } else { + repo.classList.add('hide'); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } +}); + +// for programming language icons +var devicons = { + Git: '<i class="devicon-git-plain" style="color: #555"></i>', + Github: '<i class="devicon-github-plain" style="color: #1688f0"></i>', + Chrome: '<i class="devicon-chrome-plain" style="color: #1688f0"></i>', + Assembly: '<i class="devicon-labview-plain colored"></i> Assembly', + 'C#': '<i class="devicon-csharp-plain colored"></i> C#', + 'C++': '<i class="devicon-cplusplus-plain colored"></i> C++', + C: '<i class="devicon-c-plain colored"></i> C', + Clojure: '<i class="devicon-clojure-plain colored"></i> C', + CoffeeScript: '<i class="devicon-coffeescript-plain colored"></i> CoffeeScript', + Crystal: '<i class="devicon-crystal-plain colored"></i> Crystal', + CSS: '<i class="devicon-css3-plain colored"></i> CSS', + Dart: '<i class="devicon-dart-plain colored"></i> Dart', + Dockerfile: '<i class="devicon-docker-plain colored"></i> Docker', + Elixir: '<i class="devicon-elixir-plain colored"></i> Elixir', + Elm: '<i class="devicon-elm-plain colored"></i> Elm', + Erlang: '<i class="devicon-erlang-plain colored"></i> Erlang', + 'F#': '<i class="devicon-fsharp-plain colored"></i> F#', + Go: '<i class="devicon-go-plain colored"></i> Go', + Groovy: '<i class="devicon-groovy-plain colored"></i> Groovy', + HTML: '<i class="devicon-html5-plain colored"></i> HTML', + Haskell: '<i class="devicon-haskell-plain colored"></i> Haskell', + Java: '<i class="devicon-java-plain colored" style="color: #ffca2c"></i> Java', + JavaScript: '<i class="devicon-javascript-plain colored"></i> JavaScript', + Julia: '<i class="devicon-julia-plain colored"></i> Julia', + 'Jupyter Notebook': '<i class="devicon-jupyter-plain colored"></i> Jupyter', + Kotlin: '<i class="devicon-kotlin-plain colored" style="color: #796bdc"></i> Kotlin', + Latex: '<i class="devicon-latex-plain colored"></i> Latex', + Lua: '<i class="devicon-lua-plain-wordmark colored" style="color: #0000d0"></i> Lua', + Matlab: '<i class="devicon-matlab-plain colored"></i> Matlab', + Nim: '<i class="devicon-nixos-plain colored" style="color: #FFC200"></i> Nim', + Nix: '<i class="devicon-nixos-plain colored"></i> Nix', + ObjectiveC: '<i class="devicon-objectivec-plain colored"></i> ObjectiveC', + OCaml: '<i class="devicon-ocaml-plain colored"></i> OCaml', + Perl: '<i class="devicon-perl-plain colored"></i> Perl', + PHP: '<i class="devicon-php-plain colored"></i> PHP', + PLSQL: '<i class="devicon-sqlite-plain colored"></i> PLSQL', + Processing: '<i class="devicon-processing-plain colored" style="color: #0096D8"></i> Processing', + Python: '<i class="devicon-python-plain colored" style="color: #3472a6"></i> Python', + R: '<i class="devicon-r-plain colored"></i> R', + Ruby: '<i class="devicon-ruby-plain colored"></i> Ruby', + Rust: '<i class="devicon-rust-plain colored" style="color: #DEA584"></i> Rust', + Sass: '<i class="devicon-sass-original colored"></i> Sass', + Scala: '<i class="devicon-scala-plain colored"></i> Scala', + Shell: '<i class="devicon-bash-plain colored" style="color: #89E051"></i> Shell', + Solidity: '<i class="devicon-solidity-plain colored"></i> Solidity', + Stylus: '<i class="devicon-stylus-plain colored"></i> Stylus', + Svelte: '<i class="devicon-svelte-plain colored"></i> Svelte', + Swift: '<i class="devicon-swift-plain colored"></i> Swift', + Terraform: '<i class="devicon-terraform-plain colored"></i> Terraform', + TypeScript: '<i class="devicon-typescript-plain colored"></i> TypeScript', + 'Vim Script': '<i class="devicon-vim-plain colored"></i> Vim Script', + Vue: '<i class="devicon-vuejs-plain colored"></i> Vue', + Mail: '<i class="nf nf-cod-mail"></i>' +};
\ No newline at end of file diff --git a/dest/js/hacktype.js b/dest/js/hacktype.js new file mode 100644 index 00000000..4c53e83d --- /dev/null +++ b/dest/js/hacktype.js @@ -0,0 +1,41 @@ +"use strict"; + +var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +var numbers = "1234567890"; +var special = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; +var interval = null; +function hackType() { + var elements = document.querySelectorAll(".hacktype"); + var intervals = []; + elements.forEach(function (element) { + var iteration = 0; + intervals.push(setInterval(function () { + element.innerText = element.innerText.split("").map(function (letter, index) { + if (index < iteration) { + return element.dataset.value[index]; + } + return letters[Math.floor(Math.random() * 26)]; + }).join(""); + if (iteration >= element.dataset.value.length) { + clearInterval(intervals.shift()); + } + iteration += 1 / 5; + }, 20)); + }); +} +hackType(); // Call hackType initially + +setInterval(function () { + var intervals = document.querySelectorAll(".hacktype-interval"); + intervals.forEach(function (interval) { + return clearInterval(interval); + }); // Clear existing intervals + hackType(); // Call hackType again +}, 10000); // Repeat every 5 seconds + +// Check if the document becomes visible again +document.addEventListener("visibilitychange", function () { + if (!document.hidden) { + hackType(); // Call hackType when the user comes back from being away + } +});
\ No newline at end of file diff --git a/dest/js/header.js b/dest/js/header.js new file mode 100644 index 00000000..deefc268 --- /dev/null +++ b/dest/js/header.js @@ -0,0 +1,10 @@ +"use strict"; + +var header = document.querySelector('[header]'); +var newElement = document.createElement('div'); +var page = header.getAttribute('page'); + +// console.log(page); +newElement.innerHTML = "\n<!-- header -->\n<header id=\"navBarHeader\">\n <nav class=\"navBar\">\n <div class=\"hleft\">\n <a id=\"btnHome\" style=\"text-decoration: unset\" href=\"/\">Home<span></span></span></a>\n </div>\n <div class=\"hright\">\n <a href=\"/pages/repo/github/repos.html\" id=\"btnGhRepo\" style=\"text-decoration: unset\">Github Repos</a>\n <a href=\"/pages/info/about.html\" id=\"btnAbout\" style=\"text-decoration: unset\">About</a>\n </div>\n </nav> \n</header>\n"; +header.appendChild(newElement); +document.getElementById("btn" + page).setAttribute('class', 'active');
\ No newline at end of file diff --git a/dest/js/index.js b/dest/js/index.js new file mode 100644 index 00000000..bb886053 --- /dev/null +++ b/dest/js/index.js @@ -0,0 +1,13 @@ +"use strict"; + +var obj = document.getElementById('infos'); +var topBar = document.getElementById('navBarHeader'); +window.addEventListener('scroll', function () { + var value = window.scrollY; + obj.style.marginTop = value * 2.5 + 'px'; + console.log("=============="); + console.log(topBar.style.height); + console.log(value); +}, { + passive: true +});
\ No newline at end of file diff --git a/dest/js/rbg.js b/dest/js/rbg.js new file mode 100644 index 00000000..70b803ab --- /dev/null +++ b/dest/js/rbg.js @@ -0,0 +1,25 @@ +"use strict"; + +document.body.style.transition = "background 1s ease-in-out"; +function getRandomColor() { + var letters = "0123456789ABCDEF"; + var color = "#"; + for (var i = 0; i < 6; i++) { + color += letters[Math.floor(Math.random() * 16)]; + } + return color; +} +function setRandomGradient() { + var rand3 = Math.floor(Math.random() * 3) + 1; + if (rand3 === 1) { + document.body.style.background = "linear-gradient(".concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ")"); + } else if (rand3 === 2) { + document.body.style.background = "linear-gradient(".concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), "),\nlinear-gradient(").concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ")"); + } else { + document.body.style.background = "linear-gradient(".concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), "),\nlinear-gradient(").concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), "),\nlinear-gradient(").concat(Math.floor(Math.random() * 180), "deg, ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ", ").concat(getRandomColor(), ")"); + } +} +setRandomGradient(); + +// Execute setRandomGradient() every 1 minute +setInterval(setRandomGradient, 60000);
\ No newline at end of file diff --git a/dest/js/tilt.conf.js b/dest/js/tilt.conf.js new file mode 100644 index 00000000..f7835262 --- /dev/null +++ b/dest/js/tilt.conf.js @@ -0,0 +1,8 @@ +"use strict"; + +VanillaTilt.init(document.querySelectorAll(".tilt"), { + glare: true, + reverse: true, + "max-glare": 0.1, + reset: false +});
\ No newline at end of file diff --git a/dest/js/tilt.conf.noglare.js b/dest/js/tilt.conf.noglare.js new file mode 100644 index 00000000..111d30cf --- /dev/null +++ b/dest/js/tilt.conf.noglare.js @@ -0,0 +1,7 @@ +"use strict"; + +VanillaTilt.init(document.querySelectorAll(".tilt"), { + reverse: true, + glare: false, + reset: false +});
\ No newline at end of file diff --git a/dest/js/tilt.js b/dest/js/tilt.js new file mode 100644 index 00000000..2d7af8a9 --- /dev/null +++ b/dest/js/tilt.js @@ -0,0 +1,166 @@ +"use strict"; + +var VanillaTilt = function () { + "use strict"; + + var t = function t(_t, e) { + if (!(_t instanceof e)) throw new TypeError("Cannot call a class as a function"); + }, + e = function () { + function e(i) { + var s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + if (t(this, e), !(i instanceof Node)) throw "Can't initialize VanillaTilt because " + i + " is not a Node."; + this.width = null, this.height = null, this.clientWidth = null, this.clientHeight = null, this.left = null, this.top = null, 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 = i, this.settings = this.extendSettings(s), this.reverse = this.settings.reverse ? -1 : 1, this.resetToStart = e.isSettingTrue(this.settings["reset-to-start"]), this.glare = e.isSettingTrue(this.settings.glare), this.glarePrerender = e.isSettingTrue(this.settings["glare-prerender"]), this.fullPageListening = e.isSettingTrue(this.settings["full-page-listening"]), this.gyroscope = e.isSettingTrue(this.settings.gyroscope), this.gyroscopeSamples = this.settings.gyroscopeSamples, this.elementListener = this.getElementListener(), this.glare && this.prepareGlare(), this.fullPageListening && this.updateClientSize(), this.addEventListeners(), this.reset(), !1 === this.resetToStart && (this.settings.startX = 0, this.settings.startY = 0); + } + return e.isSettingTrue = function (t) { + return "" === t || !0 === t || 1 === t; + }, e.prototype.getElementListener = function () { + if (this.fullPageListening) return window.document; + if ("string" == typeof this.settings["mouse-event-element"]) { + var t = document.querySelector(this.settings["mouse-event-element"]); + if (t) return t; + } + return this.settings["mouse-event-element"] instanceof Node ? this.settings["mouse-event-element"] : this.element; + }, e.prototype.addEventListeners = function () { + 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), (this.glare || this.fullPageListening) && window.addEventListener("resize", this.onWindowResizeBind), this.gyroscope && window.addEventListener("deviceorientation", this.onDeviceOrientationBind); + }, e.prototype.removeEventListeners = function () { + this.elementListener.removeEventListener("mouseenter", this.onMouseEnterBind), this.elementListener.removeEventListener("mouseleave", this.onMouseLeaveBind), this.elementListener.removeEventListener("mousemove", this.onMouseMoveBind), this.gyroscope && window.removeEventListener("deviceorientation", this.onDeviceOrientationBind), (this.glare || this.fullPageListening) && window.removeEventListener("resize", this.onWindowResizeBind); + }, e.prototype.destroy = function () { + clearTimeout(this.transitionTimeout), null !== this.updateCall && cancelAnimationFrame(this.updateCall), this.element.style.willChange = "", this.element.style.transition = "", this.element.style.transform = "", this.resetGlare(), this.removeEventListeners(), this.element.vanillaTilt = null, delete this.element.vanillaTilt, this.element = null; + }, e.prototype.onDeviceOrientation = function (t) { + if (null !== t.gamma && null !== t.beta) { + this.updateElementPosition(), this.gyroscopeSamples > 0 && (this.lastgammazero = this.gammazero, this.lastbetazero = this.betazero, null === this.gammazero ? (this.gammazero = t.gamma, this.betazero = t.beta) : (this.gammazero = (t.gamma + this.lastgammazero) / 2, this.betazero = (t.beta + this.lastbetazero) / 2), this.gyroscopeSamples -= 1); + var e = this.settings.gyroscopeMaxAngleX - this.settings.gyroscopeMinAngleX, + i = this.settings.gyroscopeMaxAngleY - this.settings.gyroscopeMinAngleY, + s = e / this.width, + n = i / this.height, + a = (t.gamma - (this.settings.gyroscopeMinAngleX + this.gammazero)) / s, + l = (t.beta - (this.settings.gyroscopeMinAngleY + this.betazero)) / n; + null !== this.updateCall && cancelAnimationFrame(this.updateCall), this.event = { + clientX: a + this.left, + clientY: l + this.top + }, this.updateCall = requestAnimationFrame(this.updateBind); + } + }, e.prototype.onMouseEnter = function () { + this.updateElementPosition(), this.element.style.willChange = "transform", this.setTransition(); + }, e.prototype.onMouseMove = function (t) { + null !== this.updateCall && cancelAnimationFrame(this.updateCall), this.event = t, this.updateCall = requestAnimationFrame(this.updateBind); + }, e.prototype.onMouseLeave = function () { + this.setTransition(), this.settings.reset && requestAnimationFrame(this.resetBind); + }, e.prototype.reset = function () { + this.onMouseEnter(), 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 + } : 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 + }; + var t = this.settings.scale; + this.settings.scale = 1, this.update(), this.settings.scale = t, this.resetGlare(); + }, e.prototype.resetGlare = function () { + this.glare && (this.glareElement.style.transform = "rotate(180deg) translate(-50%, -50%)", this.glareElement.style.opacity = "0"); + }, e.prototype.getValues = function () { + var t = void 0, + e = void 0; + return this.fullPageListening ? (t = this.event.clientX / this.clientWidth, e = this.event.clientY / this.clientHeight) : (t = (this.event.clientX - this.left) / this.width, e = (this.event.clientY - this.top) / this.height), t = Math.min(Math.max(t, 0), 1), e = Math.min(Math.max(e, 0), 1), { + tiltX: (this.reverse * (this.settings.max - t * this.settings.max * 2)).toFixed(2), + tiltY: (this.reverse * (e * this.settings.max * 2 - this.settings.max)).toFixed(2), + percentageX: 100 * t, + percentageY: 100 * e, + angle: Math.atan2(this.event.clientX - (this.left + this.width / 2), -(this.event.clientY - (this.top + this.height / 2))) * (180 / Math.PI) + }; + }, e.prototype.updateElementPosition = function () { + var t = this.element.getBoundingClientRect(); + this.width = this.element.offsetWidth, this.height = this.element.offsetHeight, this.left = t.left, this.top = t.top; + }, e.prototype.update = function () { + var t = this.getValues(); + this.element.style.transform = "perspective(" + this.settings.perspective + "px) rotateX(" + ("x" === this.settings.axis ? 0 : t.tiltY) + "deg) rotateY(" + ("y" === this.settings.axis ? 0 : t.tiltX) + "deg) scale3d(" + this.settings.scale + ", " + this.settings.scale + ", " + this.settings.scale + ")", this.glare && (this.glareElement.style.transform = "rotate(" + t.angle + "deg) translate(-50%, -50%)", this.glareElement.style.opacity = "" + t.percentageY * this.settings["max-glare"] / 100), this.element.dispatchEvent(new CustomEvent("tiltChange", { + detail: t + })), this.updateCall = null; + }, e.prototype.prepareGlare = function () { + if (!this.glarePrerender) { + var t = document.createElement("div"); + t.classList.add("js-tilt-glare"); + var e = document.createElement("div"); + e.classList.add("js-tilt-glare-inner"), t.appendChild(e), this.element.appendChild(t); + } + this.glareElementWrapper = this.element.querySelector(".js-tilt-glare"), this.glareElement = this.element.querySelector(".js-tilt-glare-inner"), this.glarePrerender || (Object.assign(this.glareElementWrapper.style, { + position: "absolute", + top: "0", + left: "0", + width: "100%", + height: "100%", + overflow: "hidden", + "pointer-events": "none", + "border-radius": "inherit" + }), 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%)", + transform: "rotate(180deg) translate(-50%, -50%)", + "transform-origin": "0% 0%", + opacity: "0" + }), this.updateGlareSize()); + }, e.prototype.updateGlareSize = function () { + if (this.glare) { + var t = 2 * (this.element.offsetWidth > this.element.offsetHeight ? this.element.offsetWidth : this.element.offsetHeight); + Object.assign(this.glareElement.style, { + width: t + "px", + height: t + "px" + }); + } + }, e.prototype.updateClientSize = function () { + this.clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, this.clientHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; + }, e.prototype.onWindowResize = function () { + this.updateGlareSize(), this.updateClientSize(); + }, e.prototype.setTransition = function () { + var t = this; + clearTimeout(this.transitionTimeout), this.element.style.transition = this.settings.speed + "ms " + this.settings.easing, this.glare && (this.glareElement.style.transition = "opacity " + this.settings.speed + "ms " + this.settings.easing), this.transitionTimeout = setTimeout(function () { + t.element.style.transition = "", t.glare && (t.glareElement.style.transition = ""); + }, this.settings.speed); + }, e.prototype.extendSettings = function (t) { + var e = { + reverse: !1, + max: 15, + startX: 0, + startY: 0, + perspective: 1e3, + easing: "cubic-bezier(.03,.98,.52,.99)", + scale: 1, + speed: 300, + transition: !0, + axis: null, + glare: !1, + "max-glare": 1, + "glare-prerender": !1, + "full-page-listening": !1, + "mouse-event-element": null, + reset: !0, + "reset-to-start": !0, + gyroscope: !0, + gyroscopeMinAngleX: -45, + gyroscopeMaxAngleX: 45, + gyroscopeMinAngleY: -45, + gyroscopeMaxAngleY: 45, + gyroscopeSamples: 10 + }, + i = {}; + for (var s in e) if (s in t) i[s] = t[s];else if (this.element.hasAttribute("data-tilt-" + s)) { + var n = this.element.getAttribute("data-tilt-" + s); + try { + i[s] = JSON.parse(n); + } catch (t) { + i[s] = n; + } + } else i[s] = e[s]; + return i; + }, e.init = function (t, i) { + t instanceof Node && (t = [t]), t instanceof NodeList && (t = [].slice.call(t)), t instanceof Array && t.forEach(function (t) { + "vanillaTilt" in t || (t.vanillaTilt = new e(t, i)); + }); + }, e; + }(); + return "undefined" != typeof document && (window.VanillaTilt = e, e.init(document.querySelectorAll("[data-tilt]"))), e; +}();
\ No newline at end of file |
